I recently bought two Jrk 21v3 motor controllers from you. Is the following the correct wiring for daisy chaining them? Say the device numbers are #1 and #2, where #1 is the controller connected to the power supply and has its USB terminal connected to the computer.
Wire from #1 TX to #2 RX.
Wire from #1 VIN to #2 VIN.
Wire from #1 GND to #2 GND.
How are you controlling the jrks? If you want to control them both from a single USB cable, then the USB cable should be plugged into #1, and the TX line from #1 should connect to the RX line of #2 as you suggested.
There does not literally need to be a wire from the VIN pin of one jrk to the VIN pin of the other, but you should ensure that both of them have power supplied to the VIN pin. It is sufficient to connect both jrk VIN pins to the positive terminal of the power supply.
There does not literally need to be a wire from the GND of one jrk to the GND of the other, but you do need to ensure that all the grounds in your system are connected somehow. It is sufficient to connect both jrk GND pins to the negative terminal of the power supply.
Please make sure you connect power to the correct GND and VIN pins. Do NOT attempt to apply power to the pin labeled “VIN (out)”. Also, as a general tip, I recommend getting one jrk working on its own before you try to daisy chain them.
Two jrk’s: the GND and VIN of each are wired in parallel to the power supply. The TX terminal of one (#1) is wired to the RX terminal of the other (#2). The first jrk (#1) is connected to the USB port of the computer.
Problem: No matter what device number – #1 or #2 – specified in the computer program, it moves the #1 motor.
The jrk configuration utility uses the jrk’s native USB interface so it can only talk to the jrk that is directly connected to USB. The “Device number” field you were using in the jrk configuration utility does not select which device to connect to, but rather it allows you to set the device number of a device you are already connected to via USB.
I am not sure why David is assuming you are using the Jrk Configuration Utility. I suspect your problem is the same one David addresses in your other post:
If you want to communicate with chained devices, you need to use the Pololu protocol (0xAA, device ID, command packet). In the pololu protocol, the command byte needs to have its most significant bit cleared. If you leave it set, you are effectively sending a compact protocol command that all devices will respond to.
One jrk set by the configuration utility to be device 11. It’s connected to the USB and on Com4. (The configuration utility can move the motor, so the motor seems to be connected correctly.)
One jrk set by the configuration utility to be device 12. After configuring, it’s disconnected from the USB. (The configuration utility can move the motor, so the motor seems to be connected correctly.)
The VIN and GND of the two jrks are wired in parallel. There is a wire from TX of device 11 to RX of device 12.
The central yellow LED of device 11 blinks rapidly. The green LED is steady. No error LED.
The central yellow LED of device 12 blinks slowly. The green LED is off. No error LED.
The following byte sequence is copy-pasted from the Pololu Protocol section of the jrk manual:
170, 11, 97, 127
When sent to Com4 it gets to device 11 and its motor moves (after previously moving it somewhere else using the configuration utility).
170, 12, 97, 127
instead of moving the motor of device 12, moves that of device 11 (after previously moving it somewhere else using the configuration utility).
I’m probabaly making some stupid mistake but don’t know what it is.