Swarm intelligence control system (98020) User’s Manual
User’s Manual
2
About the User Guide
AVR Development Board 89030 is especially designed for the students having
interest in electronics, embedded system, robotics and industrial-automation. This board is
made in such a way that it becomes easier for any body to learn about AVR micro controllers.
This board can also be used in various applications and hobby projects.
PROPRIETARY NOTICE
This document contains proprietary information furnished for evaluation purposes only; except with the express written
permission of Technophilia, such information may not be published, disclosed, or used for any other purpose. You
acknowledge and agree that this document and all portions thereof, including, but not limited to, any copyright, trade secret
and other intellectual property rights relating thereto, are and at all times shall remain the sole property Technophilia and that
title and full ownership rights in the information contained herein and all portions thereof are reserved to and at all times
shall remain with Technophilia. You acknowledge and agree that the information contained herein constitutes a valuable
trade secret of Technophilia. You agree to use utmost care in protecting the proprietary and confidential nature of the
information contained herein.
User’s Manual
3
Table of Contents
1. Package Content: ...................................................................... 4
2. Product Description: ................................................................. 5
2.1. S.W.A.R.M. intelligence development Board 98020...................... 5
2.2. 48x84 Graphics LCD .................................................................. 5
2.3. USB programmer ........................................................................ 5
2.4. Analog optical sensors ............................................................... 6
2.5. Multipurpose optical sensors ...................................................... 6
2.6. CC2500 RF transceiver module ................................................... 7
2.7 Battery for power supply ............................................................. 7
2.8. Robotic Structure........................................................................ 7
2.9. DC geared motors ...................................................................... 7
2.10. Wheels ..................................................................................... 7
2.11. Caster wheels ........................................................................... 7
2.12. A set of connecting wires ......................................................... 7
2.13. CD containing user manual and sample code ........................... 7
3. Parts Identification .................................................................... 8
3.1. Parts description and connection details: .................................... 8
4. The AVR Microcontrollers: ......................................................... 11
4.1. Description................................................................................. 11
4.2. Programming ............................................................................. 11
User’s Manual
4
1. Package Content:
Sr. No Product Quantity
1. Swarm intelligence development Board 98020 1
2. 48x84 graphics LCD display 1
3. USB programmer 1
4. Analog optical sensors 2
5. Multi purpose optical sensor 1
6. CC2500 RF transceiver module 1
7. Battery for power supply 1
8. Robotic Structure 1
9. DC geared motors 2
10. wheels 2
11. Caster wheel 1
12. A set of connecting wires -
13. CD containing User manual software and sample
code 1
User’s Manual
5
2. Product Description:
2.1. S.W.A.R.M. intelligence development Board 98020
Includes Atmel’s ATmega8 Microcontroller
On board Graphics LCD interface
On board dual channel Motor Driver
Exposed UART, I2C and SPI interface
Exposed 5ADC lines, one I/O line for sensor interface and general purpose I/O
Exposed 6 data lines for interfacing CC2500 module and general purpose I/O
Onboard analog key pad with 4 keys
Four test LEDs for status and debugging purpose
Exposed ISP pins compatible with ISP/USB programmer
On board regulated power supply for 3.3v 1 Amp+1Amp
Low operating voltage 4.5 v minimum
Low current consumption 30mA at 4.5V and 100 mA at 12V with graphics LCD
and CC2500 RF trans receiver
Regulated power supply for RF interface
2.2. 48x84 Graphics LCD
This device can be use to display text, graphics, symbols, icons and animations on a panel. It
is basically used to make your embedded application or robot interactive with human beings.
It is also used for testing and debugging process.
2.3. USB programmer
This is basically used to download programs into micro controllers from a computer.
Features
Supports 62 AVR microcontrollers
Compatible with Win AVR IDE
Can also be use with AVR dude directly
Programmer powered by USB bus
Conforms to USB power requirements, including sleep
Supports USB v1.1 protocol and USB v2.0 compatible
Direct USB drivers -- not virtual serial port
Microsoft approved drivers for real plug and play
User’s Manual
6
Supports Win 98SE/2000/XP/ME/VISTA ** Win 95 and early Win98 require Microsoft
USB update
Programs target devices from 1.8V to 5V
Multiple programmers from one PC
Automatic program start on insertion
2.4. Analog optical sensors
This sensor can be used as a line sensor, proximity sensor or as an obstacle sensor. It gives output in the form of analog voltage. The output of this sensor is given to the ADC. This sensor basically consists of a high glow red LED as a transmitter and a photo diode as receiver. GND V+ DATA
High glow photodiode Red LED 100E 10K Photodiode (Receiver) is used as a potential divider in reverse bias mode. So when Light
transmitted from the transmitter is reflected back from a reflective surface, say white, the
resistance of the photodiode decreases and this in turn exceeds the voltage at output terminal
(voltage across resistor). For non-reflective surfaces, exactly reverse process is observed.
2.5. Multipurpose optical sensors
This sensor is a high quality optical sensor which uses the high intensity red LED and special
purpose metal case photo transistor having the capability to distinguish between dark and white
line or color from a distance of 10cm. These sensors are less affected by ambient light due to use
of high intensity red LED. The ambient light effect can be reduced by keeping it more closure to
surface of line and by providing a metal covering. It can be used for various purposes; they are
basically used to count the number of lines due to their high accuracy.
Features:
Low cost
Highly reliable
Less affected by ambient light
Range up to 10 cm
Range can be easily adjusted
User’s Manual
7
Applications:
Fire sensor
Light sensor
Obstacle sensor
Line counter
Line follower robot
Two wheel self balancing robot
2.6. CC2500 RF transceiver module
This is a Small range low power RF transceiver module used to communicate between swarm
robots.
Applications:
2400-2483.5 MHz ISM/SRD band systems
Consumer Electronics
Wireless game controllers
Wireless audio
Wireless keyboard and mouse
2.7 Battery for power supply
The battery used for power supply is a 12V, 1.2Ah lead acid battery.
2.8. Robotic Structure
The robotic structure basically decides the physical structure of the robot. It holds all the hardware, circuit boards and power supply of the robot
2.9. DC geared motors
DC geared motors are used to drive the wheels. The speed of the DC geared motor used here is 30 R.P.M.
2.10. Wheels
Two wheels are used to supporting robotic structure.
2.11. Caster wheels
It is freewheeling while use to maneuver according to wheels connected to geared motors.
2.12. A set of connecting wires
This can be used to connect different devices to the micro controller board or can be use for
any configuration purpose in side the board.
2.13. CD containing user manual and sample code
User’s Manual
8
3. Parts Identification
3.1. Parts description and connection details:
AMS117
It is a three terminal 3.3V voltage regulator IC use to provide a constant voltage of
3.3V to the micro controller and other peripherals attached in the main board.
L293DD
This is basically a motor driver IC which takes input from the micro controller and
provides driving power to actuators such as different type of motors, relay, solenoids
etc.
ATmega8
This IC is a microcontroller chip and is the major processing chip of the board. It
stores and executes the necessary programs and data needed for controlling the robot.
User’s Manual
9
LCD Interface
It can be used to interface PCD8544 (48x84) graphics LCD or it can also be used as a general
purpose input output port. The pin connections for interfacing a LCD are given below.
PB0-SCK
PB1-SDIN
PB2-D/C
PB6-CS
PB7-RESET
CC2500 Interface
PB3-MOSI
PB4-MISO
PB5-SCK
PD1-SS’
PD2-GD0
PD3-GD2
Switches
PC5-Switches S1 to S4 are connected to this port pin. A switch is read by the analog
value it provides when it is pressed.
RST-Reset
ON-Power ON
It is basically a push to on push to off type switch used to toggle power supply
to the main board.
LED
Active high
PB0- RED L1
PB1- RED L2
PB2- RED L3
PB3- RED L4
Power on indicator- GREEN L5
BERG STRIP
Six different sensors can be interfaced to the board through the berg strip. Starting
from the corner, the berg strip is connected to PC0, PC1, PC2, PC3, PC4 and PD0
accordingly.
ISP
It is the In System Programming interface of the main board which can be used to
connect any ISP programmer to download program in the microcontroller. It can also
be used in a SPI (Serial Peripheral Interface) communication.
MOSI-Master out Slave in
MISO-Master in Slave out
SCK-Serial clock
RST-Reset
GND-Ground
DC JACK
User’s Manual
10
Main power supply (minimum 7VDC maximum 16VDC)
MOTOR DRIVERS
The motor connectors are interfaced with the higher nibble of Port D, i.e., the
connector at the corner is connected to D7 and D6, D5, D4 follow accordingly.
User’s Manual
11
4. The AVR Microcontrollers:
4.1. Description
The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller which
was developed by Atmel in 1996. The AVR was one of the first microcontroller families to
use on-chip flash memory for program storage, as opposed to One-Time Programmable
ROM, EPROM, or EEPROM used by other microcontrollers at the time.
Atmel's low power, high performance AVR microcontrollers handle demanding 8 and 16-bit
applications. With a single cycle instruction RISC CPU, innovative Pico Power® technology,
and a rich feature set, the AVR architecture ensures fast code execution combined with the
lowest possible power consumption.
Whether you program in C or assembly, the tuned AVR instructions decrease program size
and development time. The well-defined I/O structure limits the need for external
components and reduces development cost. A variety of internal oscillators, timers, UARTs,
SPIs, Pulse Width Modulation, pull-up resistors, ADCs, Analog Comparators and Watch-Dog
Timers are some of the features available for creative engineers.
The AVR microcontrollers are divided into 4 families tiny AVR, mega AVR, XMEGA and
Application specific AVR. Among these 4 families of AVR here we are going to use a
microcontroller of mega AVR family “ATmega8”
4.2. Programming
WinAVR is a suite of executable, open source software development tools for the Atmel’s
AVR series of RISC microcontrollers hosted on the Windows platform. It includes the GNU
GCC compiler for C and C++.
Steps for writing a code using WinAVR
1. Open the programmers notepad and write your code
2. Create a new folder and save your code in that folder with extension name “.c”
3. Now open the make file and edit it as mentioned bellow
a. Make file→ main filename (give your file name here without extension)
b. Make file→ MCU type→ atmega→ (chose your UC)
c. Make file→ Debug format→ AVR-ext-COFF
d. Make file→ Programmer→ select your programmer (if your programmer is
not in the list then follow the step3.d)
e. Make file→ port→ (select the port where you have connected your
programmer)
f. Make file→ enable editing make file→ then in your make file edit the
following things
F_CPU = 8000000 (change it as for your crystal frequency)
AVRDUDE_PROGRAMMER = stk500 (here write down you programmers
name)
User’s Manual
12
g. Save the make file in your folder without changing its name
4. Now open the programmers notepad
5. To compile your code and to generate hex file (Tools→ make all)
6. To upload your code into your UC (Tools → program)