Kysymys:
Arduino Analog Input -esimerkkiselvitys
A B
2012-07-24 06:34:20 UTC
view on stackexchange narkive permalink

Ensinnäkin olen täydellinen elektroniikan nokka.

Minulla on hiljattain Arduino Nano. Yritän nyt ymmärtää, miksi http://arduino.cc/en/Tutorial/ReadAnalogVoltage -esimerkissä ei ole nimellistä potentiometriä ja kuinka tämän nimellisarvon vaihtelu vaikuttaisi analogisen tulon lukemiin.

Myös miksi he valitsivat esimerkissä http://arduino.cc/en/Tutorial/AnalogReadSerial 10k potentiometrin, mikä olisi erilainen 200k potentiometrillä.

Kiitos!

Kolme vastused:
Oli Glaser
2012-07-24 07:59:11 UTC
view on stackexchange narkive permalink

Pyyhkijän jännitteessä ei ole eroa minkään (tyhjentämättömän) potentiometrin kohdalla, ne kaikki toimivat samalla tavalla.

Arduinosi analogiatulo suosittelee kuitenkin alle 10 kOhm: n lähdeimpedanssia optimaalisen suorituskyvyn saavuttamiseksi. Tämä johtuu näytteen lataamiseen ja kondensaattorin pitämiseen kuluvasta ajasta, joka voidaan nähdä dynaamisena impedanssina. Alla oleva kuva on otettu AtMega328-taulusta (mikrokontrolleri, johon Arduino perustuu):

Analogue input impedance

Älä huoli liikaa, jos et ymmärrä tätä täysin juuri nyt, hyväksy vain tarvitsemme lähdeimpedanssi alle 10 kOhms.

Kuinka nyt lasketaan lähtöimpedanssi potentiometristä?

Katso lisätietoja Thevenin-ekvivalentin impedanssista. Tämä kertoo meille, että potin pyyhkimen suurin ulostulovastus on 1/4 sen vastuksesta mitattuna ylhäältä alas (kun pyyhin on keskellä) Joten jos potti on 10k, niin suurin lähtöresistanssi on 2,5k .
Tässä on simulaatio 10k potin pyyhkäisemisestä päästä päähän toiseen:

Pot Sim

X-akseli edustaa kiertymistä välillä 0-100% ( jätä huomiotta todelliset arvot) Y-akseli on pyyhkimestä mitattu lähtöimpedanssi. Voimme nähdä, miten se alkaa ja päättyy 0 ohmilla ja saavuttaa huippunsa 2,5 kOhmin keskellä (50%)

Tämä on mukavasti pienempi kuin suositeltu lähdeimpedanssi 10 k.
Voit siis käyttää mitä tahansa potin arvoa välillä esim 100 ohmia ja 40 kt jännitteenjakajana.

MUOKKAA - vastaamaan kysymykseen siitä, mitä tapahtuu, jos käytämme 200 kt pottia:

Kuten datalehden otteessa sanotaan, mitä suurempi lähteen impedanssi, sitä pidempi kondensaattori vie latauksen. Jos sitä ei ole ladattu täyteen ennen lukeman ottamista, lukema näyttää virheen todelliseen arvoon verrattuna.

Voimme selvittää, kuinka kauan kondensaattorin on ladattava 90 prosenttiin sen lopullisesta arvosta, kaava on:

2,3 * R * C

Yhden RC-aikavakion jälkeen jännite on ~ 63% sen lopullisesta arvosta. 2,3 aikavakion jälkeen se on ~ 90% kuten yllä. Tämä lasketaan 1 - (1 / e ^ (RC / t)), jossa e on luonnollinen logaritmi ~ 2,718. Esimerkiksi 2,3 aikavakion kohdalla se olisi 1 - (1 / e ^ 2,3) = 0,8997.

Joten jos liitämme ilmoitetut arvot - 50k lähdeimpedanssi, 100k sarjan impedanssi (olettaen pahimman tapauksen) ja 14pF kapasitanssi:

2,3 * 150k * 14pF = 4,83us ladattavaksi 90%.

Voimme myös laskea -3dB-arvon:

1 / (2pi * 150k * 14pF) = 75.8kHz

Jos haluamme lopullisen Arvon ollessa 99% sisällä meidän on odotettava noin 4,6 tau (aikavakio):

4,6 * 150k * 14pF = 9,66us latautumaan 99%: iin - tämä vastaa noin 16,5 kHz

Joten voimme nähdä, kuinka korkeampi lähdeimpedanssi, sitä pidempi latausaika, ja siksi matalampi taajuus, jonka ADC lukee tarkasti.

Jos potti ohjaa ~ DC-arvoa, voit kuitenkin ottaa näytteitä hyvin matalalla taajuudella ja antaa sille riittävästi aikaa latautua, koska vuoto on hyvin pieni. Joten mielestäni 200 kt: n pitäisi olla kunnossa tässä tapauksessa. Esimerkiksi audiosignaali tai mikä tahansa vaihteleva (AC) korkea impedanssisignaali, sinun on kuitenkin otettava huomioon kaikki edellä mainitut.
Tämä linkki sisältää hyviä yksityiskohtia ATMega328 ADC -ominaisuuksista.

Paljon kiitoksia yksityiskohtaisesta selityksestä! Voitteko selventää, kuinka yli 40 kΩ: n potentiometri vaikuttaisi digitaalisiin lukemiin? Kerrotaan esimerkiksi 5: llä, joten potentiometri olisi 200 kΩ?
@A.B - Lisäsin lisätietoja, toivottavasti se auttaa. Tajusin, että kysymyksessä olevaa pottia käytetään vain vaihtamaan DC-arvoa (ei ohjaamaan AC-signaalin tasoa), joten korkeamman arvon pitäisi olla kunnossa. Voit tehdä joitain omia testejäsi lähteen impedanssin >> 10k lisäämisestä, jos sinulla on tunnettu jännite ja vaihdat sarjavastusta.
stevenvh
2012-07-24 10:52:08 UTC
view on stackexchange narkive permalink

Oli näytti sinulle tiedot lomakkeesta, vaikka jos olet uusi tälle, hänen selityksensä saattaa olla hieman pään yli.

ADC: ssä (analogia-digitaalimuunnin) on pieni kondensaattori, joka pitää analogisen tulojännitteen. Kondensaattori latautuu tulon vastuksen kautta. Suuri vastus lataa kondensaattoria hitaammin. 10 kΩ suositellaan enimmäismääräksi, joten kyseisen arvon potmetrin käyttö on OK. Oliin 40 kΩ: n maksimimäärä on oikea, mutta se käy selväksi, kun opit Théveninistä.

Dan
2012-12-20 22:08:20 UTC
view on stackexchange narkive permalink

Arduinosin kokemukseni mukaan potentiometreillä, jotka ovat yli 10 k, lukemat vaihtelevat. Ratkaisen tämän asettamalla .1uf-kondensaattorin pyyhkimen ja maan väliin. Tämä pitää jännitteen vakaana analogisissa kappaleissa. Kondensaattoria käyttämällä olen käyttänyt enintään 1 MegaOhm: n kattiloita ja saanut vakaat, vakaat lukemat.

Pidän tästä, koska rinnakkainen .1uF-kondensaattori varmistaa matalan impedanssin lähteen tulotapin vaihdon jälkeen.0,1uF / 14pf = 7142, ja adc: n (10bit) resoluutio on 1 vuonna 1023. Erittäin suurilla kattiloilla tulonastan jännitteen asettamisen ja vakauttamisen välillä on pieni viive, mutta tätä ei todennäköisesti huomata.4Mohm potti on 1Mohm imp.* 0,1uF = 0,1 sekuntiaJoten 0,46 sekunnissa.arvosi on 99% muutoksesta!
Anteeksi, jos tämä tuntuu tyhmältä, mutta mitä tapahtuu, jos jännite laskee?


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...