Tuesday, November 20, 2012

What's the purpose of AMC644USB?



Many misunderstand the purpose of the AMC644USB board and what exactly it does. 

First of all, the VFD inverters are just speed drivers for the AC motors meaning that they only set the speed and the direction of the motor. They are not intelligent in any way to be able to determine the position of the motor or place the motor to curtain position. Some inverters have feedback from the motor just to verify the correct speed. Even if you connected them to a computer through a RS485 interface the only thing you can do is to adjust their speed.

This is where AMC644USB comes into to fill in that missing link of motion control. The AMC644USB receives the motion data from the computer (positions) in high speeds of 1ms intervals, then creates the proper voltages and signals to set the correct speed and direction needed from the inverters and then reads the position of the motors using the potentiometers or any other encoders attached on the motors as feedback to precisely stop each motor to the desired position. These positioning calculations are performed 5000 times per second that gives fine positioning resolution and very fast reaction times.



Monday, November 19, 2012

Real Breakthrough In Speed (again)

Hi,

I was looking for a way to make ADC more immune to noise and during this search I managed to increase the speed of the ADC routine to a level that now takes only 26us to sample each ADC channel (before 192us was spend in ADC sampling for each channel). The noise is eliminated now so I had to run some speed tests again to see the overall improvement.

With this improvement now, the total program cycle delay is only 200us average. The firmware now runs 5000 times per second (average) which is 5Khz, while the first release of this firmware was limited only to 1000 times per second (1Khz).

Not to mention that the above readings are with the LCD user menu active, running in realtime along the rest of the code.

















This is a capture with a logic analyzer of a serial packet (230kbps) along the program cycle speed.
















Wider view of the capture above to get a good idea how fast is the cycle speed now.


So now using ADC as position input feedback for the motors, the total loop is as fast as with digital encoders.

Thanks for reading this,

Thanos

Wednesday, November 14, 2012

New speed measures on latest firmware 1.2e

Hi,

It was time to test new higher serial baud rate speeds today. I reached up to 230400bps with no problems. I used a logic analyzer to capture the serial input next to the loop cycle of the firmware.

I got a really good surprised by the results as with the constant improvements, I forgot to check how fast the main loop speed was going.

Just to say that now the refresh rate is 1666 times per second!!! So the main loop is running now in 1.666KHz !!

Also you may notice that since the serial input is not reside on the main loop but in an interrupt, the main loop is actually faster than the 1KHz update rate of the serial data.


Have a look on the capture screens for 115200bps and 230400bps speed.

 115kbps serial speed detail

  115kbps serial speed 


~


  230kbps serial speed detail

 230kbps serial speed


The above measurements are with ADC inputs as position input.

Now lets see what happens with digital encoder as position inputs:



The average loop cycle of the main program is around 5000 times per second now (5KHz). The variation is because of the extra delay introduced during receiving data packets.


Thanks for looking,
Thanos

Tuesday, October 23, 2012

Got Manual yet?

Hi,

After a lots of revisions and development steps on firmware side, I think I need to put together a decent manual for the AMC644USB, that covers except the available connection options the user menu system.

Since the menu is growing bigger and bigger, with more options added every month, I made a small chart about it:

 


The manual is still in preliminary form, but I keep adding lots of useful information to it, to make easy for every one to setup correctly the AMC644USB board to his motors.

                                                                ..................................




Thanks,

Thanos

Thursday, September 6, 2012

Firmware v1.2e

I just updated the firmware version to v1.2e.

I added two extra option in the menu that allows to use to change the limits in the end-points of the motion. This is applicable when using potentiometers for position feedback and its use is to protect the potentiometer axles from breaking by the motor if it reaches the end-limit in full speed. Sometimes there is not enough time to brake the motor and the overshooting may cause the potentiometer just break.

Firmware 1.2e


Here is some screenshots of the new options:




Also, from now on I will be using 18.432Mhz crystal on further developments as I found the overclocking a little too unstable in some cases. The calculations inside the code still run 1000 times per second so there is no loss there. Just smaller PWM frequency, from 21Khz to 18Khz.

Contact me to replace the ATmega644 chips with the correct bootloader for 18.432Mhz crystal, please.

Thanos

Tuesday, August 28, 2012

Opto-isolator board video

Hi,

Here is a video describing a little bit the functionality of the opto-isolator board that allows the AMC644USB to be interfaced to AC motor drives (VFD). I added english captions to it to be easier to follow on the technical details.

Use the link to enable the captions.
AMC644USB with Optoisolator board



Friday, July 20, 2012

AC Motor Driver opto-isolation interface

I had to deal with some inverters that are generating too much interference to allow direct connection with AMC644USB board. No signals, no common ground is allowed with these devices.

So I sat down and developed this solution to separate the analog/digital signals with some cheap optocouplers. Even the analog signal is driven through the optocoupler but needs to be amplified on the other  isolated end too as the optocouplers only output 4v max in linear range. With another amplifier and an DC-DC converter I get again the 10v analog signal for the speed of the inverter.

I build a prototype in printer circuit board (perfboard), but I plan to redesign it into a real PCB board if there is enough interest. In the photo I was short two optocouplers...






Thanos