![]() ![]() |
Clik here to go to a page about the DARC DC Motor Controller Board (DMC). This page has info on the DARC board, Rev 2 is now the current rev. This board is a general purpose electronics and robotics development board. It is based on the Atmel ATMega8535 microcontroller. It is designed for use with the BASCOM BASIC compiler (5 pin serial header using the SPI interface). This board allows the user maximum flexibility by providing connectors to all pins, but also provides headers for easy connection to commonly used sensors and devices, such as the SRF04 sonar ranging sensor or an LCD module.
Schematic and the board files are available below. I have the schematic in Eagle format and in .pdf. The board is Eagle format only. You can download a freeware version of Eagle that allows you to view both schematic and board. Link for that download is below. Links: Rev 2 Board: THIS IS THE CURRENT BOARD schematic - .pdf version. Updated: 2/2/04 with some component value changes schematic - Eagle file format board - Eagle file format If you want files to send to a board mfr contact me. A few updates to this. Bill of Materials (BOM) - The list of parts for the DARC Board, Rev 2, in .pdf form. Includes Digikey and alternate source part numbers. User's Manual - Rev 4, Updated 2/04/04. Updated frequently as I add on to it. Still a work in progress. Now has an intro, assembly instructions, testing instructions and a section on how to load and run the test program. And a table of contents. Clik here to go to the cadsoft site to download Eagle freeware - There are several versions that target different operating systems. Assuming you're a Windows user, you want the 2nd file. Click here to go to the BASCOM AVR download site - Here you can get the free download of BASCOM. Also get the sample programs zip file. Many useful quick programs to do simple tasks and to see syntax of the language. click here to go to the GCC Free download C compiler page - This fantastic site has all that is AVR related. Lots of info from many contributors. Compilers, tools, debuggers, source code, forums, etc. The GCC is an open source C compiler that has no size restriction, but is not as user friendly as the BASCOM compiler. C is a powerful language, but more complicated. Beginners with no programming experience should use BASIC. click here for the wireless transmit and receive modules from Reyonolds Electronics - I call them TXM-433 on the schematic, but the new model is the TXLC-433. They cost $20 for the transmitter and $29 for the receiver modules. Sample Programs for the DARC Board using BASCOM: Note that these have been updated since I reprogrammed all of the 8535 parts to run on the internal oscillator at 8MHz. Most of the 8535's I bought are the 8MHz max freq part that allow a 2.7V to 5V operating range. You must load the calibration value into the "OSCCAL" register with the command "osccal = &Hxx". I wrote it into EEPROM at address 10 (hex 0A) but I have had some problem reading out EEPROM with BASCOM so far. To be safe just load the cal value in manually as the first line of your program. All of the below sample programs now have this statement but you must change it for your part. Test Program - DARC2_test.bas - This program tests the major interfaces of the DARC Board to ensure that you have solid operation. This should be the first program that you run on the board. It runs servos 1-3, gets A/D data and reports for all 8 channels, runs a test of the DIP switch/LED interface and sends data out to the LCD. hello_frank.bas - Prints a basic text message from the DARC Board to your computer screen using a serial communications program like Hyperterminal. servo1234.bas - This file has the initialization and setup subroutines for servos 1, 2, 3 and 4. Servos 1 and 2 have 16 bit resolution, while 3 and 4 are 8 bit. This program will set up and run the 4 servos. Note that servo 4 is on port CMP1 at top left of the board. You must have jumper JMP3 loaded to power servos 1-3, and JMP2 loaded to power servo 4. DIP_LED.bas - This will turn on LEDs in response to closing switches on the DIP switch lcd_test.bas - This drives a 16 x 2 LCD module that is easily connected to the LCD port adc_darc.bas - The sample program didn't work with the ATMega8535 since it is a 10 bit A/D converter, so I hacked one up myself. This program does the init and get_darc_adc function. It loops continually and prints to the UART the value found on channel 7. You can easily set this for another channel or to get all of them sequentially. SRF04_get_sonar.bas - This has sample code to drive the Devantech SRF04 sonar rangefinder module. DARC_Bumpngo - The DARC Board tailored version of the time honored classic "drive till you bump into something, back up, turn right and start over" bot. This is the most common first robot design and here's code to do it. It presumes a mobile base with 2 servos and a bump type switch. TXM433 test program - This program sets up the portA0 to be a serial data out line to drive the TXM-433 module. line_follow_2sensor.bas - This program takes input from 2 CdS cells on 2 A/D channels and jumps to forward, right, left, etc routines. The guts of these subroutines are left to the user to define. INT0_test.bas - Interrupt channel 0 test program. This shows how to set up INT0 for a rising edge trigger and how to set up 2 interrupt service routines. Quick list of features:
|