SMC 18v25 Serial Frame errors Arduino Uno R3

I purchased a SMC 18v25 less than three weeks ago and currently testing it for an RC Power Wheels project. I have a 12v 1A wall-wart connected to Motor Vin with no motor connected. The large cap is attached and I have right-angle header pins soldered to the bottom row to plug into a breadboard.

Using an Arduino Uno R3, I am getting Serial Frame errors when sending commands using the Arduino Software or Hardware serial. Arduino GND is attached to SMC GND and Arduino TX (pin 1) is attached to SMC RX. The only command I’m trying to send is ‘Exit Safe Start’ (0x83) at 1 second intervals and each second the Simple Motor Control Center gives me Frame errors. Below is the Arduino code I’m using.

[code]void setup() {
Serial.begin(4800);
}

void loop() {
Serial.write(0x83);
delay(1000);
}[/code]

I changed the UART speeds on both the SMC and the Arduino (19200, 9600, 4800, 2400). I’ve changed breadboards, made a cable to plug into the Arduino, and finally used alligator clips directly on the pins themselves. I’ve tried 3 different Arduino Uno’s (2 R3’s and 1 R2) using both hardware and software serial and get the same results. Lastly, I used a different power supply for Vin and attached a wall wart through a regulator (Adafruit Breadboard power supply) and tested with voltages between 9v - 13v.

When connected via USB, the speed slider works just as expected and gives me the correct target speed. When I use the Pololu Serial Transmitter it works just fine (as it too goes through USB virtual COM port).

The board temp reads at 41.5C and what’s strange, I’m reading 50C with an infrared thermometer near the TX/RX pins on the board.

Has anyone else had this problem or any ideas on how to fix it?

Also, I’ve sent the Exit Safe Start command and then a Set Speed command in previous tests with the same results:

[code]int speed = 1600;

void setup() {
Serial.begin(4800);
}

void loop() {
Serial.write(0x83);
delay(500);
Serial.write(0x86);
Serial.write(speed & 0x1F);
Serial.write(speed >> 5);
delay(2000);
}[/code]

Hello.

Thanks for the detailed post, it makes it much easier to determine what is going on. A high temperature like that near the TX and RX pins is strange. Could run your Simple Motor Controller with only the USB connected to see if it still gets hot?

  • Grant

Thanks for the response grant,
I attached only the USB cable to my laptop port and I’m still recording pretty high temps at the TX/RX pins. The max I’ve measured was 46.4C and I slowly scanned the board with the thermometer and the pins have the highest temps. I’m using a Kintrex IRT0421 thermometer and scanned the board at different distances on the front and back and get the same results. It’s definitely hottest at the TX/RX pins as the temps go down near Vin and RST.

SMC:closeup:rear

SMC:closeup:front

SMC:temp:front

SMC:temp:rear

Hello.

It sounds like the AND gate that generates the TX output by combining the TXIN pin with the internal serial TX might be damaged (this is little five-pin component near the serial RX and TX pins where you seem to be getting your hottest readings). Can you power the board from VIN (with everything else disconnected, including USB) and measure how much current it is drawing? Is it possible you accidentally connected the TX pin incorrectly at some point, such as to your Arduino’s serial transmit pin?

  • Grant

I’m reading a current draw of ~80mA with only Vin connected at 12v.

As for connecting incorrectly: I use the same color code for all of my prototypes (Vxx=red, GND=blk, RX=grn, TX=yel) and I always jumper the wire colors so they match the pin of the device they’re going to:

ArduinoRX <—grn-----||-----yel–< smcTX
ArduinoTX >—yel-----||-----grn–> smcRX

I just purchased and received a jrk 12v12 to work in conjunction with the SMC. I haven’t connected them yet, but if the TXin pin is shot, I won’t be able to chain the two as needed.

80 mA is higher than I would expect, so it really sounds to me like that AND gate is broken. Please email us with your order information and a reference to this thread; I might at least be able to get you a discount on a replacement.

- Grant