TReX JR Glitchy when using Spektrum AR6100e receiver

So, I am testing a robot chassis I am working on. I’m using some 2S LiPO batteries (and tried a 6 cell NiMH for good measure) and a Spektrum AR6100e receiver. The TReX JR is providing BEC for the receiver. The load on the TReX JR are the motors from the Tamiya Dual Gearbox Kit (Mabuchi FA-130) and the gear box is set to 203:1. The robot is very light.

What is happening is, the controller works, but only when I jiggle the throttles for either motor. So on my DX7 remote, I can’t just gun the throttles and make it work. I have to wiggle the sticks.

It seems that the controller only recognizes changes in stick position, but will not allow me to step on the gas and just go.

Here’s a video:

Now, I know that the Spektrum radios are setup to use both analog and digital servos. I understand that the digital PWM single is backwards compatible with the analog PWM standard, but the analog PWM standard is not forward compatible with digital servos (so you need a digital receiver to drive digital servos.)

I mention this because, though, in theory, the AR6100e should work with the TReX controller.

Anyone have any idea as to what is going on here?

I bought this equipment new from sparkfun.

Thanks!

Hello.

I’m not sure I understand what you mean by “wiggle the sticks”. Do you mean that things work as expected if you slowly move the stick from neutral to full speed but fail if you push the stick from straight neutral to full speed? If so, in what way do things fail in this latter scenario? Does it seem like the TReX Jr is resetting itself (i.e. do you see the LEDs go through their start-up blinking sequence)? What voltage are you running the motors at? Do you have any capacitors soldered across your motor terminals?

- Ben

So as long as I am moving the sticks, the motors drive. If I move from neutral to full and stay at full, the motors will drive while I am moving the stick, but as soon as I reach the end of the movement, the motors MAY stop. Sometimes they continue to drive, but it isn’t consistent.

This isn’t the controller resetting, either.

Example, I move both sticks forward, from neutral to full. While the sticks are transitioning, the motors drive. Once I reach full, one track may move as expected, but the other may stop. So the tank get’s stuck spinning. If I wiggle the stick that corresponds to the stuck track, from full to 90% and back to full, the stuck track engages and works, but only while I wiggle the stick.

So, obviously it’s not a reset problem because one motor will drive while the other may not. Sometime both work, some time neither do. The fault exists more often than not.

I can video it when I get home tonight.

That certainly seems like strange behavior. Do you have access to an oscilloscope that you could use to look at the signals coming out of your receiver? If not, to you have any servos you could connect to your receiver? I’d be interested to know if the servos hold their positions (equivalent to the tank motors turning) or turn off (equivalent to the motors stopping) when you move the sticks in the ways you describe.

- Ben

I don’t have an O-Scope. I have used this receiver with digital and analog servos and two brushless speed controllers.

I followed the same line of reasoning and used a digital servo while using the TReX (6 channel reciever) with no trouble.

Here’s a video of the behavior.

I’d test with arduinos (the platform I with to use them on) but I haven’t had time to write some simple code.

Thanks for the video; it definitely does help to see what’s going on. Unfortunately, information from an oscilloscope would be most helpful here, I think, but let’s see if we can work around that. Here are a few more questiosn:

  • When you say you can use a servo no problem, does your servo stay on if you push the stick full forward? That is to say, can you hear it humming and does it resist turning by hand while you hold the stick forward, or does it just move to one extreme and then turn off?

  • What happens if you hold the sticks still at someplace other than full forward? If you hold them at 50% forward, what does the tank do? What about 80% forward? Is it the fact that the sticks aren’t moving (regardless of their position), or does the position you hold them in play a factor?

  • Have you used the TReX’s learning mode to calibrate it for your controller?

  • When the sticks are fully forward, do you have any idea how long the pulse widths are out of the receiver? The TReX Jr can handle pulse widths as long as 2.5 ms; pulses longer than this will cause an error.

Do you have a USB-to-serial adapter or a PC with a serial port? If so, you could use our TReX configurator application (for Windows only) to connect to the TReX. This program has an RC tab that displays in real-time the signals that the TReX is receiving on its channel inputs, which could go a long way towards helping you debug what’s going on. The channel inputs can also be requested from the TReX via serial commands from your Arduino, so you wouldn’t have to program your Arduino to measure the pulse widths itself, just to ask the TReX what it’s getting (although the ability to do both might be useful since the TReX will return the same error value for several different error conditions).

- Ben

I’m running to NoiseBridge.net tonight. I’ll see if I can get a hand with this and an O-Scope. What should I look for? Just pulses longer than 2.5ms?

The servos work, I’ve used this receiver before in my RC Truck. They do operate correctly while attached to the TReX, too.

This problem exists at all throttle speeds.

I haven’t run the calibration. I will do so.

I will try the utility.

Thanks

If the TReX isn’t responding to the receiver, it could be an indication that the receiver is outputing some signals that the TReX isn’t able to handle. The TReX accepts standard hobby RC servo pulses at frequencies from 10 - 125 Hz and with pulse widths from 500 - 2500 ms. The height of the pulses should be at least 3.3V. Try using the oscilloscope to characterize the receiver outputs to make sure that they conform to these requirements. Try pushing the throttle all the way forward (i.e. a condition you know causes problems) and see what the pulse train looks like. Does the receiver keep outputting pulses? From your description of the problem, it seems to me like the receiver might only output pulses when the pulse width changes.

Please let me know what you find when you use the configurator program, and I’d be interested to hear what happens if you calibrate the TReX for your controller.

Another thing you might consider is soldering capacitors across your motors since the Tamiya motors produce quite a bit of electrical noise. It seems unlikely, but perhaps this could be interfering with the receiver signals? This page provides some information about suppressing motor noise: pololu.com/docs/0J15/9

Are you powering your receiver from the TReX? If not, make sure you do not have the BEC jumper in place. If so, make sure you don’t connect servos to your receiver as the TReX’s 5V bus is not intended to provide that kind of power.

- Ben