Queen's Mostly Autonomous Sailboat Team Wiki
Register
Advertisement

Arduino Serial Port Debugging[]

This debugging took place in Nov and Oct 2010. The main problem appears to have been that there were two cables crossed on the TTL/RS232 converter connection (needs to be null modem, despite mating with a standard COM port).


Arduino uses 5V logic for it's serial ports (in the tutorial, 5V is connected to the MAX3323, setting it's logic level to 5V) - this could be the problem?

Nov 4:[]

  • com1 - RS232/TTL - arduino = working (spitting out characters from buffer to serial monitor)
  • compass - RS232/TTL - arduino = ???
    • powered compass off of 5V on arduino board
  • compass - com1 = working (ground to ground, 2 to 2, 3 to 3)



Nov 2:[]

Connected serial RS232-TTL converter's power to 5V from arduino (unclear from testing whether it works on 3.3V, seems to be now, but shouldnt?);

  • arduino-ttl/rs232 adapter - loopback = working
  • arduino-ttl/rs232 adapter - com1 on computer = working on 3.3, 5V, dipslaying in hyperterminal:
  • com1 - loopback = working

adapter1: ground from converter to ground on arduino (white/black next to white); power to 3.3 or 5V (white); blue to tx1; black next to blue to rx1

Havent yet sent signals from computer to arduino:

  • hyperterminal com1 - rs232/ttl - arduino (same pins are the functional arduino to computer setup) = not working
  • hyperterminal - adapter1 - held 2,3 as in loopback on converter output lines = not working, taking a while for local echo to come back, nothing loopedback; perhaps theres a difference with the power, ground and signal ground making issues
  • hyperterminal - adapter2 - held 2,3 as in loopback) on converter output lines = not working, taking a while for local echo to come back, nothing loopedback

To try:

  • connect com1 - rs232/ttl - pololu
  • connect the com1 ground to the power ground from arduino
  • arduino - rs232/ttl -nullmodem- rs232/ttl - loopback (2,3 connect by hand)

Oct 26:[]

We arent getting any data to arduino from either the computer through hyperterminal and COM1; or from the wind sensor (both of these are RS232 output, and require use of the RS232-TTL converter).

  • Connected serial1 to serial's output pin in loopback - serial1 detected it successfully.
  • We tested the wind sensor with the computer and hyperterminal, worked fine (5 ground to ground, 2 to 3, 3 to 2). (of note, it does need all three wires connected, not just transmit and ground)
  • Replaced the computer with the RS232 to TTL converter to arduino serial1, same pin layout; there was no signal detected by the arduino mainly; some moments with signal detected, and then detected 0 as signal (possibly from buffer); modified code slightly and didnt work after; possibly loose wires.
  • Tried replacing compass with computer to send data to arduino serial1 from COM1; no signal detected.
  • Arduino will print out to serial.print successfully data sent to it along Serial.read (the USB from computer)
  • Common thread seems to be the RS232 to TTL converter - how do we test this?
    • Try putting two back to back and seeing if it acts like a straight-through RS232 link
    • And similarly with the arduino to test if it is straight-through TTL (this would actually be easier; just attach a null-modem between the two converters)
    • Try setting up a converter in loopback configuration (pin 2 to 3)
  • Can test the TTL level arduino serial communications with the Pololu (we dont have anything else that is TTL level)
  • For now, move forward on software as if it was working; could possibly use TS7260 to get and parse data from compass and wind sensor; connect arduino to TS7260; arduino handles motors (test pololu); what would be the delay on this?
Advertisement