Torqeedo Motor integration

Hi all, we have been readying out boat to use torqeedo motors. A couple of weeks ago our Japan drones TTL adaptors arrived and I had one connected to an old pixhawk on a bench setup and ran a single motor test successfully on current 4.5.1 firmware. All the parameters in the guide were changed and all the TRQD parameters came alive in the full parameter list.

This is where I should have backed up the parameter file for future use as my bench pixhawk is used all the time for other testing…

Jump forward a couple of weeks and I traveled up to base to do a full setup on a dev firmware and the TRQD parameters have not populated in the parameter list like last time on either 4.5.1 or the 4.6.0dev firmware. I seem to remember there been another parameter change that caused the TRQD parameters to populate but I cannot think of it and was hoping someone else may have experienced the same issue. FRAME_CLASS is set to boat and the correct serial parameters for Torqeedo have been set. The TRQD_TYPE parameter needs to be set to “Tiller” to function and without that parameter active I cannot continue testing

Thanks in advance for any tips.

1 Like

Hi @andrewjamez,

The torqeedo parameters should all appear once the TRQD_TYPE parameter is set. If you don’t see the TRQD_TYPE parameter at all then the issue is probably that the board is a lower end board (e.g. 1M flash board) and so many features are disabled (we have a Firmware Limitations wiki page here for what it’s worth).

You can get around this issue by creating a custom firmware using the custom build server.

  • Click on the Add Build on the top right
  • Set “Select Vehicle” to “Rover”
  • Set “Select Branch” to “Rover 4 5 stable”
  • Set “Select Board” to the board you’ve got
  • Open the “ESC” section and make sure that “Torqeedo Motors” is selected
  • Click the “Generate build”

Within a few minutes it should generate an .apj file that you can download and the upload to the board using Mission Planner’s Setup, Install Firmware screen’s “Load custom firmware” feature.

1 Like

By the way, each board has a bootloader on it which the ground stations use to determine which software should be loaded onto the board.

If you’re using the classic Pixhawk (aka Pixhawk1) then there were actually two varieties, one with a 1MB flash and another with 2MB of flash. Some 2MB boards have the older bootloader on them meaning they’re incorrectly identified as having the 1MB limit. If this is the case then you may be able to download the Pixhawk1 Rover firmware for the 2MB boards, upload it using MP’s “load custom firmware” and then update the bootloader and from then on the GCSs will correctly identify it as a 2MB board and upload the full firmware.

1 Like

Hi Randy, So now that I have updated the boot loader, the pixhawk is definitely 1-M with 1mB only flash.
Before I could load Pixhawk 1 firmware (and depending on what firmware I was trying to load, mission planner or QGC would choose either a 1 or a 1M) but I would get nagging errors.
At 1 point I had a Pixhawk 1 firmware with TRQD parameters available and was stable however I was never able to repeat that.
I was able to use the firmware builder from the link you provided (thankas) and yes I was able to get full TRQD params on the 1M build.

So all this brings me back to the 4.6devTorqeedo firmware you provided with duel Torqeedo support which I am ready to test. I notice that the latest dev firmware flashable via QGC & MP is also v4.6
Does this have the dual Torqeedo support built in as well? That way I can flash another autopilot we have kicking around to test as I think the pixhawk in the big Rover may also be a 1-M but I will know that definitively by tomorrow when I am back up at base. Thanks.

1 Like

Hi @andrewjamez,

Here is a new binary for the Pixhawk1-1M with the multi torqeedo enabled. Could you give this a test?

I actually tested it myself today and it seemed to work.

1 Like

Thanks so Much Randy, Its all loaded and ready to test tomorrow. I see the default TRQ_Servo 1&2 are set to 70. I assume I need to change them to 73 & 74 to get differential thrust?
We re hoping that if this all pans out we can move post testing to a better cube autopilot with a can GPS as it frees up 1 serial port at least. The Red pro is looking like a great option with the ethernet port connection. Cheers.

1 Like

Hi @andrewjamez,

Yes, that’s right. TRQ1/2_SERVO_FN should be set to 73 and 74 respectively. I hope it works OK.

1 Like

Multi-Torqeedo support is in “latest” now so you can also use the custom build server to produce a binary for the Pixhawk1-1M board that includes Torqeedo support.

1 Like

Thanks Randy. I tested the 1-M firmware ware earlier in the week on the bench and the 2 motors all seemed to operate correctly with differential thrust. I was unable to get the motors to turn under the Motor test tab in mission planner but once I connected a radio and receiver and armed the system it functioned fine. As it turns out the old pixhawk is a V1 with 2mb flash but we have the original version of your firmware to use for that.
My employer got all excited and has ordered a cube upgrade with a GPS with CAN connectivity so we will be upgrading that in the near future. Thanks so much for your help.

1 Like

@andrewjamez,

Great, thanks for the feedback!

BTW, for anyone reading this thread, I want to add support for the larger Torqeedo motors that use CAN. I can write a driver but I don’t have the hardware to actually test it so if someone out there has the hardware and is willing to help me test, reply below or send me a PM.

Hi Randy, has the dual Torqeedo made to the wider beta firmware yet? we have a CUAV v5 and cube blacks in other multihull boats we are keen to implement. You did mention at one point using the custom firmware builder… Is the torqeedo esc option in the custom builder for dual or single torqueedo? i cant remember. Cheers

1 Like

Hi @andrewjamez,

Dual torqeedo support is in 4.6 so it isn’t in the official release. I suspect we will start beta testing 4.6 is 2 or 3 months so until then the only way to use it is by installing “latest”. This can be done using MP’s firmware install screen, just press Ctrl-Q and the versions under the icons will change to 4.6.0-DEV. Of course this “latest” firmware hasn’t gone through beta testing so the chance of bugs is much higher than in stable. We are quite careful even with “latest” though so I suspect that for testing at least you won’t have problems.

1 Like

Cheers, thanks for clarifying that.

Hi randy we have a pair of cruise 3.0 motos that should be ok with the Japan Drone TTL boards, I have connected them up with the same settings as the smaller “travel” outboards that are working fine. We are getting a "torqeedo Not healthy " pre arm message. Are there any other settings we could be overlooking ? Thanks.

1 Like

Hi @andrewjamez,

To remove the number of possible variables I wonder if it would be possible to connect the Cruise 3.0 to exactly the same autopilot that is working with one of the Travel motor? Ideally use even the exact same adapter board as is used to connect to the Travel.

The reverse check might be to connect the Travel motor that is known to work to the new autopilot + Japan Drones TTL board and confirm it works (or does not).

An easier check may be to compare parameters on the two autopilots and check for any differences.

Hi Randy, after a lot of trial and error I managed to get a cruise motor running. In the end, even though the cruise motors only have a sole 5 pin torqeedo connector (DC power is connected directly unlike the Traveller motors), the cruise motor needed the Tiller_Type parameter set to 2
Also the Cruise motors often dont start properly, they pulse erratically when applying throttle. This happened with a previous technician with the remote throttle/Arduino mod. He found a PWM range somewhere between1100 and 1500 worked better on the cruise motors but am unsure if he factored this into the Arduino script. I will be testing this on the Japan Drone TTL boards as well to see if it makes a difference. The pulsing motor is best described like a badly synced esc. Once the motor is nursed into a moderate rpm it all seems to work from then on until the power is completely cycled again. Then it is rinse and repeat…

1 Like

Hi to everyone watching this thread. I have just spent 2 days working on this torqeedo integration with a pair of Cruise 4.0 RT motors with Ardurover 4.6dev for differential thrust.(Our traveler motors work fine with the Japan drone boards)
We are powering our cruise motors with the torqeedo 24-3500 smart batteries. 2 in series per motor.
My latest plan was to connect the TTL board to the battery, then the battery to the cruise 4.0 via the 5 pin connector. This way the setup is theoretically the same as the traveler motor in hierarchy.
I thought that would allow us to run the trq parameter TORQEED_TYPE in mode 1 (tiller)
This has constantly resulted in a “Bad torqeedo Health” pre arm error .
Changing the parameter to TYPE 2(Motor) has had repeat success but only with one of the motors.
As long as the smart batteries are in sleep mode, then powering the pixhawk awakens the battery bank (great), With all other trq params set as described in the ardupilot Doc then powering up this way results in no errors.
Also I set SERVO_2 & 3 to steering and throttle or else you get pre arm errors for un assigned outputs.
Also I have found that a typical default throttle range between 1100 and 1900pwm to be too large.
I get a torqeedo error as soon as I adjust ranges over approx 1800pwm
Starting with a narrower pwm range on RC3 results in a better 1st start
If the Motor has been previously calibrated to a tiller or remote throttle then the intial application of throttle though the master radio transmitter results in the motor pulsing and stalling. Usually a tiny application of throttle results in 1 of our motors starting successfully. After that the system seems to self calibrate to the pwm range and works perfectly. We can now power down and cycle power repeatedly without issue.
If a remote throttle or tiller is attached and recalibrated, then we have to go through the motor stuttering and self calibration phase. It seems that the cruise motors may have more indepth electrical systems than the smaller trolling motors.
With exactly the same setup we connect to the other cruise motor but it never proceeds past the stuttering stalling phase. Maybe the factory calibration is slightly different to the other motor but we will never know. If the motor remains in a stalled state for more than a couple of seconds I get a torqeedo communication time out error and a remote throttle has to be connected to recalibrate the motor. At this stage we seem to have hit somewhat of a wall and frustrated that we have 1 working motor and 1 that wont.

1 Like

Hi Randy, after spending nearly a week in total just trying to get the cruise motors working correctly, I am starting to think that the possible issue is that we (and others it would seem) cannot get any connection to the motor with TORQEEDO_TYPE set to 1 (tiller) but only with TYPE = 2 motor.
In the ardupilot wiring diagrams the _TYPE = 2 “motor” wiring connection is different to the tiller 5 pin wiring connection, yet the cruise motors method of connection is the same 5 pin connector with a separate heavy gauge DC battery cable for power.
The cruise motor is more or less connected like the traveler motor in (tiller) mode other than the separate power cable so I cant help think that this problem with the cruise motor lies in the current inability to communicate with the cruise motor with under the _TYPE=1 setting.
Having the _TYPE = 2 mode selected is allowing some sporadic communication and occasional syc but not reliable repeatable operation.
As you have mentioned, _TYPE = 1 should be the correct setting for the system as the TTL adaptor is acting as the tiller even with the Cruise motor setup yet we only get a Torqeedo error on mission planner under this setting.
As we don’t know what differences there are in output from the Japan drone board under the different modes it is hard to understand what is happening, but I think that until communication can be made with the _TYPE 1 setting “tiller”(which currently seems impossible) then I think that the cruise motors won’t see full compatibility. It is hard to know where to go from here unless you have any other ideas.
Regards, Andrew

1 Like

Hi @andrewjamez,

Sorry for the delay in responding, I didn’t see your reply.

The biggest technical difference between TRQ1_TYPE = 1 (Tiller) and 2 (Motor) is a change in who is expected to be the “master”. E.g. if TRQ1_TYPE = 1 (Tiller) then the motor/battery are the master and AP responds to requests from them. If TRQ1_TYPE = 2 (Motor) then the autopilot/ArduPilot are the master and send requests to the motor/battery.

Re wiring, I guess you’ve already confirmed that everything works fine with the Travel motor using either Tiller or Motor? and of course the autopilot’s Telem1 or Telem2 are being used to connect to the Japan Drones adapter board? E.g. you’re not using the GPS2 port or some other telemetry port?

I’ll add a note to the AP wiki to make it clear that the adapter board has so far only be confirmed to work reliably on the Travel motors and not the Cruise motor to help the next user.

If I could get my hands on some hardware I’m pretty sure that I could get this working. I’ve asked Torqeedo multiple times but I’ve never had any luck. I’ve also asked on the forums a few times but again, the motors and batteries are expensive and shipping to Japan is not cheap either so it has never worked out.

Hi @rmackay9, may I ask have you tested control the motors using GPS2 port? In my case it seems my Cubeorange cannot send message to the motor, but with the telem2 port everything is working fun. I set to use AUX6 as DE/RE pins. Do you have any idea about this?