Vraag:
Hoe gebruik je 3.3V en 5V uitvoerende sensoren met Arduino?
tuupola
2009-11-03 03:43:18 UTC
view on stackexchange narkive permalink

Om de volledige resolutie van Arduino ADC te krijgen bij gebruik van 3,3V-sensoren, moet je twee dingen doen.

  1. Sluit de 3,3V-voeding aan op de AREF-pin.
  2. Bel analogReference (EXTERNAL) in de code.

Maar wat als ik 3.3V en 5V uitvoerende sensoren moet combineren. Wat zijn mijn mogelijkheden?

Drie antwoorden:
JohnC
2009-11-03 15:01:19 UTC
view on stackexchange narkive permalink

Een eenvoudige oplossing is om een ​​weerstandsverdeler te gebruiken (verhouding ongeveer 1: 1,94) en het 5V-signaal te verminderen tot een piek van 3,3v Op die manier behoudt u de volledige resolutie zonder dat u van referentie hoeft te wisselen. Een geschikte verdeler zou zijn om een 18k van de sensor naar de analoge ingang en 33k van de analoge ingang naar aarde. Dit zou de 5v-ingang vertalen naar een 3,23v-ingang. Het gebruik van weerstanden met een hogere precisie zou dit indien nodig dichter bij 3,3 V brengen. Je moet ervoor zorgen dat de sensor de stroom kan leveren die nodig is voor een bepaalde waarde - in dit geval ongeveer 0,1 mA. De ingangsweerstand van de analoge ingangen van ATMega is ongeveer 100 M ohm, zodat u deze waarden aanzienlijk kunt verhogen (waardoor de belasting van de sensor wordt verminderd) voordat u zich zorgen maakt over het effect van de ingangsweerstand.

ka1kjz
2009-11-03 05:29:31 UTC
view on stackexchange narkive permalink

Twee dingen, leef met de verminderde resolutie van de 3.3V-sensoren en houd uw referentie op 5V. Dat is wat ik gewoonlijk doe en het is goed genoeg.

U kunt uw analoge referentie ook direct wijzigen bij het lezen van elke respectieve sensor. Ik herinner me dat ik gelezen heb over het mixen van externe referenties en interne referenties en het hebben van een serie beperkende weerstand op je AREF, dus lees dat deel van de Arduino-referentie zorgvuldig.

Lou
2009-11-03 22:04:59 UTC
view on stackexchange narkive permalink

U kunt ook overwegen om naar nieuwere versies van uw sensoren te zoeken. Mogelijk kunt u sensoren aanschaffen die beide met dezelfde spanningslimieten werken, of u zult ontdekken dat er nieuwere versies van de sensoren beschikbaar zijn die u digitale uitgangen geven en die kunnen worden gepolld met I2C of andere eenvoudige seriële communicatieprotocollen. Je zou natuurlijk een nieuwe chip moeten kopen, maar ze zijn niet erg duur en je zou niet alleen het probleem oplossen, maar je zou je project waarschijnlijk ook nauwkeuriger kunnen maken omdat je je geen zorgen hoeft te maken over ruis. in je circuit.

In plaats van je hele project opnieuw te ontwerpen om er nieuwe chips in te passen, bieden John C en de ham uitstekende, eenvoudige oplossingen. In mijn ervaring heb ik een 3v3-sensor gebruikt met een 5V-voeding en referentie en heb ik grotere problemen gehad met ruis dan met verloren resolutie voor losse projecten. Dit is de gemakkelijkste uitweg, maar vereist wel dat je wat wiskunde doet, en ik heb het bericht van ka1kjz dienovereenkomstig gestemd (controleer de referentiebladen).

Wat de spanningsdeleroplossing betreft, zolang omdat u weerstanden met een hogere precisie gebruikt, krijgt u het voordeel dat al uw metingen in hetzelfde spanningsbereik liggen en krijgt u het ratiometrische correctievoordeel van het gebruik van AREF om elke spanningsrimpel te volgen. In de praktijk heb ik echter ontdekt dat ruis en gebrek aan kalibratietechnieken in mijn projecten meer fouten hebben bijgedragen dan een kleine spanningsrimpel of 10% weerstanden redelijkerwijs zouden kunnen veroorzaken. Om die reden heb ik ook JohnC's oplossing gestemd, aangezien hij dit allemaal in meer detail behandelt.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...