Sisällysluettelo:

Kuinka tehdä ADC: n nykyinen tunne: 5 vaihetta
Kuinka tehdä ADC: n nykyinen tunne: 5 vaihetta

Video: Kuinka tehdä ADC: n nykyinen tunne: 5 vaihetta

Video: Kuinka tehdä ADC: n nykyinen tunne: 5 vaihetta
Video: MITEN TYTÖT KÄY SALILLA | SKETSI 2024, Marraskuu
Anonim
Kuinka tehdä ADC: n nykyinen järki
Kuinka tehdä ADC: n nykyinen järki

Tässä ohjeessa kuvataan, miten SLG46855V: ssä voidaan ottaa käyttöön 8-bittinen analogia-digitaalimuunnin (ADC), joka voi havaita kuormitusvirran ja rajapinnan MCU: n kanssa I2C: n kautta. Tätä mallia voidaan käyttää erilaisissa virranmittaussovelluksissa, kuten ampeerimittareissa, vikavalvontajärjestelmissä ja polttoainemittarissa.

Alla kuvattiin vaiheet, jotka tarvitaan ymmärtämään, miten ratkaisu on ohjelmoitu luomaan ADC -nykyinen tunne. Jos haluat vain saada ohjelmoinnin tuloksen, lataa GreenPAK -ohjelmisto nähdäksesi jo valmistuneen GreenPAK -suunnittelutiedoston. Kytke GreenPAK -kehityssarja tietokoneeseen ja luo ohjelma ADC: n nykyisestä tunteesta painamalla ohjelmaa.

Vaihe 1: ADC -arkkitehtuuri

ADC -arkkitehtuuri
ADC -arkkitehtuuri

ADC koostuu pääasiassa analogisesta vertailusta ja DAC-muunnoksesta. Vertailija tunnistaa tulojännitteen suhteessa DAC -lähtöjännitteeseen ja valvoo myöhemmin, lisätäänkö vai vähennetäänkö DAC -tulokoodia siten, että DAC -lähtö lähenee tulojännitettä. Tuloksena olevasta DAC -tulokoodista tulee ADC: n digitaalinen lähtökoodi.

Toteutuksessamme luomme DAC: n käyttämällä pulssileveysmodulaatiota (PWM) ohjattua vastusverkkoa. Voimme helposti luoda tarkan digitaalisesti ohjatun PWM -lähdön GreenPAK: n avulla. PWM suodatettuna tulee analogiseksi jännitteeksi ja toimii siten tehokkaana DAC: na. Tämän lähestymistavan selvä etu on, että nollakoodin ja täyden asteikon (vastaavasti offsetin ja vahvistuksen) vastaavat jännitteet on helppo asettaa yksinkertaisesti säätämällä vastuksen arvoja. Esimerkiksi käyttäjä haluaa ideaalisesti lukea nollakoodin lämpötila-anturista, jossa ei ole virtaa (0 µA), joka vastaa 4,3 V, ja täysimittainen koodi 1000 µA: ssa, joka vastaa 3,9 V (taulukko 1). Tämä on helppo toteuttaa asettamalla vain muutama vastusarvo. Kun ADC -alue vastaa kiinnostavaa anturialuetta, hyödynnämme parhaiten ADC -resoluutiota.

Tämän arkkitehtuurin suunnittelussa on otettava huomioon, että sisäisen PWM -taajuuden on oltava paljon nopeampi kuin ADC -päivitysnopeus, jotta sen ohjaussilmukan alijäähdytetty käyttäytyminen estetään. Sen pitäisi ainakin olla pidempi kuin ADC: n datamittarin kello jaettuna 256. Tässä mallissa ADC: n päivitysjaksoksi on asetettu 1,3312 ms.

Vaihe 2: Sisäinen piiri

Sisäinen piiri
Sisäinen piiri

Joustava ADC perustuu Dialog Semiconductor AN-1177: ssä esitettyyn suunnitteluun. Kellotaajuutta nostetaan 1 MHz: stä 12,5 MHz: iin ADC -laskurin kellottamiseksi, koska SLG46855: ssä on 25 MHz: n kello. Tämä mahdollistaa paljon nopeamman päivitysnopeuden näytteen tarkkuuden parantamiseksi. ADC -datakellon LUT -kello muutetaan siten, että se kulkee 12,5 MHz: n signaalin läpi, kun PWM DFF on alhainen.

Vaihe 3: Ulkoinen piiri

Ulkoinen piiri
Ulkoinen piiri

Ulkoista vastusta ja kondensaattoriverkkoa käytetään PWM: n muuntamiseen analogiseksi jännitteeksi kuvan 1 piirikaavion mukaisesti. Arvot lasketaan suurimmalle resoluutiolle laitteen havaitsemalle maksimivirralle. Tämän joustavuuden saavuttamiseksi lisäämme vastuksia R1 ja R2 rinnakkain VDD: n ja maan kanssa. Vastusjakaja jakaa VBAT: n alas jännitealueen matalalle puolelle. Odotetun vähimmäis -VBAT: n jakajasuhde voidaan ratkaista käyttämällä yhtälöä 1.

Vaihe 4: I2C Lue ohjeet

I2C Lue ohjeet
I2C Lue ohjeet

Taulukko 1 kuvaa I2C -komentorakennetta CNT0: een tallennettujen tietojen lukemiseksi. I2C -komennot edellyttävät aloitusbittiä, ohjaustavu, sanaosoite, luku- ja lopetusbitti.

Esimerkki I2C -komennosta CNT0 -lasketun arvon lukemiseksi on kirjoitettu alla:

[0x10 0xA5] [0x11 R]

Laskettu arvo, joka luetaan takaisin, on ADC -koodiarvo. Esimerkiksi Arduino -koodi sisältyy tämän sovellushuomautuksen ZIP -tiedostoon Dialogin verkkosivustolla.

Vaihe 5: Tulokset

Tulokset
Tulokset
Tulokset
Tulokset
Tulokset
Tulokset

ADC -virranmittauksen tarkkuuden testaamiseksi mitatut arvot tietyllä kuormitusvirralla ja VDD -tasolla verrattiin teoreettiseen arvoon. Teoreettiset ADC -arvot laskettiin yhtälöllä 2.

ILOAD, joka korreloi ADC -arvon kanssa, löytyy yhtälöstä 3.

Seuraavia tuloksia varten käytin näitä taulukossa 3 esitettyjä komponenttiarvoja.

ADC -arvon päätöslauselma ILOAD -muunnokseksi voidaan laskea käyttämällä yhtälöä 3, jossa mitatut arvot taulukossa 2 ja ADC -arvo asetettu arvoon 1. Kun VBAT -arvo on 3,9 V, resoluutio on 4,96 µA/jako.

ADC -virranmittauspiirin optimoimiseksi vähintään 3,6 V: n VDD -tasolle 1100 µA: n maksimivirralla ja 381 Ω: n aistivastuksella, ihanteellinen jakajakerroin olisi 0,884 yhtälön 1 perusteella. Taulukossa annetut arvot Kuviossa 2 todellisen jakajan jakajakerroin on 0,876. Koska tämä on hieman pienempi, se mahdollistaa hieman suuremman kuormitusvirran, joten ADC -arvot ovat lähellä koko aluetta, mutta eivät ylitä. Jakajan todellinen arvo lasketaan yhtälöllä 4.

Yllä (kuvat 2-6, taulukot 4-6) ovat piiristä mitatut mitat kolmella jännitetasolla: 4,3 V, 3,9 V ja 3,6 V. Kullakin tasolla näkyy kaavio, joka näyttää mitattujen ja teoreettisten ADC-arvojen välisen eron. Teoreettiset arvot pyöristetään lähimpään kokonaislukuun. On yhteenvetokaavio, jossa vertaillaan eroja kolmella jännitetasolla. Jälkeenpäin on kaavio, joka näyttää korrelaation teoreettisten ADC -arvojen ja kuormitusvirran välillä eri jännitetasoilla.

Johtopäätös

Laitetta testattiin kolmella jännitetasolla: 3,6 V, 3,9 V ja 4,3 V. Näiden jännitteiden valikoima mallintaa täyden litiumioniakun, joka purkaa nimellistasonsa. Kolmesta jännitetasosta havaitaan, että laite oli tyypillisesti tarkempi 3,9 V: n kohdalla valitulle ulkoiselle piirille. Ero mitattujen ja teoreettisten ADC -arvojen välillä oli vain yksi desimaaliarvo 700 - 1000 µA: n kuormitusvirroilla. Annetulla jännitealueella mitatut ADC -arvot olivat pahimmassa tapauksessa 3 desimaalia yli nimellisolosuhteiden. Lisäsäätöjä vastuksenjakajaan voidaan tehdä erilaisten VDD -jännitetasojen optimoimiseksi.

Suositeltava: