Satura rādītājs:
- 1. darbība. Rotācijas kodētāja impulsa plūsma
- 2. darbība. Rotācijas kodētāja piespraušana
- 3. darbība. Shēma
- 4. solis: kods
- 5. solis: skaidrojums
- 6. darbība: izvade
Video: Rotācijas kodētāja apmācība ar Arduino: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:58
Rotējošais kodētājs ir elektroniska sastāvdaļa, kas spēj kontrolēt kustību un stāvokli rotācijas laikā. Rotācijas kodētājs izmanto optiskos sensorus, kas var ģenerēt impulsus, kad rotējošais kodētājs griežas. Rotācijas kodētāja pielietojumu parasti kā mehānisku vai robotu kustības monitoru var izmantot arī izvēlnes izvēlei displejā. Rotācijas kodētājam ir divas izejas, lai tas varētu atšķirt negatīvo (CW) un pozitīvo (CCW) rotāciju, un tam ir arī viena poga.
1. darbība. Rotācijas kodētāja impulsa plūsma
Impulsu plūsma, ko rada šāds rotējošais kodētājs, ir līdzīga iepriekš redzamajai.
2. darbība. Rotācijas kodētāja piespraušana
Paskaidrojums:
- GND GND
- + + 5V
- Rotācijas kodētāja SW poga, nospiežot
- DT dati
- CLK dati 2
Vienai no DT vai CLK tapām jābūt savienotai ar Arduino Uno pārtraukšanas pēdu, vai arī abi DT un CLK ir savienoti ar pārtraukšanas tapu.
3. darbība. Shēma
- GND un GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
4. solis: kods
Turpmākajā apmācībā, kas tiks izmantota kā pārtraukums, ir Arduino Uno PIN 2, savukārt PIN 3 tiek izmantots tikai kā parasta ievade.
#define encoder0PinA 2 #define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (kodētājs0PinA, INPUT_PULLUP); pinMode (kodētājs0PinB, INPUT_PULLUP); pinMode (kodētājs0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Sērijas nospiedums (btn); Serial.print (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } ja (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); kavēšanās (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = kodētājs0Pos/2.5; }
Iepriekšējās skices 10. rindā tiek izmantota, lai iespējotu Arduino Uno tapas 2 pārtraukšanu. Funkcijā "doEncoder" tiek aprēķināta no rotējošā kodētāja. Ja DT un CLK (Arduino Uno pin pārtraukums) vērtība ir vienāda, mainīgais "encoder0Pos" tiks palielināts / pievienots, papildus šim nosacījumam mainīgais "encoder0Pos" tiks samazināts.
5. solis: skaidrojums
ValRotary vērtība ir veikto soļu skaita vērtība. ValRotary vērtību iegūst no rotējošā sensora kodētāja nolasījuma vērtības, kas dalīta ar 2,5. Pārbaudes laikā tiek iegūta vērtība 2,5, jo viens rotējošā kodētāja solis var pārsniegt 1, tāpēc daliet ar 2,5 tā vērtībai atbilstoši darbībai un lasīšanas aizkaves pievienošanai.
Atrodoties 19. - 25. rindā, ir programma, lai noteiktu, vai rotējošais rotācijas kodētājs CW vai CCW. 19. - 25. rindas skaidrojums ir tad, ja pašreizējais rotējošā kodētāja rādījums ir lielāks nekā iepriekšējie rotācijas dati, kas pēc tam izteikti kā CW. Tā kā, ja pašreizējais rādījums ir mazāks nekā iepriekšējais, tas tiek norādīts kā CCW.
6. darbība: izvade
1 = rotācijas pogas starta vērtība, ja tā nav nospiesta
Ieteicams:
Nejaušie līdzstrāvas motora PWM eksperimenti + kodētāja traucējummeklēšana: 4 soļi
Nejaušie līdzstrāvas motora PWM eksperimenti + kodētāja problēmu novēršana: bieži vien ir gadījumi, kad kāda cilvēka miskasti ir cita bagātība, un šis man bija viens no šiem brīžiem. Ja jūs sekojat man, jūs droši vien zināt, ka es uzņēmos milzīgu projektu, lai no lūžņiem izveidotu savu 3D printeri CNC. Tie gabali ir
Rotējošā kodētāja poga: 6 soļi
Rotējošā kodētāja poga: šī ir rotējoša tālvadības pults, kuras pamatā ir rotējošais kodētājs. Tam ir šādas funkcijas. Akumulators darbojas ar ļoti zemu strāvas patēriņu, kad tas ir aktivizēts Automātiska aktivizēšana, pagriežot vadību Automātiskais miegs pēc neaktivitātes perioda
Vadiet līdzstrāvas motoru ar kodētāja optiskā sensora moduli FC-03: 7 soļi
Vadīt līdzstrāvas motoru ar kodētāja optiskā sensora moduli FC-03: Šajā apmācībā mēs iemācīsimies skaitīt optiskā kodētāja pārtraukumus, izmantojot līdzstrāvas motoru, OLED displeju un Visuino. Noskatieties video
Rotējošā kodētāja kontrolētā robota roka: 6 soļi
Rotējošā kodētāja kontrolētā robota roka: es apmeklēju vietni howtomechatronics.com un redzēju tur Bluetooth vadāmu robota roku. Man nepatīk izmantot Bluetooth, kā arī es redzēju, ka mēs varam kontrolēt servo ar rotējošu kodētāju, tāpēc es to pārveidoju, lai es varētu vadīt robotu izmantojiet rotējošo kodētāju un ierakstiet to
Rotējošā kodētāja komplekta apmācība: 5 soļi
Rotējošā kodētāja komplekta apmācība: Apraksts: Šo rotējošo kodētāju komplektu var izmantot, lai noteiktu motora stāvokli un ātrumu. Tas ir ļoti vienkāršs komplekts, kas sastāvēja no optiskā staru sensora (opto slēdzis, fototransistors) un rievota diska gabala. To var savienot ar jebkuru mikrokontrole