ADS1115 - описание и свързване на 16-битов ADC, програмиране на PIC микроконтролери

Следващата снимка показва диаграмата на модула ADS1115 ADC, който беше закупен тук:


Вграденият усилвател дава възможност за измерване на ниски напрежения без ограничаване на разделителната способност на ADC. Следващата таблица изброява печалбите и границите на измерваневолтаж:
Захранващото напрежение на ADC трябва да бъде по-голямо или равно на обхвата на измерване, това се отнася за коефициентите 2/3 и 1, които ви позволяват да измервате стойности до стойността на захранващото напрежение на ADC. Ако захранващото напрежение е по-малко от границата на измерване, изходният код на ADC (резултат от преобразуване) няма да достигне максималната стойност за избраната граница на измерване. Най-високата граница FS=6,144 V (за коефициент 2/3) отразява пълната скала на ADS1115 ADC, но това не означава, че такава стойност може да бъде доставена, напрежението, подадено към входа на ADC, не трябва да надвишава VDD + 0,3 V. В случай на максимално захранващо напрежение (5,5 V), измереното напрежение не трябва да надвишава 5,5 V + 0,3 V = 5,8 V.
Следната таблица показва съответствието на изходния код на ADC в зависимост от входното напрежение:
При измерване на напрежението на еднопосочен вход се използва само половината от скалата на изходния код (0-7FFFh), тъй като в този случай се измерва само положително напрежение.
Използвайки конфигурационния регистър, ADC се управлява, описанието на регистъра е дадено в таблицата по-долу:
ADC може да работи в 2 режима: непрекъснато преобразуване и единичен. В случай на едно преобразуване, ADC автоматично влиза в режим на изключване след приключване на преобразуването.
За да започне едно преобразуване, битът на ОС трябва да бъде зададен на 1 (битът може да се записва само в състояние на ниска мощност). Същият бит определя състоянието на преобразуването, ако битът е 0, преобразуването е в ход, 1 - преобразуването е завършено. Чрез четене на конфигурационния регистър може да се определи готовността на резултата от преобразуването.
Режимът на единично преобразуване спестява енергия, например, вместо режим на непрекъснато преобразуванес честота на вземане на проби от 8 Hz, можете да зададете максимална честота на вземане на проби от 860 Hz и от страната на управляващото устройство (микроконтролер) да стартирате единични преобразувания при честота от 8 Hz. Времето за преобразуване на ADC за честота на дискретизация от 860 Hz ще бъде 1,2 ms, останалите 125-1,2 = 123,8 ms ADC ще бъде в режим на ниска мощност, като по този начин консумира 1/100 от енергията от режима на непрекъснато преобразуване.
ADS1115 има вграден компаратор (ALERT/RDY pin), който може да се използва като предупреждение за управляващо устройство (микроконтролер). Компараторът се използва във връзка с два регистъра на зададените точки (наблюдаван параметър): Hi_thresh, Lo_thresh. В конфигурационния регистър можете да зададете типа на компаратора (със и без хистерезис), активното логическо ниво на изхода на компаратора (ALERT / RDY изход), режима на „заключване“ (запазване на нивото на сигнала на изхода).
Хистерезисният компаратор се задейства, ако измереното напрежение надвиши стойността в регистъра Hi_thresh и се нулира, когато стойността на напрежението е по-малка от стойността в регистъра Lo_thresh. Думата "работи" трябва да се разбира като настройка на активното логическо ниво, което зависи от бита COMP_POL.
Компараторът без хистерезис се задейства, когато измереното напрежение надхвърли границите, зададени в регистрите Hi_thresh, Lo_thresh.
За да работи компараторът правилно, зададената стойност в регистъра Hi_thresh (по подразбиране 7FFFh) трябва да бъде по-голяма от стойността в регистъра Lo_thresh (по подразбиране 8000h). В допълнение, изходът на компаратора ALERT / RDY трябва да бъде изтеглен през резистор към захранващата линия, това вече е направено на модула.
Битът COMP_QUE може да се използва за настройка на компаратора да се активира след едно, две,четири преобразувания или го изключете.
Друга полезна функция на компаратора е известие в края на преобразуването, за да го активирате, трябва да зададете високия бит на регистъра Hi_thresh на 1 и високия бит на регистъра Lo_thresh на 0. В този случай битът за активно ниво COMP_POL, както и контролният бит за сравнение COMP_QUE, остават активни, битовете COMP_MODE и COMP_LAT не влияят на изхода на компаратора.
Ако функцията за уведомяване е активирана, тогава в режим на непрекъснато преобразуване, след края на всяко измерване, на изхода на компаратора се появява импулс с продължителност 8 µs. В режим на единично преобразуване изходът на компаратора е настроен на логическо ниско ниво в края на преобразуването, ако битът COMP_POL е настроен на 0. По този начин тази функция може удобно да се използва като прекъсване за управляващото устройство, така че да не се търси постоянно битът на ОС, а незабавно да се прочете резултатът от преобразуването.
Свързах ADS1115 ADC към микроконтролера PIC16F628A, използвах цифров индикатор на драйвера MAX7219, за да покажа измереното напрежение, веригата е на снимката по-долу:
