Projektowanie systemu sterowania silnikiem krokowym.
Praca laboratoryjna N11. Architektura i symulator Microprocessora Intel 8086.
Silnik krokowy - jedno z załatwień automatyki i kierowania. Jego właściwość polega na tym, że on pozwala urzeczywistniać obrót nie ciągle, a niedużymi dyskretnymi "krokami". Za pomocą silnika krokowego można nie tylko podnieść, na przykład, ładunek ale też utrzymywać go bez dodatkowych załatwień.
Z punktu widzenia kierowania silnik krokowy posiada tym pożyteczną właściwością, co przy wystarczająco małym ładowaniu nie jest potrzebny w systemie sprzężenia zwrotnego. Zwykły układ kierowniczy składa się z silnika, który coś przesuwa, i czujnika, który obserwuje za tym, gdzie przesunęło się. Skoro takiego czujnika nie ma, to system nie może wykonać rozkaz w rodzaju "przesunąć się na 10 cm na lewo". Przy krokowym silniku wielkość kroku stały, i sprzężenie zwrotne nie potrzebne. Rozumie się tylko w tych przypadkach, kiedy można gwarantować, co żadna siła zewnętrzna nie może zatrzymać motor albo przewiercić go.
Normal motors run continuously and it is hard to control their movement. Stepper motors step through a precise angle when electromagnets are energised. Stepper motors are used for precise positional control in printers, plotters, robotic devices, disk drives and for any application where precise positional accuracy is required.
Normalne silniki pracują w sposób ciągły i trudno kontrolować ich przepływ. Silnik krokowy robi krok przez dokładny kąt gdy elektromagnesy są pod napięciem. Silniki krokowe są używane do dokładnego położenia sterowania drukarki, plotery, urządzenia robotów, napędów dyskowych oraz aplikacji, w których precyzyjne dokładność pozycjonowania jest wymagane.
Silnik jest sterowany przez napięcia na cztery magnesy z kolei. To jest możliwe, aby przejść silnik w pół kroku przez jednego energetyzujące i par magnesów. Jeżeli magnesy są zasilane w nieprawidłowej kolejności, silnik skarży się przez upust z głośnika komputera. Oto fragment kodu do sterowania silnikiem. Pamiętaj, że byłoby lepiej, styl kodowania użyć tabeli danych.
The motor is controlled by energising the four magnets in turn. It is possible to make the motor move in half steps by energising single and pairs of magnets. If the magnets are energised in the wrong sequence, the motor complains by a bleep from the computer speaker. Here is a code snippet to control the motor. Note that it would be better coding style to use a data table.
Jak urządzony krokowy silnik? Spojrzymy na rysunek. W środku znajduje się koło zębate - wirnik, po brzegach - kilka elektromagnesów z takimi samymi zębami. Na rysunku widać, że kiedy zęby koła znajdują się dokładnie naprzeciw górnego elektromagnesu, zęby prawego i lewego elektromagnesów przesunięte na ćwierć odległości między zębami, a dolnego - o połowę tej odległości. To jest jeżeli kąt, na który trzeba obrócić wirnik, żeby zęby zgodziły się, dla górnego magnesu równy 0, to dla lewego on będzie - φ/ 4; do prawego φ/ 4, do dolnego φ/ 2, gdzie φ - kąt między sąsiednimi zębami. Jeżeli podać prąd na prawy magnes, to wirnik powiernietsia na kąt φ/ 4. Przesuwanie górnego magnesu stanie - φ/ 4; prawego 0; dolnego φ/ 4 i lewego - φ/ 2 (co to zaś najbardziej, co i φ/ 2). Dla następującego kroku w tom zaś kierunku trzeba włączyć prąd w dolnym elektromagnesie, potem w lwem, i tak dalej po kole. Jeżeli elektromagnesy podłączać w odwrotnym następstwie, w kierunku przeciwnym do ruchu wskazówek zegara, to i obrót wirnika będzie przeciwległy w kierunku.
Jeżeli prąd puścić w owijanie elektromagnesu nie sąsiedniego, lecz przeciwległego temu, zęby którego znajdują się naprzeciw zębów wirnika, to wirnik powiernietsia, ale nie wiadomo, w jaką stronę.
Sytuacja wirnika przy obrocie na kąt, mniejszy niż φ/ 4 niepewnie. Jeżeli go przymusowo doprowadzić do takiego stanu i puścić, wirnik wiernietsia w jedno z sąsiednich, stałych położenij. Takim obrazem, kierowanie krokowym silnikiem sprowadza się do kolejnego podłączenia owijań elektromagnesów albo ruchem zgodnym z ruchem wskazówek zegara, albo przeciwko. Przy tym możliwe dwa warianty: po zakończeniu kroku wyłączać prąd albo opuszczać go wkluczennym.
Poniżej jest przykład programu kontroli silnika krokowego. Silnik obraca się w prawo w krokach co 5 lub 10 stopni nieskończenie. ; ===== Silnik krokowy 5 lub 10 stopniej ============
Begin: mov al,1 out 05 ; ___^ +10 stopniej mov al,3 out 05 ; __^_ +05 stopniej mov al,2 out 05 ; __^_ +05 stopniej mov al,4 out 05 ; _^__ +10 stopniej mov al,8 out 05 ; ^___ +10 stopniej jmp Begin End
; ================================