Arduino Mega - VFD - 0.5 HP AC Motor - Rotary Encoder

Looking to control Y360 3-Phase 0.5 HP Motor. I have the GS1 Series AC Drive. Ripped the rotary encoder off an old dc servo motor. I basically want to have control resolution of about +/- 2 Hz.

I'm not familiar with arduino sketches but I have dabbled in Matlab quite a bit. I'd rather have a headless system and would like to compile code to an arduino and forget about connecting a laptop to my machine.

I've seen people shy away from controlling AC motors with an arduino but I have started the motor with the GS1 with no problems. My only problem is controlling and stabilizing the actual frequency (which is why I am implementing a rotary encoder now).

Does anyone know of any sketches that control AC Drives based on Rotary Encoders?


Please post link to manual for the VSD.

Tom..... :slight_smile:



Can I ask, what is your electronics, programming, arduino, hardware experience?
From the VSD Manual;

AC drives function by converting incoming AC power to DC, which is then synthesized back into three phase output power. The voltage and frequency of this synthesized output power is directly varied by the drive, where the frequency determines the speed of the three phase AC induction motor

One of the features of a VSD is that because they control the frequency of the drive current, the speed of the motor is usually pretty well regulated without an encoder for feedback.

So you might be worth setting your project up first without any feedback, just rely on the VSD controller to do it for you.

I don't know your application.
But if all you wanted to do was use an Arduino to read the feedback and set point and produce an output for the VSD, I would try a pot on the VSD as on page 2-12 of the manual first to see if it met your requirements, without the encoder.

Tom... :slight_smile:

I know the fundamentals of programming with Matlab and LabVIEW. I only have academic experience with controls. Overall I feel more comfortable in the machine shop than with electronics. My arduino experience includes basic sketches (online tutorials) and interfacing arduino with labview and matlab to collect data from load cells.

Since I have no experience with VFD’s, I guess what I should have asked is how well I can trust the VFD display.

I had it running earlier but it popped the gfci in the outlet I was using. There are no shorts in my circuit so I’ll be testing it on a different outlet tomorrow.

Thanks for the advice tom, I’ll definitely see if the VFD is precise enough.

Since I have no experience with VFD's, I guess what I should have asked is how well I can trust the VFD display.

The VFD frequency display is usually spot on, well perhaps ± one digit or 0.1 Hz. The speed of the motor depends on the load and will always be slightly below the synchronous speed as the motor can only produce torque when there is slip.


Are you going for 3-phase PWM (sinusoidal) or bang-bang vector control with per-phase current sensing?

You can set up the timers on the Arduino in synchrony so to generate 3-phase PWM on 3 or 6 pins. I'll dig out
my previous posting on this.

Ah yes, try this, checkout my reply #24: