Съдържание:

Как да направим ADC текущо усещане: 5 стъпки
Как да направим ADC текущо усещане: 5 стъпки

Видео: Как да направим ADC текущо усещане: 5 стъпки

Видео: Как да направим ADC текущо усещане: 5 стъпки
Видео: SKR Pro v1.2 - TMC2226 UART with Sensorless Homing 2024, Ноември
Anonim
Как да направим ADC текущ смисъл
Как да направим ADC текущ смисъл

В тази инструкция ще опишем как да внедрим 8-битов аналогово-цифров преобразувател (ADC) в SLG46855V, който може да усети тока на натоварване и интерфейс с MCU чрез I2C. Този дизайн може да се използва за различни приложения за измерване на ток, като амперметри, системи за откриване на повреди и манометри.

По -долу описахме необходимите стъпки, за да разберем как решението е програмирано за създаване на ток на ADC. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете комплекта за разработка на GreenPAK към вашия компютър и натиснете програма, за да създадете актуалния смисъл на ADC.

Стъпка 1: ADC архитектура

ADC архитектура
ADC архитектура

ADC по същество се състои от аналогов сравнител и цифрово-аналогов преобразувател (DAC). Компараторът усеща входното напрежение спрямо изходното напрежение на DAC и впоследствие контролира дали да увеличава или намалява DAC входния код, така че изходът на DAC да се сближи с входното напрежение. Полученият DAC входен код става ADC цифров изходен код.

В нашето изпълнение ние създаваме ЦАП, използвайки мрежа с резистори, контролирана с широчинно-импулсна модулация (ШИМ). Можем лесно да създадем прецизен цифрово контролиран PWM изход, използвайки GreenPAK. ШИМ, когато се филтрира, се превръща в наше аналогово напрежение и по този начин служи като ефективен DAC. Отлично предимство на този подход е, че е лесно да се настроят напреженията, които съответстват на нулевия код и пълната скала (еквивалентно изместване и усилване) чрез просто регулиране на стойностите на резистора. Например, потребителят иска в идеалния случай да прочете нулев код от температурен сензор без ток (0 µA), съответстващ на 4,3 V, и пълномащабен код при 1000 µA, съответстващ на 3,9 V (Таблица 1). Това се осъществява лесно чрез просто задаване на няколко стойности на резистора. Като обхватът на ADC съвпада с обхвата на сензора, който представлява интерес, ние използваме максимално резолюцията на ADC.

Обмислянето на дизайна на тази архитектура е, че вътрешната PWM честота трябва да бъде много по -бърза от скоростта на актуализиране на ADC, за да се предотврати потискане на поведението на нейния контролен контур. Най -малкото той трябва да бъде по -дълъг от часовника на брояча на ADC данни, разделен на 256. В този дизайн периодът на актуализиране на ADC е зададен на 1.3312 ms.

Стъпка 2: Вътрешна верига

Вътрешна верига
Вътрешна верига

Гъвкавият ADC се основава на дизайна, представен в Dialog Semiconductor AN-1177. Тактовата честота се увеличава от 1 MHz на 12,5 MHz, за да се синхронизира ADC броячът, тъй като SLG46855 има наличен такт от 25 MHz. Това позволява много по -бърза скорост на актуализиране за по -фина разделителна способност. LUT часовникът на ADC часовника за данни се променя, така че той ще премине през 12,5 MHz сигнал, когато PWM DFF е нисък.

Стъпка 3: Външна верига

Външна верига
Външна верига

Външен резистор и кондензаторна мрежа се използват за преобразуване на ШИМ в аналогово напрежение, както е показано на схемата на схемата на фигура 1. Стойностите се изчисляват за максимална разделителна способност за максималния ток, който устройството ще усети. За да постигнем тази гъвкавост, добавяме резистори R1 и R2 успоредно на VDD и земята. Резисторен разделител разделя VBAT до ниската страна на обхвата на напрежението. Съотношението на разделителите за очакван минимален VBAT може да бъде решено с помощта на уравнението 1.

Стъпка 4: I2C Прочетете инструкциите

I2C Прочетете инструкциите
I2C Прочетете инструкциите

Таблица 1 описва командната структура на I2C за отчитане на данните, съхранявани в CNT0. Командите I2C изискват начален бит, контролен байт, адрес на думата, бит за четене и стоп бит.

Примерна команда I2C за отчитане на преброената стойност на CNT0 е написана по -долу:

[0x10 0xA5] [0x11 R]

Преброената стойност, която се отчита обратно, ще бъде стойността на ADC кода. Като пример, код на Arduino е включен в ZIP файла на тази бележка за приложението на уебсайта на Dialog.

Стъпка 5: Резултати

Резултати
Резултати
Резултати
Резултати
Резултати
Резултати

За да се провери точността на дизайна на тока на ADC, измерените стойности при даден ток на натоварване и ниво на VDD бяха сравнени с теоретична стойност. Теоретичните стойности на ADC бяха изчислени с уравнението 2.

ILOAD, който корелира със стойността на ADC, се намира с уравнението 3.

За следните резултати използвах тези стойности на компонентите, показани в Таблица 3.

Разделителната способност на преобразуването на стойността на ADC към ILOAD може да бъде изчислена чрез използване на уравнение 3 с измерените стойности в таблица 2 и стойността на ADC, зададена на 1. При VBAT от 3,9 V разделителната способност е 4,96 µA/дел.

За да се оптимизира веригата за измерване на ток на ADC до минимално ниво на VDD от 3,6 V с максимален ток 1100 µA и 381 Ω сензорен резистор, идеалният коефициент на разделител би бил 0,884, въз основа на уравнение 1. Със стойностите, дадени в таблица 2, действителният делител има коефициент на делител 0.876. Тъй като това е малко по -малко, това ще позволи малко по -голям обхват на тока на натоварване, така че стойностите на ADC са близки до пълния диапазон, но няма да преливат. Действителната стойност на разделителя се изчислява с уравнението 4.

По-горе (фигури 2-6, таблици 4-6) са измерванията, направени на веригата при три нива на напрежение: 4.3 V, 3.9 V и 3.6 V. Всяко ниво показва графика, показваща разликата между измерените и теоретичните стойности на ADC. Теоретичните стойности са закръглени до най -близкото цяло цяло число. Има обобщена графика за сравняване на разликите при трите нива на напрежение. След това има графика, показваща корелацията между теоретичните стойности на ADC и тока на натоварване при различните нива на напрежение.

Заключение

Устройството е тествано при три нива на напрежение: 3.6 V, 3.9 V и 4.3 V. Обхватът на тези напрежения моделира пълна литиево -йонна батерия, която се разрежда до номиналното си ниво. От трите нива на напрежение се наблюдава, че устройството обикновено е било по -точно при 3,9 V за избраната външна верига. Разликата между измерените и теоретичните стойности на ADC беше само 1 десетична стойност при токове на натоварване 700 - 1000 µA. В дадения диапазон на напрежение измерените стойности на ADC са били 3 десетични точки над номиналните условия в най -лошия случай. Допълнителни настройки на резисторния разделител могат да бъдат направени за оптимизиране на различни нива на напрежение VDD.

Препоръчано: