Q: Motor torque control with PWM : how to measure current?
For my caving robot project, I have 8 motors for which I need torque control (they will mainly be stalled or nearly stalled.) Each motor is driven by a DRV8801PWPR H-bridge (commanded by one digital and one PWM signal from a STM32F723.) In order to get the torque, I was planning to measure the cu…
pwm current-measurement control torque

Your driver and many others have an external “current sense resistor” (some have internal sensors) , why not use them?
@tlfong01 : the DRV8801 supports external sense resistor (and I’m using one). Even beter, it has the “VPROPI” pin acting as amplifier, in order to be able to use a small resistor while getting decent voltage (specially usefull in a battery powered project like mine, where I don’t want to loose 1V out of 12 in a sense resistor)

(1) My apologies for not reading your question carefully and giving you a silly answer. I read your question again and found that you presented your situation very well. (2) I am curious about your cave exploration robot project. It would be nice if your can show us the robot’s user requirement or spec. (3) I guess you are using DC motors in your project. I happen to be playing with a robot car project, an 4WD/8WD with TMC2160 stepping motor (can also do DC motor) driver (big current > 10A). If I know your motor requirement better, I might suggest BLDC or stepping motors.
@tlfong01 : I have ni idea how to give a complete “description” of my robot on this site without being out of topic (If you have, it might be usefull to refer to it as most of my questions relate to this robot). Or if you are just currious, we could do a skype. For short, it’s a robot to explore vertical narrow cracks, by driving blocked between the 2 opposit walls. Basicaly, the robot is made of 8 arms (2 horrizental “X”) with a wheel at the end of each arm. Each wheel is pushed agains the wall (to avoid the robot slipping down) by a motor (those I’m asking about) pulling some elastic band.
The motors are very small geared DC motors (<1A, weigting less than 20g). The weight is a very important factor for this robot, as the force needed for the arms (ie motor torque) is proportionnal to the weight of the robot. The goal of torque control is to ensure constant force against the walls (ie “constant torque” changing a bit depending on the position of the arms)

(4) Are you using small DC motors such as N20 (see Ref below). Perhaps you can give me the link to your motor. (5) You following spec is good: “a robot to explore vertical narrow cracks, by driving blocked between the 2 opposite walls. (6) Is there are reason using drv8801, and not the possibly improved version drv8833/8871 (also see refs below). (7) The tmc2160/2209 has some advanced features on torque/current (using microstepping/pwm constant current) which might give you some brainstorming ideas. (8) You might also to consider BTN7971B, whose current sensing comparing with drv88xx.
Our discussion is getting TLDR, so let us do our long winded in this chat room.
References to motor drivers with different mot coil current sensing features.
(1) drv8801/8833/8871
electronics.stackexchange.com/…
tmc2160/2209 chat.stackexchange.com/rooms/…
(2) btn7970/7971B
(2.1) electronics.stackexchange.com/…
(2.2) electronics.stackexchange.com/…
Above references contain typos. It is too late for me to do editing. So I am sending an update.
(1) drv8801/8833/8871
electronics.stackexchange.com/…
(2) btn7970/7971B
(2.1) electronics.stackexchange.com/…
(2.2) electronics.stackexchange.com/…
(3) tmc2130/2160/2208/2209
(3.1) raspberrypi.stackexchange.com/……
![]() |
Categories: Uncategorized