switching large loads (arduino nunchuck cart)

I have 2 wheelchair motors and each is 24v 3-4amps. I'm going to make probably a cart to sit on and see how fast i can gear these things... all controlled with a wii nunchuck.

This mosfet would be fine right? http://www.rigelcorp.com/__doc/8051/IRF510.pdf and the max would be 5.6amp @ 100v?

and to get both directions I'd put two mosfets per motor. the mosfets would be in opposite directions, and a diode to protect the one that's off? and then to add a small capacitor on the motor's ends to protect the mosfets from feedback

so total = 4 mosfets, 2 per motor. and just pulse them at a high speed to control speed?

i was also thinking about putting all the mosfets on an old video card heatsink, then add a thermo resistor... and set it so if temp is over like 50C turn on the fan.. if temp over 90C turn off mosfets

I have 2 wheelchair motors and each is 24v 3-4amps. I'm going to make probably a cart to sit on and see how fast i can gear these things... all controlled with a wii nunchuck.

When you say the motors are 3 - 4 A, do you mean that this is the current they draw with no load? I feel like wheelchair motors would have much higher stall currents than 3 - 4 A, and stall current is generally what you care about when selecting components to drive motors.

and to get both directions I'd put two mosfets per motor. the mosfets would be in opposite directions, and a diode to protect the one that's off? and then to add a small capacitor on the motor's ends to protect the mosfets from feedback

I'm not envisioning how this will work; do you have a schematic that captures what you intend to do? I think you will need four MOSFETS per motor (i.e. an H-bridge).

  • Ben

right.

put in protection for the mosfets and a 100k resistor for the arduino. then could i tie ad, and bc inputs together? and pulse them to control speed?

Well i asked someone, and he said i could use 2 mosfets per motor. Have two mosfets that would be wired to give opposite currents as eachother, then protect them by adding a diode to keep the mosfet that was off recieving current from the mosfet that was on. Protect the mosfets from motor feedback by adding a small capacitor.

then could i tie ad, and bc inputs together? and pulse them to control speed?

You could tie AD and BC inputs together, but they would each still need their own MOSFETs. There's a reason why people use four MOSFETs for bidirectional DC motor control (it's not because they're too dumb/lazy to realize they only need two MOSFETs).

The only way I can see your being able to use two MOSFETS per motor is if you have a negative voltage rail (e.g. 5 V, 0 V, and -5 V). You could then hardwire one of your motor's leads to ground (0 V) and use two MOSFETs to set the other motor lead to be at either 5 V or -5 V, thereby controlling direction. The downside to this: you are only able to put half of your full voltage difference across the motor, so you aren't operating at maximum speed or power.

Note that you could duplicate this effect with only two voltage rails by putting Vin/2 on one motor lead and switching the other lead between GND and Vin.

  • Ben

WOW ok that mosfet isn't going to do the job. took 4 of them stacked to turn one direction on... LOL

is there a chip that would be more fitting to use in this kind of job? i have some large x video card and am2 stock heatsinks, so if the chip makes some heat it's no biggie

Can you tell me what the stall current of your motor is? As I said in my original reply, 3-4 A does not sound right for a wheelchair motor.

  • Ben

i'm really not sure, yeah that's what my friend said and he mailed them to me. Well i could scavange around for the part number... but i ran a simular large dc motor and i'd guess it's going to be around 8 amps... but the wheelchair motors are 24v so amperage could be lower... go for 8?

Do you have a digital multimeter? If so, what is the resistance of the motor? I'd recommend you use a pre-built solution, such as the VNH2SP30 IC, or a Dual VNH2SP30 motor driver carrier, which makes it easier to work with the surface-mount IC. You shouldn't purchase anything until you actually know the stall current of your motors, though.

Edit: Actually, I take back my suggestion of using a VNH2SP30, which is only rated to 16 V. You could consider the VNH3SP30 version, but in our experience shoot-through issues make PWM operation impractical above 16 V.

  • Ben

Alright well i asked today and i'm told they're 36amp @ 24v O.O.... wow LOL yea....

So I found a way how to run each motor with variable speed that uses 1 transistor per motor and a mechanical multi pinned relay.

now my question is what kind of transistor would i use that could run 35-40 amps?

The IFR540 is a N-Channel mosfet which can drive up to 100V@28A.

There are probably a lot more, but I was having this ref at hand when I read your question.

Alright well i asked today and i'm told they're 36amp @ 24v O.O.... wow LOL yea....

So I found a way how to run each motor with variable speed that uses 1 transistor per motor and a mechanical multi pinned relay.

now my question is what kind of transistor would i use that could run 35-40 amps?

Yeah, I was pretty sure it couldn't be 3 - 4 A! Note that some little 6 V toy motors draw 3 A at stall and your motors need to be able to move a full-grown person and wheelchair. Plus, stall current scales linearly with voltage, so at 24 V you've got to be talking lots of current.

One thing you should note is that you can probably safely run your motors at 12 V, which would halve your stall current and increase your options for control circuitry.

Also, you can use multiple lower-current MOSFETs in parallel if you can't find a single one that can carry the necessary current.

  • Ben

a) For 56 cents, you can get a 50 amp, 60v mosfet. STP55NF06 from newark. I don't know if you can drive it directly from an arduino, but I'm going to try. For $1.14, the 63J7713 is a 50 a / 60 v mosfet that switches using 5v.

b) OSMC, the open source motor controller project, might be what you want.

[I went to the trouble of finding and providing links, but this dumb bb won't let me post them]

I don’t know if you can drive it directly from an arduino,

Nope. It needs 20V to turn on, so you’ll need a 20V supply, which you’ll need to turn on with a transistor which you’ll turn on with the Arduino.

Looks like the 63J7713 may do it.

Look for one with TTL compatible inputs (has a driver circuit built in) if you don’t want to deal with this higher voltage two stage switching. On the other hand, if you’ve already got that voltage handy somewhere in the circuit, it’s probably the cheapest way to go.

-j