Arduino programmeerbare constante huidige macht weerstand Dummy Load (6 / 16 stap)

Stap 6: MCP3204 - ADC


Een ADC (analoog digitaal conversie) helpt ons een analoge spanning lezen en converteren naar een digitale binair getal waarmee de micro-controller zich onder het. Deze MCP3204 (gegevensblad) ADC is gemaakt door Microchip en een SPI interface gebruikt om te communiceren met de Micro-controller. Ik zal praten meer over de SPI later in een andere stap.

De pinnen voor de MCP3204 zijn als volgt

  1. Ingang voor ADC kanaal 0.
  2. Ingang voor ADC kanaal 1.
  3. Ingang voor ADC kanaal 2.
  4. Ingang voor ADC kanaal 3.
  5. Intern niet aangesloten.
  6. Intern niet aangesloten.
  7. Digitale grond - dit project maakt gebruik van een gemeenschappelijke basis.
  8. Dit is een actieve laag Chip select pin gebruikt voor de interface van de SPI (uitgelegd in een latere stap).
  9. Dit zijn gegevens in, ook wel bekend als MOSI gebruikt voor de interface van de SPI (uitgelegd in een latere stap).
  10. Dit zijn gegevens, ook wel bekend als MISO gebruikt voor de interface van de SPI (uitgelegd in een latere stap).
  11. Seriële klok pin gebruikt voor de interface van de SPI (uitgelegd in een latere stap).
  12. Analoge grond - dit project maakt gebruik van een gemeenschappelijke basis.
  13. Spanning referentie-ingang.
  14. VDD - voorziening voltage pin - 5V

Strikt genomen, ik echt niet nodig om een aparte ADC onder met het ontwerp, zoals de ATMega32U4 een ingebouwde 10 bit ADC heeft, echter, er zijn twee belangrijke redenen waarom ik dat deed,

  1. Betere resolutie
  2. Omdat ik spelen met een wilde!

Zoals u waarschijnlijk al weet zijn micro-controllers digitale, digitale producten alleen werken op 0s en 1s. Een digitaal apparaat, lezen door zelf, een analoge waarde zoals een spannings- of 3.21V niet. Digitale producten kunnen alleen gelezen logica waarden, bijvoorbeeld 0v "af" is 5v "it's over".

Voordat we te ver in deze, een beetje op welke binaire is, binaire is een base 2 nummering, dat betekent dat het kan alleen rekenen 2 stappen voordat tikt naar het volgende cijfer.

0
1

Onze normale nummeringssysteem, het decimale stelsel, is een grondtal 10 nummering, we kunnen rekenen 10 stappen voordat tikt naar het volgende cijfer.

0
1
2
3
4
5
6
7
8
9

Hier is een voorbeeld van wat 0 tot en met 7 looks like in binary,

0 0
1 1
2 10
3-11
4 100
5 101
6 110
7 111

Elk cijfer staat bekend als een "beetje" en 8 bits is een "byte" dus de maximale decimaal getal u rekenen kunt voor het gebruik van een binair getal van 8 bits is 255. Dus dat is 256 verschillende waarden omdat wij 0 opnemen als een waarde.

0 0
.. ..
.. ..
255 11111111

De resolutie van een ADC aangeeft hoeveel bits of stappen voor een binary nummer het meten van een analoge waarde te converteren naar digitale binair getal, bijvoorbeeld

  • 8 bit ADC 256 stappen kunt meten = 2 tot de macht van 8
  • 10 bit ADC 1024 stappen kunt meten = 2 tot de macht van 10
  • 12 bit ADC 4096 stappen kunt meten = 2 tot de macht van 12

I 'm guessing dat dit is niet het maken van veel zin nog, dat is OK, wel.

Alle ADCs moeten gebruiken een referentie spanning, deze spanning referentie laat de ADC te vergelijken van de spanning zijn lezing tegen de referentie spanning en een percentage als het binaire getal te retourneren. OK, voorbeeld van de tijd, voor een 8 bit ADC, het maximale aantal stappen het de referentie spanning kan breken in is 256 (Vergeet niet 0V), dus voor het gemak, laat maken onze referentie spanning 255v (het zou niet maar laat ga mee), als de spanning de ADC leest is 255v, het vergelijkt het met de referentie spanning en zegt , OK zijn 100% van mijn referentie spanning dus im gonna sturen u de hoogste digitale waarde ik kan, 255. Het leest het opnieuw en zijn nu 128V, het zegt OK, zijn nu slechts 50% van mijn referentie spanning dus ik stuur je 50% van mijn binaire waarde, 128.

Onze bijvoorbeeld eerder, hadden we een referentie spanning van 255V en wij 256 stappen, dus dat is gemakkelijk, het kan lezen in 1V stappen, wat als we nodig voor het lezen van 0.1V stappen? Nou dat is gewoon stoer, omdat een 8 bit ADC kan alleen tellen tot 256. Dat is waar een hogere resolutie ADC komt. Laat nu vergelijken een 100V referentie spanning zodat we de voordelen zien kunnen van het gebruik van een ADC met een hogere resolutie.

8 bits = 256 stappen, verdelen we onze referentie spanning door onze resolutie om erachter te komen welke spanning verschillen onze ADC lezen kunt, 100 / 256 = 0.39V. Dus de laagste onze 8 bit kan lezen is 0.39V, dan zijn de volgende waarde 0.78V

10 bits = 1024 stappen, 100/1024 = 0.098V. Dus de laagste onze 10 bit kan lezen is 0.098v, dan de volgende waarde zal worden 0.196V. Nog veel kleinere kloof tussen de lezingen.

12 bits = 4096 stappen, 100/4096 = 0.024v. Dus de laagste onze 12 bit kan lezen 0.024v is, dan zullen de volgende waarde 0.048v, enzovoort. Dan zal er 4096 verschillende waarden voordat zij de volledige 100V tot.

Zoals u zien kunt, is het een nog veel betere nauwkeurigheid de hogere resolutie die u gaat.

Gerelateerde Artikelen

Constante huidige LED (Arduino)

Constante huidige LED (Arduino)

Je had waarschijnlijk hebben dat probleem. Je wil veel LED's op een vermogen, maar je niet echt weet hoe...Avery eenvoudige oplossing kan zijn dat je alle uw LED's parallel aan elkaar. Vervolgens u berekenen de weerstand van hen, en voor je. Of, als
Kleine lading - constante huidige belasting

Kleine lading - constante huidige belasting

Ik heb de ontwikkeling zelf een bankje PSU, en eindelijk op het punt waar ik wil een lading van toepassing om te zien hoe zij presteert. Na het bekijken van Dave Jones uitstekende video en kijken naar een paar andere internetbronnen, kwam ik met klei
Arduino-programmeerbare LED Infinity spiegel

Arduino-programmeerbare LED Infinity spiegel

Ben je moe van het kijken naar kamer elementen die lijken te hebben van eindige diepte?Misschien moet je overwegen bouwen van uw eigen Arduino-programmeerbare LED Infinity spiegel!Deze optische illusie is een eye-catcher en biedt veel ruimte voor aan
Elektronica projecten: Constante huidige Power Supply met Pulse Width Modulation

Elektronica projecten: Constante huidige Power Supply met Pulse Width Modulation

licht een LED, Power een motor, dit eenvoudige - ish circuit zal geschikt voor alles wat je constant huidige behoeften met behulp van NE555 chips! Dit is een geweldige manier om te leren over elektronica en hoewel niet zo efficiënt als met behulp van
DIY constante huidige belasting

DIY constante huidige belasting

In dit kleine project zal ik u tonen hoe te maken van een eenvoudig regelbaar constante huidige geabsorbeerd. Dergelijke een gadget is handig als u wilt meten van het vermogen van chinese Li-Ion batterijen. Of u kunt testen hoe stabiel is uw voeding
De invoering van 5A constante huidige en Constant Voltage LED Driver batterij opladen Module

De invoering van 5A constante huidige en Constant Voltage LED Driver batterij opladen Module

ICStation R & D afdeling heeft het ontwikkelen van dit prachtige product--5A constante huidige en Constant Voltage LED Driver opladen van de batterij Module($5.54 + gratis verzending) onlangs. Bedankt voor hun grote inspanningen! We zullen het delen
Arduino programmeerbare knop deelvenster als toetsenbord

Arduino programmeerbare knop deelvenster als toetsenbord

Dit is een vrij eenvoudig en leuk project met Arduino die een ideale optie voor uw eerste interactie met Arduino is. Maakt u een paneel met verschillende knoppen, elkaar zal het doen van een actie in uw computer (Mac of Pc) door emuleren van toetsenb
Een Mini Arduino programmeerbare 4 kanaaloproep DC-DVM

Een Mini Arduino programmeerbare 4 kanaaloproep DC-DVM

Dit Instructable leert u hoe met de Arduino analoge poorten.Digitale Voltmeters (DVMs) zijn een speciaal geval van analoog naar digitaal convertors - A / DCs.-ze meten van spanning - en zijn meestal een functie van een algemene doel-instrument genaam
Constante huidige LED-Tester

Constante huidige LED-Tester

dit Instructable toont u hoe te bouwen van een kleine LED-tester van alleen een paar onderdelen.Het biedt een bijna constante stroom over een brede waaier van voedingsspanningen. Het is erg handig voor het testen van een heleboel LEDs van verschillen
WEEKLIMATIC Arduino programmeerbare thermostaat

WEEKLIMATIC Arduino programmeerbare thermostaat

Het is een programmeerbare thermostaat Arduino gebaseerd.Tot 9 wekelijkse programma's kunnen worden opgeslagen.Drie modaliteit: SET PROGRAM, AUTO MODE, PROGRAM MODETwee programma modaliteit: op Mode / OFF-modus.. .en meer fuctions, volledig aanpasbaa
Instelbare constante huidige bron 4mA aan 3A

Instelbare constante huidige bron 4mA aan 3A

Hallo, in dit project ik wil je laten zien aadjustable constand stroombron, welke maximale stroom is 3A door 39V. Dit is een zeer nuttige schakeling, aan het licht van powerleds of kachel, ook is het een zeer goedkope en tiny circuit, dat is gemakkel
Roterende telefoon bellen Arduino + onzichtbare inkt = huidige verjaardag

Roterende telefoon bellen Arduino + onzichtbare inkt = huidige verjaardag

ik heb een aantal draaiknop telefoons en telefoon onderdelen die ik dacht dat ik kon gebruiken op een domme manier.Ik beginnen met dit instructableToen ik klaar, heb ik een object dat als volgt werkt:-kiezen van een nummer of reeks nummers-Druk op de
Eenvoudige variabele huidige macht levering 12V 1A-5A

Eenvoudige variabele huidige macht levering 12V 1A-5A

Het is de variabele huidige voeding waardoor output van 12V 1A-5Ahet is een ontworpen PCBInput is door 12V 5A transformatoru kunt ook het verhogen van de huidige beoordeling van de voeding met behulp van meer geen. van spanning regulater IC;Stap 1: D
DIY een fiets achterlicht met Arduino

DIY een fiets achterlicht met Arduino

Ik ben een liefhebber van fietsen.Jaren geleden, toen ik een knappe jongeman ben, in mijn tweede jaar aan het College, had ik de rit van Sichuan naar Tibet, de beroemde G318 in China afgerond. Het is bekend als's werelds mooiste en meest gevaarlijke