При подключении к схемотехнике цепей сигнализирующих о срабатывании замыканием (например, термостаты) появляется необходимость детектирования обрыва и короткого замыкания линии. Чтобы решить задачу детектирования используется вход и контакт NAMUR.
Как реализовать этот механизм в простейшем случае при использовании АЦП микроконтроллера? Эмуляцию схемы привел здесь.
АЦП определяет напряжение на входе в зависимости от срабатывания ключа SW1 и состояния линии.
R1 защищает вход АЦП на случай короткого замыкания на линии, когда на АЦП по какой-то причине появляется напряжение. Например, случайно выставили пин микроконтроллера в pull up.
Предположим, что Vcc — напряжение питания микроконтроллера 3.3V. Когда линия в нормальном состоянии и ключ SW1 разомкнут, образуется делитель напряжения:
- Vацп = Vcc * (R2 + R3) / (R4 + R2 + R3) = 3.3 V * 11000 Ом / 11470 Ом = 3,165 V (При R2 = 1 кОм)
- Vацп = Vcc * (R2 + R3) / (R4 + R2 + R3) = 3.3 V * 12000 Ом / 12470 Ом = 3,176 V (При R2 = 2 кОм)
- Vацп = Vcc * (R2 + R3) / (R4 + R2 + R3) = 3.3 V * 10400 Ом / 10870 Ом = 3,157V (При R2 = 400 Ом)
При замыкании ключа R3 шунтируется и напряжение на входе АЦП:
- Vацп = Vcc * R2 / (R4 + R2) = 3.3 V * 1000 Ом / 1470 Ом = 2,245 V (При R2 = 1 кОм)
- Vацп = Vcc * R2 / (R4 + R2) = 3.3 V * 2000 Ом / 2470 Ом = 2,672 V (При R2 = 2 кОм)
- Vацп = Vcc * R2 / (R4 + R2) = 3.3 V * 400 Ом / 870 Ом = 1,517 V (При R2 = 400 Ом)
Если линия замкнулась, то Vацп = 0V
Если же произошел обрыв линии, то Vацп = 3.3 V
Диагностика | Состояние | Напряжение на входе АЦП |
Норма | Контакт разомкнут | от 3,157 до 3,176 V (можно замерять от 3 до 3,2 V) |
Норма | Контакт замкнут | от 1,517 до 2,672 V (можно замерять от 1 до 3 V) |
Отказ | Обрыв линии | 3.3 V |
Отказ | Замыкание линии | 0 V |
Разрешения АЦП современных микроконтроллеров достаточно для надежного детектирования разницы в напряжении. Тестирование АЦП микроконтроллера ESP32 и внешнего АЦП ADS1115 привел здесь.
Если вместо контакта NAMUR используется обычный «сухой контакт», тогда на входе АЦП будет:
- Vацп = 0V (контакт замкнут)
- Vацп = 3.3 V (контакт разомкнут)
Если линия длинная, то возможно добавление сопротивления линии и «наводок» искажающих величину напряжения. В этом случае для повышения точности детектирования можно использовать генератор тока на транзисторе(ах). В этом случае вход АЦП шунтируется эталонным сопротивлением для измерения величины тока протекающего по цепи.