Has anyone used these components before with the Ardupilot Rover support for Torqeedo motors? They are slightly different than the setup shown in the wiki tutorial (that one shows the Torqeedo Travel 1103). One visible difference is there is no “motor extension cable” in our system. The cable going to the motor assembly is the same 5-pin RS485 as connects to the remote throttle device.
It feels like there should be compatibility here, but we have not gotten it to work yet.
At the moment AP only officially supports a single Torqeedo motor that uses the custom RS485 serial protocol (as described on the wiki).
There is a to-do item (here) to add support for multiple Torqeedo motors and also add support for the higher powered motors that use the J1939 CAN protocol.
While AP doesn’t officially support J1939 CAN a user called Nubbish created this Lua script that may work. Nubbish and apache8080’s conversation about this can be fouind in AP’s Discord server’s “canbus” channel. If you’ve never used AP’s discord server you can find a link on our contact-us page, look for “ArduPilot Discord (live chat)”
I suspect that I could enhance our driver to support the more powerful motors but I’d need to get one of these devices somehow. That could be a full working setup or maybe just a part of it (like the throttle) would be enough. I’m not sure. Anyway, I have tried in the past to get Torqeedo to send me a motor so I can add support but I didn’t have any luck. I will try again.
I believe the Cruise 3.0 FP operates on the old RS485 protocol but we never managed to get Ardupilot talking to it as done on the wiki page. It seems like there should be a way to do it. Nubbish on discord mentioned this.
So this means that Torqeedo uses 3 different protocols depending on the model? RS485, J1939 and TorqLink? I’m just trying to figure out which we should support.
In the diagram above the “Backbone 5 pin data cable” is presumably TorqLink? and the 4-pin is J1939?
Ideally we would like to both be able to control the motor and get feedback from the motor and battery… so that probably means taking the spot occupied by the throttle in the diagram above.
Re getting the RS485 protocol working, I think the most likely issue is the RS485-to-serial converter hardware. The wiki lists has a link to a custom RS485-to-serial converter that is known to work (designed by me and a company here in Japan) so I think trying to use that is the best plan. Obviously I have a conflict of interest 'cuz it’s my company selling them but really, we’re really providing it as a service to the community. At the low volumes we sell them it’s not a money maker :-)… and if someone else wants to make and sell them to the public I’m very happy to help them.
Hi @SpencerFree & @rmackay9 i have torqeedo cruise 3.0R i need to connect to ardupilot they have provided us torqlink gateway TorqLink throttle with colour display
My understanding is that TorqLink is CAN J1939 which ArduPilot doesn’t yet support (although I’d like to). AP supports Torqeedo’s earlier custom RS485 protocol which uses either 4pin or 5pin (see wiki). An adapter is required to convert the RS485 into regular Serial that most autopilots can read.
It has 5 pin connection which means it is RS485 protocol right? So can we follow your wiki which is travel 1103?
Or can we try this documentation ?(Sam Seifert: Hacking Torqueedo Outboard Motors)
Yes, that’s right. The 5pin connector should be an RS485 protocol and so it should work if connected and configured according to the AP wiki page. I think AP will be taking the place of the tiller so you’ll eventually set TRQD_TYPE = 1 (Tiller).
Hi @rmackay9 we are using Cruise 3.0 motor in cube orange rover 4.4 version ,with your official instruction we made tiller connection but cube does not recognise it and shows bad torqeedo health ,when changed to tiller connection to motor in TRQD_TYPE then the motor is connected but the succ count and err count is increasing gradually but we are using IRFZ34N N-CHAN-MOSFET(https://www.infineon.com/cms/en/product/power/mosfet/n-channel/irfz34n/).The motor starts to spins for few seconds and stops with irregular intervals it does the same thing.
Parameter:
TRQD_TYPE = 2
TRQD_ONOFF_PIN=-1
TRQD_DE_PIN = -1
SERIAL2_PROTOCOL = 39
SERIAL2_BAUD = 19
TRQD_SLEW_TIME = 0
MOSFET = IRFZ34N
Here is the log
And when desmotspeed decrease to negative values for reverse motor spins the motor stops
I have attached log below
(https://drive.google.com/file/d/11YEWAgR1FNNrswL-qY1wCli64jaIBHlo/view?usp=drivesdk)
It’s hard to remotely diagnose hardware issues. I struggled a lot to get it working which is why I made the Torqeedo interface board available.
If there’s no way you can get your hands on one of these boards then there is a diagram on the wiki that shows how a DIY connection can be made but I always saw more errors when using the DIY board for some reason. I’m not a hardware engineer so I don’t understand exactly why.
Thanks for posting the images above of how you’re connecting the autopilot. These diagrams must be missing some details though because I don’t see a battery. Also its not clear to me if both the autopilot and tiller are connected. Maybe you could provide more precise details on what is connected to what?
By the way, I am very keen to get this all working. I’m hoping that once we have your motor working you can help me test this PR. I don’t want to try to do that before we have the regular known-working setup working for you too.
The fact that you’ve got it spinning at all must mean that we are close to getting it working.
Just to confirm though, the cube is connected to the 5-pin connector right? If no autopilot was being used then this 5-pin cable would be connected to the Tiller right?
If this is true then the autopilot is taking the place of the tiller and TRQD_TYPE should be 1.
If the autopilot is connected to the 5-pin connector but TRQD_TYPE = 2 then I’m surprised it works at all.
To give a bit of background, a Torqeedo motor includes 3 parts, the motor, the battery and the tiller. The battery is actually the “master” controller and it reads messages from the tiller and then sends them to the motor.
When TRQD_TYPE = 1 then the autopilot pretends that it is a tiller and replies to requests from the battery for the desired throttle level.
When TRQD_TYPE = 2 then the autopilot pretends that it is the battery and just directly sends throttle commands to the motor.
So if the autopilot is connected to the 5-pin connector but is acting like the battery then there are essentially two batteries trying to talk to the motor at once. This is probably where the errors are coming from.
we are actually using cruise 3 with 3rd party battery with 3kw , the driver inside motor communicate between motor and throttle so we need to send commands only through 5 pin connector.
Thanks again for the details. If you’re not using the Torqeedo battery then I wonder where does the 5-pin connector come from? In my Torqeedo Travel setup the 5-pin connector comes from the Torqeedo battery. The motor only has a 4-pin connector.
Do you have a link for the 3rd party battery? I wonder if it is just a simple battery providing power or does it attempt to speak the Torqeedo protocol.
Maybe in torqeedo travel 5pin comes from battery and motor has only 4pin im not sure. The tiller connection which you have mentioned in wiki is our torqeedo remote throttle connection in which we have connected cube
(Cable set 3rd-party batteries – Cruise 6.0 TorqLink – Torqeedo)
This is the 3rd party cable, now we are not using it because it is required if we use torqeedo throttle.if we connect with throttle it will show battery percentage and voltage . I think its just a simple battery provides only power does not speak to torqeedo protocol. And when we connect cube with 5pin connector from motor, battery percentage and voltage is shown in mission planner.
By the way, I noticed that SERIAL2_BAUD = 115 while the wiki specifies that this should be 19. It won’t actually make a difference though because the driver hard-codes it to 19 anyway…and clearly the communication is partially working… it wouldn’t work at all if the baud rate was actually wrong.
@rmackay9 Yes we tried this(TORQ_TYPE=1) and it didn’t work at all but we connected cts and rts to aux6 and aux5,and changed params respectively, even after this the motor is not spinning but i can see motor messages with no err_cnt and succ_cnt increasing gradually
After this we unplugged cts pin from aux6 and the motor starts to spin and now throttle stick controls pwm with very minor stick movements and no data(battery voltage, rpm etc) is shown in mission planner .
By the way, we have confirmation on this other thread that the Cruise 3.0 can work. It’s stuttering a bit but hopefully we can work through the issues.
Hi !
My name is Victor, and I am deeply interested in the remote control of Torqeedo motors. Previously, I successfully managed to control older models (Cruise 2.0 and 3.0) using the RS485 protocol.
I am now beginning to explore controlling the newer models which utilize the TorqLink communication protocol. After extensive research, it appears you are among the few discussing this topic.
I have a Cruise 6.0 motor and the new TorqLink throttle at my disposal and am eager to delve into developing TorqLink compatibility.
I noticed your plans to integrate TorqLink with ArduPilot and would like to offer my assistance.
Would you be available for a discussion on this? I joined the ArduPilot Discord and had the chance to speak with Jani who told me to post a message here. I will post a message on the channel can bus too.
Looking forward to the possibility of collaborating with you !