kategorije: Sklopovi mikrokontrolera
Broj pregledavanja: 16.299
Komentari na članak: 0
Kako spojiti inkrementalni davač na Arduino
Često na uređajima na mikrokontrolerima morate organizirati upravljanje stavkama izbornika ili provesti neka podešavanja. Postoji mnogo načina: koristite gumbe, promjenjive otpornike ili enkodere. Inkrementalni enkoder omogućuje vam da nešto kontrolirate pomoću beskrajne rotacije ručke. U ovom ćemo članku pogledati kako napraviti inkrementalni koder i Arduino rad.

Značajke inkrementalnog davača
Inkrementalni koder, kao i bilo koji drugi tip davača, je uređaj s rotirajućom ručicom. Udaljeno, nalikuje potenciometru. Glavna razlika od potenciometra je ta što se ručica davača rotira za 360 stupnjeva. Nema ekstremne odredbe.
Koderi dolaze u mnogim vrstama. Porast se razlikuje po tome što je uz njegovu pomoć nemoguće znati položaj ručke, već samo činjenicu rotacije u nekom smjeru - lijevo ili desno. Po broju signalnih impulsa već možete izračunati pod kojim se kutom okrenuo.

Na taj način možeš proći mikrokontrolera naredite, upravljajte izbornikom, glasnoćom, na primjer, i tako dalje. U svakodnevnom životu mogli biste ih vidjeti u autoradionicama i drugoj opremi. Koristi se kao višenamjenski organ za podešavanje nivoa, ekvilajzer i navigacija kroz izbornik.

Princip rada
Unutar inkrementalnog enkodera nalazi se disk s naljepnicama i klizačima koji dolaze u kontakt s njima. Njegova je struktura slična potenciometru.

Na slici iznad vidite disk s oznakama, oni su potrebni za prekid električne veze s pomičnim kontaktom, što rezultira podacima o smjeru vrtnje. Dizajn proizvoda nije toliko važan, razumemo princip rada.

Koder ima tri izlaza informacije, jedan je zajednički, a druga dva se obično nazivaju "A" i "B", na slici iznad možete vidjeti pin kodera s gumbom - možete primiti signal kada kliknete na osovinu.
Koji ćemo signal primiti? Ovisno o smjeru rotacije, logička jedinica prvo će se pojaviti na pinu A ili B, tako da dobivamo signal s faznim pomakom, a taj pomak omogućuje nam određivanje smjera. Signal se dobiva u obliku pravokutnog oblika, a mikrokontroler se kontrolira nakon obrade podataka smjera vrtnje i broja impulsa.

Na slici je prikazan simbol diska s kontaktima, u sredini je graf izlaznih signala, a s desne strane je tablica statusa. Ovaj je uređaj često crtan kao dvije tipke, što je i logično, jer u stvari dobivamo signal "naprijed" ili "natrag", "gore" ili "dolje" i broj radnji.

Evo primjera stvarnog iscrtavanja davača:

Pitam se:
Neispravan koder može se zamijeniti s dva gumba bez zaključavanja i obrnuto: domaća kontrola u kojoj se dva od tih gumba mogu dovršiti postavljanjem davača.
U videozapisu u nastavku vidite izmjenu signala na terminalima - tijekom glatke rotacije, LED lampice svijetle u redoslijedu prikazanom u prethodnom grafikonu.
Ništa manje jasno prikazano u sljedećoj animaciji (kliknite na sliku):
Davatelj može biti i optički (signal generiraju emiteri fotodetektori, vidi donju sliku) i magnetski (djeluje na Hall-ov efekt). U ovom slučaju nema kontakte i duži vijek trajanja.

Kao što je već spomenuto, smjer rotacije može se odrediti prema kojem se izlaznom signalu prethodno promijenio, ali tako to izgleda u praksi!

Točnost upravljanja ovisi o razlučivosti davača - broju impulsa po okretaju. Broj impulsa može biti od jedinica do tisuće komada. Budući da davač može djelovati kao senzor položaja, što je više impulsa, točnije će doći do određivanja.Ovaj se parametar naziva PPR - impuls po okretaju.
Ali postoji mala nijansa, naime, slična oznaka LPR je broj naljepnica na disku.
I broj obrađenih impulsa. Svaka naljepnica na disku daje 1 pravokutni impuls na svakom od dva izlaza. Impuls ima dvije prednje strane - stražnju i prednju. Budući da postoje dva izlaza, iz svakog od njih dobivamo ukupno 4 impulsa, čije vrijednosti možete obraditi.
PPR = LPRx4
Spajanje na Arduino
Otkrili smo što trebate znati o inkrementalnom davaču, sada doznajmo kako ga povezati s Arduinom. Razmotrite dijagram veze:

Modul davača je ploča na kojoj se nalaze inkrementalni koder i otpornici. Možete koristiti bilo kakve igle.

Ako nemate modul, već zasebni koder, samo trebate dodati ove otpornike, krug se neće načelno razlikovati. Da biste provjerili smjer vrtnje i njegovu operativnost u suradnji s Arduinom možemo čitati podatke iz serijskog ulaza.

Analizirajmo kod detaljnije, redom. U void setup (), najavili smo da ćemo koristiti komunikaciju putem serijskog ulaza, a zatim postavite igle 2 i 8 u ulaznom modu. Sami odaberite PIN brojeve na temelju sheme povezivanja. Konstanta INPUT_PULLUP postavlja način unosa, arduino ima dvije mogućnosti:
-
INPUT - ulaz bez podizača otpornika;
-
INPUT_PULLUP - priključak na ulaz povlačnih otpornika. Već postoje otpornici unutar mikrokontrolera kroz koji je ulaz spojen na struju plus (izvlačenje).
Ako koristite otpornike za stezanje do plus snage kao što je prikazano na gornjim dijagramima ili koristite modul davača - koristite naredbu INPUT, a ako iz nekog razloga ne možete ili ne želite koristiti vanjske otpornike - INPUT_PULLUP.
Logika glavnog programa je sljedeća: ako imamo jedan na ulazu "2", on izlazi port H na monitor, ako ne, L. Tako da, kada zakrenete u istom smjeru na monitoru serijskog porta, dobit ćete nešto poput ovog: LL HL HH LH LL. I obrnuto: LL LH HH HL LL.
Ako ste pažljivo pročitali retke, vjerojatno ste primijetili da je u jednom slučaju prvi znak dobio vrijednost, a u drugom slučaju prvi znak se promijenio.
zaključak
Postupni koderi pronašli su široku praktičnu primjenu u pojačavačima za akustičke sustave - koristili su ih kao kontrolu glasnoće, u automobilima radijima - za podešavanje parametara zvuka i za kretanje po izbornicima, u računalnim miševima s kojima svakodnevno prelistavate stranice (na njegovo vratilo je instalirano kotače) , A također u mjernim alatima, CNC strojevima, robotima, selsynom ne samo kao kontrolama, već i za mjerenje vrijednosti i određivanju položaja.
Pogledajte također na elektrohomepro.com
: