DIY Electric Car Forums banner

Inexpensive ASIC DC Series controller, no uC, DSP or programming

18820 Views 127 Replies 11 Participants Last post by  Tony Bogs
Inexpensive DC Series and ACIM ASIC controllers, no uC, DSP or programming

Hi everyone. I have noticed a trend towards the use of DC series traction motors in DIY EV projects.

In this thread I am going to design an inexpensive, very basic, easy to build
but also efficient DC series motor controller with modern ASICs,
based on PWM control of the applied DC voltage and hysteretic control of the maximum motor current.

Why? I'm going to buy an EV for daily use, building one is mainly for the fun of it.
I don't have a lot of spare time or money to spend on it, so a DC traction conversion is the best option for the next couple of years.
A drivetrain based on a DC series motor is by far the easiest and least expensive way to get traction (high start-up torque) from a DC power source.
As demonstrated in a recent video of a €1000 build and in every ICE car with a DC series starter motor.

DC series motors have been used for propulsion for ages and back in the pre-IGBT era,
torque and speed of DC series motors were controlled by shifting a tap on a huge, high power series resistor bank.
Very inefficient of course, but that is the way it was done when I was EE student in my first year.
At the core, the driver of the vehicle is the most important part of the control mechanism,
being both the feedback path and the input. A very elegant control solution because of its simplicity.

In the design in this thread the resistor bank will be replaced with modern silicon in ASICs.
Yes, application specific integrated circuits, so there's no time consuming complexity from microntrollers,
digital signal processors, unnecessary and potentially unstable controllers (PID) in software and the biggest issue: bugs and programming errors.
The electronics only kick in automatically when the response of the driver is too slow for the protection of the power electronics and the motor: overcurrent protection.
That is what "very basic" means, but it takes very little effort to dress up the controller with whatever (automated) (protection) feature is wanted.
Examples: cruise control, monitoring (warning lights, gauges), reduction of the maximum motor current when there's not enough air flow across the cooler.

The schematic shows the heart of the controller: only three SOT-23 devices, the lvc4066 and the lvc14 can be replaced with a single lvc3157 SPDT device.
Current sensing for overcurrent protection is done with a low cost LEM sensor.
Hysteretic control is implemented with a low cost comparator (MCP6561) and a LTC6992 has a suitable frequency response for the conversion of the throttle input into a PWM signal for the power stage.

EDIT: The all hardware ACIM controller is introduced later on. Thanks again, Damien!





See less See more
1 - 19 of 128 Posts
That is very, very interesting. I am (was) planning to use Paul Holmes old 500A controller logic board as the basis for controller build. I love the simplicity of this however. I might add an overcurrent shutdown option. LM393 should do the job. Thanks Tony :)
You already have overcurrent protection in there! I need to read before I type:rolleyes:
Done. Now to see if it works:)


See less See more
Not that many components on it :)

Design files on github :

Can't wait to get testing in the car:)
I won't be offering built units. However, bare pcbs are available on my webshop :

Do note this is untested in a car as yet.
Running very well in the car now :)
I've been looking at some super simple ideas for a precharge controller. Might be worth incorporating?
Very interested in this:)
In case anyone missed it here is me driving the E36 with Tony's controller :
Tony, I'm getting naughty ideas about designing a hardware AC motor controller:D
Sorry Tony my mind is elsewhere these days:)

I'd came across the device in the picture when working on the Enova inverters. Dismissed it at the time (it is obsolete of course) but recently got me thinking about what would be needed to make a hardware 6 output pwm generator capable of running a power stage.


See less See more
So the LTC1060 creates the sine waves and use them to modulate the pwm duty?

I'm thinking the simplest possible way to drive a 3 phase acim. Take an analog throttle input, two current sensors and pump out some pwm. Feed that into 3 IR2214 drivers for a simple power stage.

Some form of current limiting would be required (don't ask me how I know:D) otherwise it will just push too many amps at low rotor speed, saturate and blow.
You'll have this design done by the time I get home:D
I'll be on it as soon as my feet touch the ground:)
Think I need to rip this design off and stick it in a Tesla drive unit:) I already get a kick out of replacing 2 TMS320 DSPs and an Actel fpga with one lowly $2 STM32. Now imagine doing it with pure hardware. Muhahahahaha:D
Did you really do that? DIY?

Yes and you designed the filter for the sigma delta current sensors in the large drive unit:)
Let's get this straight. Some are trying to re-ignite the "great debate" SLIP versus VECTOR AND OTHER METHODS.

And I'm sad to say, not based on arguments.

I'm not going to reply to what I would call booing and making cow like noises in writing.

Slip control works just fine in an EV.

If I had a penny for every moron who has told me slip control is no good in an EV ....
Thing is, there are some people who are heavily invested in maintaining the notion that motor control is this super complex subject that only they can master.
That is serious. Thanks for the hard work Tony:)
What pulse count are you assuming from the encoder? Could you work with a higher pulse count to give more resolution at lower rpms?
1 - 19 of 128 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.