Categories: Circuits de microcontroladors
Nombre de visualitzacions: 16.299
Comentaris sobre l'article: 0

Com connectar el codificador incremental a Arduino

 

Sovint, en dispositius de microcontroladors, cal organitzar la gestió d’elements del menú o implementar alguns ajustaments. Hi ha moltes maneres: utilitzar botons, resistències variables o codificadors. El codificador incremental permet controlar alguna cosa mitjançant la interminable rotació del mànec. En aquest article, veurem com fer funcionar el codificador incremental i Arduino.

Com connectar el codificador incremental a Arduino

Característiques del codificador incremental

El codificador incremental, com qualsevol altre tipus de codificador, és un dispositiu amb mànec giratori. Distantment s’assembla a un potenciòmetre. La diferència principal respecte del potenciòmetre és que el mànec del codificador gira 360 graus. No té disposicions extremes.

Els codificadors són de molts tipus. L’incremental difereix que amb la seva ajuda és impossible conèixer la posició del mànec, però només el fet de girar en alguna direcció - cap a l’esquerra o cap a la dreta. Pel nombre de polsos de senyal, ja podeu calcular en quin angle ha girat.

Encoder i Arduino

D’aquesta manera es pot passar microcontrolador comanda, gestiona el menú, el nivell de volum, per exemple, etc. A la vida quotidiana, es podien veure a les ràdios del cotxe i altres equips. S'utilitza com a òrgan multifuncional d'ajust de nivell, equalitzador i navegació de menú.

Perilla de nivell sonor

Principi de treball

Dins del codificador incremental hi ha un disc amb etiquetes i lliscadors que entren en contacte amb ells. La seva estructura és similar a un potenciòmetre.

Codificador desmuntat

A la figura superior es pot veure un disc amb marques, es necessita interrompre la connexió elèctrica amb el contacte mòbil, de manera que s’obtenen dades sobre el sentit de gir. El disseny del producte no és tan important, entenem el principi de funcionament.

Disseny de codificador

El codificador té tres sortides d'informació, una comuna, les altres dues se solen anomenar "A" i "B", a la figura de dalt es pot veure el passador del codificador amb un botó; podeu rebre un senyal quan feu clic al seu eix.

Quin senyal rebrem? Segons el sentit de gir, la unitat lògica apareixerà primer al pin A o B, de manera que obtenim un senyal canviant de fase i aquest canvi ens permet determinar quina direcció. El senyal s’obté en forma rectangular i el microcontrolador es controla després de processar les dades del sentit de rotació i del nombre de polsos.

Principi de treball

La figura mostra el símbol del disc amb els contactes, al centre hi ha un gràfic dels senyals de sortida, i a la dreta hi ha la taula d'estat. Aquest dispositiu sovint es dibuixa com a dues tecles, la qual cosa és lògic, perquè de fet obtenim un senyal “endavant” o “enrere”, “amunt” o “baix” i el nombre d’accions.

Circuit de codificador

A continuació, es mostra un exemple de pinzell real de codificador:

Exemple de pinzell de codificador real

Interessant:

Un codificador defectuós es pot substituir per dos botons sense bloquejar i viceversa: control casolà en què dos d'aquests botons es poden finalitzar mitjançant la configuració del codificador.

Al vídeo següent, veieu l’alternança del senyal als terminals: durant una rotació suau, els LED s’encenen en la seqüència reflectida en el gràfic anterior.

No menys il·lustrat amb la següent animació (feu clic a la imatge):

El dispositiu i principi de funcionament del codificador

El codificador pot ser tant òptic (el senyal és generat pels emissors per fotodetectors, vegeu la figura a continuació), com magnètic (funciona amb l'efecte Hall). En aquest cas, no té contactes i una vida útil més llarga.

Sensor d’angle

Com ja hem esmentat, es pot determinar el sentit de gir per quin dels senyals de sortida ha canviat anteriorment, però així es veu a la pràctica.

Punts de fixació mecànica

La precisió del control depèn de la resolució del codificador: el nombre de polsos per revolució. El nombre de polsos pot anar des d’unitats fins a milers de peces. Com que el codificador pot actuar com a sensor de posició, com més polsos, més precisa es farà la determinació.Aquest paràmetre es coneix com a pols PPR per revolució.

Però hi ha un petit matís, a saber, una designació LPR similar és el nombre d’etiquetes del disc.

I el nombre de polsos processats. Cada etiqueta del disc proporciona 1 pols rectangular a cadascuna de les dues sortides. L’impuls té dos fronts: el posterior i el frontal. Com que hi ha dues maneres de sortir, obtenim 4 polsos en total de cadascun d’ells, els valors dels quals podeu processar.

PPR = LPRx4


Connecteu-vos a Arduino

Vam esbrinar què cal saber sobre el codificador incremental, ara descobrirem com connectar-lo a l'Arduino. Considereu el diagrama de connexió:

El diagrama de connexió del sensor de posició a Arduino

Un mòdul de codificador és la placa sobre la qual es troben el codificador incremental i les resistències de tracció. Podeu utilitzar els pins.

Esquema de cablejat del codificador

Si no disposeu d’un mòdul, sinó d’un codificador separat, només heu d’afegir aquestes resistències, en principi el circuit no diferirà. Comprovar el sentit de la rotació i la seva operativitat conjuntament amb Arduino podem llegir informació del port sèrie.

Exemple de programa

Analitzem el codi amb més detall, en ordre. En la configuració del void (), vam anunciar que utilitzaríem la comunicació a través del port sèrie i, després, establiríem els pins 2 i 8 al mode d'entrada. Seleccioneu els vostres números del pin en funció del vostre esquema de connexió. La constant INPUT_PULLUP estableix el mode d’entrada, l’arduino té dues opcions:

  • INPUT: entrada sense resistències de tracció;

  • INPUT_PULLUP: connexió a l’entrada de resistències d’arrossegament. Ja hi ha resistències dins del microcontrolador a través del qual es connecta l’entrada al power plus (pullup).

Si utilitzeu resistències per estrènyer la potència més com es mostra als esquemes anteriors o feu servir el mòdul codificador, utilitzeu l’ordre INPUT, i si per algun motiu no podeu o no voleu utilitzar resistències externes - INPUT_PULLUP.

La lògica del programa principal és la següent: si en tenim un d’entrada “2”, envia el port H al monitor, si no, L. Així, quan gireu en la mateixa direcció pel monitor de ports sèrie, obtindreu una cosa així: LL HL HH LH LL. I viceversa: LL LH HH HL LL.

Si llegíeu atentament les línies, probablement heu notat que en un cas el primer personatge adquiria un valor, i en l’altre cas, el segon personatge canviava primer.


Conclusió

Els codificadors incrementals han trobat una àmplia aplicació pràctica en amplificadors per a sistemes acústics -s’utilitzaven com a control de volum, en ràdios de cotxes- per ajustar paràmetres de so i navegació de menús, en ratolins d’ordinador amb ell es desplacen pàgines diàriament (hi ha instal·lada una roda al seu eix). . I també en eines de mesura, màquines CNC, robots, selsyn no només com a controls, sinó també per mesurar valors i determinar la posició.

Consulteu també a electro-ca.tomathouse.com:

  • Mètodes per llegir i gestionar els ports d'E / S Arduino
  • Control motor i servo amb Arduino
  • Disposa de connexió de dispositius a Arduino
  • Connexió i programació d’Arduino per a principiants
  • Sensors més populars per a Arduino

  •