Kategorijas: Mikrokontrolleru shēmas
Skatījumu skaits: 16,299
Komentāri par rakstu: 0

Kā pieslēgt inkrementālo kodētāju Arduino

 

Bieži vien mikrokontrolleru ierīcēs jums jāorganizē izvēlnes vienumu pārvaldība vai jāveic daži pielāgojumi. Ir daudzi veidi: izmantojiet pogas, mainīgus rezistorus vai kodētājus. Inkrementālais kodētājs ļauj kaut ko kontrolēt, izmantojot bezgalīgu roktura pagriešanu. Šajā rakstā mēs apskatīsim, kā panākt, lai inkrementālais kodētājs un Arduino darbotos.

Kā pieslēgt inkrementālo kodētāju Arduino

Papildu kodētāja funkcijas

Inkrementālais kodētājs, tāpat kā jebkura cita veida kodētājs, ir ierīce ar pagriežamu rokturi. Attālumā tas atgādina potenciometru. Galvenā atšķirība no potenciometra ir tā, ka kodētāja rokturis griežas par 360 grādiem. Viņam nav galēju noteikumu.

Kodētāji ir dažādu veidu. Pieaugums atšķiras ar to, ka ar tā palīdzību nav iespējams uzzināt roktura novietojumu, bet tikai rotācijas faktu kādā virzienā - pa kreisi vai pa labi. Pēc signāla impulsu skaita jūs jau varat aprēķināt, kādā leņķī tas pagriezās.

Kodētājs un Arduino

Tādā veidā jūs varat nokārtot mikrokontrolieris komanda, piemēram, pārvaldīt izvēlni, skaļuma līmeni utt. Ikdienā tos varēja redzēt automašīnu radioaparātos un citā aprīkojumā. To izmanto kā daudzfunkcionālu līmeņa regulēšanas orgānu, ekvalaizeru un izvēlnes navigāciju.

Skaņas līmeņa poga

Darba princips

Inkrementālā kodētāja iekšpusē ir disks ar etiķetēm un slīdņiem, kas ar tiem saskaras. Tās struktūra ir līdzīga potenciometram.

Izjaukts kodētājs

Augšējā attēlā redzat disku ar atzīmēm, tie ir nepieciešami, lai pārtrauktu elektrisko savienojumu ar pārvietojamo kontaktu, kā rezultātā jūs iegūstat datus par griešanās virzienu. Produkta dizains nav tik svarīgs, sapratīsim darbības principu.

Kodētāja dizains

Kodētājam ir trīs informācijas izejas, viena kopēja, pārējās divas parasti sauc par “A” un “B”, attēlā iepriekš redzat kodētāja tapu ar pogu - signālu varat saņemt, kad noklikšķināt uz tā vārpstas.

Kādu signālu mēs saņemsim? Atkarībā no griešanās virziena loģiskā vienība vispirms parādīsies uz tapas A vai B, tāpēc mēs iegūstam fāzes nobīdes signālu, un šī nobīde ļauj mums noteikt, kurš virziens. Signālu iegūst taisnstūra formā, un pēc rotācijas virziena un impulsu skaita datu apstrādes mikrokontrolleru kontrolē.

Darba princips

Attēlā parādīts diska simbols ar kontaktiem, vidū ir izejas signālu grafiks, bet labajā pusē ir statusa tabula. Šī ierīce bieži tiek uzzīmēta kā divi taustiņi, kas ir loģiski, jo patiesībā mēs iegūstam signālu “uz priekšu” vai “atpakaļ”, “uz augšu” vai “uz leju” un darbību skaitu.

Kodētāja shēma

Šeit ir īsta kodētāja piesaistes piemērs:

Īsta kodētāja piesaistes piemērs

Interesanti:

Bojātu kodētāju var aizstāt ar divām pogām bez bloķēšanas un otrādi: mājās gatavotu vadību, kurā divas no šīm pogām var pabeigt, iestatot kodētāju.

Zemāk esošajā videoklipā jūs redzat signāla maiņu pie spailēm - vienmērīgas griešanās laikā gaismas diodes iedegas secībā, kas atspoguļota iepriekšējā grafikā.

Ne mazāk skaidri parādīts šajā animācijā (noklikšķiniet uz attēla):

Kodētāja ierīce un darbības princips

Kodētājs var būt gan optisks (signālu ģenerē fotodetektoru emitenti, skat. Attēlu zemāk), gan magnētiskais (tas darbojas uz Halles efektu). Šajā gadījumā viņam nav kontaktu un ilgāks kalpošanas laiks.

Leņķa sensors

Kā jau minēts, griešanās virzienu var noteikt pēc tā, kurš no izejas signāliem iepriekš ir mainījies, bet tas ir tas, kā tas izskatās praksē!

Mehāniskās fiksācijas punkti

Vadības precizitāte ir atkarīga no kodētāja izšķirtspējas - impulsu skaita vienā apgriezienā. Impulsu skaits var būt no vienībām līdz tūkstošiem gabalu. Tā kā kodētājs var darboties kā pozīcijas sensors, jo vairāk impulsu, jo precīzāk noteikšana notiks.Šis parametrs tiek saukts par PPR - impulsu vienā apgriezienā.

Bet ir neliela nianse, proti, līdzīgs apzīmējums LPR ir etiķešu skaits diskā.

Un apstrādāto impulsu skaits. Katra etiķete uz diska dod 1 taisnstūra impulsu uz katru no diviem izvadiem. Impulsam ir divas frontes - aizmugurējā un priekšējā. Tā kā ir divas izejas, no katra no tām kopā iegūstam 4 impulsus, kuru vērtības jūs varat apstrādāt.

PPR = LPRx4


Savienojiet ar Arduino

Mēs izdomājām, kas jums jāzina par inkrementālo kodētāju, tagad uzzināsim, kā to savienot ar Arduino. Apsveriet savienojuma shēmu:

Pozīcijas sensora savienojuma shēma ar Arduino

Kodētāja modulis ir tāfele, uz kuras atrodas inkrementālais kodētājs un savilkšanas rezistori. Jūs varat izmantot jebkuras tapas.

Kodētāja elektroinstalācijas shēma

Ja jums nav moduļa, bet atsevišķa kodētāja, jums vienkārši jāpievieno šie rezistori, ķēde principā neatšķirsies. Pārbaudīt griešanās virzienu un tā darbību savienojumā ar Arduino mēs varam lasīt informāciju no seriālā porta.

Programmas piemērs

Analizēsim kodu sīkāk, secībā. In void setup () mēs paziņojām, ka mēs izmantosim sakarus caur seriālo portu un pēc tam ievades režīmā iestatīsim 2. un 8. tapu. Atkarībā no savienojuma shēmas pats izvēlieties PIN numurus. Konstante INPUT_PULLUP iestata ievades režīmu, arduino ir divas iespējas:

  • INPUT - ieeja bez savilkšanas rezistoriem;

  • INPUT_PULLUP - savienojums ar savilkšanas rezistoru ieeju. Mikrokontrollera iekšpusē jau ir rezistori, caur kuriem ieeja tiek savienota ar strāvas plusu (pullup).

Ja izmantojat rezistorus, lai pievilktu pie jaudas plus, kā parādīts iepriekš redzamajās diagrammās, vai izmantojat kodētāja moduli - izmantojiet komandu INPUT un ja kādu iemeslu dēļ nevarat vai nevēlaties izmantot ārējos rezistorus - INPUT_PULLUP.

Galvenās programmas loģika ir šāda: ja mums ir viens pie ieejas “2”, tas izvada portu H uz monitoru, ja nē, L. Tādējādi, pagriežot vienā virzienā seriālā porta monitorā, jūs iegūsit kaut ko līdzīgu: LL HL HH LH LL. Un otrādi: LL LH HH HL LL.

Ja uzmanīgi izlasījāt rindiņas, jūs droši vien pamanījāt, ka vienā gadījumā pirmais raksturs ieguva vērtību, bet otrā gadījumā vispirms mainījās otrais raksturs.


Secinājums

Inkrementālie kodētāji ir atraduši plašu praktisku pielietojumu akustisko sistēmu pastiprinātājos - tie tika izmantoti kā skaļuma kontrole, automašīnas radioaparātos - skaņas parametru pielāgošanai un izvēlņu pārvietošanai, datora pelēm ar to katru dienu ritinot lapas (uz tās vārpstas ir uzstādīts ritenis) . Un arī mērinstrumentos, CNC mašīnās, robotos, selsyn ne tikai kā vadības ierīces, bet arī vērtību mērīšanā un pozīcijas noteikšanā.

Skatīt arī vietnē i.electricianexp.com:

  • Arduino I / O portu nolasīšanas un pārvaldības metodes
  • Motora un servovadība ar Arduino
  • Funkcijas, kas savieno ierīces ar Arduino
  • Arduino savienošana un programmēšana iesācējiem
  • Populārākie Arduino sensori

  •