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

Connexió de sensors analògics a Arduino, sensors de lectura

 

Els sensors s’utilitzen per mesurar quantitats, condicions ambientals i reaccions als canvis d’estats i posicions. A la seva sortida, poden haver-hi tant senyals digitals constituïts com uns i zeros, i analògics que consisteixen en un nombre infinit de tensions en un cert interval.


Quant als sensors

Per tant, els sensors es divideixen en dos grups:

1. Digital.

2. Analògic.

Per llegir valors digitals, es poden utilitzar entrades tant digitals com analògiques del microcontrolador, en el nostre cas Avr al tauler d'Arduino. Els sensors analògics s’han de connectar mitjançant un convertidor analògic-digital (ADC). ATMEGA328, és la que està instal·lada a la majoria de les plaques ARDUINO (més informació sobre això hi ha un article al lloc), conté al seu circuit ADC integrat. Es poden triar fins a 6 entrades analògiques.

Si això no és suficient per a vostè, podeu utilitzar un ADC extern addicional per connectar-vos a entrades digitals, però això complicarà el codi i augmentarà el seu volum, a causa de l’addició d’algorismes de processament i control ADC. El tema dels convertidors analògic-digital és prou ampli que podeu crear un article o cicle separat sobre ells. És més fàcil utilitzar un tauler amb un gran nombre d’ells o multiplexors. Vegem com connectar els sensors analògics a l’Arduino.

Connexió de sensors analògics a Arduino, lectures de sensors de lectura

Esquema general de sensors analògics i la seva connexió

El sensor fins i tot pot ser un potenciòmetre convencional. De fet, es tracta d’un sensor de posició resistiva, per aquest principi implementen el control del nivell de líquids, l’angle d’inclinació, l’obertura d’alguna cosa. Es pot connectar a arduino de dues maneres.

Esquema general de sensors analògics i la seva connexió

El circuit anterior permet llegir valors de 0 a 1023, a causa del fet que tota la tensió cau al potenciòmetre. El principi d’un divisor de tensió funciona aquí, en qualsevol posició del motor, la tensió es distribueix linealment a la superfície de la capa resistiva o a escala logarítmica (segons el potenciòmetre) aquella part del voltatge que queda entre la sortida del lliscador (contacte lliscant) i el terra (gnd) arriba a l’entrada. A la placa base, aquesta connexió és així:

Diagrama de cablejat per a sensors analògics

La segona opció es connecta segons l’esquema del divisor resistiu clàssic, aquí la tensió en el punt de resistència màxima del potenciòmetre depèn de la resistència de la resistència superior (a la figura R2).

Divisor resistent clàssic

En general, el divisor resistiu és molt important no només en el camp del treball amb microcontroladors, sinó també en l’electrònica en general. A continuació, veieu l’esquema general, així com les relacions calculades per determinar el valor de tensió al braç inferior.

Esquemes i relacions de disseny per determinar el valor de tensió al braç inferior

Aquesta connexió és característica no només per al potenciòmetre, sinó per a tots els sensors analògics, perquè la majoria d’ells treballen en el principi de canvi de resistència (conductivitat) sota la influència de fonts externes: temperatura, llum, diversos tipus de radiació, etc.

A continuació, es mostra el diagrama de connexió més simple termistor, en principi, es pot fer un termòmetre sobre la seva base. Però la precisió de les seves lectures dependrà de la precisió de la taula de conversió de la resistència a la temperatura, de l’estabilitat de la font d’energia i dels coeficients de canvi de resistència (inclosa la resistència del braç superior) sota la influència de la mateixa temperatura. Es pot minimitzar seleccionant les resistències òptimes, la seva potència i els corrents de funcionament.

El diagrama de connexió més senzill per a un termistor

De la mateixa manera, podeu connectar fotodíodes, fototransistors com a sensor de llum. La fotoelectrònica ha trobat aplicació en sensors que determinen la distància i la presència d’un objecte, un dels quals considerarem més endavant.

Fotorresistor

La figura mostra la connexió del fotoresistor amb l’arduino.

Esquema de connexió del fotoresistor a arduino

Part del programari

Abans de parlar de connectar sensors específics, vaig decidir plantejar-me un programari per processar-los. Tots els senyals analògics es llegeixen des dels mateixos ports mitjançant la comanda analogRead ().Val la pena assenyalar que Arduino UNO i altres models amb 168 i 328 atmega tenen ADC de 10 bits. Això significa que el microcontrolador veu el senyal d’entrada com un número de 0 a 1023: un total de 1024 valors. Si considereu que el voltatge d’alimentació és de 5 volts, aleshores la sensibilitat d’entrada:

5/1024 = 0,0048 V o 4,8 mV

És a dir, amb un valor de 0 a l'entrada, el voltatge és 0, i amb un valor de 10 a l'entrada - 48 mV.

En alguns casos, per convertir valors al nivell desitjat (per exemple, per transferir a la sortida PWM), 1024 es divideix en un nombre i, com a resultat de la divisió, s'haurien d'obtenir el màxim necessari. La funció del mapa (font, baixa, alta, alta, alta, baixa) funciona de manera més clara, on:

  • nombre baix - inferior abans de la conversió per funció;

  • vch - superior;

  • VCh: el nombre inferior després de processar per la funció (a la sortida);

  • VHV: superior.

Aplicació pràctica per convertir una funció d’un valor d’entrada per a transmissió a una PWM (valor màxim 255, per a convertir les dades d’un ADC a una sortida PWM 1024 dividida per 4):

Opció 1: divisió.

int x;

x = analogRegeix (pot) / 4;

// es rebrà un número de 0 a 1023

// divideix-lo per 4, obtenim un nombre enter de 0 a 255 analogWrite (led, x);

L’opció 2: la funció MAP, obre més oportunitats, però més endavant.

bucle void ()

{int val = analogRead (0);

val = mapa (val, 0, 1023, 0, 255);

analogWrite (led, val); }

O encara més curt:

analogWrite (led, map (val, 0, 1023, 0, 255))

No tots els sensors tenen 5 volts a la sortida, és a dir. el número 1024 no sempre és convenient dividir per obtenir el mateix 256 per a la PWM (o qualsevol altra). Pot ser de 2 i 2,5 volts i altres valors, quan el senyal màxim serà, per exemple, 500.


Sensors analògics populars

A continuació es mostra una visió general del sensor de arduino i la seva connexió:

Com connectar un sensor analògic

Normalment hi ha tres sortides, pot haver-hi una quarta: digital, però es tracta de funcions.

Explicació de la designació de les sortides del sensor analògic:

  • G: menys potència, bus comú, terra. Es pot designar com a GND, "-";

  • V - més potència. Es pot denominar com Vcc, Vtg, "+";

  • S - senyal de sortida, possible notació: sortida, SGN, Vout, signe.

Els principiants per aprendre a llegir els valors dels sensors trien projectes de tot tipus de termòmetres. Aquests sensors estan en disseny digital, per exemple DS18B20, i en analògic: es tracta de tot tipus de microcircuits com LM35, TMP35, TMP36 i altres. A continuació, es mostra un exemple del disseny modular d'un sensor així a la pissarra.

Sensor analògic en TMP36

La precisió del sensor és de 0,5 a 2 graus. Basat en un xip TMP36, com molts dels seus analògics, els seus valors de sortida són 10 mV / ° C. A 0 °, el senyal de sortida és 0 V, i després s'afegeixen 10 mV per 1 grau. És a dir, a 25,5 graus el voltatge és de 0,255 V, és possible una desviació dins l’error i l’autoescalfament del cristall IC (fins a 0,1 ºC).


Segons el microcircuit utilitzat, els intervals de mesurament i les tensions de sortida poden variar, vegeu la taula.

Intervals de temperatura i tensions de sortida del sensor

Tot i això, per a un termòmetre d’alta qualitat, no només podeu llegir els valors i mostrar-los a l’indicador LCD o al port sèrie per a la comunicació amb un PC, per a l’estabilitat del senyal de sortida de tot el sistema, cal promediar els valors dels sensors, tant analògics com digitals, mentre que sense perjudicar la seva velocitat i precisió (hi ha un límit per a tot). Això es deu a la presència de sorolls, interferències, contactes inestables (per a sensors resistents basats en un potenciòmetre, vegeu fallades del sensor de nivell d'aigua o de combustible al dipòsit del cotxe).

Els codis per treballar amb la majoria dels sensors són força voluminosos, per la qual cosa no els donaré tots, es poden trobar fàcilment a la xarxa mitjançant la sol·licitud "sensor + Arduino name".

El següent sensor que fan servir els enginyers robòtics arduino és el sensor de línia. Es basa en dispositius fotoelectrònics, tipus de fototransistors.

Sensor de línia

Amb la seva ajuda, un robot que es mou per la línia (utilitzat en la producció automatitzada per lliurar peces) determina la presència d’una franja blanca o negra. A la part dreta de la figura, són visibles dos dispositius similars als LED. Un d’ells és el LED, pot emetre’s a l’espectre invisible i el segon és un fototransistor.

La llum es reflecteix des de la superfície si està fosca: el fototransistor no rep un flux reflectit, però si la llum rep i s’obre. Els algorismes que heu introduït al microcontrolador processen el senyal i determinen la correcció i la direcció del moviment i els corregeixen. El ratolí òptic, que molt probablement tingueu a la mà mentre llegiu aquestes línies, està disposat de manera similar.

Complementaré amb un sensor adjacent - un sensor de distància de Sharp, també s'utilitza en robòtica, així com en condicions de control de la posició d'objectes a l'espai (amb l'error TX corresponent).

Sensor de distància nítida

Funciona amb el mateix principi. Les biblioteques i exemples d'esbossos i projectes amb ells estan disponibles en gran quantitat als llocs d'Arduino.


Conclusió

L’ús de sensors analògics és molt senzill, i amb el llenguatge de programació Arduino fàcil d’aprendre, apreneu ràpidament dispositius senzills. Aquest enfocament té desavantatges importants en comparació amb les seves contrapartides digitals. Això es deu a l’àmplia variació de paràmetres, cosa que causa problemes quan es substitueix el sensor. És possible que hagis d’editar el codi font del programa.

És cert, els dispositius analògics individuals incorporen fonts de tensió de referència i estabilitzadors de corrent, cosa que té un efecte positiu en la repetició del producte final i del dispositiu en la producció en massa. Es poden evitar tots els problemes mitjançant dispositius digitals.

Els circuits digitals com a tals redueixen la necessitat de sintonitzar i ajustar el circuit després del muntatge. Això us dóna l'oportunitat de reunir diversos dispositius idèntics en el mateix codi font, els detalls dels quals proporcionaran els mateixos senyals, cosa que rares són els sensors resistents.

Vegeu també al nostre lloc web:Connexió de dispositius externs a Arduino

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

  • Quina diferència hi ha entre els sensors digitals i analògics
  • Mesura de temperatura i humitat en Arduino: una selecció de mètodes
  • Com funciona la conversió del senyal analògic a digital
  • Sensors més populars per a Arduino
  • Com s’ordena i funciona el sensor de línia

  •