Since we are building a new controller using the patent method of integrated (super- or ultra-) capacitors, we need to build the controller from scratch.
This is the first-principle controller using relays.
It helps to get the sequencing of the software without frying expensive components.
This very primitive model would even work when outputting PWM.
Or course, the relays will not using the AC synthesis, since they will just switch, but it will help to iron out a few early sequence and amplitude bugs.
Naturally the relays will be replaced with IGBTs (or an IGBT pack), but at £600 a pop vs less than £1 for the relays, which would you experiment with?
Here and Here are movies of it working.
May need fast connection to view.
Relay controller with transistor drivers
The next stage is to replace the driver relays with transistor equivalents
This is the transistor driver controller still using relays for output.
The transistors and resistor values were chosen since I had them already.
Previously, since we were using relays, we didn't need to now how much current was used in the parts of the circuit since relays aren't accurate components.
Now we are using transistors we really need to know so a few quick calculations are in order.
The PIC chip will provide up to 200mA at 5v so we need to know:
a) If the current is enough to drive the BC108C transistors with our pulldowns of 15k.
b) If the current from the transistors is enough for our relays.
The relays need 46mA and the BC108C can provide 100mA so that's OK.
The current required at the base of the BC108C is 92uA for the 46mA for the relays.
The current available at the PIC is 100mA which will easily provide the 425uA needed, so no probs.
Also: because we are using the transistor as a switch, rather than a relay, we need to be careful how the circuit is organised.
A transistor is a current amplifier so the voltages are irrelevant, but to switch the transistor on we need to make sure the base voltage is above the emitter by 0.7v.
The relay will switch on when the voltage difference is 12v across the coil.
This means if the relay is connected to the 0V it's other terminal which would be connected to the emitter needs to be 12v.
This means the base would have to be at 12.7v to switch it on, i.e. well above the 5v available from the PIC.
The simple answer is to put the relay coil in the collector circuit and ground the emitter.
This way the 5v from the PIC is well above the 0.7v now require at the base to turn the transistor on.
Split rail controller
There is an issue with using the above configuration; the MOSFETS I will be using are all N-channel.
These are the most common and because of this they are cheaper.
The previous circuit uses the common-emitter configuration and puts the outputs in the collector line.
This means we would have to use P-channel MOSFETS.
What we need is the ability to driver N-channel MOSFETs which require a voltage above the source pin.
In most motor controllers the control electronics is powered from a different supply than the motor itself.
Using a split rail supply, we could power the relays from common-collector transistors.
By connecting the positive battery terminal for the output to the ground of the controller, the output has a negative rail provided by the traction battery.
This means the drivers will always be positive of the outputs.
The issue here is the base current in the drivers, which will always be above the switch on voltage of 0.7v (from the negative now, not the ground).
We get around this using an opto-coupled driver which works more like a relay and has a completely separate switch (the LED) from the transistor.