I am working on a device that is meant to lift and lower a box that weighs 220lbs with a winch. I am using Arduino to program the entire device. The thing is, the current controller I’m using can’t lift more than 130 lbs. Is there a way to use a SPARK MAX controller to power the winch? I know the SPARK needs a 12V input to operate, and Arduino can only supply up to 5V. Is there anything I can do get the SPARK MAX working with Arduino?
Edit: I am using an external 12V supply to power the motor controller, I just need to get the signal from Arduino to the SPARK controller. The winch is rated for 2000lbs, I used the physical controller to verify it it could lift 200lbs.
The arduino itself shouldn’t be providing power for the motor controller. Even if it could do 12V, it wouldn’t be able to provide anywhere near enough current. You’ll need a separate power source for that.
The arduino can provide the data signal though. Easiest would be a PWM signal, though you could probably get CAN working with a LOT of effort.
And finally, this almost certainly won’t solve your problem. Motor controller typically has no say over the total capacity of a mechanism. If your mechanism can only handle 130lbs, then a new controller with the same motor/gearing/etc will be able to handle 130lbs. What you need is a different motor and/or gear ratio.
It may if the current limit of the previous controller was the limiting factor. I will take R3claimers word that his controller was 43 A the Spark Max is 60 A continuous or 100 A momentary. IF the motor can handle the current the switch to the max may be helpful. Or it just may allow the motor to burn up.
Hmm I haven’t used this driver before, is it only outputting 5V? Is your motor 12V? If so then that would also be part of your problem. So the Spark MAX may help if your motor is 12V because that is its output max. Specs of your motor may matter, if it is a 24v dc then you may not reach your potential with the Spark Max if is 5V then you are on your way to magic smoke.
You need to provide more information regarding the system. Are you using the Spark Max to control a Neo motor or some other motor? What gearboxes are you using to drive your winch? What reduction ratio are you using? Posting photos of the whole system would be very helpful (Arduino, Spark Max, motor, gearbox, winch, load).
As others have asked, what leads you to the conclusion the controller is the cause of the issues? Keep in mind none of us have seen your project or setup, or know the details of your system.
The general calculation I’d be doing is to figure out, when the motor is stalled, what motor current @12V is required to provide at least 220lbs of lifting force. This is the absolute minimum current your power supply and controller have to be able to handle. To actually make the system work, you need a good amount of margin on top of this. How much margin depends on the speeds and accelerations you wish to cause to the weight, and your “factor of safety” in the design to overcome unexpected loads, or prevent overheating.