GUI v2
| Attachment | Size |
|---|---|
| General view | 1.33 MB |
| General view | 1.43 MB |
| Down side of boards | 1.79 MB |
| Comparison | 1.66 MB |
| Top side of boards, without battery | 1.69 MB |
| General view of boards | 1.62 MB |
| Blocks Diagram | 46.96 KB |
| PCB Controller - Bottom | 49.77 KB |
| PCB Controller - Top | 67.16 KB |
| PCB Motors - Bottom | 57.07 KB |
| PCB Controller - Top | 58.6 KB |
| Schematics - Motors | 46.83 KB |
| Schematics - Controller | 58.57 KB |
| Control Board - Top | 983.26 KB |
| Control Board - Bottom | 891.75 KB |
| Control Board - Top Soldered | 1.05 MB |
| Control Board - Top Soldered with Breadboard | 883.89 KB |
| Control Board - Bottom Soldered | 993.88 KB |
| Control Board - Running a test. | 1.73 MB |
| S5033356.JPG | 933.6 KB |
UPDATE 09/11/06
It's finished! (almost). The Motor Board PCB arrives and I've soldered all components together. The final results looks awesome to me! Most beautiful that I've planed. There's some parts that I don't solder, because I need purchase a SMD rework station (all solders on this robot are made with a ordinary solder station).
Two problems I only know after assembly:
- I've used RA4 pin of PIC18F452 for digital I/O, but unfortunately this pin is a open drain. Because that, I need to solder a pullup 10kΩ SMD resistor. Lesson: All the times, read the entire datasheet before use any device pin.
- In my Eagle motor library, I don't provide horizontal restrictions. So, a little decouple capacitor stay above the motor, touch it, and make a bad contact between boards. Solution: remove it.
Well, even with all the issues (inverted connectors, capacitors with wrong package, pin without pullups) I think the whole project was a success.
Now, the wireless part (NRF24L01+ transducer) waits to be soldered. It'll on the party next month. So, the whole project has been closed and I'll work on the software development, that I only write a very basic functions for test and maze solves.
There's a video of the test. And if someone needs more pictures or details, look at my Flickr page and my blog.
Thank's !!!
UPDATE 09/09/13
The first definitive PCB arrived from Batchpcb and are soldered!
I received the board at this weekend, it's the first definitive PCB of my GUI robot. It's your Motor Control PCB. Above are some images. Only left to solder the nRF24L01+ because I don't have a Hot Air Reflow Solder, and the Buzzer that I can't find.
Note that I've made a little mistake on p-Channel MOSFET SOT23 pinout (orange wire fix). But nothing too horrible (but in the GUI v2 design, I'll remember that...).
The new YouTube video contains a little test to PIC18LF452, to see if it's alive. The test was a successful.
Now, I expect that in the next week the Motor Board arrives too, so I'll complete the entire robot.
UPDATE 08/25/09
My PCBs are shipped! I'm very excitted to pick them up and solder everthing! But this update is about the schematics. I released the entire schematics of two boards and now I comment the most important parts. The full schematic are in the attachments.
Motor Board - Motors
The Micro Gear Motors and the H-Bridge circui. To save two I/O pins on MCU, I used a 74HCT04 for drive the directions commands. I have never used other combinations (like 11 and 00) in control logic. You can see on left down two Ball Caster. I put two because I need two orientations on holes.

Motor Board - Battery and Interface with Controller Board
This is how the battery are attached to board. Nothing special. On the right are the female housing for up board connection. On of them is for reflectance sensors signals.

Motor Board - Step-Up Converter for 5V
The LM2623 is a great Boost converter. Is very small (LLP or Mini SO-8 package) and use very tiny inductors. The output voltage is given by RF1 and RF2 voltage divisor by RF2=RF1/[(Vout/1.24)-1]. The frequency of PFM (Pulse Frequency Modulation) is setted by R18 andmay vary with input voltage (See page 6 of datasheet). In that design the frequency stay between 500KHz and 1MHz. The input and output capacitors are Tantalum capacitors, with X5R or X7R dieletric. I spect 85% of mean efficiency (over the voltage input range and current variation).

Motor Board - Reflectance Sensors
These are the QRE1113GR Reflectance sensors. I have to write their symbol and footprint, because I don't find them in any place. So, I spect that the design is correct, specially the footprint. There's a lot of stuff on this robot that I have created the Eagle library. If anyone needs, I put my personal library here.

Controller Board - MCU
Nothing special on MCU. Is a PIC18F452. Detail is the Breadboard Mini, for small prototype.

Controller Board - USB Interface and Battery Charger
The Interface is given by a FD232RL, with self-power configuration. The 5V of USB don't power the robot, instead, charge the LiPo battery via MAX1555 circuit. I like MAX1811, because mre option like Low Batt indication, less charge time, but PCB space is a concern here.
After send the PCB for fabrication, I see a little mistake on this design. If you look this with Battery schematics, you see that only with the "ON/OFF" robot switch in "ON", the battery is charged. This was been corrected on next version.

Controller Board - 3V LDO
For 3.3v devices i put a little LDO, because I don't need much power from this source.

Controller Board - RF transceiver
The transceiver choosen is the nRF24L01+, from Nordic. That's design is the same of SparkFun nRF24L01+ breakout board. So, I hope that works.
Certainly this part will be the most dificult to solder, because the nRF package. I don't have a SMD rework air station. Only when I have one this part will be soldered.

Thank's.
UPDATE 08/04/2009
The v1 PCB design was finished!
Some things change:
- LDO (Low Drop Out) Regulator MIC5205 for 3.3v devices;
- Don't put Pin headers for stackable boards, althought I put a Mini Self-Adhesive Breadboard for small prototype (170 points in 1.8" x 1.4");
- The Nokia 3310 LCD goes off, because some dificult in it's fixation on board;
- For prototype, you have a header with 6 GPIOs (analog or digital pins) and access to +5v, +3.3v and GND;
- A Buzzer! I like things that could make some noise;
- A RGB led for general use, because I think that you need some blink LEDs to make your project a really nice project :D
The design comes with a NRF24L01+ for wireless communications. I like this little guy because your extreme very low power features (900nA in power down and 26uA in standby-I) WoW! And in most of cases I don't need full-duplex communication. With this feature, I'm stay really excitted to create a beacom frame for mutual identification between some robots, dont you?
Now that I finished the PCB design (see images bellow) I expect that in some days we have the robot mounted in the boards and look very professional.
Top (red) and Bottom (blue) Layers of Controller Board (with MCU):

Top (red) and Bottom (blue) Layers of Motors Board (with Motors):

To view a greater image of PCBs, click on image files on begin of article (attachments)
Init
GUI is a robot prototype made to be little, fast and easy to use and upgrade. In your up board (main board) it has:
- PIC MCU 18F252 at 20MHz;
- DC-DC Boost converter NCP1400-5V;
- The down board has:
- Dual motor controller TB6612FNG;
- 7 reflectance sensors QTR-1RC;
- 2 Micro Gear Motor 30:1;
- 3.7V LiPo battery.
The PIC is programmed with Tiny Bootloader, to easy program change.
Robot dimensions are 73.12[L]x77.76[W]x32[H] mm. There's a lot of space for more things, yet. More photos in my flickr page.
The prototype works great, then a definitive PCB going to be designed to increment some new feetures. This include:
- PIC MCU 18F452 TQFP, to add more I/O;
- DC-DC Step-Up converter LM2623 for 5V devices;
- DC-DC Step-Down converter (not defined yet) to 3.3V devices;
- USB Serial FTDI 232RL for serial comunication;
- LiPo Battery charge, directly from USB with MAX1555;
- Nordic NRF24L01+ for half-dupplex comunication and telemetry;
- Nokia 3310 LCD;
- Pin Headers for stackable boards (like Arduino), for add... anything!;












@ Thu, 2009-07-30 10:09
would this work? Pololu
@ Thu, 2009-07-30 13:19
Yes, work. But I don't think
@ Thu, 2009-07-30 14:04
isnt there a risk of
@ Thu, 2009-07-30 17:16
Yes, but only if you use a
Yes, but only if you use a poor or incorrect charger. I make a charger for my use, using MAX1811, that can handle both Lithium Ion and Lithium Polymer battery. The schematics you can below:
Theres a entry on my Blog for that. Now I made a USB stick version:
It's a really good charger, with some useful things, like:
Awesome. But, in the definitive design of GUI, I use the MAX1555, because it's small package (SOT23). PCB space is a concern to me in this project. The only drawback is that MAX1555 limit charge current to 100mA only, and the charger time going to be more than in my first MAX1811 charger.
@ Fri, 2009-07-31 08:48
thanks for the info. does
@ Sat, 2009-08-01 01:58
The charger stop on its own.
@ Sun, 2009-08-02 15:26
How did you make your PCB?
@ Sun, 2009-08-02 15:28
How did you make your PCB?
@ Tue, 2009-08-18 18:05
I use the iron method for
@ Wed, 2009-08-19 07:39
do you have spares on the
@ Wed, 2009-07-29 20:22
Now there's a slick little
@ Wed, 2009-07-29 23:25
I can't catch what you said
I can't catch what you said :D
Please, explain...
@ Thu, 2009-07-30 17:43
i think frits was saying he
@ Thu, 2009-07-30 18:26
Thanks. My english some
@ Thu, 2009-07-30 20:51
Now thats what I call engineering :)
It looks very proffesional to me, really nicely done.
@ Sun, 2009-08-02 19:13
This reminds me of Pololu's
@ Tue, 2009-08-04 07:47
WOW!
Very clean, cool bot.
I'm definitely going to look into that LiPo charger. I'm not sure my soldering is good enough to start on SMT yet.
@ Tue, 2009-08-04 12:36
Im very intrested with the
@ Sat, 2009-08-08 05:26
do you use the max232 cicuit
@ Sat, 2009-08-08 15:16
No, I'm not use it because
No, I'm not use it because my interface is USB, so, I use the FT232R, to convert the USB to Serial, directly on board, no adapters between PC and my robot. The MAX232 are usefull when you use a DB9 Serial port.
With the FT232R you can use the 5V USB Power to power your circuit (and conected toUSB) and, in my case, charge the battery on robot.
@ Sun, 2009-08-09 03:59
i am refering to your older
@ Tue, 2009-08-11 15:47
In that version, the
@ Tue, 2009-08-25 09:20
Hey, any updates coming up?
@ Tue, 2009-08-25 15:15
Great Work.
@ Thu, 2009-09-03 15:15
Hey, hows it been? Have you
@ Thu, 2009-09-03 16:02
Nothing, the PCBs don't
@ Fri, 2009-09-04 04:14
Haha, i know how u feel. Im
@ Mon, 2009-09-14 08:37
Been waiting for an update!
@ Tue, 2009-09-15 16:53
Really nice and detailed
Really nice and detailed project forrequi.
Keep it up and looking forward to see the new robot with the Batch PCB version.
@ Sat, 2009-11-07 00:12
VERY NICE!
Impressive professional looking robot! Nice detailed project writeup too! I've used BatchPCB as well. I would recommend them to anyone, especially for making prototype PC boards.
I would give you 5-STARS if LMR would let me. Whatever happened to our rating system?
Thanks for posting this wonderful project write-up!