They say that failure is also to be documented, so here is one project that currently has that status.
Please note that this project is abandoned.
Update 9/5/2013: After this article gained some popularity on Hackaday blog, I went to re-read what I have written 4 years ago. And now, I would just like to thank the Venus company for debugging my design at that time, it was very helpful to read their professional comments and for that I am extremely grateful. Their GPS receivers have very high sensitivity and can get fix even indoors, so that's why I have chosen them in my design. My only regret is that I didn't buy that chip on a tested breakout board from Sparkfun and then design my own PCB from their own. Please keep in mind that in 2009 when this project was worked on, there was not much about this Venus GPS chip, it was still pretty "new". I even think that Sparkfun was just about to release their breakout when I designed this, but I am not sure anymore...
I always had this idea of making my own GPS guided RC car. The hardware should not be very complicated but the software could get pretty messy. After some planning I came up with the hardware design (my robotic platform) that has integrated: - Atmega328P (Atmega48P/88P/128P/328P series) - HM55B digital compass module from Parallax - PING))) ultrasonic range finder from Parallax - Two MC33886 H-bridge controllers from Freescale - Voltage converters to 5V and 3.3V for all electronics on board - GPS receiver chip - Venus634FLPx from SkyTraq (bought from SparkFun) - External LNA for more GPS RF amplification - On-board small chip scale antenna (now you know why external LNA) - ISP programming port for Atmega uC - Three push-buttons with input pins accessible for additional external devices (more sensors) - Three status LEDs with three output pins accessible for additional external devices (servos) - Debugging with UART port for Atmega uC and GPS receiver chip
The brain Any of Atmega48P/88P/168P/328P can be the brain of the robot. Clock source is 12 MHz crystal.
PING))) sonar The robot can "see" with it's sonar eye - the PING sensor. This PING sensor can be mounted on a servo motor so that the robot can see left, right and forward if such option is required. This is possible since the robot platform has extra pins that can be used to power and control the servo.
Digital compass The robot can also know which direction it is facing with it's digital compass HM55B chip. This little chip has to be as far away from DC motors as possible because the motor's permanent magnets *will* cause false heading readings.
GPS receiver chip Than there is the famous GPS chip, Venus634FLPx. I went for this chip because it has accuracy of <2.5m, integrated LNA, good configuration options, dataflash logging (not used in this robotic platform) and it is very small. I will talk about this GPS chip later on, as IT is the reason why I am prematurelly writing about this GPS car, actually this robotic platform so far.
Buttons Aside from these input devices there are three general purpose buttons labelled as: CLEAR, SET and GO!/STOP.
Motor control Atmega can controll two DC motors; one for forward/back motion and the other for turning left/right. Most RC cars that can be purchased from toy stores have DC motor configuration for direction changing instead of servos. So I decided to control it with MC33886 H-bridge controller that can deliver up to 5 Amps. H-bridge controllers are connected to Atmega to OC0n and OC1n PWM outputs for easy motor speed as well as direction control.
Power The platform board can be powered from batteries from some 7V up to about 25V.
Auxiliary power output This port can be used to connect servos and other sensors to board's 5V regulated supply.
ISP programming port It is important to provide easy access to Atmega's programming port. This port can also be used as auxiliary input/output port with 3 I/O lines which are connected to existing push-buttons on board.
LEDs There are three LEDs that can be controlled via Atmega. They also have pins exposed so they can be used as digital outputs for controlling servos for example.
Auxiliary ports
Current project status I designed the hardware and the PCB board in Eagle and sent gerber files for PCB manufacturer BatchPCB. It took almost 50 days for the PCB to arrive. I always forget that when I order from BatchPCB it takes me to completely forget about the PCB and that's when it appears in the mail box. As they say, cheap and quick don't go along quite well.
So, why am I writing about this unlucky robot platform? Well, because my GPS receiver chip simply can't get the satellite fix. So, at this point this is a failure. I have done some RF work before at 915MHz tops, but it seams that GPS signal is extremely weak (more than I thought) and that all PCB traces *extremely* influence reception of this high-frequency RF signal. I must say, it was pretty frustrating that GPS receiver didn't work properly after all this time so (assuming that the GPS receiver chip is not factory faulty or damaged) I tried following: - replacing the antenna with ceramic one through external LNA – no luck - connecting the chip antenna directly to GPS chip (overriding external LNA) – no luck - connecting the ceramic antenna directly to GPS chip (overriding external LNA) – no luck
None of these combinations work under open sky (tests were done for more than 20 minutes for each combination) where normal GPS navigation has valid GPS reception. The digital part of GPS receiver chip work great, it sends NMEA output, I can configure it, reconfigure, it is all good. So, I contacted the SkyTraq manufacturer for help and I must say that they were great. They asked for my circuit and board layout, and two days later they replied with modifications and pointed to possible errors with my RF layout. So here is what they said:
The schematics of V634FLPx looks OK. If there is NMEA output and the current consumption measured for Venus634FLPx is correct, then the connection for V634FLPx should be OK. Then the problem should be the issue of RF section. Please make some modifications as below describes: 1. The GND of LNA should be GNDRF and connected together with Venus634FLPx GNDRF to form a completed GND plane in both Top and Bottom layer. This I didn't do as their datasheet clearly states "Do not connect GNDRF and GND" and I was not sure that my LNA could be powered through the GNDRF from Venus634FLPx.
2. Don't cross the VCC trace with RF trace since it will cause the impedance dramatically changing. This tip I also didn't respect completelly as it can be seen in the image below.
3. You can remove C17 and try connect a passive antenna (the ceramic antenna you ever used, but make sure it's a good one) to RF_IN of V634FLPx. But carefully connect the GND of the ceramic antenna to the GNDRF pin of V634FLPx (eg. pin33). This action will bypass the potential problem of input impedance not matching at antenna or LNA. With short connection from patch antenna directly to Venus634FLPx, you should get position fix. This I have to test again after I make sure my antennas are OK. Now, the question is: are my antennas OK or is my Venus chip factory faulty or damaged?
4. If possible, try to make RF trace as wide as possible. This I also must do in next version that will come.
Vcc traced under RF section
GNDRF of Venus634FLPx not connected to GND of LNA
This all means that I have to wait for next 50 days minimum for the PCBs to arrive and that just kills me. Fedex doesn't help much, trust me. I also decided to change the GPS chip to MN5010 (from SparkFun) and to provide SMA connector on board for external antenna (active or passive). In the meantime I can play with H-bridge controllers, since I didn't test them out yet.
Edited text:My tip would be: If you have even the slightest doubt, don't go for bare Venus GPS chip without some kind of breakout board at first.
Freaky PCB section with LNA SMA661AS
You are welcome to download the project files below, but they are going to change as soon as I start redesigning this board.
P.S. I am sorry for ugly schematics drawing as priority was in designing the PCB.
@georgy, this chip actually got pretty hot but if I remember correctly, it was supposed to do
that. Anyway, no baking of the chip for my PCB so who knows, maybe that was also one of
problems... I still think Venus GPS chips are kind of fiddly... IP: n/a
Hi
i have "eat" some shit with venus gps in some project at my work.
we have huge issue with assembly as this IC is level 5 humidity sensetive and i had like 750
PCB that went to the toilet because the assembly company didnt bake the IC before the assebly.
(the simptom was a large current cunsumption)
the second issue we had was with the saparate grounds. and we also did te single GND for both
digital and RF GND.
the other issue we had was with the chip antenna.
but it isnt the venus IC chip.
as a ti IP: 80.178.30.155
Dobar robot samo skup za upravljanje :)
Ovo je trebao biti moj diplomski ali me zezao ovaj GPS chip pa sam uradio jedan drugi projekat
takodje sa GSM-om... IP: n/a
I think I made it myself. You can "take" it (extract) from my Eagle project by
running the "exp-project-lbr.ulp" script! If you don't know how - search on Google. IP: n/a
from where did you get the mc33886 motor driver in eagle library I am jst nt able to find it.
Can you tell me where it is tired of searching of the component. I did my own pattern but the
padding distance was wrng . please help me with it. IP: 202.153.47.42
I know that these antennas are pretty useless but I thought that with external LNA it just
might work. However, it seems that it doesn't, so I have to de-solder the chip and try getting
a fix on another (test) board and get some results. IP: n/a
comment [1]
From on 29-05-2009 at 15:44:25
You must have either damaged the chip or have made an error. I have a used the demo boards
from Skytraq with great success. I have no trouble getting fast fixes indoors .. usually at
least 9 sats. In addition, the network based ability to get ephemeris data results in cold
start fixes in a few seconds, indoors.
I recommend against using those very small GPS surface antenna. They are very sensitive to
de-tuning by near-field influences. A standard high quality ceramic antenna at least 20 mm is
best. IP: n/a