dirty_d's 100V 75A brushed motor controller schematic

dirty_d

10 kW
Joined
Jun 16, 2007
Messages
985
Location
Massachusetts
I figured id take on a brushed controller before i try to make a sensorless brushless one, which is about 5732 times harder. i made the schematic today, i havent finished choosing all the resistor and capacitor values yet. im not really sure how big the main caps should be, i cant remember what my bikes controller already has in it. it will do synchronous switching to reduce losses in the freewheel switch, timing shouldnt be too critical since the freewheel fet already has a flyback diode in it. those double resistors and diodes should make the fets turn off faster than they turn on to avoid shoot-through... i hope. i still have to learn how to design the pcb, ive tried it before and i had a real hard time with it. that 1 milliohm resistor there is for current sensing, ill probably add a potentiometer to the circuit so you can change the motor current limit. the programming will not be a problem, im a lot better at programming than i am at electronics.

so, does it look like it will work?
 
I believe my 30A controller had a total of 660µF of capacitor in it.

Based on what I've seen in my Curtis controller, however, I'd use 50µF per amp as a reference (20,000µF total for 400A). Probably a bit of overkill, but it's not like it's an expensive part.
 
Hi,

Good work. Looking forward to its completion. One comment. I don't think you want to use IR4310 as your MOSFET. IR4110 is much much better and you would probably need min of 3 but most controller I have seen use at least 5.
 
yea i just put irfb4310 in there because i already have a bunch, so ill try with those first.

i updated the schematic a little, added the current limit adjust pot, and an op-amp to amplify the current sense resistor voltage.
 
:lol: The sensorless debate has worn your patience down, dirtyD? I can understand! I have been collecting and reading docs about sensorless designs to better understand the different approaches that can be used.

As for your bus caps, use good low esr ones (chemi-con KZE series are good and reletively cheap at digikey) combined with some good film caps, these last ones being as close as possible to your FETs DC bus connections. If you switch faster, then you will need more DC caps. Use a scope right across your FET pair's negative and positive DC bus connections to check voltage ripple while switching to decide if you'll need more caps, or slow down switching speed. Make all power traces short as possible, and thick as possible (specially the traces from your DC bus caps positive, to the top FET, to the bottom FET and back to the bottom DC bus negative.

Good idea to use sync rectification, it will also give you easy regen IF you arrange your current sense to read negative current. As for avoiding shoot through, use your micro's dead time adjustment to do fine tuning - much more dynamic and precise than using resistors to tune it. If your micro doesn't have this function in it's PWM hardware peripheral, then consider using one with a good motor control module instead. You'll need something with specialised hardware if you want to do three phase sensorless anyways.

Oh, something else: Use an RC filter between your analog and digital Vcc's to lower the noise for your analog peripherals. Smallish R between them, and caps across both Vcc's.

You might also what to add a DC bus voltage sense on one ADC input for under/over-voltage protection and monitoring.
 
It looks like Vs on the IRS2011 should be hooked up to the "Motor +" node too. This connection is used to bootstrap a voltage supply above the positive supply of the chip so an N-channel FET can be used.

I've seen other International Rectifier parts specialized for motor control. In those parts the Vs connection is also used to prevent shoot though. I.e. when truning off the high side FET Vs needs to drop close to ground before the low side FET is turned on. And conversely when the low side FET is turned off Vs needs to get close to the Vbat before the high side FET is turned on.

Marty
 
It looks like you may have a problem if the controller reaches 100% duty cycle as the gate driver will no longer be oscillating and won't be able to bootstrap itself above the supply voltage. This is why the switch is typically on the low side in a brushed controller. If you limit the duty cycle to 99%, then it will be OK.

I'm also not sure if the gate drive setup is optimal, but I get pretty fuzzy on the details of this. It looks like it turn off slower than it turns on. I think they normally do that the other way around, that is make the gate turn off faster than it turns on. This will help prevent shoot through.
 
oops, yes i have the irs2011 wired up wrong ill fix that, about the 100% deal, ill just have it shut off for a millisecond each second or something to keep that high side cap charged.
 
dirty_d said:
oops, yes i have the irs2011 wired up wrong ill fix that, about the 100% deal, ill just have it shut off for a millisecond each second or something to keep that high side cap charged.

Sounds like a good idea DirtyD, and you can beef upyour bootstrap cap a bit too to hold longer. Alternatively you could use this 555 timer based charge pump for continous on time:

View attachment dt92-4 - Simple High Side Drive Provides Fast Sw. & Continuous On-Time.pdf

I used it on my version 1 three phase motor controller (don't ask why!)


Some other good reads here for you:

View attachment dt98-2 - Bootstrap Component Selection For Control ICs.pdf

View attachment dt97-3 - Managing Transients in Control IC Driven Power Stages.pdf
 
fechter, i do have it turning off faster than on, that diode only conducts when the gate is discharged not charged. i might mess around with the pcb design tonight, but it will probably be a few days till i get the hang of the program to design it for real. im using gEDA for everything, its free and open source which goes good with my budget.

im gonna delete my schematics in old posts and post the most up to date one in my latest post for now on so this is more organized.
 
the AVR will only need around 12mA, and i think thats max with everything on. the gate drive will be negligible maybe 10mA for both fets, and a few mA for the voltage dividers, so id guess less than 30mA, so if the battery is 100V theres 85V across the TIP122, 2.5W. i know i could do better, but this is ok for now.

im not sure what you mean about the op-amp there, the current sense resistor is tied directly to ground, why do i need to set it up as a differential amp?

i can sync the ADC with pwm, but do i really need to? wont the low pass filter take care of the noise?

20A of ripple is pretty bad, i think im my simulations there was always less than 10A usually around 5. is that just to be safe?

ill be looking forward to see how you build yours.
 
Most controllers I've measured run around 35-50ma for the control circuits including a hall throttle and LED indicator. It's a bit higher for a brushless controller due to the hall sensor drive. The heat dissipation of a linear regulator is enough that you'll need to heatsink the transistor. The switcher used in the Crystalyte v.2 controller is relatively simple, but still much more complex than a linear regulator. The National "simple switcher" chip is not bad, but limited in input voltage
 
oops! i didnt even realize i had the low pass filter backwards, ill fix that. ok i get what you mean about needing the differential amp, so should i ground the op-amp at the same point as the avr is grounded, so the ground voltage is the same with the inductance and all? good thing i havent rushed this and already wasted a board.

i did away with the low pass filter and will just sample current in the middle of a PWM on or off.

also using 15V for the op-amp supply instead of 5V incase the inputs are above 5V from the op-amps ground.

ill probably try out the switcher deal in the future, but this tip122 in TO-220 can dissipate 20W to the case at about 120C, i wont be using anywhere near that though, so ill just use a heatsink and be done with it for now.
 
DirtyD, I see you like Atmel's micros, but have you considered their AT90PWM series micro with better motor-specific PWM hardware? It's no too hard to learn to use this kind of module, and well worth it, especially if you want to move on to brushless design after this one.
 
well for this thats overkill, but i was thinking about using it for the sensorless one. it only has 4 of the advanced PWM outputs though doesnt it?.
 
dirty_d said:
well for this thats overkill, but i was thinking about using it for the sensorless one. it only has 4 of the advanced PWM outputs though doesnt it?.

You may think it overkill, but it will help make your life easy once you learn the little extra to use it. Check out the datasheet for the AT90PWM3B or AT90PWM316 (exactly the same Power Stage Controlers on these) and compare this to the regular PWM module the ATmaga48 has. They also has differential AD's with programmable gain (hummm, I just discovered this, and it sounds nice for reducing external parts - nice for programming loving guys!). Hey, I'm not trying to sell you anything, DirtyD, I just think it's well worth it if you are aiming to make something a bit better than the common garden variety bike controller.

BTW, how cheap is it to get set up to program and hardware debug these Atmel chips? Something like microchips's ICD2 capabilities would be nice. And how about C compilers made for it?

Pat
 
i planned on using those metal smt current sense resistors, two 3W 0.002 ohm ones in parallel, 75 * 75 * 0.001 = 5.6W, it wont be that high all the time though, that would just be during acceleration or going up a really steep hill. it would probably be around 20 * 20 * 0.001 = 0.4W or less most of the time.

ZapPat, its very easy to make something to program the AVRs you can make something with just a parallel port connector and a few reisistors, i havent done any debugging, the programs on these things are pretty simple so i havent found the need to yet. there are a few C compilers for it. i use avr-gcc and another program called avrdude to load the program onto the AVR. both free and open source.

i put the op-amp supply back to 5V and put a filter on AVCC like suggested in the datasheet.
 
ok, the avr doesnt require a cap on the adc pin, ill change the resistor values. im not sure i understand what exactly the two 18pF caps do though. why is it that the op-amp wont work as well with lower input resistors?

also removed the double resistor and diode deal from the mosfets, it will be easy to take care of shoot through in software by using phase correct PWM mode with the duty cycle of the freewheel fet a little lower than the other one, the PWM pulses still stay centered on each other like that.
 
Back
Top