Мазмұны:

ADC ағымдағы сезімін қалай жасауға болады: 5 қадам
ADC ағымдағы сезімін қалай жасауға болады: 5 қадам

Бейне: ADC ағымдағы сезімін қалай жасауға болады: 5 қадам

Бейне: ADC ағымдағы сезімін қалай жасауға болады: 5 қадам
Бейне: 😨 ОСЫ ХАБАРДЫ ЕМЕС ҚАЛСАҢЫЗ АЛЛА ЖӘНЕ КӨМЕКТЕСЕ АЛМАЙДЫ! КЕЙІН ОНЫ АЙЫП АЛМАҢЫЗ 2024, Желтоқсан
Anonim
ADC ағымдағы сезімін қалай жасауға болады
ADC ағымдағы сезімін қалай жасауға болады

Бұл нұсқаулықта біз жүктеме тогын және I2C арқылы MCU интерфейсін сезетін SLG46855V-де аналогты-цифрлық 8-биттік түрлендіргішті қалай енгізу керектігін сипаттайтын боламыз. Бұл дизайн амперметрлер, ақауларды анықтау жүйелері және жанармай өлшегіштер сияқты әр түрлі токты өлшеу үшін қолданылуы мүмкін.

Төменде біз ADC қазіргі сезімін жасау үшін шешім қалай бағдарламаланғанын түсіну үшін қажет қадамдарды сипаттадық. Алайда, егер сіз бағдарламалаудың нәтижесін алғыңыз келсе, GreenPAK бағдарламалық жасақтамасын жүктеп алып, аяқталған GreenPAK дизайн файлын қараңыз. GreenPAK әзірлеу жинағын компьютерге қосыңыз және ADC ағымдағы сезімін жасау үшін бағдарламаны басыңыз.

1 -қадам: ADC архитектурасы

ADC архитектурасы
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 оқу нұсқаулары

I2C оқу нұсқаулары
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 кернеу деңгейін оңтайландыру үшін резисторлық бөлгішке қосымша түзетулер енгізуге болады.

Ұсынылған: