http://hk.myblog.yahoo.com/robot-builder/article?mid=8
網誌日期:2008-04-26 01:46
I started the project called "M-Blocks" on April 05 and the first phase was completed on Dec 06. Later I started another project and did not have time to continue the development of the M-Blocks.
Here I would like to share the design, construction and coding of M-Blocks. But today is 26.4.2008. I have to recall my memory to fill out the content. I hope to make it as accuracy as possible and the content will be revisited if i found it is incorrect. Sorry for that.
What is M-Blocks? Look at the following notebooks. I think only me can understand what it means?
M-Blocks are modules which can be stacked together to perform a system for mobile robot.
For the first phase. I designed:
1. Controller Module (CM)
2. Motor Module (MM)
3. Servo Module (SM)
4. Radio Module (RM)
5. Bluetooth Module (BM)
All the modules are connected via I2C bus and they all can be debugged through serial port individually (UART).
Each module have a atmega8, atmega168 or atmega32 for the mcu.
| --- BM ( Serial )
| --- RM ( PPM )
|
CM MM SM
| | |
------------------------------------------------- I2C bus
I designed the schematic and boards in Eagle and write C code in gcc-avr.
Schematic and circuit board for Servo Module.
The printed PCB. I use toner transfer method to make the double sided PCB. I use the following type of paper. It called "Glossy Photo Paper".
The steps are as same as that in the following video.
http://www.youtube.com/watch?v=urv6jArKp6M&feature=related
Each PCB have top and bottom print out from the glossy photo paper. And one bottom layer from transparent. Totally three print out. The transparent print out is used for alignment purpose.
Alignment of the top and bottom layers to make double sided PCB.
PCB Etching. I use Ferric chloride (FeCl). It is very dirty but can be reused.
Then drill holes.
The completed PCB.
Put in components , compete soldering and test the circuit board.
This is the Sensor Module. The mcu is either atmega8 or atmega168.
This is the another Controller Module. I created the first Controller Module with atmega8. But I found out there is not enough space to coding the "Brain" of the robot. Then, I created another Controller Module with atmega32 which provide more space (32 Kbytes) for coding.
M-Blocks Modules completed.
Stacks of M-Blocks
Next. I will show the application of the M-Blocks.
No comments:
Post a Comment