0
\$\begingroup\$

I have purchased an RFID reader that communicates using an RS-232 cable. I have however used an RS-232 to USB adapter to connect it to my laptop. It is an ACM812A RFID reader.

When I open the RFID reader's application and try to connect to the reader it says communication error. So I decided to pull out the Arduino and start seeing what is being transmitted. First, every time an RFID tag is placed near the RFID reader, the reader beeps to say a tag has been detected. The tag's ID is then transmitted via the RS-232 cable to the PC. So I decided to remove the RS-232 cable and connection. I then took three wires and connected it to the reader's RX, TX and GND pins and then connected the RX to TX of the Arduino and TX to RX of the Arduino and also ground.

When I open the serial monitor and when I place the tag near the reader I get the following displayed on the serial monitor for all buadrates. I was supposed to be getting the ID from the tag (like 251458712). When I measured the TX wire of the reader, it is -5.2V. Can someone help me to understand what is going wrong?

enter image description here

\$\endgroup\$
4
  • \$\begingroup\$ You can't measure the TX wire with a voltmeter, you need an oscilloscope (digital or otherwise) to either measure it, and/or decode it. Are you sure that the reader outputs ASCII data instead of something else? \$\endgroup\$
    – Ron Beyer
    Jun 2, 2020 at 18:36
  • 1
    \$\begingroup\$ RS232 and logic Tx/Rx are inverted , Looks like it is telling you 8 times, "pilot error" in 15 characters. ;) lily@goldbridgesz.com check all assumptions and directions then contact support to show exact setup \$\endgroup\$ Jun 2, 2020 at 18:38
  • \$\begingroup\$ did any smoke come out of your AVR...yet? \$\endgroup\$
    – old_timer
    Jun 2, 2020 at 19:11
  • \$\begingroup\$ RS232 transmitters have about 1200 ohms intrernal resistance, it's likely the Arduino would survive \$\endgroup\$
    – Jasen
    Jun 3, 2020 at 10:16

2 Answers 2

4
\$\begingroup\$

The reader uses has a serial interface with RS232 voltage levels. Arduino has a serial interface with 5V or 3V TTL/CMOS levels. They are not compatible unless you have a RS232 tranceiver connected between the Arduino and reader. It is possble that the higher voltage levels of the reader has damaged the Arduino, so check that is still works reliably.

\$\endgroup\$
0
\$\begingroup\$

The rs232 signal has the opposite polarity to the Adruinos UART, als the voltages are wrong.

Connect instead to the RS485 "A" wire. the signal there will have the correct sense and a suitable voltage.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.