Quote Originally Posted by mcm_xyz View Post
Good news...

The ARM servo drive project is rolling... Check out the progress so far:
...
I will keep you updated...
Hello Mihai!

I found your threads (this one + AVR based) just a while ago. Very Impressive, thanks for sharing your designs! I've been working with very similar project for a while now. I have STM32F103 as well running on an ebay devboard and IR2101+IRFB3607 driver board. The difference is that I'm using HAL commutation at the moment, but I think I'll implement encoder or resolver interface when I receive some proper AC servo to try with. My initial setup is to have a simple PWM velocity input on my servo drive and have the encoder input + PID loop inside LinuxCNC, but having the full loop inside the microcontroller and having just step/dir or similar input would be more efficient I'm sure. But I'm taking small steps towards that.

One question raised when reading your threads. You mention at some point in the AVR development that you removed the sinusoid commutation tables and went to square wave (trapezoid) commutation. It was a bit unclear what was the reason behind this. Because when reading any papers about servo control, the sinusoidal commutation is always referred as the best method providing the smoothest torque. Did you see the opposite? Or was it just that the advantage from sinusoid commutation was not noticeable and it certainly is easier to implement the trapezoid commutation with limited resources like AVR.. I have implemented trapezoidal commutation myself as well, but I think I'll try sinusoidal at some point or even go to try some current based vector control. But your servo runs so nicely, so it's difficult to see the benefits of more advanced methods just now. But I'd be happy to hear your comments about this.

I'm planning to design a better driver PCB and probably a separate control board which sits somehow on top of the driver board. If you are going to share your software at some point, I'm eager to test it and of course if you (or anyone else) want to use my code or the forthcoming PCBs, I'm happy to share.

Pekka