i am encountering some issues with my Arduino Mega code for controlling a 3-phase induction motor using 3 16-bit timers. The code includes 4 push buttons for start, stop, increase, and decrease functionalities. When i was only changing the frequency, the code worked fine and the motor rotated when connected to the hardware inverter and induction motor. However, the problem arose when i added an index to change the amplitude in the sin lookup table to adjust the V/F ratio and voltage.
On the Proteus simulation software, the code worked correctly, but when tested on hardware and observing the waveform on an oscilloscope, distortion appeared causing the motor not to rotate. So far, I'm unsure why adding the index to the code, which multiplies it with the values taken by the OCR from the sin lookup table, resulted in this problem.
OCR1A = (int)((sinpwm[i])*index);
Do anyone have any suggestions on how to resolve this issue?
That thing on the left should be on the right just below the annotated schematic and the orange thing by the code listing belongs next to the blue thing.
We are not clairvoyant and without the necessary information requested by Railroader the best you will get is a guess more then likely not accurate.
For help, please read and follow the instructions in the "How to get the best out of this forum" post, which gives suggestions about what information needs to be included in your post.
I apologize,
I wrote the code and added two pictures of the RC filter circuit: one of the Proteus program and another of the oscilloscope when the code was tested on the Arduino hardware and the RC filter circuit on the breadboard.