Which Controller? Bidirectional 15A But NO PWM

Which would be the best Pololu controller that could be easily programmed via Arduino to control a 15 amp DC motor (30A surge or stall) without resorting to PWM. I only need a good high current H-bridge for bidirectional control and full ON or OFF control, no speed control is needed. Current sensing would be a nice feature to have .

thanks in advance

Why do you not want to do PWM? PWM can be great to do a “soft-start” ramp on. Even if you usually do full-on or off.

Pololu has some drivers though, you just need to look at their high powered brushed dc motor driver section.

pretty sure one of them is 25A, maybe it can deal with the peaks. but at least one of them is >25A

Its a slow speed, high torque motor for a 75 pound antenna rotor that that turns very slowly. One revolutiuon should not go any faster than 30-40 seconds. Need to turn it only a few times back and forth maybe 10-20 times in one day of operation.

If I were to use PWM what type of PWM mode would you recommend for this kind of motor function? I dont need braking or regenation.

That absolute cheapest way you can do this is probably with 4 mechanical relays, you can buy those boards on ebay for very cheap.

But that adds a certain complexity and you’d need to add some diodes for voltage spike protection. But technically you can google something like “relay arduino control bidirectional DC motor” or something. Maybe “mechanical relay arduino h-bridge”

Mechanical relays are typically not used because they can’t do PWM and they have a limited amount of times they can turn on and off. but for your application it could be fine if you’re not planning for a >10 year (approx) lifespan.

But if you stick with a typical controller you’ll have more robust control and can also do a ramp (optional.) Frankly, it’s better if you’re starting out. At least at pololu, where they have very high quality high-power boards but slightly expensive boards, you’re looking at ~$50 for the high amperage that you’re looking for.

It doesn’t matter much whether you choose something with slow-decay or fast-decay, either will work and most will offer both. It sounds like you’re asking about that factor for the “PWM mode”

The other benefit of PWM control is that you can artificially limit the average current (and thus slow down the motor.)

Do you need a microcontroller to power yours? If you just plan on manually turning the motor then a lot of the drivers have a simple “ON” and “DIR” control system. So you can wire it up to turn manually with the push of two buttons (one for go, and one toggle switch to switch directions.)

I’m not entirely sure what you’re looking for, though. It sounds like you’re possibly just being cautious. Have you found a pololu board you want to use and do you want feedback if that particular board will work?

The antenna rotor I have came with a proprietary controller. It was designed to be operated using a hardwired (RS485) handheld with two (momentary) buttons that simply select direction (and power) while held down. I traced out the PCB circuit and it is a basic H-Bridge using two pairs of IRF540N and IRL5210 MOSFETS switched with some NPN bipolars from a PIC18F. It does not use PWM as I checked all signals on my scope. The motor draws 7A running and has one mechanical stop (at 360 degrees) where it stalls drawing 15-16A. As designed the user is supposed to take finger off the buttons when mechanical stop is reached so the high stall current is brief.

I wanted to use this antenna rotor at a remote site wirelessly. The power source is two parallel deep cycle 12v batteries (about 250 Amp hours) and solar charged. The motor controller sits at the base of the antenna next to the batteries in a weather proof enclosure and I have an RF Arduino + MAX485 comuunicating to the rotor controller and another RF Arduino in the house as a base station with LCD display, etc.

Since the rotor is remote and cannot be seen, I am lacking feedback that the motor has reached a mechanical stop in order to turn off the motor. My first idea was to just add a ACS714 Current Sensor Carrier (-30A to +30A) and have the Arduino monitor for anything over 10A to turn off the H-bridge. But the proprietary rotor controller has a strange RS485 implementation (fixed packet every 200 msec) that requires constant frequent polling plus I have added a few sensors to the remote RF Arduino and all my I/O pins are in use. So my preference now is to replace the rotor manufacturer controller entirely (with the bonus of getting rid of the weird RS485 communication) with something like the Pololu High-Power Motor Driver 18v25 CS. If I use PWM I think the best mode given my very slow speed/high torque would be Sign-magnitude (drive-coast) but I am clueless as to what PWM frequency to start with but I guess it would be on the lower end not higher.

I think you’re on the right track.

Word of warning: test thoroughly the RF module you have. Those have much worse range than they promise, in most situations. Especially the cheap ones off ebay. You can also look into RC controller tech, since it has more history and info behind it online. If you are doing something with an RC controller based version, or for which you have reason to believe the range is as advertised, then yeah don’t worry too much about my warning.

I don’t really know much about the extra sensors in your system, but I would be surprised for the limited functionality you’ve described so far that you couldn’t fit the PWM controller you’ve shown on the arduino + one analog pin for the current feedback, so you can add some intelligence to the end-stop. One way that comes in mind for me, is to integrate the current you’re reading over time, and have a limited value of how high the integrated current can be for a given period of time. So the idea is to allow brief moments of high current, but not allow it for too long.

The PWM you don’t really need to worry about. The arduino will default I think to ~450hz on some of the PWM pins, and maybe 900hz on some of the other PWM pins (or maybe they set it to ~450hz for both, i forget.) You actually want the higher Hz, unless you’re certain your motor has high inductance. But it doesn’t matter much anyway if you do pretty much full ON and full OFF control.

Also your method of control doesn’t matter much. If your device is under any load run-coast is fine.

Thanks so much for the advice. Its also very reassuring :slight_smile:

The Arduino-like is called “Moteino” and is like a mini or micro Arduino with a RF69 transceiver and is very reliable with nice distance. lowpowerlab.com/

PCB size really makes a difference for me as it all has to fit into a rather small weatherproof enclosure and part of my testing problem is the rotor/motor is mounted to the bottom of a 200 lb pneumatic mast which is bolted onto a 4’ x 8’ utility trailer. Removing the rotor is a major undetaking as it is a pressure-tight seal in order to be able to inflate the pneumatic mast. So I can only test the contoller in my driveway not on my workbench and the weather has not been too cooperative. I have an electronic load that can provide a resistive load up to 300 w - that should be enough for testing my Moteino plus Pololu driver programming and then final test outdoors on a Sunny day !!

Merry Christmas/Happy Holidays.