Šiame projekte mes sujungsime ROTARY ENCODER su ARDUINO. ARDUINO UNO yra ATMEGA valdikliu paremta kūrimo lenta, skirta elektronikos inžinieriams ir mėgėjams. „ARDUINO“ turime 20 įvesties / išvesties kaiščių, todėl galime užprogramuoti 20 UNO kaiščių, kurios bus naudojamos kaip įvestis arba išvestis.
ROTARY KODUOTUVAS naudojamas žinoti judėjimo ir kampinio judėjimo variklio arba ašies poziciją. Paprastai tai yra trijų terminalų įtaisas, turintis 5 maitinimo ir įžeminimo kaiščius. Žemiau parodytas „ROTARY ENCODER“ modulis.
Rotacinio kodavimo įrenginio kaiščiai yra:
- Žemė
- Teigiamas prijungtas prie + 5V
- Išvesties signalas A kaištis
- Išvesties signalo B kaištis
- Laikrodžio kaištis arba bendras kaištis
ENCODER pateikia impulsus, atspindinčius veleno padėties pokyčius, kad sistemos suprastų. Apsvarstykite, ar įjungtas sukamasis enkoderis, o velenas judinamas.
Kaip parodyta aukščiau esančioje lentelėje, apsvarstykite, ar velenas judinamas pagal laikrodį. Tai padarys „Falling Edge“ A, tada B terminale.
Apsvarstykite, ar velenas judinamas prieš laikrodį. Tai padarius „Falling Edge“ bus B terminale, tada A terminale.
Šis kraštas įvyks vieną kartą 360/20 = 18 laipsnių kampu (tai yra koduotojui, turinčiam 20 padėčių, tai keičiasi pagal tipą, didesnis skaičius yra didesnis tikslumas).
Esant abiem aukščiau nurodytoms sąlygoms, galime gauti krypties ir sukimosi laipsnį. Taigi gauname reikiamus parametrus veleno padėčiai nustatyti.
Būtini komponentai
Aparatūra: „ Arduino uno“ plokštė, jungiamieji kaiščiai, 220Ω rezistorius, LED (aštuonios dalys), 1KΩ rezistorius, 220Ω rezistorius (2vnt.), 100nF kondensatorius (2vnt.), Duonos lenta.
Programinė įranga: „ Arduino“ kas vakarą
Grandinės schema ir darbo paaiškinimas
Kondensatoriai skirti neutralizuoti kontakto atšokimo efektą ENCODER. Be šių kondensatorių bus rimtų problemų skaitant padėtį.
Kai velenas yra perkeltas, tarp dviejų išvesties kaiščių išėjimo bus laiko skirtumas. „Arduino UNO“ atpažins šį laiko skirtumą, sukdamasis pagal laikrodžio rodyklę.
Jei sukimasis pagal laikrodžio rodyklę, dvejetainis skaičius padidinamas vienu, ir šis skaičius rodomas LED prievade, kaip parodyta paveiksle.
Jei sukimasis yra prieš laikrodžio rodmenis, dvejetainis skaičius mažinamas vienu, o dvejetainis skaičius rodomas LED baitu.
„ Arduino“ darbas su „Rotary Encoder“ žingsnis po žingsnio paaiškinamas toliau pateiktu C kodu.