2015. március 9., hétfő

CNC Motor Driver 2.

This is just an update on this project.
Some things are happened, some things are on the way, but from the overall view nothing really advanced further.
Noise:
It was a problem, and I still fill as a problem the noise generated by the switching controller. In the current version I handled this with some smaller/larger capacitors, but I think, it can be still better.
I plan to try out the following things:
1. In addition to the current input capacitor of the whole circuit I want to put an additional inductor and capacitor to form a Pi filter. I assume that the sudden changes in the input current makes the regulated power supply (currently my bench supply) a little bit unstable. Hopefully the Pi filter will eliminate most of the current spikes.
2. I plan to put this EMI filter between the switching controller and the motor:

I hope this tiny little puppy will help
3. Designed a 5th order low-pass filter to fit between the sensing diode and the opamp (I've a first order filter there today).


On the simulation:


you can see it has 110dB attenuation on 100kHz where the PWM generator runs

I hope putting this together I will not even need all of the five elements of the filter to have a good result.

Protection:
For the testing of the circuit, I left out the protection diodes not to distract the signals. As you see on the filter circuit, there is two diodes what has the role to protect the opamp acting as a comparator. In addition I'm planning to add two series diodes in parallel to the motor to protect the controller against the negative inductive spikes.

Controll:
I started to work on the MCU circuit and software. The MCU I plan to use is a Nuvoton M054LDN, if I'm able to fit into the 16K flash of it.
I almost finished the code for the LCD Display I want to use, the PWM, the rotary encoder, and the Frequency (rotational speed) measurement. I plan to polish this a bit and add the PID (or something like this) controller, and the current measurement soon. When it's done, I'll be able to try this out as a standalone thing - no function generator, no bench power supply.
The LCD is a standard Hitachi chip based one, and as such requires 5V signaling and supply.
What is cool, the Nuvoton MCU is one of the few ARM based ones, what can run from 5V.
What is even cooler that you can choose between the 3.3V and the 5V on the development board.
What is not so cool:


The selection "jumper" is a 0R 0805 resistor must be desoldered and resoldered into a different spot.