Невероятно простой АЦП на Рисунке 1, основанный на преобразователе напряжение-время, – это упражнение на динамический диапазон. Если предположить, что он используется с 10-мегагерцовым счетчиком/таймером микроконтроллера, его разрешение составляет примерно 10 мкВ на отсчет для входных напряжений вблизи 0 В и 100 мВ на отсчет при 1 кВ, и он никогда не выходит за пределы диапазонов. Простой прием, обеспечивающий этот многодекадный диапазон измерений, заключается в использовании логарифмического поведения, присущего времязадающим RC-цепям.
![]() |
|
Рисунок 1. | Таймер U1, работая совместно с элементами R1, R2 и C1, логарифмически оцифровывает входные сигналы от 0 кВ до 1 кВ, используя при этом только один вывод микроконтроллера. |
Вот как это работает.
Между преобразованиями на выводе сброса 4 микросхемы U1 поддерживается активный низкий уровень либо подключенным выводом GPIO микроконтроллера, либо самим таймером 555. Использование таймера 555 в таком режиме самосброса необычно, но в данном случае очень удобно. Это удерживает напряжение на конденсаторе C1 на нулевом уровне или очень близком к нему, поскольку типичное сопротивление открытого канала внутреннего полевого транзистора с открытым стоком на выводе 7 составляет всего 15 Ом.
Преобразование начинается с того, что вход/выход микроконтроллера программируется на вывод и на него подается импульс высокого уровня, который, доминируя на выводе 3 (OUT) таймера U1, отпускает вход сброса, как показано на Рисунке 2. Затем вход/выход немедленно переводится в третье состояние и перепрограммируется на вывод, запуская внутренний счетчик/таймер для измерения времени преобразования T.
Поскольку напряжение на выводе 2 (TRG) таймера U1 удерживается на низком уровне, окончание сброса также устанавливает высокий уровень на выводе 3 и отпускает вывод 7, позволяя конденсатору C1 начать заряжаться. Когда напряжение на нем достигает 2.048 В (порог, установленный на выводе 5), преобразование будет завершено, и время T, которое потребовалось для этого, будет результатом преобразования. По достижении порога напряжение на выводе 3 (OUT) становится низким, как и напряжения на выводе 4 (RST) и контакте GPIO, причем последний является статусным битом «преобразование завершено» микропроцессора. При этом напряжение на выводе 7 становится низким, чтобы разрядить конденсатор C1. Этот процесс завершается примерно за 12 мкс, подготавливая преобразователь к следующему циклу.
Зависимость T от VIN определяется следующей формулой:
Это показано на графике на Рисунке 3 для VIN от 10 мВ до 1 кВ.
![]() |
|
Рисунок 3. | Время преобразования T в миллисекундах для VIN от 0.01 В до 1000 В. |
Чтобы восстановить VIN из времени преобразования T, сделайте следующее:
И, наконец, вот что-то вроде проверки реальности.
Вы можете задаться вопросом, почему R1 показан как последовательное соединение четырех резисторов 1 МОм, а не как один компонент 4 МОм. Ответ заключается в довольно очевидном факте, что 1 кВ – это довольно серьезное напряжение, и в менее очевидном факте, что резисторы, как и конденсаторы, имеют максимально допустимое напряжение. Резисторы на напряжение 1 кВ – не самая обычная порода кошек.
И говоря о кошках, пожалуйста, вспомните старую историю о том, что любопытство сделало с одним из несчастных представителей семейства кошачьих, и подумайте, что благоразумие и надлежащие меры безопасности в буквальном смысле жизненно важны, если вы решили работать с напряжением такой величины.
Мяу!