I can’t control a brushed DC motor using Pixhawk, Sabertooth motor controller, and a PM07 power board

Hello everyone,
I’m trying to control two motors for a rover (one for steering and one for throttle) by sending commands velocity through mavros but the motor doesn’t seems to respond to those commands and it runs even while disarmed, I believe my setup has to do something with that. I’m using and PM07 to power the pixhawk and the Sabertooth motor controller, B+ from PM07 is connected to B+ in the Sabertooth and Ground is connected to B-, while Motor 1 is connected to S1(signal 1 in Sabertooth) as shown in the picture. My Sabertooth configuration is as follows: all up except 1 and 4 since I need to control each motor separately. My qgroundcontrol parameters are showing in the pictures. I can arm the pixhawk through macros and send command velocity or set points but the motor sometimes is running even before arming and I can’t control the speed or anything. I have been trying for weeks, please help, I really appreciate it. The pictures are in this link: https://drive.google.com/drive/folders/1KGyOkih46BpxkGWtsPzcx2Sqz1cUCSvb

From the pictures and the parameter names, I would say you are running PX4 firmware, not ardurover. To get help with this firmware you need to visit:

1 Like

Thanks, I posted it on both because it seems like a setup issue ( I haven’t seen anyone using PM07 with Sabertooth). Do you recommend Ardupilot though?

I tried PX4 on a rover a while ago, but never got it to work as I wanted. So, yes, I recommend ardurover.
The dip switch wizard says:
1 off
2 on
3 off
4 off
5 on
6 off
for lithium power, microcontroller PWM control, independent mode, linear response.

Thanks @count74, I put 3 on because I’m using power supply for testing (not sure if that’s right) and I have tried 6 on as well. I will try again and see the response.

I got it to work but I can’t fully control it. when I send zero velocity command and local positions messages, the motor doesn’t spin but when I send z = 1 cmd_vel, the motor spins fast and I can’t control the speed. when I send unstamped messages or local points, the motor spins and stops every couple seconds but not exactly according to the ROS rate given. In addition, I can’t control how many rotations it rotates. I believe there is something wrong with the parameters or I don’t understand mavros commands. Thanks Sebastian.

Seems like a good solution