Turinys:
- 1 žingsnis: ADC architektūra
- 2 žingsnis: vidinė grandinė
- 3 žingsnis: išorinė grandinė
- 4 žingsnis: I2C Skaitykite instrukcijas
- 5 žingsnis: Rezultatai
Video: Kaip padaryti ADC dabartinį jausmą: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Šioje instrukcijoje aprašysime, kaip SLG46855V įdiegti 8 bitų analoginį-skaitmeninį keitiklį (ADC), kuris gali aptikti apkrovos srovę ir sąsają su MCU per I2C. Ši konstrukcija gali būti naudojama įvairioms srovės jutikliams, tokioms kaip ampermetrai, gedimų aptikimo sistemos ir degalų matuokliai.
Žemiau aprašėme veiksmus, kurių reikia norint suprasti, kaip sprendimas buvo užprogramuotas, kad būtų sukurtas dabartinis ADC jausmas. Tačiau, jei norite gauti programavimo rezultatą, atsisiųskite „GreenPAK“programinę įrangą, kad peržiūrėtumėte jau užpildytą „GreenPAK“dizaino failą. Prijunkite „GreenPAK Development Kit“prie kompiuterio ir paspauskite programą, kad sukurtumėte dabartinę ADC prasmę.
1 žingsnis: ADC architektūra
ADC iš esmės sudaro analoginis palyginimas ir skaitmeninis-analoginis keitiklis (DAC). Lygintuvas nustato įėjimo įtampą, palyginti su DAC išėjimo įtampa, ir vėliau kontroliuoja, ar padidinti ar sumažinti DAC įvesties kodą, kad DAC išėjimas susilietų su įėjimo įtampa. Gautas DAC įvesties kodas tampa ADC skaitmeniniu išvesties kodu.
Įgyvendindami mes sukuriame DAC, naudodami impulsų pločio moduliacijos (PWM) valdomą rezistorių tinklą. Naudodami „GreenPAK“galime lengvai sukurti tikslią skaitmeniniu būdu valdomą PWM išvestį. Filtruojamas PWM tampa mūsų analogine įtampa ir taip tarnauja kaip veiksmingas DAC. Ryškus šio metodo pranašumas yra tas, kad paprasta nustatyti įtampą, atitinkančią nulinį kodą ir visą skalę (lygiavertį poslinkį ir padidėjimą), tiesiog reguliuojant rezistorių vertes. Pavyzdžiui, vartotojas nori idealiai nuskaityti nulinį kodą iš temperatūros jutiklio be srovės (0 µA), atitinkančio 4,3 V, ir visos skalės kodą esant 1000 µA, atitinkantį 3,9 V (1 lentelė). Tai lengva įgyvendinti, tiesiog nustatant keletą rezistorių verčių. Kadangi ADC diapazonas atitinka dominančio jutiklio diapazoną, mes labiausiai naudojame ADC skiriamąją gebą.
Projektuojant šią architektūrą reikia atsižvelgti į tai, kad vidinis PWM dažnis turi būti daug greitesnis nei ADC atnaujinimo dažnis, kad būtų išvengta nepakankamo valdymo ciklo veikimo. Bent jau jis turėtų būti ilgesnis nei ADC duomenų skaitiklio laikrodis, padalytas iš 256. Šioje konstrukcijoje ADC atnaujinimo laikotarpis nustatytas 1,3312 ms.
2 žingsnis: vidinė grandinė
Lankstus ADC yra pagrįstas „Dialog Semiconductor AN-1177“pateiktu dizainu. Laikrodžio greitis padidinamas nuo 1 MHz iki 12,5 MHz, kad būtų rodomas ADC skaitiklis, nes SLG46855 turi 25 MHz laikrodį. Tai leidžia daug greičiau atnaujinti, kad būtų užtikrinta geresnė mėginių raiška. ADC duomenų laikrodžio LUT laikrodis yra pakeistas, todėl jis perduos 12,5 MHz signalą, kai PWM DFF yra žemas.
3 žingsnis: išorinė grandinė
Išorinis rezistorius ir kondensatorių tinklas naudojami PWM paversti analogine įtampa, kaip parodyta schemoje 1 paveiksle. Reikšmės apskaičiuojamos, kad būtų pasiekta maksimali skiriamoji geba, skirta maksimaliai srovei, kurią jaus prietaisas. Norėdami pasiekti šį lankstumą, lygiagrečiai VDD ir įžeminimui pridedame rezistorius R1 ir R2. Rezistoriaus daliklis padalija VBAT iki žemos įtampos diapazono pusės. Tikėtino minimalaus VBAT daliklio santykį galima išspręsti naudojant 1 lygtį.
4 žingsnis: I2C Skaitykite instrukcijas
1 lentelėje aprašoma I2C komandų struktūra, skirta CNT0 saugomiems duomenims perskaityti. I2C komandoms reikalingas pradžios bitas, valdymo baitas, žodžio adresas, skaitymo bitas ir sustabdymo bitas.
I2C komandos pavyzdys, norint perskaityti suskaičiuotą CNT0 vertę, parašytas žemiau:
[0x10 0xA5] [0x11 R]
Perskaityta vertė bus perskaityta pagal ADC kodo reikšmę. Pavyzdžiui, „Arduino“kodas yra įtrauktas į šios programos pastabos ZIP failą „Dialog“svetainėje.
5 žingsnis: Rezultatai
Norint patikrinti ADC srovės jutiklio konstrukcijos tikslumą, išmatuotos vertės esant tam tikrai apkrovos srovei ir VDD lygiui buvo lyginamos su teorine verte. Teorinės ADC vertės buvo apskaičiuotos naudojant 2 lygtį.
ILOAD, kuris koreliuoja su ADC verte, randamas su 3 lygtimi.
Norėdami gauti šiuos rezultatus, naudoju šias 3 lentelėje pateiktas komponentų reikšmes.
ADC reikšmės ir ILOAD konversijos skiriamąją gebą galima apskaičiuoti naudojant 3 lygtį su 2 lentelėje išmatuotomis vertėmis ir nustatytą ADC reikšmę 1. Kai VBAT yra 3,9 V, skiriamoji geba yra 4,96 µA/div.
Siekiant optimizuoti ADC srovės jutiklio grandinę iki mažiausios VDD lygio 3,6 V esant maksimaliai 1100 µA srovei ir 381 Ω jutimo rezistoriui, idealus daliklio koeficientas būtų 0,884, remiantis 1 lygtimi. 2, faktinis daliklis turi daliklio koeficientą 0,876. Kadangi tai yra šiek tiek mažiau, tai leis šiek tiek didesnį apkrovos srovės diapazoną, todėl ADC vertės yra artimos visam diapazonui, tačiau neperpildomos. Faktinė daliklio vertė apskaičiuojama pagal 4 lygtį.
Viršuje (2-6 paveikslai, 4-6 lentelės) yra grandinės matavimai trimis įtampos lygiais: 4,3 V, 3,9 V ir 3,6 V. Kiekviename lygyje rodomas grafikas, rodantis skirtumą tarp išmatuotų ir teorinių ADC verčių. Teorinės vertės suapvalinamos iki artimiausio sveikojo skaičiaus. Yra suvestinė diagrama, skirta palyginti trijų įtampos lygių skirtumus. Vėliau yra grafikas, rodantis koreliaciją tarp teorinių ADC verčių ir apkrovos srovės esant skirtingiems įtampos lygiams.
Išvada
Prietaisas buvo išbandytas trimis įtampos lygiais: 3,6 V, 3,9 V ir 4,3 V. Šių įtampų diapazone modeliuota visa ličio jonų baterija, kuri išsikrauna iki nominalios vertės. Iš trijų įtampos lygių pastebėta, kad pasirinktos išorinės grandinės įtaisas paprastai buvo tikslesnis esant 3,9 V įtampai. Skirtumas tarp išmatuotų ir teorinių ADC verčių buvo tik 1 dešimtainė reikšmė esant 700 - 1000 µA apkrovos srovėms. Esant tam tikram įtampos diapazonui, išmatuotos ADC vertės blogiausiu atveju buvo 3 dešimtainiai taškai virš nominalių sąlygų. Norint optimizuoti skirtingus VDD įtampos lygius, galima dar kartą sureguliuoti rezistorių skirstytuvą.
Rekomenduojamas:
Kaip sukurti aukštą dabartinį žingsninio variklio tvarkyklę: 5 žingsniai
Kaip sukurti aukštą dabartinį žingsninio variklio tvarkyklę: čia pamatysime, kaip sukurti žingsninio variklio tvarkyklę naudojant „Toshiba“TB6560AHQ valdiklį. Tai yra pilnai valdomas valdiklis, kuriam įvesti reikia tik 2 kintamųjų ir jis atlieka visą darbą. Kadangi man reikėjo dviejų iš jų, padariau abu naudodami
KAIP PADARYTI ARDUINO NANO/MINI - Kaip įrašyti įkrovos įkroviklį: 5 žingsniai
KAIP PADARYTI ARDUINO NANO/MINI | Kaip įrašyti įkrovos įkroviklį: šioje instrukcijoje aš jums parodysiu, kaip padaryti „Arduino MINI“iš nulio. Šioje instrukcijoje aprašyta procedūra gali būti naudojama bet kokioms „arduino“plokštėms sukurti pagal jūsų pasirinktinius projekto reikalavimus. Jei norite geriau suprasti, žiūrėkite vaizdo įrašą
Kaip padaryti, kad jūsų kompiuteris atrodytų kaip „Windows Vista“!: 5 žingsniai
Kaip padaryti, kad jūsų kompiuteris atrodytų kaip „Windows Vista“!: Dabar aš jums parodysiu, kaip „Windows XP“atrodyti kaip „Windows Vista“. Taigi aš lažinuosi, kad kai kurie iš jūsų klausia …. kas yra „Windows Vista“… Na, ar jūs kada nors girdėjote apie „Windows XP“, todėl tai yra geriausia OS. Dabar lažinuosi, kad kai kurie iš jūsų manęs klausia
Kaip padaryti, kad „Windows 2000“atrodytų kaip „Windows XP“: 5 žingsniai
Kaip padaryti, kad „Windows 2000“atrodytų kaip „Windows XP“: Per šią pamoką galėsite paversti savo nuobodžią „Windows 2000“sąsają lygiai taip pat, kaip XP, naudodami kelias programas. Yra keletas elementų, kurie nebus įtraukti, pvz., Valdymo skydelio išvaizda ir pan. Tu būsi
Kaip padaryti, kad jūsų klaviatūra atrodytų kaip nauja: 9 žingsniai
Kaip padaryti, kad jūsų klaviatūra atrodytų taip gerai, kaip nauja.: Sveiki, sveiki atvykę į mano pirmą pamokomą pamoką. :) Šioje pamokoje aš jums parodysiu, kaip išardyti klaviatūrą ir ją išvalyti. PASTABA - kiekviena klaviatūra yra skirtinga, todėl kai kurios šios instrukcijos dalys skirsis nuo to, ką darote