DIY Electric Car Forums banner

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

18823 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
21 - 40 of 128 Posts
OK, it's an early rise and shine today, because it has been terribly hot here.

Nobody has posted a reaction yet, but the simple gate driver has a flaw.

Without desat, the circuit relies on UVLO, time constants in the power circuit and a response time of the control circuit in the microsecond range.

For UVLO to work properly the zener in the turn-on path of the gate has to be removed.

With the zener removed, the gate will be driven with at least 0 to 9.5 V (full turn-on for the IXYS 55V/550A mosfet) at the low threshold of UVLO.
What is the gate driver chip, can't read or find that part number?

i didn't understand all the diodes for the gate drive, plus the in-line zener, what was the point of all that?
The usual transient suppressor zener at the gate.

Driver; the very frequently applied IXDN609.
UVLO: optocoupler HCPL3120 SMD, also provides ground isolation.

The mosfet is Vgs=10V on type, the zener lowers the output voltage from 15V to 10V under operation conditions.
Here's the flaw: doesn't work that way at low UVLO threshold.

And as usual: diodes provide seperation of the flow of gate current for turn-on and turn-off.

Serious engineering, but just for the fun of it.
See less See more
The boards are on the way. Idle control is the largest (1.1 x 2.1"). And then the gatedriver, the overtemp protection input and the battey fault (bms) hold. 3D doesn't work perfectly yet in Kicad.

Yep, it's definitely an inexpensive and quick to build controller.

I think I'll build a nice laminated busbar for the power section. 2mm thick sheet of copper to be added to the next parts order. I've already have the 0.5mm thick sheet of glass filled epoxy.

The gatedriver can be screwed directly onto the power mosfet.

Capacitor bank on the busbar will consist of a couple of smaller Kemet 400V that can handle the ripple current and a big one for the farads (voltage drop).
The parts of the hysteretic DC series controller "squeezed" onto a 3x3" PCB.:)
Great news. The PCB foundry now offers full small series PCBA service. Parts supply, professional pick and place, online pre-check tools, all in the EU.
Part size down to 0402 and 0,5 mm pin spacing.
No need to switch to RS and sparkling software. I can stay with Kicad.

Not ready yet for that order, this one will be a low cost "engineering" board. Only two, no silk, no solder mask.

I'm going to run this board with a 50V power stage, but jackbauer (Damien Maguire) has been kind enough to try out the basic version (no pin headers for daughter boards) with a 100V dual HB IGBT power stage.

P.S. The pin headers are NP in the BOM of thsi board, headers are on the daughter boards
Precharge controller can be done with only a few discrete parts for a conversion of a ICE car with a key mechanism, i.e. contacts 30, 54 ..., 50 is the supply contact for the relay of the starter motor.

The circuit operates as drivers are used to in an ICE. Turn the key to the start position and wait for the motor to start or in this case for the precharge ready LED to light up.

Protective measures must be implemented externally, i.e. by blocking the 12V from contact 50 to the precharge controller. For instance when the AT is in a drive position.
Very interested in this:)
Hi Guys

Been down at 3.3V for the last 15 years and getting back up to speed slowly on power electronics so please bear with me.

I am probably going to use this as the basis of my 1998 BMW 528 Automatic conversion similar to Damien's but keeping the auto box (which also has the higher diff ratio than the manual Damien) I will also be setting it all up on the bench and getting my head around it and testing it before touching the car.

For a beginner like me it would help to include the overall wiring diagram of what you are trying to achieve, I really dont know at this stage what the inputs are? analog, 0-5V, digital, 4-20mA, PWM, plain old pot, whatever, also the outputs which drive the IGBT whether its high side or low side, still got some research to do as most of these were not in my EV curriculum when I learnt.

Once I get it on the bench it will hopefully become obvious but I am still trying to source a motor and build up battery packs and in a thread like this and for a beginner it is difficult to keep track of various low quality jepgs, I got the schematics from Damiens github but Tony has added and changed things since, so Tony do you have a github or can publish the source files please.

As an electronics engineer too I value simplicity of this design, it is likely I will customise the design for my build to include the auto creep function, cruise control (or maybe just 50KMH and 100KMH buttons) and a few other things I may think of.

Keep up the good work
See less See more
In case anyone missed it here is me driving the E36 with Tony's controller :
I wish I understood this stuff well enough to contribute.

I've never dabbled in microcontrollers, but to me, a lot of this stuff is more easily handled in software, at least code I can break down and understand.

I can't look at a circuit and go "Oh, this is what this does, this is what this is for." I understand PWM, but, not what all of this does.

I expected the difficult part for me to understand would have been the power stage, but that's not what this is, yet.

It's great to see that someone else can fill in these gaps, I'd like, at some point, to help maybe document and bridge the gap to the common individual who wants to know a little bit more.
Well, the tiny LTC6992 converts a voltage (0,1 to 0,9V) directly into a digital PWM output.
What can be more straightforward than that.

In a micro, you have to do a lot of bit banging before you get this functionality up and running and it takes much more hardware.
Bit banging means: set bits in a lot registers, load them with values, set up a scheduler, activate a watchdog, set up an interrupt scheme, initialize complex PWM controllers .....
Some develoment systems hide a lot of the bit banging to make it look a little bit easier.
And then there are the bugs. This guy I occasionally meet at a party, has a full schedule bringing down the number of critters as a member of a team of experts.

I've done my share of bit banging. When it was new, it was interesting. Not any more.
I'm being mild here: if it can be done without bit banging, yes please.
See less See more
Well, the tiny LTC6992 converts a voltage (0,1 to 0,9V) directly into a digital PWM output.
What can be more straightforward than that.
I understand that much. Once upon a time I'd have used a 555 to do the same.

But, you can get little PWM circuits for a couple bucks on Ebay, whereas, Damien's selling his blank boards here for $30 (and not saying that's an unfair price) and they seem to be about the size of my palm.

The render you posted above, I count 35 screw terminals and 50 breakout pins.

And that's only on the signal board, not the power board.

Again, not saying you're doing anything wrong, it's me that doesn't understand what's going on or why something that in my head seems very simple is obviously much more complicated. I can't tell what any of it is, what it does, or why it's there. If it's going to have feature creep, to me, I can understand and "edit" those features better in software. In hardware it's a bit more black magic.

At the design stage, meh, keep the lookieloos out of the process, those with the technical understanding can get stuff done faster by not dumbing it down.

But eventually, if you'd like it to be adopted by those that couldn't engineer their own circuit (presumably a goal?), it's gotta be dumbed down. I'm happy to help with documenting stuff when the time is right, if I can understand it well enough.
See less See more
Damien tried out the very basic functionality. As far as I know, that's enough for his car (for now). He did make the suggestion to incorporate a precharge controller for the power stage.

Well, there you have one of the things one can add. Some don't like it, they can leave it out. It is a seperate piece of hardware.

I'm dressing up the basic functionality with other modules, for example idle speed control.
If idle speed control is unwanted, don't place the module and the connectors for it. It's as simple as that.
Other modules for example: handling of battery fault, overtemperature of motor and battery.
Some prefer one or two dash battery meters in the dash in stead of automatic handling of a battery fault. That's OK. It's a free world.

But you can get started with Damiens PCB for €30 when the basic functionality is enough for you. And that's entirely up to you to decide.
See less See more
In a couple of weeks my donor car for my senior citizen EV wiill be ready to be stripped down.

And then I can have a look at the existing hardware to see what interfaces I need on my boards.
Tacho input, dash lights, that kind of stuff.
The number of connectors is probably a bit too much. New diagram with idle speed comparator, modified current limit comparator circuit,
smart hi side mos switch for delayed turn on and simplified inputs (no modules anymore). Minimal hardware, but still very versatile.

Power output to gate driver is now 5V. DC/DC converter in gatedriver circuit lists IGBT application in specifications (Recom R05P215S/P), full continuous short circuit protection.
Tony, I'm getting naughty ideas about designing a hardware AC motor controller:D
Thanks, but the Fairchildsemi ASIC for ACIMs is now obsolete. So I'll leave that one for you. :D
Nevertheless, an AC controller can be done without without a single line of code.

So @Jackbauer, when can we see a glimpse of your ideas and find out what so naughty about them?
21 - 40 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.