Šajā projektā mēs saskarsmē ROTARY ENCODER ar ARDUINO. ARDUINO UNO ir uz ATMEGA kontroliera balstīta izstrādes plāksne, kas paredzēta elektronikas inženieriem un hobijiem. ARDUINO mums ir 20 I / O tapas, tāpēc mēs varam ieprogrammēt 20 UNO tapas, kas jāizmanto kā ievade vai izeja.
Rotary encoder tiek izmantots, lai zināt stāvokli kustības un leņķa kustību motora vai ass. Parasti tā ir trīs termināļu ierīce, ar strāvas un zemējuma tapām ir 5 termināļi. ROTARY ENCODER modulis ir parādīts zemāk.
Rotējošā kodētāja tapas ir:
- Zeme
- Pozitīvs savienojums ar + 5V
- Izejas signāls A tapa
- Izejas signāla B tapa
- Pulksteņa tapa vai kopēja tapa
ENCODER nodrošina impulsus, kas atspoguļo vārpstas stāvokļa izmaiņas, lai sistēmas saprastu. Apsveriet, vai rotējošais kodētājs ir ieslēgts un vārpsta tiek pārvietota.
Kā parādīts iepriekšējā tabulā, ņemiet vērā, ka vārpsta tiek pārvietota gudri. Līdz ar to A terminālī būs Falling Edge, tad B terminālā.
Apsveriet, kā vārpsta ir kustināta pretēji pulksteņa rādītājiem. Ar to B terminālī būs Falling Edge, tad A terminālā.
Šī mala notiks vienreiz 360/20 = 18 grādiem (tas ir kodētājam ar 20 pozīciju, tas mainās atkarībā no veida, jo lielāks skaitlis ir lielāka precizitāte).
Ar abiem iepriekš minētajiem nosacījumiem mēs varam iegūt virzienu un rotācijas pakāpi. Tādējādi mēs iegūstam nepieciešamos parametrus vārpstas stāvokļa iegūšanai.
Nepieciešamās sastāvdaļas
Aparatūra: Arduino uno dēlis, savienojošās tapas, 220Ω rezistors, LED (astoņi gabali), 1KΩ rezistors, 220Ω rezistors (2gab.), 100nF kondensators (2 gab.), Maizes dēlis.
Programmatūra: Arduino katru nakti
Shēmas shēma un darba skaidrojums
Kondensatori šeit ir paredzēti, lai neitralizētu kontakta atlēciena efektu ENCODER. Bez šiem kondensatoriem būs dažas nopietnas problēmas pozīcijas nolasīšanā.
Kad vārpsta tiek pārvietota, starp divu izejas tapu izeju būs laika starpība. Arduino UNO atpazīs šo laika starpību pulksteņrādītāja kustības virzienā pret pulksteņa rādītāju.
Ja rotācija notiek pulksteņrādītāja kustības virzienā, bināro skaitu palielina par vienu, un šis skaitlis tiek parādīts LED portā, kā parādīts attēlā.
Ja pagriešana ir pret pulksteni, bināro skaitu samazina par vienu un bināro skaitu parāda LED baits.
Strādājot par Arduino ar Rotary Encoder ir izskaidrots soli pa solim C kodu zemāk dota.