PDA

View Full Version : Prop Control Board to GPS Problem



Greg Norton
01-12-2009, 03:50 AM
I'm working with a Propeller Control Board and the Parallax GPS module. In trying to establish communication between the two in the GPS smart mode, I seem to be getting semi-random values back from the GPS no matter what data I ask for. For whatever reason, the return values are always one if (1,33,71,80,83). My example program is just asking for the valid status from the GPS so I think I should only be getting 0 or 1 back. The same thing happens when I ask for any other data as well. I also tried not asking for data at all (to see if the GPS is just sending the NMEA strings or something) and found that the program hangs as expected waiting for data from the GPS. Therefore I'm fairly confident it's responding to my requests for data.

According to the schematic for the Prop control board, there are not any resistors between the 5v GPS and the 3v propeller. I'm figuring this must be OK and I don't have much access to re-configure the circuit in this case.

I'm using the multiple serial port driver from the object exchange because my final goal will require 3 serial connections and I don't want to use multiple cogs to get them.

Anyone have suggestions (demo code attached).

Thanks.
Greg

PS - I tried it with and without the 10ms delay after sending the command, same results. I just noticed that was in the version I posted.

jmbertoncelli@USA
01-12-2009, 04:30 AM
I am using the GPS with the prop as well but in raw mode and it is working just fine. The only thing that I have done is to use a pin for the TX because without the pcFullDuplexSerial4FC.spin wasn't working.
you should put a 10K resistor between the prop RX pin and the GPS TX pin. The prop is a 3.3V device the GPS is a 5V device then it is I think good practice to shield the prop when using a prop pin as input with a device using a power supply greater than 3.3V.
jm.

Greg Norton
01-12-2009, 04:49 AM
JM - Are you saying you used a separate pin for Tx and Rx and tied them both to the SIO pin of the GPS? I'll check out pcFullDuplexSerial4FC.spin to see if there are any limitations on using a single pin for both.

I agree with you on the resistor, but figured someone at Parallax must know something I don't in this case. My options for putting a resistor in the path are a bit limited since the GPS mounts directly to the board.

Greg

jmbertoncelli@USA
01-12-2009, 05:19 AM
I mean that I have just used one pin to have a TX on the prop side.ˇ Of course this pin is not connected to the GPS.ˇ It is a kind of dummy pin just to have the serial object happy.
jm.

here is a code uisng the GPS.

jmbertoncelli@USA
01-12-2009, 05:20 AM
remember that I am using the GPS in raw mode and it is working great.

jm

jmbertoncelli@USA
01-12-2009, 05:21 AM
raw mode does not required the prop to send anything to the GPS.

jm.

jmbertoncelli@USA
01-12-2009, 05:25 AM
in my program that is the way to activate the raw mode. The program that I have uploaded is using : FullDuplexSerial but I can confirm to you that the serialduplex object works as well I am using it inside another program with the GPS.

GPS.start(GPS_RX,16,0,4800)
DIRA[GPS_RAW]~~


jm.

Tom C
01-12-2009, 09:47 AM
Greg Norton,

I have one of the PCBs and just took a look at it.

There does not appear to be any current limiting resistors between the Propeller inputs and the outputs of the +5v GPS, Accelerometer, and Compass.

I have not tried the GPS, Accelerometer, or Compass and will definitely hold off until it is verified that using these three components will not damage the Propeller.

Maybe you are right Greg, Parallax may know something about the PCB that we do not know about concerning this issue and there will be no problem using these three components.

Regards,
TCIII

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to sendˇa Robotˇto save the world, youˇbetter make sure it likes it the way it is!

rjo_
01-12-2009, 11:11 AM
Greg,

Just for the fun of it... remove the GPS and see if you get the same thing... I did:)

You do have to have a resistor on the signal line going from the GPS to the Prop... I assume that you do but I don't see it in your post.

Rich

Greg Norton
01-12-2009, 11:25 AM
rjo_

You're right, I get the same thing with the the GPS completely removed. I'm using the prop control board from parallax (docs here (http://www.parallax.com/Portals/0/Downloads/docs/prod/prop/28205-PropellerControlBoard.pdf)). According to that there is no resistor on the serial line. It's strange that if I put the GPS back and remove the transmit commands from the program, I get no data at all back (as I expected - no request, so no response). I can't explain the behavior without the GPS connected.

I'm stumped.

Greg

rjo_
01-12-2009, 01:02 PM
Greg

It is one of those material existence things that just has to be experienced:) This kind of thing is why I love the Prop... it is a real world device, with real world behaviors that most of us have never seen or imagined but exist every time an engineer tries to get something done for us. I have a lot more respect for those EE guys now than I did before:)

put a 1k on the data line from your GPS to your prop. The rest is all software... there is a perfect object floating around that uses GPS smart mode (by Gary Boone)... I don't have the link... it is on my other computer... see if you can find it or maybe someone has the link?


Rich

Tom C
01-12-2009, 08:30 PM
Greg/rjo_

I have emailed Parallax tech support concerning the issue of no current limiting resistors on the Sensor inputs to the Propeller on the PCB.

I suspect that Parallax might have to recall all of the PCBs to fix the issue?

Just a thought.

Regards,
TCIII

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to sendˇa Robotˇto save the world, youˇbetter make sure it likes it the way it is!

rjo_
01-12-2009, 10:25 PM
Tom,

I don't have this particular board, but I can't imagine having to recall it because of an issue like this... all you have to do is put one resistor in line with the GPS and it should work fine... and this is completely documented. And once you have it hooked up right, the noise issue goes away. I've hooked up the GPS backwards... forgotten the 1K resistor and both my Prop and my GPS survived. The reason that Parallax didn't do this is that this is that including a 1k resistor would limit the potential usefulness of the hardware... sometimes you don't want to hook up a GPS... and what you want to hook up doesn't require a resistor.

Greg

DrGary's wonderful GPS object can be found here:

http://forums.parallax.com/forums/default.aspx?f=25&m=195562


Rich

Greg Norton
01-13-2009, 01:38 AM
I hooked up the GPS using one of the auxiliary connections on the control board (which has a 10k resistor inline). This didn't change the results at all. The prop control board will make it difficult to add a resistor inline on this pin only. There is a specific mounting location and connections are already in the right places. We would have to modify the GPS unit to make that happen.

Greg

Post Edited (Greg Norton) : 1/12/2009 5:50:12 PM GMT

Tom C
01-13-2009, 02:54 AM
Greg,

I have used the Parallax GPS module with the BOE and I had to have it at least a foot or two away from the BOE for it to function correctly.

I believe that RF radiation from the BS2 on the BOE causes reception problems with the GPS module.

It could be that the Propeller on the PCB is causing the same problem with the GPS module as the BS2 did on the BOE.

I will check my email when I get home to see what Parallax support has to say about the design of the PCB.

Regards,
TCIII

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you are going to sendˇa Robotˇto save the world, youˇbetter make sure it likes it the way it is!