Мазмұны:
- 1 -қадам: ADC архитектурасы
- 2 -қадам: Ішкі тізбек
- 3 -қадам: Сыртқы тізбек
- 4 -қадам: I2C оқу нұсқаулары
- 5 -қадам: Нәтижелер
Бейне: ADC ағымдағы сезімін қалай жасауға болады: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Бұл нұсқаулықта біз жүктеме тогын және I2C арқылы MCU интерфейсін сезетін SLG46855V-де аналогты-цифрлық 8-биттік түрлендіргішті қалай енгізу керектігін сипаттайтын боламыз. Бұл дизайн амперметрлер, ақауларды анықтау жүйелері және жанармай өлшегіштер сияқты әр түрлі токты өлшеу үшін қолданылуы мүмкін.
Төменде біз ADC қазіргі сезімін жасау үшін шешім қалай бағдарламаланғанын түсіну үшін қажет қадамдарды сипаттадық. Алайда, егер сіз бағдарламалаудың нәтижесін алғыңыз келсе, GreenPAK бағдарламалық жасақтамасын жүктеп алып, аяқталған GreenPAK дизайн файлын қараңыз. GreenPAK әзірлеу жинағын компьютерге қосыңыз және ADC ағымдағы сезімін жасау үшін бағдарламаны басыңыз.
1 -қадам: ADC архитектурасы
ADC негізінен аналогты компаратор мен сандық-аналогтық түрлендіргіштен (DAC) тұрады. Салыстырғыш кіріс кернеуін DAC шығыс кернеуімен сезінеді, содан кейін DAC шығыс коды кіріс кернеуіне жақындататындай етіп DAC кіріс кодын ұлғайту немесе азайтуды бақылайды. Алынған DAC енгізу коды ADC цифрлық шығыс коды болады.
Іске асыруда біз импульстік модуляция (PWM) басқарылатын резисторлық желіні қолдана отырып DAC құрамыз. Біз GreenPAK көмегімен цифрлық басқарылатын дәл PWM шығысын оңай жасай аламыз. PWM сүзгісі біздің аналогтық кернеуге айналады және осылайша тиімді DAC ретінде қызмет етеді. Бұл тәсілдің айрықша артықшылығы - резистордың мәндерін реттеу арқылы нөлдік код пен толық шкалаға сәйкес келетін кернеуді (баламалы түрде есепке алу мен жоғарылатуды) орнату оңай. Мысалы, пайдаланушы нөлдік кодты 4,3 В сәйкес келетін токсыз (0 мкА) температура сенсорынан және 3,9 В сәйкес келетін 1000 мкА толық масштабты кодты оқығысы келеді (1-кесте). Бұл резистордың бірнеше мәнін орнату арқылы оңай жүзеге асады. ADC диапазонының сенсор диапазонына сәйкес келуі арқылы біз ADC ажыратымдылығын барынша қолданамыз.
Бұл архитектураның конструкторлық ерекшелігі, ішкі PWM жиілігі оның басқару циклінің шамалы дамуын болдырмау үшін ADC жаңарту жылдамдығынан әлдеқайда жылдам болуы керек. Кем дегенде, ол ADC есептегіш сағатынан 256 -ға бөлінгеннен ұзағырақ болуы керек. Бұл конструкцияда ADC жаңарту кезеңі 1,3312 мс -ге орнатылған.
2 -қадам: Ішкі тізбек
Икемді ADC Dialog Semiconductor AN-1177 ұсынылған дизайнға негізделген. SLG46855 -те 25 МГц сағаты болғандықтан ADC есептегішін реттеу үшін сағат жылдамдығы 1 МГц -тен 12,5 МГц -ке дейін ұлғайтылды. Бұл үлгінің дәл ажыратымдылығы үшін жаңартудың жылдамдығына мүмкіндік береді. ADC деректер сағаты LUT сағаты өзгереді, сондықтан ол PWM DFF төмен болғанда 12,5 МГц сигнал арқылы өтеді.
3 -қадам: Сыртқы тізбек
PWM -ді аналогты кернеуге айналдыру үшін сыртқы резистор мен конденсаторлық желі қолданылады. 1 -суреттегі схемада көрсетілгендей мәндер құрылғы сезетін максималды ток үшін максималды рұқсат үшін есептеледі. Бұл икемділікке жету үшін біз R1 және R2 резисторларын VDD мен жерге параллель қосамыз. Резистор бөлгіш VBAT -ты кернеу диапазонының төменгі жағына бөледі. Күтілетін минималды VBAT үшін бөлгіш коэффициент 1 теңдеуінің көмегімен шешілуі мүмкін.
4 -қадам: I2C оқу нұсқаулары
1 -кестеде CNT0 -де сақталған деректерді оқуға арналған I2C командалық құрылымы сипатталған. I2C пәрмендері бастау битін, басқару байтын, сөз адресін, оқу битін және тоқтату битін қажет етеді.
CNT0 есептелген мәнін оқуға арналған I2C командасының мысалы төменде жазылған:
[0x10 0xA5] [0x11 R]
Қайта оқылатын есептелген мән ADC кодының мәні болады. Мысалы, Arduino коды Dialog веб -сайтындағы осы қосымшаның ZIP файлына енгізілген.
5 -қадам: Нәтижелер
ADC токты сезу конструкциясының дәлдігін тексеру үшін берілген жүктеме тогы мен VDD деңгейіндегі өлшенген мәндер теориялық мәнмен салыстырылды. ADC теориялық мәндері 2 теңдеуімен есептелді.
ADC мәнімен байланысты ILOAD 3 теңдеуімен табылған.
Келесі нәтижелер үшін мен 3 -кестеде көрсетілген осы компонент мәндерін қолдандым.
ILOAD конверсиясына ADC мәнінің ажыратымдылығын 2 -кестеде өлшенген мәндері бар 3 -теңдеуді қолдана отырып есептеуге болады және ADC мәні 1 -ге орнатылады.
Максималды ток 1100 мкА және 381 дюймдік резисторы бар ADC ток сезгіштік тізбегін 3,6 В минималды деңгейге дейін оңтайландыру үшін 1 -теңдеуге негізделген идеалды бөлгіш коэффициент 0,884 болады. 2, нақты бөлгіштің 0,876 бөлгіш коэффициенті бар. Бұл аздап аз болғандықтан, ол жүктеме ток диапазонының сәл үлкен болуына мүмкіндік береді, сондықтан ADC мәндері толық диапазонға жақын, бірақ асып кетпейді. Бөлгіштің нақты мәні 4 теңдеуімен есептеледі.
Жоғарыда (2-6 суреттер, 4-6 кестелер) тізбектің үш кернеу деңгейінде алынған өлшемдері бар: 4.3 В, 3.9 В және 3.6 В. Әр деңгейде ADC өлшенетін және теориялық мәндерінің арасындағы айырмашылықты көрсететін график көрсетіледі. Теориялық мәндер ең жақын бүтін санға дейін дөңгелектенеді. Үш кернеу деңгейіндегі айырмашылықтарды салыстыру үшін жиынтық график бар. Содан кейін әр түрлі кернеу деңгейлерінде ADC теориялық мәндері мен жүктеме тогы арасындағы корреляцияны көрсететін график бар.
Қорытынды
Құрылғы үш кернеу деңгейінде сыналды: 3,6 В, 3,9 В және 4,3 В Бұл кернеулер диапазоны номиналды деңгейге дейін зарядталатын толық литий -иондық батареяны модельдейді. Кернеудің үш деңгейінен құрылғы әдетте таңдалған сыртқы тізбек үшін 3,9 В кернеуде дәлірек болатыны байқалады. Өлшенген және теориялық ADC мәндерінің арасындағы айырмашылық 700 - 1000 мкА жүктеме токтарында тек 1 ондық мәнді құрайды. Берілген кернеу диапазонында өлшенген ADC мәндері ең нашар жағдайда номиналды шарттардан 3 ондық нүктеге жоғары болды. Әр түрлі VDD кернеу деңгейін оңтайландыру үшін резисторлық бөлгішке қосымша түзетулер енгізуге болады.
Ұсынылған:
DIY қалай керемет көрінетін сағатты жасауға болады - StickC - Оңай жасауға болады: 8 қадам
DIY қалай керемет көрінетін сағатты жасауға болады - StickC - Оңай жасауға болады: Бұл оқулықта біз ESP32 M5Stack StickC -ті Arduino IDE және Visuino көмегімен СКД -де уақытты көрсету үшін қалай бағдарламалауды, сонымен қатар StickC түймелерінің көмегімен уақытты орнатуды үйренеміз
Linux жүктеу дискісін қалай құруға болады (және оны қалай қолдануға болады): 10 қадам
Linux жүктеу дискісін қалай құруға болады (және оны қалай қолдануға болады): Бұл Linux -тен қалай бастау керектігі туралы қарапайым кіріспе, атап айтқанда Ubuntu
ARDUINO NANO/MINI ҚАЛАЙ ЖАСАУҒА БОЛАДЫ - Жүктеушіні қалай жағуға болады: 5 қадам
ARDUINO NANO/MINI ҚАЛАЙ ЖАСАУҒА БОЛАДЫ | Bootloader қалай жазылады: Бұл нұсқаулықта мен сізге Scratch -тен Arduino MINI -ді қалай жасау керектігін көрсетемін. Бұл нұсқаулықта жазылған процедураны жобаның жеке талаптарына сәйкес кез келген arduino тақталарын жасау үшін қолдануға болады. Жақсы түсіну үшін бейнені қараңыз
Raspberry Pi көмегімен Twitter сезімін талдау: 3 қадам (суреттермен)
Raspberry Pi көмегімен Twitter -дегі көңіл -күйді талдау: Сезімді талдау дегеніміз не және оған не үшін назар аудару керек? ішінде
Ата мен әженің күнтізбесін қалай жасауға болады & Скрапбук (егер сіз скрапбоны қалай жасау керектігін білмесеңіз де): 8 қадам (суреттермен)
Ата мен әженің күнтізбесін қалай жасауға болады & Скрапбук (егер сіз скрапбоны қалай жасау керектігін білмесеңіз де): Бұл әжелер мен әжелер үшін өте үнемді (және өте бағалы!) Мерекелік сыйлық. Мен осы жылы әрқайсысы 7 доллардан төмен 5 күнтізбе жасадым. Материалдар: сіздің балаңыздың, балаларыңыздың, жиендеріңіздің, жиендеріңіздің, иттердің, мысықтардың немесе басқа туыстарыңыздың 12 керемет суреті12 түрлі бөліктер