I purchased and put together a 18v15 Simple Motor Controller Driver. It runs fine for the first few minutes and then the controller shuts down. When I checked the status, it looks like the temperature of the controller reaches around 75 degrees.
My current setup:
Microcontroller: Raspberry Pi
Connection to motor controller: Serial/USB using C++ writing directly to serial line
Power Supply: ATX computer power supply Antec 480W (antec.com/specs/TPII480_spe.html)
Motor: 12V Air compressor, Rated at 14A
Max acceleration: 20
Update Interval: 10
Everything else default.
The reason why I got this controller is because my ATX power supply was shutting down when I started with a relay due to the inrush current when starting from idle. This controller solved the problem however, I have a few new problems and questions with the controller:
Controller hits over-temperature and shuts down
I can’t decelerate, ATX power supply shuts down, possibly due to back current? or high current draw for braking?
Would I need a freewheel diode / capacitor on the motor terminals?
In the user guide it mentions that the connection leads should be < 1 foot. My leads are roughly 1.5 feet. Why and does this apply for the both the controller -> motor and power supply -> controller leads as well?
Would increasing or decreasing PWM frequency help reduce the temperature issue? I tried to drive the motors at a slower, operable speed but the controller still shuts down.
What else can be done to prevent overheating? my last resort would be installing a fan.
Any help would be appreciated!
When the motor stops, does the “Error” box under the “Status” tab of the Pololu Simple Motor Control Center show that the motor is being stoped by “Over temperature”? You mention that your air compressor is rated at 14A. Is that the current draw when it is under load? Could you provide a link to its datasheet or specifications? If you have a current meter, could you try measuring the current draw of your air compressor when it is being driven by the Simple Motor Controller?
How are you commanding the controller to decelerate? Do you have a deceleration limit set?
You do not need a flyback diode; the MOSFETs in the H-bridge have diodes built-in and will let the inductive current flow when the MOSFETs are switched off.
Longer cables will add inductance, and larger spikes could occur (which might be causing your power supply to shut off). If you need long wires in your system, you want them between the motor controller and the motor, not between the motor controller and the power supply.
If the heat is coming from switching losses, then decreasing the PWM frequency might help; however, it is not clear how heat is being generated in your system.
[quote]When the motor stops, does the “Error” box under the “Status” tab of the Pololu Simple Motor Control Center show that the motor is being stoped by “Over temperature”?
Yes, after the motor is stopped, if I read the status of the controller through executable SmcCmd provided for linux it says the motor is stopped due to over-temeperature.
I cannot find a manufacturer data sheet however, on the motor itself it says that the rated current is 14A.(lion.net.au/AIR_COMPRESSORS/ … Manual.pdf)
[quote]If you have a current meter, could you try measuring the current draw of your air compressor when it is being driven by the Simple Motor Controller? [/quote] I will do this soon and get back to you. However I do not have a current meter, I will need to use a shunt resistor with my multimeter.
At the moment I am going from 3100 when ON(acceleration limited to 5 every second) and 0 when off. These values are directly written through serial to the controller. The hard limits were set via the graphical interface, everything else is at default. I did try setting a deceleration limit, however it caused the ATX power supply to shutdown. I would like to use the limit, if possible. How does the deceleration and braking work? Does it draw a large current from the supply or generate back current to the supply?
[quote]Longer cables will add inductance, and larger spikes could occur (which might be causing your power supply to shut off). If you need long wires in your system, you want them between the motor controller and the motor, not between the motor controller and the power supply.[/quote] Thank you for the information, I reduced the length of wire to be < 1 feet.
I fixed a 80mm fan on top of the motor controller, this seems to be limiting the temperature to around 50 degrees when I tested it for around 8 minutes, the usual running time is about 4 minutes so this seems to be working okay now.
To brake, the controller turns on the two low-side MOSFETs in the H-bridge shorting the motor leads together. When deceleration limiting is implemented, how quickly the motor speed is allowed to decrease is limited. You can read more about this in the “Motor Settings” section of the Simple Motor Controller’s user guide.
I suspect there might be voltage fluctuations causing your power supply to shut off when decelerating. You might try measuring the 12V supply to see if there are any spikes. (The spikes might be fast, so you might need something like an oscilloscope to capture them.)
Thank you Jeremy for that information. I do have an oscilloscope I will check this out.