Sunday, May 27, 2012

Be part of the project

Hi to all,

I decided I should start making available my AMC644USB board that I designed and build in a small volume back in 2011 (2-1-2011). I had them build but didn't had enough parts for a kit back then. Along that some setbacks left it hanging for a while. Now I have new firmware for it that supports  all the the basic functions I wanted. And with the feedback from whoever want the boards I could make even more perfect! I have about 15 boards now and if there is enough interest I'll make more.

This board has some features on it that are missing from the AMC1.6 that I designed this year. It has support for driving AC motor drives providing them with 10v analog signal for speed and in addition with an inexpensive darlington array it can provide 24v for the direction signals. Also it has onboard contact encoder and two buttons (one provided by the encoder itself) to implement a simple to use realtime state machine menu.

In more details:

1. The USB FTDI breakout board provides 5v power to the AMC644USB board along with serial interface at speeds of 115kbps.
2. The refresh rates for the new position data is now 1ms (0.001 second), so it can recalculate and reposition the motors 1000 times per second.
3. The LCD is powered from the AMC644USB board now. No need for extra power.
4. The Analog out circuit (for 0-10v) is powered from an onboard DC-DC stepup converter also powered from the USB power.
5. The PWM signal for the motors is running at 21kHz with 10-bit resolution.
6. The analog inputs (for potentiometers) are also 10-bit resolution.
7. The motor position quadrature optical encoders are connected to the ADC ports (interrupt capture input) and can count more than 131070 pulses per second (I could not make my test motor turn faster to see the limits yet). And end positions for the encoder will be determined using limit switches (on the rest ADC ports).

In the software side, It handles now 16-bit values for each of the two axis meaning the motor now can have 65535 positions if quadrature optical encoder is used for position feedback. Also the calculations done inside the PID are now Integer type with no rounding. For now I made available Proportional term in the LCD menu settings, but Integral and Derivative will be available as well.

The Atmega644 will be pre-programmed by me with a cool bootloader and the firmware. Then any updates or requested changes can be downloaded to the Atmega644 with a click on the computer side using a nice GUI interface programmer through USB. It does not use the same FTDI USB programmer as the AMC1.6, but a better one.

So far I have two of them fully assembled and ready to go and the rest in parts.

So anyone interested to be part of this project just contact me in my mail:


Tuesday, May 22, 2012

Some real tests

Today I made some actual tests with motor connected. Used various methods for position feedback.

Here with potentiometer for feedback

And here for the QUADRATURE OPTICAL ENCODER of the motor in TRUE 16-BIT resolution positioning!!!

With little smart programming anything is possible! Even handling controlling two motors from the same micro controller using limited resources!! Two PWM channels, three quadrature encoder channels, LCD menu with machine state logic, all running multiplexed in realtime with less than 1ms refresh rate!

Sunday, May 20, 2012

Timing is all

 In this capture I show the timing of capturing a data frame of "AB<16bit_value><16bit_value>"

As you can see there is plenty of time for AMC to receive data, calculate and position the motors within a 1millisecond (1ms). All this and refresh the LCD with data and handle a simple menu for online proportional motor settings.

More yet to come!! 

Wednesday, May 16, 2012

Breaking the limits...

Just a small demonstration of my new firmware1.2 for the AMC. I totally rewrote the Serial communications in low level commands and I can achieve update rates up to 1000 times per seconds or 1000 changes in motor position per second!!

For testing the code I used my AVR644USB2.2 board that has some extra features missing from AMC1.6 design, but the main components are the same thus I could port the firmware to AMC1.6 easily (If someone eventually donates me a AMC1.6 board to do the beta tests!!!)

Anyway, I think I break down the serial speed limit for good this time! Anyone has a Pololu Jrk 12v12 running at these update rates?

Saturday, May 12, 2012


Welcome to the wonderful world of motion simulators! You can see here some of my electronics, that can be used for motion simulators, as I develop them and test them.


PS, the project that you see on the video above can be found here: