INHOUDSOPGAWE:
- Stap 1:
- Stap 2: Konfigurasie -register
- Stap 3: Dataregister
- Stap 4: Enkele ADC-modus
- Stap 5:
- Stap 6: Differensiële ADC -modus
Video: Arduino en die TI ADS1110 16-bis ADC: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie handleiding kyk ons na die gebruik van Arduino om saam met die Texas Instruments ADS1110 te werk-'n ongelooflike klein, maar bruikbare 16-bis analoog-na-digitale omskakelaar IC.
Dit kan tussen 2,7 en 5,5 V werk, dus dit is ook goed vir Arduino Due en ander ontwikkelingsborde met laer spanning. Laai die gegewensblad (pdf) af voordat u verder gaan, aangesien dit tydens hierdie tutoriaal nuttig sal wees en daarna verwys sal word. Die ADS1110 gee u die opsie van 'n meer akkurate ADC as wat aangebied word deur die 10-bis ADC's van die Arduino-en dit is relatief maklik om te gebruik. Dit is egter slegs beskikbaar as 'n blote deel in SOT23-6.
Stap 1:
Die goeie nuus is dat u die ADS1110 kan bestel wat op 'n baie gerieflike uitbreekbord gemonteer is. Die ADS1110 gebruik die I2C -bus vir kommunikasie. En omdat daar slegs ses penne is, kan u nie die busadres instel nie - u kan in plaas daarvan uit ses variante van die ADS1110 kies - elk met hul eie adres (sien bladsy twee van die gegewensblad).
Soos u op die foto hierbo kan sien, is ons 'EDO' gemerk wat pas by die busadres 1001000 of 0x48h. En met die voorbeeldbane het ons 10kΩ optrekweerstands op die I2C-bus gebruik.
U kan die ADS1110 as 'n enkelvoudige of differensiële ADC gebruik-maar eers moet ons die konfigurasieregister ondersoek wat gebruik word om verskillende eienskappe en die dataregister te beheer.
Stap 2: Konfigurasie -register
Blaai na bladsy elf van die gegewensblad. Die konfigurasieregister is een greep groot, en namate die ADS1110 herstel word tydens 'n kragsiklus, moet u die register herstel as u behoeftes verskil van die standaard. Die gegewensblad spel dit baie netjies uit … stukkies 0 en 1 bepaal die versterkingsinstelling vir die PGA (programmeerbare versterkingsversterker).
As u net spannings meet of eksperimenteer, laat dit as nul staan vir 'n wins van 1V/V. Vervolgens word die datatempo vir die ADS1110 beheer met bisse 2 en 3. As u deurlopende monsterneming aangeskakel het, bepaal dit die aantal monsters per sekonde wat die ADC neem.
Na 'n bietjie eksperimenteer met 'n Arduino Uno, het ons gevind dat die waardes wat van die ADC teruggekeer is, effens laer was as u die vinnigste koers gebruik, dus laat dit as 15 SPS, tensy anders vereis. Bit 4 stel óf deurlopende monsterneming (0) óf eenmalige monsterneming (1) in. Ignoreer stukkies 5 en 6, maar hulle is altyd as 0 gestel.
Uiteindelik bietjie 7-as u in 'n eenmalige monsternemingsmodus is, stel dit op 1 om 'n voorbeeld-en deur dit te lees, sal u weet of die teruggestuurde data nuut (0) of oud (1) is. U kan seker maak dat die gemeet waarde 'n nuwe waarde is - as die eerste bietjie van die opsetbyte wat na die data kom 0 is, is dit nuut. As dit 1 terugbring, is die ADC -omskakeling nog nie voltooi nie.
Stap 3: Dataregister
Aangesien die ADS1110 'n 16-bis ADC is, gee die data oor twee grepe terug-en volg dan met die waarde van die konfigurasieregister. As u drie grepe versoek, kom die hele lot terug. Die data is in die vorm van 'twee se komplement', wat 'n metode is om getekende getalle met binêre te gebruik.
Die omskakeling van die twee grepe word gedoen deur 'n paar eenvoudige wiskunde. By monsterneming by 15 SPS val die waarde wat deur die ADS1110 teruggegee word (nie die spanning nie) tussen -32768 en 32767. Die hoër byte van die waarde word vermenigvuldig met 256, dan bygevoeg tot die onderste byte -wat dan vermenigvuldig word met 2.048 en uiteindelik gedeel deur 32768. Moenie skrik nie, want ons doen dit in die komende voorbeeldskets.
Stap 4: Enkele ADC-modus
In hierdie modus kan u 'n spanning lees wat tussen nul en 2,048 V val (wat ook toevallig die ingeboude verwysingspanning vir die ADS1110 is). Die voorbeeldkring is eenvoudig (uit die gegewensblad).
Moenie die 10kΩ optrekweerstands op die I2C-bus vergeet nie. Die volgende skets gebruik die ADS1110 in die standaardmodus en gee eenvoudig die gemete spanning terug:
// Voorbeeld 53.1 - ADS1110 enkelsydige voltmeter (0 ~ 2.048VDC) #sluit "Wire.h" in #definieer advertensies1110 0x48 dryfspanning, data; byte highbyte, lowbyte, configRegister; ongeldige opstelling () {Serial.begin (9600); Wire.begin (); } leemte -lus () {Wire.requestFrom (ads1110, 3); terwyl (Wire.available ()) // verseker dat alle data in {highbyte = Wire.read () verskyn; // hoë byte * B11111111 lowbyte = Draad.lees (); // lae byte configRegister = Wire.read (); }
data = hoëbyte * 256;
data = data + lowbyte; Serial.print ("Data >>"); Serial.println (data, DEC); Serial.print ("Spanning >>"); spanning = data * 2.048; spanning = spanning / 32768.0; Serial.print (spanning, DEC); Serial.println ("V"); vertraging (1000); }
Stap 5:
Sodra dit opgelaai is, koppel die sein om te meet en maak die seriële monitor oop - u kry iets soortgelyk aan die beeld van die seriële monitor wat in hierdie stap getoon word.
As u die versterking van die interne programmeerbare versterkingsversterker van die ADC moet verander - moet u 'n nuwe byte in die konfigurasieregister skryf deur gebruik te maak van:
Wire.beginTransmission (ads1110); Wire.write (opsetbyte); Wire.endTransmission ();
voordat u die ADC -data versoek. Dit is 0x8D, 0x8E of 0x8F vir versterkingswaardes van onderskeidelik 2, 4 en 8 - en gebruik 0x8C om die ADS1110 terug te stel na standaard.
Stap 6: Differensiële ADC -modus
In hierdie modus kan u die verskil tussen twee spannings wat elk tussen nul en 5 V. val, lees. Die voorbeeldkring is eenvoudig (uit die gegewensblad).
Ons moet hier (en in die gegewensblad) daarop let dat die ADS1110 nie negatiewe spannings op enige van die insette kan aanvaar nie. U kan die vorige skets vir dieselfde resultate gebruik- en die gevolglike spanning is die waarde van Vin- afgetrek van Vin+. As u byvoorbeeld 2 V op Vin+ en 1 V op Vin gehad het, sou die resulterende spanning 1 V wees (met die versterking op 1).
Weereens hoop ons dat u dit interessant en moontlik nuttig gevind het. Hierdie pos word deur pmdway.com aan u gebring - alles vir vervaardigers en elektronika -entoesiaste, met gratis aflewering wêreldwyd.
Aanbeveel:
Verhoog die speling tussen die kopervliegtuig en die seinspoor: 3 stappe
Verhoog die speling tussen die kopervliegtuig en die seinspoor: ek is 'n stokperdjie en ek ontwerp printplate (PCB) vir my blogs en Youtube -video's. Ek het my PCB aanlyn bestel by LionCircuits. Dit is 'n Indiese onderneming en het 'n outomatiese vervaardigingsplatform. Dit hersien u Ger outomaties
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek