Sisällysluettelo:
- Vaihe 1: ADC -arkkitehtuuri
- Vaihe 2: Sisäinen piiri
- Vaihe 3: Ulkoinen piiri
- Vaihe 4: I2C Lue ohjeet
- Vaihe 5: Tulokset
Video: Kuinka tehdä ADC: n nykyinen tunne: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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 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
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
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
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
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:
Nykyinen tärinänilmaisin: 3 vaihetta
Present Shake Detector: Tässä projektissa aiomme tehdä laitteen, joka antaa hälytyksen, jos joku ravistelee lahjaa/laatikkoa. Sain tämän idean, kun saimme paketin postissa jouluksi. Yritämme arvata, mitä siinä oli, tietysti ravistimme sitä aivan kuten kaikki
DIY Kuinka tehdä tyylikkään näköinen kello - StickC - Helppo tehdä: 8 vaihetta
DIY Kuinka tehdä tyylikkään näköinen kello - StickC - Helppo tehdä: Tässä opetusohjelmassa opimme ohjelmoimaan ESP32 M5Stack StickC: n Arduino IDE: n ja Visuinon avulla näyttämään ajan nestekidenäytöllä ja asettamaan ajan myös StickC -painikkeilla
Tunne sää: 5 vaihetta
Knowyourweather: Hei, kouluprojektissamme meillä oli luettelo, josta voisimme valita projektin, jonka halusimme tehdä, tai itse ideamme. Valitsin sääaseman, koska se näytti mielenkiintoiselta ja ehkä hyvä idea pitää se ehjä ja pieni kuin
Älykäs puettava ja henkilökortti Katso sydämesi syke Tunne se: 5 vaihetta
Älykäs puettava ja henkilökortti Näe sydämesi syke Tunne se: ÄLYKÄSTI KÄYTETTÄVÄ Älykäs O.LED -pohjainen pukeutuva laite, joka on varustettu antureilla, jotka näyttävät sydämesi suorana, ja ledi, joka hehkuu sydämesi mukaan, se antaa sinulle uuden jännittävän kokemuksen, jota voit itse seurata sydämenlyönnisi ja näet sen huolen
Raspberry Pi Oled -kello Katso, kuule ja tunne: 5 vaihetta (kuvilla)
Raspberry Pi Oled -kello Katso se kuule se ja tunne se: Tämä on älykäs kello, joka näyttää ajan OLED -näytöllä, ja voit myös kuulla ajan eri aikaväleillä, jotka ovat täynnä sokeita ja se myös muuttaa ledin väriä ajan myötä valo iltahämärässä muuttuu oranssista keltaiseksi ja