Izwe lama-electronics namarobhothi ligcwele izinto eziqanjiwe ezincane ezisivumela ukuthi silawule futhi siqaphe zonke izinhlobo zokunyakaza. Enye yezinto eziguquguqukayo nezilusizo ngokungangabazeki isishumeki esijikelezayo, esibonakalayo nesikazibuthe. Lawa madivayisi abaluleke kakhulu kumaphrojekthi we-Arduino, ama-automation, kanye namaphrojekthi okulawula izimoto. Uma uke wazibuza ukuthi iyini ngempela i-rotary encoder, uzobe uzibuza. I-Optical noma i-magnetic rotary encoder: ukuthi iyini nezibonelo: KY-040 kanye ne-AS5600, Usendaweni efanele.
Kulesi sihloko sizongena sijule ekusebenzeni, izinhlelo zokusebenza kanye nezibonelo ezingokoqobo zama-rotary encoder, sigxile ikakhulukazi kumamojula amabili athandwa kakhulu: i I-KY-040 futhi i AS5600Uzofunda ukuthi ungahlukanisa kanjani phakathi kwezishumeki ze-optical nezikazibuthe, izici zazo zomzimba nezikagesi, ukuthi ungazixhuma kanjani futhi uzihlele kanjani ku-Arduino, kanye nezinzuzo ngayinye ekunikezwayo kuye ngephrojekthi yakho. Sizophinde sikunikeze amathiphu okukhetha nokusebenzisa lezi zinzwa kumaphrojekthi akho, wonke achazwe ngendlela ecacile nehehayo, ngaphandle kokushiya noma yimiphi imininingwane efanele.
Yini i-rotary encoder?
Un isishumeki esijikelezayo Kuyinto inzwa yakhelwe ukukala ukuma kwe-angular, isivinini kanye nesiqondiso sokujikeleza we-shaft ejikelezayo noma i-elementi. Le divayisi ishintsha ukunyakaza okuzungezayo kube amasignali kagesi (imvamisa ama-pulses edijithali noma amasignali e-analog) angatolikwa ngesilawuli esincane esifana ne-Arduino, i-Raspberry Pi, noma isilawuli semboni.
Lezi zinzwa zibalulekile ezinhlelweni zokusebenza lapho indawo ngqo ye-eksisi idinga ukwaziwa noma ukuthi mangaki ama-revolutions eyenzile. Zivame ukutholakala kumaphrinta, ama-servomotor, amarobhothi, izinhlelo zokulawula izinombolo, futhi, kunjalo, kumaphrojekthi we-DIY, kusukela ekuxhumaneni kwemenyu kuya ezinhlelweni zokulawula isivinini.
Izinhlobo zesifaki khodi esijikelezayo: i-optical vs. magnetic
Izifaki khodi ezijikelezayo zingahlukaniswa kakhulu zibe odokotela bamehlo y kazibuthe, nakuba kukhona okunye okuhlukile okungavamile okufana ne-capacitive.
I-Optical rotary encoder
Isifaki khodi esibonakalayo, njenge I-KY-040Isebenza kudiski enamamaki noma izimbobo kanye nesistimu ye-optical transmitter/receiver (i-photodiode noma i-LED). Njengoba i-shaft ijikeleza, iziphazamiso ezikhiqizwa yilawa zimpawu zikhiqiza ama-pulses kagesi i-microcontroller engakwazi ukuwabala, ngaleyo ndlela inquma ukugudluka kwe-angular. Ukwakhiwa kwayo kwangaphakathi ngokuvamile kuhlanganisa ingxenye emile (idiski) kanye nengxenye ejikelezayo (i-shaft enamathiselwe kusici esilinganiswayo).
Lolu hlobo lwesifaki khodi lugqama ngokunemba kwalo okuphezulu nokuphendula okusheshayo. Ziwusizo kakhulu ezinhlelweni zokusebenza lapho ukuqina kokusebenza kanye nokulula kokufunda kwedijithali kuwukhiye, njengasezindaweni zokusebenzelana nabasebenzisi, izilawuli zevolumu, amamenyu ajikelezayo, namarobhothi okufundisa.
Isishumeki esijikelezayo sikazibuthe
Ngakolunye uhlangothi, isishumekeli kazibuthe sisebenzisa inzwa ezwelayo kumagnetic field (imvamisa inzwa yaseHholo noma i-chip ekhethekile njenge AS5600), ethola indawo eyi-angular kazibuthe ehlanganiswe ne-shaft. Lezi zifaki khodi zingahlinzeka ngokulungiswa okuphezulu ngenxa yokuguqulwa kwe-analog-to-digital yangaphakathi futhi azingenwa kalula ukungcola noma uthuli, njengoba zingathembeli ezingxenyeni ezibonakalayo. Ngaphezu kwalokho, ngokuvamile bahlinzeka ngedijithali (i-I2C noma i-PWM) kanye/noma ngemiphumela ye-analog, okwenza kube lula ukukuhlanganisa ezinhlelweni ezahlukene ze-elekthronikhi.
Izifaki khodi ezikhulayo neziphelele: umehluko oyinhloko
Umhlaba wamakhodi uphinde uhlukaniswe waba ekhuphukayo y ngokuphelele.
- Isifaki khodi esikhulayo: Inikeza isignali ngendlela yama-pulses isikhathi ngasinye lapho i-shaft izungeza ingxenyena ethile. Inani lama-pulses per revolution lincike kumklamo kanye nemodeli. Ukuze unqume indawo yamanje, isistimu kufanele ibale futhi ikhumbule lawa ma-pulses ukusuka endaweni eyireferensi.
- Isifaki khodi esiphelele: Inikeza ngokuqondile indawo ye-angular yamanje ye-shaft, noma ngabe ihambile ngenkathi uhlelo luvaliwe. Ivamise ukuba nekhodi ekhethekile kudiski noma inzwa kazibuthe enesinqumo esiphezulu.
Kulesi sihloko, sizogxila kuzishumeki ezikhulayo (ezifana ne-KY-040) kanye nesifaki khodi sikazibuthe esiphelele (AS5600), njengoba lezi kuyizona ezivame futhi kulula kakhulu ukuzihlanganisa kumaphrojekthi we-Arduino.
Ukusebenza okujwayelekile kwesishumeki se-rotary esikhulayo
I-Los izifaki khodi ezikhulayo (njenge-KY-040) iqukethe amashaneli okukhiphayo amabili, isiteshi A kanye nesiteshi B, ezikhiqiza ama-digital pulses angu-90º ngaphandle kwesigaba. Ngokuqhathanisa indlela lezi ziteshi ezishintsha ngayo, kungenzeka ukunquma isiqondiso sokujikeleza (ngokuhamba kwewashi noma ngokuphambene newashi), ngaphezu kokubala izinyathelo (izikhundla) ezithathiwe.
Isignali ekhiqizwayo ibizwa ngokuthi "quadrature" futhi ivumela ukunemba okuhlukile:
- Ukunemba okukodwa: Kuqoshwa unqenqema olulodwa kuphela esiteshini.
- Ukunemba okukabili: Irekhoda zombili izinhlangothi esiteshini esisodwa.
- Ukunemba okuphindwe kane: Irekhoda zombili izinhlangothi kuzo zombili iziteshi.
I-KY-040 Rotary Encoder: Izici, Ukuxhumana, kanye nokusetshenziswa nge-Arduino
El I-KY-040 Ingesinye sezishumeki ze-rotary ezisetshenziswa kakhulu ezisetshenziswa kakhulu emhlabeni womenzi. Kuyimojuli ehlangene, ethengekayo, futhi kulula ukuyithola, eklanyelwe ngokuqondile ukuxhuma ngqo kumabhodi e-Arduino nezinye izilawuli ezincane.
Izici eziyinhloko zobuchwepheshe ze-KY-040:
- Tipo: I-Optical ekhuphukayo
- I-voltage yokuhlinzeka: 5V
- Ukusetshenziswa: 10 ma
- Imijikelezo ngokwenguquko ngayinye: 30
- Ama-pulses per revolution: 20
- Usayizi: X x 20 30 30 mm
- Isisindo: I-10 amagremu
- Inkinobho yokucindezela ehlanganisiwe: Kungenzeka ukucindezela i-eksisi ngaphakathi njengokungathi inkinobho, okwengeza ukusebenza okwengeziwe okuwusizo kakhulu kumamenyu noma ukuxhumana.
Phina isabelo:
- I-CLK: Isiteshi A (i-pulse output)
- I-DT: Isiteshi B (i-pulse output)
- SW: Inkinobho yokucindezela ehlanganisiwe
- +: Ukunikezwa kwamandla okungu-5V
- I-GND: Umhlaba
Uyixhuma kanjani i-KY-040 ku-Arduino?
Ukuxhumana kuqondile futhi kulula:
Phina i-KY-040 | Iphinikhodi ye-Arduino |
---|---|
Clk | 2 (noma yikuphi okokufaka kwedijithali) |
DT | 3 (noma yikuphi okokufaka kwedijithali) |
SW | 4 (noma yikuphi okokufaka kwedijithali) |
+ | 5V |
I-GND | I-GND |
Ingasetshenziswa futhi ne-Raspberry Pi ngokushintsha izikhonkwane zokuxhuma, isibonelo usebenzisa i-GPIO16 ye-CLK, i-GPIO15 ye-DT kanye ne-GPIO14 ye-SW.
Ukusebenza kwangaphakathi
Ngokungafani nama-potentiometers, Isishumeki esijikelezayo se-KY-040 asikhawuli i-engeli yaso yokuzungezisa., okuvumela i-shaft ukuthi ijikeleze unomphela. Ngaphakathi, amabhulashi ensimbi amabili aslayida phezu kwendawo ehlukaniswe umkhakha, avale othintana naye ngezinhlanganisela ezihlukene ezitholwe amashaneli A no-B.
I-encoder ibuyisela amasignali edijithali kuwo womabili amaphini, futhi i-offset ibonisa isiqondiso lapho i-shaft ijika khona. Ngaphezu kwalokho, njengoba ikhula, indawo ephelele yaziwa kuphela ngenkathi isibalo sigcinwa kusukela ekuqaleni kohlelo; uma amandla elahlekile, isibalo sisethwa kabusha.
Isibonelo sekhodi eyisisekelo ye-Arduino
Isibonelo sakudala sokusebenzisa i-KY-040 ukukhulisa noma ukunciphisa ikhawunta ngokusekelwe ekujikelezeni. Uhlelo olwenziwe lula luzoba:
int A = 2; int B = 3; i-volatile int POSITION = 0; int EDLULE = 0; ukusetha okungenalutho() {pinMode(A, INPUT); pinMode(B, INPUT); I-serial.begin(9600); attachInterrupt(digitalPinToInterrupt(A), encoder, LOW); } iluphu engenalutho() {uma (IPOSITION != EDLULE) { Serial.println(POSITION); EDLULE = ISIKHUMO; } } i-void encoder() {i-static unsigned long lastInterrupt = 0; I-InterruptionTime ende engasayiniwe = millis(); uma (i-interruptionTime - lastInterruption > 5) {// Yehlisa uma (digitalRead(B) == PHEZULU){ POSITION++; } okunye {ISIMO--; } ISIKHUMO = iminithi(50, max(-50, POSITION)); // Nciphisa ububanzi lastInterrupt = interruptTime; }}
Le khodi ihlanganisa ukuvikelwa kokuhlehlisa ukuvimbela ukufundwa okungaguquki ngenxa yemvelo yomshini yabathintwayo. Kunconywa ukusebenzisa lesi sivikelo kunoma iyiphi iphrojekthi enezishumeki ezikhulayo.
I-Magnetic Encoder: Izici, Ukuxhumana, nokusebenzisa nge-Arduino
El AS5600 Kuyinto a i-high-resolution magnetic rotary encoder, ilungele ukushintshwa okunembile kwama-potentiometer endabuko, isilawuli sezimoto, namarobhothi. Inzuzo yayo enkulu ukuthi ivumela ukutholwa kazibuthe, iyenze ingavikeleki ekungcoleni nasekugqokeni kwemishini okuthinta amalensi okukhanya.
Izici ezibalulekile ze-AS5600:
- Tipo: Okuphelele, kazibuthe
- Isinqumo: 12 bits (izikhundla ezingama-4096 ijika ngalinye)
- Ukudla: 3,3V noma 5V
- Izinsizakusebenza: I-I2C (yedijithali) noma okukhiphayo kwe-analog
- ukumisa okuguquguqukayo: Ungakhetha inkombandlela nemodi yokuphumayo ngehadiwe
- Okukhiphayo kwe-Analog: I-Voltage proportional to angle, ilusizo kuma-microcontroller ngaphandle kwe-I2C
- Ukunemba okuphezulu nokuphindaphinda: Isistimu yayo yangaphakathi ilungele ukubona ngisho nokunyakaza okuncane kwama-angular
I-Pinout nokuxhumeka ku-Arduino
Iphinikhodi ye-AS5600 | Umsebenzi | Iphinikhodi ye-Arduino (I2C) |
---|---|---|
I-VCC | Ukudla | 5V |
I-GND | Umhlaba | I-GND |
I-SDA | Idatha ye-I2C | A4 |
SCL | Iwashi le-I2C | A5 |
OUT | Okukhiphayo kwe-analogi (kuyakhetheka) | A0 |
DIR/MODE | Ukukhetha Ikheli/Imodi | Ngokuvumelana nokucushwa okufunayo |
Inothi elibalulekile: Emapuletini ahlukene Arduino Uno, izikhonkwane ze-I2C zingahluka. Qiniseka ukuthi uhlola isikimu sebhodi lakho.
Isibonelo sekhodi yokufunda kwedijithali (I2C)
Ukuthola okuningi ku-AS5600 nge-Arduino, kungcono kakhulu ukusebenzisa umtapo wolwazi othile (ungawuthola kumphathi welabhulali ye-Arduino IDE ngokusesha AS5600):
#faka #faka Isishumeki se-AS5600; i-void setup() {Serial.begin(5600); Intambo.qala(); uma (!encoder.begin()) { Serial.println("AS9600 ingabonwa. Hlola ukuxhumana."); ngenkathi (5600); } I-serial.println("AS1 iqaliwe."); } i-void loop() {i-angle yokuntanta = encoder.getAngle(); I-serial.print("I-engeli:"); I-serial.print(i-engeli); I-serial.println("amadigri"); ukubambezeleka (5600); }
Ngale khodi, ungafunda i-engeli ngamadigri ngesikhathi sangempela. Ilungele izinhlelo zokusebenza lapho udinga ukwazi indawo ephelele ngokulungiswa okuphezulu.
Isibonelo sekhodi sokufundwa kwe-analog
Uma ukhetha uxhumo olulula noma isilawuli esincane sakho asisekeli i-I2C, ungasebenzisa okuphumayo kwe-analog ye-AS5600:
const int analogPin = A0; i-void setup() {Serial.begin(9600); pinMode(analogPin, INPUT); } i-void loop() {inani le-int = i-analogRead(i-analogPin); i-float angle = imephu(inani, 0, 1023, 0, 360); I-serial.print("i-engeli ye-Analog:"); I-serial.print(i-engeli); I-serial.println("amadigri"); ukubambezeleka (100); }
Ngale ndlela uthola ukufunda ngokulingana ne-engeli yangempela ye-eksisi ngokuya ngokuma kukazibuthe.
Izicelo ezisebenzayo namathiphu okusebenzisa
Zombili izifaki khodi zinezinhlelo zokusebenza ezihluke kakhulu kumaphrojekthi kagesi:
- I-KY-040: Ilungele ukusetshenziswa kwe-rotary interface, amamenyu, ukukhanya nokulawula ivolumu, ukukhetha okukhethwa kukho, ukulawulwa kwamarobhothi okufundisa, amaphrojekthi ezishintshayo ekhaya, nezinhlelo ezidinga ukulawula okujikelezayo ngaphandle kwereferensi ye-angular ephelele.
- I-AS5600: Ilungele ukuma kwezimoto nokulawula isivinini, i-industrial automation, inzwa yendawo kumajoyinti erobhothi, amasistimu ekhamera azinzile (ama-gimbal), ama-potentiometer edijithali anokulungiswa okuphezulu, nanoma yiluphi uhlelo lokusebenza oludinga inzwa ye-engeli enembile.
Amanye amathiphu okusebenzisa:
- Sebenzisa njalo ukuhlunga kwe-anti-bounce (debounce) uma usebenzisa izifaki khodi ezikhulayo ezifana ne-KY-040 ukugwema ukufundwa okuyiphutha.
- Ku-AS5600, qiniseka ukuthi uzibuthe uqondaniswe kahle nenzwa ukuze uqinisekise ukufundwa okuthembekile nokuzinzile.
- Khumbula ukuthi ngezifaki khodi ezikhulayo, uma ugesi unqanyulwa, ulwazi lwendawo luyalahleka; lokhu akwenzeki nge-AS5600, njengoba kuphelele.
- Thatha ithuba lamamodi amaningi okuxhumana ahlinzekwa yizo zombili izifaki khodi ukuze uzivumelanise nezidingo ezithile zephrojekthi yakho.
Ukuqhathanisa: Ungakhetha nini i-optical encoder futhi uma uzibuthe?
Característica | I-KY-040 (I-Incremental Optical) | I-AS5600 (Absolute Magnetic) |
---|---|---|
Uhlobo lwesignali | Idijithali (quadrature) | Idijithali (I2C)/I-Analog |
Isinqumo | 20 pulses/revolution | 4096 izikhundla/ithanga |
Isebenza ngemva kokunqamuka kukagesi | Cha (idinga ukuqala kabusha ukubala) | Yebo (isikhundla esiphelele) |
Ukuzwela uthuli/ukungcola | Kuyazwela (izingxenye zemishini) | Iqinile kakhulu |
Intengo | Ukonga kakhulu | Maphakathi |
Ubunzima bokuhlanganisa | Kulula kakhulu ngekhodi eyisisekelo | Idinga ilabhulali ye-I2C noma uhlelo |
Izinhlelo zokusebenza ezijwayelekile | UX, amamenyu, ukulawula okulula | Ukulawulwa kwezimoto, amarobhothi athuthukile |
Ukukhetha phakathi kwakho kokubili kuzoncika ezintweni eziza kuqala kuphrojekthi yakho: ubulula nezindleko eziphansi esimweni se-KY-040, nokunemba nokuqina esimweni se-AS5600.