Showing posts with label RS232. Show all posts
Showing posts with label RS232. Show all posts

Friday, April 16, 2010

UPDATE: Converting GPS Serial Output to TTL levels

I ordered a sample ADM232A which is a high-speed CMOS RS-232 Driver/Receiver. The chip was designed to take an RS232 signal and convert it to TTL levels and vice-versa. While our implementation using a rail-to-rail op-amp worked, the ADM232A is specifically designed to handle this task. I wired the circuit as shown below.


Using a function generator, I provided a 12 V peak-to-peak signal at 4800 Hz (the same signal as the output from the GPS we are using) as a simulated RS232 input. The output signal was from 0 - 5 V and inverted. The oscilloscope measurement can be seen below. The blue line is from the function generator, and the yellow line is output from the ADM232A.



Overall, I would recommend that we use the ADM232A instead of the op-amp solution. The ADM232A has very low power requirements (as configured, I measured the current draw between 2 - 3 mA), and it was made specifically to solve our RS232 - TTL voltage issue.

Monday, April 5, 2010

Converting GPS Serial Output to TTL levels

Not realizing the output voltage of the GPS we are using, I wired it directly up to our new Arduino. After three hours of it not working, it occurred to me that the voltage output may be at RS232 levels (plus or minus 3 to 15 volts) instead of TTL (0 through 5 volts) levels. A quick check on the oscilloscope confirmed that the Garmin unit we are using outputs at plus and minus 6 volts. I ordered a sample of an ADM232 which converts between RS232 levels and TTL levels. Temporarily, we are using an OPA2350 rail to rail op amp to limit the output from 0-5 volts. This solution works, and we are now able to read NMEA data through the Arduino.
Here is the schematic of the circuit that we are using: