- Askelmoottori:
- ULN2003-askelmoottorin ohjain:
- Vaaditut komponentit
- Piirikaavio ja selitys
- Koodin selitys
Askelmoottori on erityisesti suunniteltu moottori, joka pyörii vaiheittain. Askelmoottorin nopeus riippuu siihen kohdistetun sähköisen signaalin nopeudesta. Eri kuviot voivat hallita askelmoottorin suuntaa ja pyörimistyyppiä. Saatavana on pääasiassa kahden tyyppisiä askelmoottoreita, Unipolar ja Bipolar. Unipolaria on helpompi käyttää, hallita ja myös helpompi saada. Tässä opetusohjelmassa yhdistämme askelmoottorin PIC-mikrokontrolleriin PIC16F877A.
Käytämme tähän projektiin 28BYJ-48- askelmoottoria, joka on halpa ja helposti saatavilla. Se on 5 V DC: n yksinapainen askelmoottori. Käytämme myös tämän moottorin kanssa saatavana olevaa moduulia, joka koostuu ULN2003-askelmoottorin ohjainpiiristä. ULN2003 on Darlington-pariryhmä, joka on hyödyllinen tämän moottorin ajamiseksi, koska PIC-mikrokontrolleri ei pystynyt tarjoamaan riittävästi virtaa ajamiseksi. ULN2003A pystyy ajamaan 500 mA: n kuormaa 600 mA: n huippuvirralla.
Askelmoottori:
Katsotaanpa 28BYJ-48-askelmoottorin tekniset tiedot lomakkeesta.
Askelmoottorin pyörittäminen:
Jos näemme tietolomakkeen, näemme pin-out.
Moottorin sisällä on kaksi keskikierteistä kelaa. Punainen johto on yhteinen molemmille, jotka liitetään VCC: llä tai 5 V: lla.
Muut 4 johtoa, vaaleanpunainen, punainen, keltainen ja sininen, säätävät pyörimistä sähköisestä signaalista riippuen. Liikkeestä riippuen tätä moottoria voidaan myös ohjata kolmella vaiheella. Täysi ajotila, Puoliajo-tila ja Aalto-ajotila.
Askelmoottorin kolme ajotilaa:
Täysi käyttö: Jos kaksi staattorin sähkömagneettia kytketään päälle kerrallaan, moottori käy täydellä vääntömomentilla, jota kutsutaan täyden käytön jaksotilaksi.
Vaihe |
Sininen |
Vaaleanpunainen |
Keltainen |
Oranssi |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Puoliajo: Kun vaihtoehtoisesti yksi ja kaksi vaihetta kytketään päälle, moottori käy puoliajo-tilassa. Sitä käytetään lisäämään kulmaresoluutio. Haittana on vähemmän vääntömomenttia, joka syntyy tässä liikkeessä.
Vaihe |
Sininen |
Vaaleanpunainen |
Keltainen |
Oranssi |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
Wave Drive: Tässä tilassa yksi staattorin sähkömagneetti on päällä. Se seuraa neljää vaihetta samalla tavalla kuin koko ajotila. Se kuluttaa vähän virtaa pienellä vääntömomentilla.
Vaihe |
Sininen |
Vaaleanpunainen |
Keltainen |
Oranssi |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
Olemme aiemmin liittäneet askelmoottorin muihin mikrokontrollereihin:
Askelmoottoria voidaan ohjata myös ilman mikro-ohjainta, katso tämä askelmoottorin ohjainpiiri.
ULN2003-askelmoottorin ohjain:
Ymmärretään puhkeamistaulu, joka koostuu ULN2003 IC: sta. On tärkeää ymmärtää tappi ulos.
Keltainen osa käytetään kytkeä moottoriin, The Red osa on osoittaa jumpperi, on tärkeää sijoittaa jumpperi sillä se mahdollistaa vapaakiertodiodi suojaa moottoria . Vaaleanpunainen tulo on, että mikro-yhteyden.
Kierrämme moottoria täydellä ajotilassa myötäpäivään ja uudelleen aaltokäytöllä vastapäivään. Tarkista esittelyvideo lopussa.
Vaaditut komponentit
- Kuva16F877A
- Ohjelmointisarja
- Leipälauta
- 20MHz kristalli
- 33pF-levykondensaattori - 2kpl
- 4.7k vastus
- Bergin johdot ja nastat
- ULN2003A-aloituslauta yhdessä 28BYJ-48-askelmoottorin kanssa.
- Lisäjohdot liitettäväksi
- 5 V: n virtalähde tai seinäadapteri 500 mA: n luokituksella
Piirikaavio ja selitys
Kytkentäkaavion vasemmalla puolella näkyy PIC16F877A ja oikealla puolella ULN2003A-yhteys. ULN2003 ja Stepper-moottorin osa ovat irrotuslevyn sisällä.
Yhteys Breakout-kortista mikrokontrolleriyksikköön tapahtuu
A. IN1 => tappi 33
B. IN2 => tappi 34
C. IN3 => tappi 35
D. IN4 => tappi 36
Yhdistin kaikki komponentit ja laitteesi pyörittääksesi Stepper-moottoria PIC-mikrokontrollerilla, se on valmis.
Jos olet uusi PIC-mikrokontrolleri, noudata PIC-mikrokontrollerioppaita, joissa mainitaan PIC-mikrokontrollerin käytön aloittaminen.
Koodin selitys
Tämän PIC-pohjaisen askelmoottoriohjaimen täydellinen koodi annetaan tämän opetusohjelman lopussa esittelyvideolla. Kuten aina ensin, meidän on asetettava konfigurointibitit pic-mikrokontrollerissa ja aloitettava sitten tyhjällä päätoiminnolla .
Nämä ovat mikrokontrolleriyksikön ja kirjaston otsikkotiedostojen kokoonpanobittien makrot.
#define _XTAL_FREQ 200000000 // Kristallitaajuus, käytetään viiveellä #define speed 1 // Nopeusalue 10-110 = pienin, 1 = suurin #define vaiheet 250 // kuinka paljon askelta kestää #define myötäpäivään 0 // myötäpäivään makro # määrittele vastapäivään 1 // vastapäivään makro
Ensimmäisessä rivissä määriteltiin kristallitaajuus, jota tarvitaan viive-rutiiniin. Muita makroja käytetään määrittelemään käyttäjäkohtaiset asetukset.
Jos näet koodin, on määritetty kolme toimintoa moottorin ajamiseksi kolmessa tilassa myötäpäivään ja vastapäivään. Tässä on kolme toimintoa:
1. void full_drive (char suunta)
2. void half_drive (char suunta)
3. void wave_drive (char suunta)
Tarkista näiden toimintojen määritelmät alla olevasta täydellisestä koodista:
Nyt tyhjässä päätoiminnossa ajamme moottoria myötäpäivään täydellä käyttötavalla vaiheista riippuen ja muutaman sekunnin viiveen jälkeen pyöritämme moottoria jälleen vastapäivään aaltokäyttötilassa.
void main (void) { system_init (); kun (1) { / * Aja moottoria täydellä ajotilassa myötäpäivään * / varten (int i = 0; i
Näin voimme pyörittää askelmoottoria PIC-mikrokontrollerilla. Askelmoottorit ovat erittäin hyödyllisiä CNC-koneissa, robotiikassa ja muissa sulautetuissa sovelluksissa.