FPGA based Hybrid Stepper Motor Control
Abstract
Hybrid trinnmotorer er mye brukt i automasjonsindustrien på grunn av deres pålitelighet og presisjon som oppnås gjennom de kontrollerte diskrete trinnene. I denne oppgaven presenteres en implementering av stepper motor control i Artix-7 Field Programmable Gate Arrays (FPGA) ved bruk av forskjellige kontrollalgoritmer som full stepping, half stepping og micro stepping. Implementering viste at det halve trinnet produserer mindre dreiemoment og mindre mekanisk støy sammenlignet med fulltrinnsoperasjonen.
For å kompensere for tilbake-emf ble strømtilnærming for forskjellige hastigheter brukt for effektiv åpen sløyfekontroll som viste god ytelse under konstante belastningsforhold. Studien viste at den samme strømtilnærmingen kan brukes for halvt og fullt trinn uten å kompromittere ytelsen, men en annen strategi er nødvendig for mikrosteppingen, da implementering av mikrostepping under samme strømtilnærming resulterte i mer støy enn halv- og helstegsdrift. Kontrollstrategi med lukket sløyfe ved bruk av posisjonsfeedback og en sinusformet kommutasjonsalgoritme ble implementert. FPGAs evne til pålitelig å kontrollere trinnmotoren samtidig som nøyaktigheten ble validert gjennom maskinvareimplementering.
I tillegg, for en jevnere operasjon, ble S-kurvebevegelsesprofilalgoritmen implementert. Resultatene viser imidlertid at S-kurven kan være svært ressurskrevende hvis den implementeres med presisjon. Noen måter å optimalisere ressursene på ble diskutert og resultatene viste mindre forbedringer i ressursutnyttelsen. Imidlertid, hvis kontrollalgoritmen er implementert uten bevegelsesprofilen, har Aritx-7-brikken nok ressurser til å kjøre 4 trinnmotorer parallelt med uavhengige kontroller.
Denne oppgaven understreker FPGAs allsidige natur når det gjelder å implementere avanserte kontrollalgoritmer for trinnmotorer, og gi en vei videre for forbedrede løsninger i ulike industrielle applikasjoner. Hybrid Stepper motors are widely used in the automation industry due to their reliability and precision which is achieved through the controlled discrete steps. In this thesis an implementation of stepper motor control in the Artix-7 Field Programmable Gate Arrays (FPGA) is presented using different control algorithms such as full stepping, half stepping and micro stepping. Implementation showed that the half step produces less torque and less mechanical noise as compared to the full step operation.
To compensate for the back-emf, current approximation for different speeds were used for effective open-loop control that demonstrated good performance under constant load conditions. Study showed that the same current approximation can be used for half and full step without compromising the performance but a different strategy is needed for the microstepping as implementing microstepping under the same current approximation resulted in more noise than half and full step operation. Closed-loop control strategy using position feedback and a sinusoidal commutation algorithm was implemented. FPGA's capability to reliably control the stepper motor while ensuring accuracy was validated through hardware implementation.
Additionally, for a smoother operation, S-curve motion profile algorithm was implemented. However, results show that S-curve can be highly resource intensive if implemented with precision. Some ways to optimize resources were discuss and the results showed minor improvements in resource utilization. However, If the control algorithm is implemented without the motion profile then Aritx-7 chip has enough resources to run 4 stepper motors in parallel with independent controls.
This thesis underlines the FPGA's versatile nature in implementing advanced control algorithms for stepper motors, and giving a way forward for enhanced solutions in various industrial applications.