How to setup a TRAXXAS rover?

Hi, I’m trying to build a rover using the Pixhawk 6C.
I have this rover frame that I want to modify so it can be controlled by the ArduPilot software.


Here’s what you can see in the image:

  1. A motor connected to an ESC (both are from the original rover).
  2. The motor’s power cables (two of them are connected to the ESC).
  3. A servo for steering control (located underneath the black plate).

I have many questions as I’m starting this project:

  1. Is it possible to use this ESC?

  2. The rover is a Traxxas (I don’t remember the exact model). I understand that to build a vehicle with ArduPilot, all components must be compatible with MAVLink. Is that correct? I’m not sure if this ESC will work with MAVLink.

    For controlling the servo and the speed controller, I understand they need to be connected to the FMU PWM output on the Pixhawk.
    The problem is that I don’t have the separate adapter (in the Pixhawk 6C, the connector is not integrated). I live in Argentina, and the only option I’ve found is a cable kit that costs around $80 USD with shipping, which seems very expensive just for the adapter.
    Is it possible to make one myself? Is there a wiring diagram I can follow?
    This is the adapter I believe I need.

I don’t have much experience with building projects like this. There are many components I’m encountering for the first time, so I’d greatly appreciate it if you could explain things in the simplest way possible. :slight_smile:

image

The ESC and steering servo should both just be PWM. So you should be able to connect them directly to the main output of the flight controller. You will probably need a different receiver and radio because I don’t think you can get the Traxxas radio to output a signal the Pixhawk can use.

Mavlink is for communication typically between the flight controller and the ground control. Components like ESCs don’t use Mavlink. They have their own protocols, but with the hardware you have that shouldn’t be a problem.

What do you mean by this?

"I have a quadcopter drone built with a Holybro kit. The kit included a Pixhawk 6C. Basically, this is the connection I have to use the motors (I didn’t use servos, so the connection shown in the image is not included).

Since the Pixhawk doesn’t have PWM signal pins, I used the adapter shown in the image. Now, I want to build a rover and I already have the Pixhawk, but I don’t have the adapter. So, I wanted to know how I could make one or if the only way to get it is to buy it.

How did you connect the motors on the quad copter? Those outputs would have been PWM, or if they were Dshot it would have been through a path that can be re-configured to PWM.

The I/O PWM Out is pin out, it’s just that the physical layout isn’t the 3-pin dupont connector you’re looking for. If you used the adapter on the quad, it will work the same for the rover.

Edit:

If you have the wires, you could follow the pinout and make your own adapter. The servo would need 5v, gnd, and signal. The ESC likely only needs gnd and signal. You could test the ESC to see if it has a BEC that is providing the 5v feed back for the servo. I don’t think that servo rail supplies 5V, so you might need to take that from the ESC.

1 Like

Thanks that usefull. One more question.
I think this has to be the wole conecction. Am i missiog something?

Of course the GPS, RC Receiver and other stuff will be conected directly in the pix

Just make sure you connect the ground from the PWM adapter to the servo and ESC. The grounds should all be the same, but this just ensures that so it all has the proper reference point.

i read this Connect Servo to Pixhawk 2.4.8 - #11 by BrunoBagarini

from there i understand that this conecction is correct. In here he doesn´t connect the ground in the PWM adapter he make this so this is incorrect?

in his case the pix has the PWM pins but should be the same rigth?

It’ll probably work just fine if the BEC ground is clean. If there’s question, add the extra ground wire. Wont’ hurt.

In my case, the Traxxas ESC had two wires: one for power and another used to connect an optional cooler. The output was 5-6 V, so I directly connected it to the adapter. That worked fine for me. Now I can control the servo with an Xbox controller and Mission Planner. However, I don’t know how to set up the Traxxas ESC to work with ArduPilot. I don’t have the original controller, and I’m not sure if that’s a problem when calibrating or configuring the ESC.

This is my configuration: Servo 1 is the steering servo, and the ESC is in port 3.
I configurated the RCIN4 to work with that KEY but i´m not sure if it’s okay to set the function in Servo 3 to an RCINX because I want to make autonomous drives. So, I think it has to be set as Throttle, as specified in the Rover setup documentation. Will that be a problem?

Also i want to somehow contorl the top speed of the thoretle to easly control it manually.

You’ll need to set up the output as throttle if you want the FC to be able to control it in auto mode.

https://ardupilot.org/rover/docs/rover-motor-and-servo-configuration.html

MOT_THR_MAX will limit the max throttle, but there may be other ways to limit speeds depending on exactly what you want to do.

SPEED_MAX

I setead as Throttle but the RC does not work if i set that (Only works the stearing)

You probably just have to set Min 1000, Trim 1000 and Max 2000 for Throttle.

I don’t know what needs to be set so that the vehicle can also be driven in reverse. It also depends on the ESC.

I have this configuration but the throttle is too sensitive. I barely touch the buton and the motor goes very fast. I tried changing the min and max throttle. Also i set both parameters MOT_THR_MAX and SPPED_MAX and still going very fast.
image

Also i change the Cruise speed and throtle but nothin happens. Maybe is because the Servo3 function is directly the RCIN? How can i bind the RCIN to throtrle function?

You need to set up the output as throttle, not RC pass through. Throttle will only work when it is armed. All those other parameters (speed, throttle max, etc) will only work on the throttle.

If the motor is working when you connect it to RCIN4, but not throttle, then it suggests to me there’s a configuration issue. I just noticed you’re using RCIN4. Ardupilot defaults to the throttle on RC3. You can fix this by adjusting the RCMAP_THROTTLE to 4.

https://ardupilot.org/rover/docs/common-rcmap.html

I set the Servo3 function config to de throttle, RCMAP_THROTTLE to 3 and arm the rover too. But still not working. In the joystick configuration section y see the RCIN3 change when I press the button (I configue from RCIN4 to RCIN3 for thothle keys). But in the servo output the Throttle still idle.
Joistick config:
image

Servo outputs:

Param:
image

Edit: I change the from RCIN3 to RCIN4 and work but only backwards and no forward

Then enter 1500 / 1500 / 2000 for S3. Then it will probably go forwards.

1 Like