Jrk 21v3 loss of analog input control

I’ve recently connected and configured a jrk 21v3 driving one of the pololu 12V 100:1 gearmotors with the hall effect encoder on the back.

I am using it for (very) low speed control, so I xored the encoder outputs together with a 74ls86 chip to double the frequency to the feedback pin. Speed is set with a 10k pot with the wiper connected to the RX pin The whole system is powered by a 12V 6A switching power supply.

I had this setup working fine, and then i turned it off and left it for a few hours. When I came back and turned it on, no lights came on and the system was unresponsive. I traced my connections with a meter and found the board was getting power, and the input pot is behaving as anticipated. When I probe different points with my voltmeter the orange light comes on and the motor starts driving at slightly faster than the full speed I configured it for. Even touching the power pins with my bare fingers causes this effect.

Plugging in the USB cable, I find the orange light comes on, along with the green light for the usb connection. The motor immediately turns on to full speed forward, settling down to a lower speed over a few revolutions of the output shaft (that implies that it’s starting with the integral term at its limit?) and when i look at the plots in the config utility, the target value is pegged at 4095 and unresponsive to the input signal. If i change to serial control mode and change the speed set point using the configuration utility, the system behaves properly. Switching back to the analog input, however, it remains unresponsive and stuck at full speed.

Any help you can offer would be much appreciated.

Settings below: at one point these worked:

INITIALIZED	0
INPUT_MODE	ANALOG
INPUT_MINIMUM	122
INPUT_MAXIMUM	4091
OUTPUT_MINIMUM	0
OUTPUT_NEUTRAL	2048
OUTPUT_MAXIMUM	4095
INPUT_INVERT	0
INPUT_SCALING_DEGREE	0
INPUT_POWER_WITH_AUX	0
INPUT_ANALOG_SAMPLES_EXPONENT	7
INPUT_DISCONNECT_MINIMUM	61
INPUT_DISCONNECT_MAXIMUM	4093
INPUT_NEUTRAL_MAXIMUM	2252
INPUT_NEUTRAL_MINIMUM	2232
SERIAL_MODE	USB_DUAL_PORT
SERIAL_FIXED_BAUD_RATE	9600
SERIAL_TIMEOUT	0
SERIAL_ENABLE_CRC	0
SERIAL_NEVER_SUSPEND	0
SERIAL_DEVICE_NUMBER	11
FEEDBACK_MODE	TACHOMETER
FEEDBACK_MINIMUM	2026
FEEDBACK_MAXIMUM	2070
FEEDBACK_INVERT	0
FEEDBACK_POWER_WITH_AUX	0
FEEDBACK_DEAD_ZONE	0
FEEDBACK_ANALOG_SAMPLES_EXPONENT	5
FEEDBACK_DISCONNECT_MINIMUM	1696
FEEDBACK_DISCONNECT_MAXIMUM	2400
PROPORTIONAL_MULTIPLIER	307
PROPORTIONAL_EXPONENT	11
INTEGRAL_MULTIPLIER	655
INTEGRAL_EXPONENT	10
DERIVATIVE_MULTIPLIER	983
DERIVATIVE_EXPONENT	15
PID_PERIOD	20
PID_INTEGRAL_LIMIT	3500
PID_RESET_INTEGRAL	0
MOTOR_PWM_FREQUENCY	1
MOTOR_INVERT	1
MOTOR_MAX_DUTY_CYCLE_WHILE_FEEDBACK_OUT_OF_RANGE	100
MOTOR_MAX_ACCELERATION_FORWARD	200
MOTOR_MAX_ACCELERATION_REVERSE	200
MOTOR_MAX_DUTY_CYCLE_FORWARD	600
MOTOR_MAX_DUTY_CYCLE_REVERSE	600
MOTOR_MAX_CURRENT_FORWARD	54
MOTOR_MAX_CURRENT_REVERSE	54
MOTOR_CURRENT_CALIBRATION_FORWARD	37
MOTOR_CURRENT_CALIBRATION_REVERSE	37
MOTOR_BRAKE_DURATION_FORWARD	2
MOTOR_BRAKE_DURATION_REVERSE	2
MOTOR_COAST_WHEN_OFF	0
ERROR_ENABLE	0
ERROR_LATCH	0

Hello.

From the way you describe touching the pins with your finger causing the jrk to run the motor, it sounds like you might have a ground or connection issue somewhere. Could you post some pictures of your setup including all connections? When you turn your potentiometer, does the plot in the Jrk Configuration Utility show a change in the “Input” parameter?

-Brandon

I’ve disconnected everything and changed the setup to test things:

Plugged in to a bench power supply, USB cable, and a 10k pot from 5v to GND with the wiper to Rx.

There is no change on the input parameter, it stays fluctuating at 4079/4080 in the plot. Doing the ‘Learn’ routine on the input tab in the config utility confirms this by populating the various fields with 4078. As stated before, the onboard PIC (except for the A/D converter) and output circuitry seem to be fine, as setting the speed over USB with the input in ‘serial’ mode performs as expected.

I have to conclude that the input circuitry is damaged, which is frustrating and increasingly costly as this is the second jrk board i’ve had fail in the course of a weekend. I assumed I mechanically damaged the other board while desoldering some pins (the supplier I received these from shipped them assembled with pin headers and screw terminals installed) but now I’m wondering why these are so fragile. (this other board is also exhibiting some strange behavior from incidental contact with my fingers while powered up, and while the input works, it has an intermittent motor driver 0x0004 error) I’ve never had these kinds of difficulties with other products. The input has only ever been connected to the +5V source supplied by the onboard regulator or the onboard ground, and at the presumed time of failure through a fairly large resistance at that.

It’s possible I could use TTL serial instead of the analog if it’s just an ADC that’s damaged. (The datasheet isn’t complete enough to determine this on my own)

Does the USB port share pins with the Rx pin? (I ask because the USB port is working fine, which means if the pins are shared this approach should work.)

Could you post some pictures of your setup, including all of your connections? Using a multimeter, could you verify that the output of your potentiometer is correctly going from 0V to 5V? I don’t think sending serial commands through the USB connection would test the RX pin’s functionality, but if it is easy for you to do, you might try sending TTL serial commands directly to the RX pin (with the jrk in “Serial” input mode).

-Brandon

The RX pin is definitely receiving a varying voltage from the potentiometer. (I’ve probed the pin directly with a multimeter).

I can’t post a picture because I’m at work and my motor drivers are not. It wouldn’t be very instructive as I have just the basic connections described previously.

I was just wondering if there’s a chance the RX pin would work for serial communications if the analog input function is damaged. Because the board behaves properly when using the config utility and a USB connection it seems like whatever damage occurred has just damaged that one subsystem of the chip, however I don’t have detailed schematics for the board so I’m just guessing. I was not intending to include a microcontroller or PC in this system so it’s added complexity I’d rather do without, but I don’t have time to order and install another jrk board.

I’ve shipped the thing and will use USB control while my client debates getting a replacement part. I’ll chalk this one up to some bad luck, feel free to consider this issue closed. If you revise this product, some sort of protection for that input would be nice for those of us attempting to put the controls some distance from the motor driver and motor.

Thank you for your suggestion of adding protection to the RX pin. Is there a specific protection approach you have in mind?

By the way, it is rare for us to hear about a problem like the one you are describing.

-Brandon