Термометр с большими индикаторами

Рассказать в:

Автор: В.Бирюков

В то время, как напряжение питания современных микроконтроллеров непрерывно, производители оных, старательно уменьшают, другие производители не спешат с этим, выпуская индикаторы и дисплеи, которым по прежнему нужно для питания напряжение несколько выше. Поэтому такие индикаторы нельзя подключить к микроконтроллеру напрямую, а надо применить некоторую горсточку деталей. Правда, эта горсточка не выглядит такой большой, если её использовать для подключения большого индикатора. Поэтому наша конструкция будет называться: Термометр с большим индикатором.

Термометр с большими индикаторами

Термометр собран на микроконтроллере PIC16F628, датчике ds18b20 или ds18s20 и четырех индикаторах с общим анодом Kingbright SA10-21GWA (индикаторы, разумеется, можно применить и другие. Потребуется только пересчитать сопротивление резисторов R9-R16). Вся обработка: считывание температуры и вывод на индикаторы выполняет программа микроконтроллера.

Для управления катодами индикаторов применены ключи VT1-VT8. Их логика работы проста: при подаче лог.1 на выход PortB микроконтроллера соответствующий транзистор открывается и через него течет ток на светодиод через ограничительные резисторы R9-R16. Следует обратить внимание на то, что катоды не подключены "поимённо". Например, коллектор транзистора VT1 подключен к сегменту "G" первого индикатора, но к сегменту "B" второго. Это сделано по причине удобства разводки печатной платы и компенсируется программной обработкой. Единственный сегмент, который не может быть таким образом "чередован" - это вывод десятичной точки, потому что падение напрядение на этом светодиоде, как правило, меньше и номинал токоограничивающего резистора отличается от номинала для остальных сегментов.

Управление анодами требует более сложных ключей - состоящих из двух транзисторов. Рассмотрим для примера ключ первого разряда. Он собран на транзисторах VT9, VT13. Транзистор VT9 задаёт базовый ток для транзистора VT13. Как это происходит. При подаче положительного потенциала на базу транзистора VT9 начинает течь ток. Ток ограничен резистором R17 и без коллекторной нагрузки напряжения распределяются следующим образом: 0.6 вольт падает на эмиттерном переходе, а остальное на резисторе. Но когда транзистор откроется и потечет коллекторный ток, а потечет он через эмиттер тоже, этот ток создаст на резистроре R17 падение напряжения, и тогда наше соотношение нарушится - на эмиттерном переходе напряжение упадёт ниже 0.6 вольт и транзистор начнет закрываться, за счет чего упадет коллекторный ток, следовательно упадет ток через эмиттер, из-за чего уменьшится падение на резисторе R17, которое вызовет увеличение напряжения на эмиттерном переходе... Вообще-то, просто установится равновесное состояние, не позволяющее коллекторному току превысить некую величину. Эта величина и задается резистором R17. Как эта величина расчитывается? Исходя из вышеприведенного описания, получается так, что равновесие наступает, когда коллекторный ток создает на R17 падение напряжения на 0.6 вольт ниже чем напряжение управления. Т.е. выбранный номинал рассчитан для тока: напр. лог.1 4.3вольт - 0.6 = 3.7 вольт падает на резисторе. Далее по закону ома I=U/R получаем 3.7/1.3=2.8 мА. Этот ток потечет через переход база-эмиттер транзистора VT13 и откроет его. Резистор R18 нужен для того, чтобы не дать отрыться транзистору VT13 из-за токов утечек.

Эта схема ключей выгодно отличается от более "классических" меньшим числом элементов (в классической 3 резистора, а здесь только 2 на разряд), но более требовательна к точности их номиналов. В этой схеме можно еще уменьшить число элементов! Так как применена динамическая индикация со сканированием по разрядам, то ключи работают по-очереди, и, в каждый конкретный момент открыт один ключ. Следовательно, ток через эмиттерный резистор (R17, R25-R27) в каждый момент времени течет только через один из них. Таким образом вместо четырех можно поставить только один, соединив эмиттеры транзисторов VT9-VT12 вместе. (Поначалу так и планировалось - это заметно по нумерации компонентов, но ради облегчения разводки пришлось пожертвовать этой копеечной экономией).

Питание микроконтроллера осуществляется через линейный стабилизатор 78L05 и диод D1. Диод, если не предполагается в процессе эксплуатации менять прошивку микроконтроллера, можно заменить перемычкой.

Микроконтроллер сконфигурирован для работы от внутреннего генератора, а выводы для подключения кварца использованы как порты ввода/вывода. На схеме указано, что они подключены к общему проводу - опять же это сделано только из соображений удобства разводки печатной платы.

Вся связь с внешним миром производится через разъём X1. Питание 12 вольт подается на контакты +12 и GND, а к контактам GND, 1-wire и Vcc подключаются выводы датчика ds18s20 Gnd, DQ и Vdd, соответственно.

В приложении даны файлы схемы и печатной платы в формате EagleCAD. Плата проектировалась односторонняя. Дорожки синего цвета выполняются проволочными перемычками под индикаторами с обратной стороны. Все остальные детали SMD типа устанавливаются со стороны печатных проводников (красного цвета, если вы используете настройки Eagle по умолчанию). Разумеется, платы можно подкорректировать под другие индикаторы и детали.

Несколько слов об алгоритме работы программы микроконтроллера. При подаче питания микроконтроллер выводит тестовое сообщение состоящее из четырех дефисов и проводит проверку наличия устройств на шине 1-wire. Сначала посылается команда чтения сериального номера устройства, если устройство найдено, то происходит работа с ним. Если ответ будет с ошибкой, то проводится полное сканирование линии и будет выведено количество найденных устройств (не больше 10 - далее сканирование прерывается). Это допускает наличие на линии нескольких 1-wire устройств, но программа будет работать только с "первым попавшимся" устройством с известным программе кодом семейства.

В процессе работы могут выдаваться диагностические сообщения:

  • nopr - Нет питания датчика (вероятно оборван вывод Vdd)
  • npr- - Нет "presence pulse" - (вероятно оборвался вывод DQ)
  • npr_ - Линия удерживается в лог.0 (вероятно короткое замыкание на массу)
  • crc  - Ошибка контрольной суммы - произошел сбой и полученные данные не достоверны, потому и не выводятся.

Ошибка "npr-" не появится если линия оборвана изначально - просто будет сообщение, что устройств не найдено. Ошибка "crc" может возникать, если изначально найденный датчик отключен, но присутствуют другие устройства. Программа не переключится на другой датчик без сброса.

Опрос датчика производится с интервалом, приблизительно, 8 секунд.


Файлы:
Схема и ПП в формате Eagle. 
Прошивка МК с исходником 





Раздел: [Устройства на микроконтроллерах]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Наше сообщество в VK, а ты с нами? Присоединяйся!!!
Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru