OK, so here is the problem:
My rover uses some 24V motors, and I am controlling them with a Sabertooth 2x25 motor controller (specs http://www.dimensionengineering.com/products/sabertooth2x25)
DIP switch settings are set to work with radio (1 down, all the rest up).
When I am connected, and take Mission Planner out of hold mode to “manual”… the rover starts running. No control by radio.
Something with the PWM pulses on channel 1 or 3 from the NavIO?
Be gentle. I have come VERY far knowing as little as I do.
I have a Sabertooth 2x12 in my Dagu Wild Thumper.
If you set it up in radio control mode (as opposed to microcontroller pwm mode), it dynamicly adjusrs the endpoints of the input signal. This is not very practical for a rover, because you will have to give full throttle forward and backward manually, before
you can start with a mission. Every time you change batteries or power cycle the rover, that is.
And the rover will start full speed, with the slightest input, before the sabertooth has seen the full input range.
Better choose microcontroller pwm mode and linear response. In this mode endpoints and neutral are fixed. I am not sure about the endpoints, but neutral is at 1500us.
Thanks much, that seems to fix the initial issue. I thought I had tried that, but, I guess not.
I suppose now the only issue is that in this mode the local failsafe (on the Sabertooth) is disabled, which means that with loss of radio signal (if running Mission Planner or some other GCS), the rover will go into “hold” mode, which may or may not be “stop”, based on whether you have everything trimmed right. Does that sound right?
Hold mode puts out whatever is set for rc_trim on channel 1 and 3. If you set it to 1500us the sabertooth will “stop”. If you use standard rc gear, you could set the failsafe with it. I tried both the APM failsafe and the rc failsafe. The APM failsafe waits 5sec ( I do not know if this is configurable) before engaging, the rc failsafe acts immediately with my TX/RX. And with the rc failsafe you can set the flightmode channel to whatever mode you like.
INteresting. Thanks for that great info. I noticed that the APM failsafe waits for 5 sec… that might be way too long with a 500lb rover moving through a vineyard haha. Also, I’m not sure I want to have the RC system connected in the end, so that probably is going to have to change. My RC transmitter doesn’t have a failsafe, and i wasn’t planning on using it anyway (see above), but for the time being it sounds like I’m going to have to upgrade.
Do you have your sabertooth set to differential drive, or tank-style?
And have you had any behavior like mine… when I connect everything up, start Mission Planner, put it in Manual mode…and push the throttle all the way forward, the rover takes off and… stops responding to the RC controls. Doesn’t appear to be the radio, receiver, PPM encoder…but the only thing that stops it is to de-power the thing. Changing to HOLD won’t do anything.
Yes, 5 sec might be ok with a plane or copter in open air, but even for my 3kg thumper this was to much. I have a look at the parameter list and see if this is changeable.
I remember you are going to use wifi. There is also GCS failsafe, which kicks in if the rover looses telemetry connection. I never tested it, because I always use my RC TX. I tried wifi control, but in Germany the maximum wifi power is to restricted to get any useable range, without directional antennas etc.
I use the sabertooth differential drive mixer. The APM is set to normal steering. The skid steering in APM is less than optimal, because it uses maximum half throttle for steering. That made steering really sluggish.
I would simplify things to find what is causing this problem. Connect your RC RX directly to your sabertooth and see if it still looses control. Then add back the other components one at a time.
I think the problem is, that with these big motors and big currents, there are some weird voltage fluctuations with the RPi.
I think I need to have a different power source for the electronics than the 5V from the Sabertooth. I may even need to put an optoisolator in between all the brains and the big currents on the Sabertooth.
Ok, that will not work. The sabertooth can only delivee 1A, if I remember correctly. I do not have all the numbers right now, but RPi + Navio + RC + USB perhaps, is over 1A. My guess is the RPi simply reboots and the sabertooth holds the last received signal.