1
\$\begingroup\$

I would like to control two 48V DC motors (500W) from electric scooter with my Arduino.

I've bought two PWM controllers from eBay and they work excellent. Issue is that controllers have pot on them (10k linear) and I need to replace that with digital one so I can drive it from Arduino.

I've bought MCP41010 (10k digital) and connected it via SPI, it all works great for one motor. Problems arise when I want to control two motors and connect both digital pots to Arduino. It doesn't work, precisely it burns pots :(

PWM controllers are DC6-90V and pot on them is (5V, 0-5V, 0).

Setup is following:

Arduino is powering and controlling over SPI MCP41010. Motors are connected to PWM controller and controller pot terminals are connected to MCP41010. Controller is powered with batteries (48V).

Schematic: enter image description here (http://picpaste.com/pics/kontroller-K4o3hFUi.1421686913.png)

If I connect only one POT and motor controller all works fine, if I connect two, they burn out :( ?

p.s. Controller pictures: http://pastebin.com/RpUpWKfk

\$\endgroup\$
3
  • \$\begingroup\$ Sounds like a wiring problem shorting out one of the POTs... Can you add a schematic or drawing? \$\endgroup\$
    – Adam Head
    Commented Jan 19, 2015 at 15:34
  • \$\begingroup\$ Tnx for helping out, I've added schematic \$\endgroup\$
    – user505160
    Commented Jan 19, 2015 at 17:02
  • \$\begingroup\$ Could using parallel connection for powering both controllers be problem? \$\endgroup\$
    – user505160
    Commented Jan 19, 2015 at 18:13

2 Answers 2

1
\$\begingroup\$

If I connect only one POT and motor controller all works fine, if I connect two, they burn out :( ?

Your circuit may have a ground loop. The potentiometers are connected to 'ground' on each speed controller, but these two grounds are only joined together via the negative wires going to the battery. When a motor draws current a voltage drop will occur across its negative wire, and then the two 'grounds' will not be at the same voltage.

On 48V a 500W DC motor will draw peak currents greatly exceeding 10A, which could produce spikes of several volts in the controller negative wire. The MCP41010 will blow up if the voltage on any pot terminal goes below -0.6V or above +6V (relative to Vss). Each MCP41010's pot is connected to a separate ground at the controller end, but their Vss pins are both connected to Arduino ground. Therefore they are exposed to any difference in ground potentials.

To eliminate this ground difference you have two options.

  1. Join the two controller negative terminals together with a very short thick wire. At the Arduino end, connect both pot ground wires to Arduino ground. This may not be sufficient if the motor currents are very large.

  2. Pass the SPI signals through opto-couplers, and power each MCP41010 from its controller's +5V and GND. This is the safest option because it isolates the grounds from each other, so any voltage differences that may occur between them are irrelevant.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for this, I don't have any excuse for not thinking about decoupling whole thing :( GREAT IDEA! \$\endgroup\$
    – user505160
    Commented Jan 19, 2015 at 20:59
-1
\$\begingroup\$

I think the problem is that the PWM controller is burning your d-pot by overloading it. Common pots have a power rating of several watts if it is not a trimmer pot, but d-pots usually are only rated for tens of milliwatt. If the PWM controller is designed for a conventional pot, it may burn your d-pot.

You might want to roll your own PWM and control it directly using the PWM outputs of your Arduino board.

Read the datasheet for IR2110 MOSFET driver and you will see a possible way of building your own H-bridge.

\$\endgroup\$
8
  • \$\begingroup\$ Thanks for pointer, but I already have 2 controller built, starting out from scratch should be my final option. It is obvious that burnout is going on, but why is the question? Did I wire it wrong somehow? \$\endgroup\$
    – user505160
    Commented Jan 19, 2015 at 17:34
  • \$\begingroup\$ @user505160 You can try to hack the existing controller and maybe after removing one chip you can attach wires directly from your Arduino's PWM pins to the MOSFET driver. \$\endgroup\$ Commented Jan 19, 2015 at 17:36
  • \$\begingroup\$ There are no marking on the chip which is located on PWM driver, but by number of pins and general look could be 555. \$\endgroup\$
    – user505160
    Commented Jan 19, 2015 at 17:38
  • \$\begingroup\$ High-definition pictures of both sides please? \$\endgroup\$ Commented Jan 19, 2015 at 17:39
  • \$\begingroup\$ @user505160 Also the controller board have suspiciously few power MOSFETs. Usually for a H-bridge you need four MOSFETs (and two gate driver chips) instead of two. \$\endgroup\$ Commented Jan 19, 2015 at 17:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.