СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть
Вернуться   СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть > Техника > Уголок радиолюбителя > Микроконтроллеры
Закладки ДневникиПоддержка Сообщество Комментарии к фото Сообщения за день
Ответ    
 
В мои закладки Подписка на тему по электронной почте Отправить другу по электронной почте Опции темы Поиск в этой теме
Старый 13.06.2015, 00:07   #1 (ссылка)
Crow indian
 
Аватар для Admin

Регистрация: 21.02.2009
Возраст: 40
Сообщений: 29,852
Поблагодарил: 398 раз(а)
Поблагодарили 5981 раз(а)
Фотоальбомы: 2576 фото
Записей в дневнике: 698
Репутация: 126089

Тема: Модуль светодиодного индикатора на ATtiny13


Модуль светодиодного индикатора на ATtiny13


Н. САЛИМОВ, г. Ревда Свердловской обл.

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

Идея использования микросхемы PCF8574 (расширителя портов ввода—вывода микроконтроллера, [1]) для связи со светодиодным индикатором почерпнута из польского журнала "Elektronika Praktyczna", 2000, № 3, с. 81, 82. Развитие идеи — применение единственного расширителя для работы с многоразрядным индикатором. В оригинале для каждого разряда использовалась отдельная микросхема.

Схема модуля приведена на рис. 1. Восьмивыводный микроконтроллер ATtiny13A (DD1) в соответствии с записанной из файла DISPLAY_8574_M.hex в его память программой управляет работой модуля.

Сдвиговый регистр SN74HC164 (DD2) поочерёдно подаёт напряжение питания на аноды светодиодов каждого разряда индикатора HG1. Расширитель ввода—вывода PCF8574 (DD3), связанный с микроконтроллером по двухпро-
водному интерфейсу 12С, формирует коды отображаемых символов на катодах светодиодов. Транзисторы VT1—VT4, базовый ток которых ограничен резисторами R3—R6, обеспечивают значительный (до 100 мА) ток питания индикаторов. Резисторами R8—R15 ограничен ток элементов индикатора.

Разъём ХР1 — питание модуля, а разъём ХР2 предназначен для соединения микроконтроллера с программатором. Через разъём ХРЗ модуль соединяют с источником отображаемой информации. Низкий уровень на контакте 1 этого разъёма переводит микро-
контроллер DD1 в исходное состояние. На контакт 2 подают последовательным кодом информацию для отображения, сопровождая её тактовыми импульсами на контакте 3. Кроме того, через тот же контакт 3 модуль подаёт источнику информации запросы на её передачу.

После начальной установки и инициализации программа модуля индикации входит в цикл ожидания, из которого её периодически выводят запросы прерываний по переполнению таймера ТО, следующие через каждые 2,5 мс. При обработке этих прерываний происходит регенерация изображения на индикаторе. По каждому четвёртому запросу прерывания вызывается подпрограмма запроса и чтения информации, поступающей от её источника, и принимаются шесть байтов этой информации. Передача информации в микросхему DD3 по интерфейсу 12С длится 250 мкс.
Модуль индикации способен отображать 34 символа, показанных в таблице. Источник информации кодирует их десятичными числами от 0 до 33. "Семиэлементные" коды символов находятся в программной памяти микроконтроллера DD1. Каждый из них занимает один байт, причём разряд 0 (младший) этого кода задаёт состояние элемента А, разряд 1 — элемента В, разряд 2 — элемента С, разряд 3 — элемента D, разряд 4 — элемента Е, разряд 5 — элемента F, разряд 6 — элемента G, разряд 7 — десятичной запятой.
Модуль индикации собран на печатной плате размерами 83x55 мм, чертёж печатных проводников которой изображён на рис. 2. Она изготовлена из фольгированного с двух сторон стеклотекстолита. Детали расположены на плате в соответствии с рис. 3. Применение элементов для поверхностного монтажа позволило уменьшить размеры платы и число отверстий, которые в ней необходимо просверлить.

Для отладки связи модуля индикатора с источником информации был разработан макет такого источника, схема которого показана на рис. 4. В нём использован микроконтроллер ATtiny2313-20PU. В файле DISPLAY_SPI_2313.asm находится программа, загружаемая в память этого микроконтроллера.

Как уже было сказано, в каждом сеансе связи в индикаторный модуль должны быть переданы шесть байтов. Их передача длится 200 мкс при тактовой частоте микроконтроллера источника информации 4 МГц, а при тактовой частоте 8 МГц — 100 мкс. Первые четыре байта содержат коды символов, которые должны быть выведены на индикатор. В пятом и шестом байтах находится информация о продолжительности их отображения. Она равна произведению значений этих байтов, умноженному на 0,00992 с.

Макет источника с предлагаемым вариантом программы передаёт поочерёдно три блока информации:

цифры ШИ — в первом блоке;

надпись ЕЖЗ — во втором блоке;

знаки PrLI J — в третьем блоке.

Информация сменяется каждые 10 с.
По истечении заданного в предыдущем сеансе связи времени отображения модуль индикатора устанавливает на выводе РВ1, соединённом с контактом 3 разъёма ХРЗ и далее с выводом PD1 микроконтроллера источника информации, низкий логический уровень, что служит запросом прерывания программы источника информации. Затем микроконтроллер модуля индикатора, готовясь к приёму информации и сопровождающих её синхроимпульсов, переводит свой вывод РВ1 в режим входа.


Алгоритм работы программы источника обеспечивает готовность к приёму запроса от модуля индикации в любой момент времени. Обрабатывая полученный запрос, источник передаёт шесть байтов информации, поступающих через контакт 2 разъёма ХРЗ модуля индикации на вход РВО микроконтроллера этого модуля. Для тактирования передаваемой информации микроконтроллер её источника предварительно переводит свой вывод PD1 в режим выхода и формирует на нём синхроимпульсы. Протокол передачи не отличается от принятого в аппаратных интерфейсах SPI.

Светодиод HL1 вспыхивает при приёме источником информации запроса от модуля индикации и нужен только при отладке программы.

Имеющиеся в программе макета источника информации подпрограммы могут быть использованы при разработке других программ отображения информации. Собственно передачу информации, предварительно занесённой в регистр spi_byte, выполняет подпрограмма Trans_SPI.

Работа линии связи между источником информации и модулем индикации проверена с самодельным трёхпроводным кабелем длиной 4,3 м, свитым из гибких проводов сечением 0,35 мм2. На осциллограммах передаваемых по нему сигналов наблюдался "звон" (затухающие колебания) на перепадах уровня. Однако на качество связи это не влияло.

Проверена работа связки источник информации—модуль индикации при их питании от отдельных источников, включаемых в разном порядке. Если модуль индикации включали первым, то после включения источника информации нужно было кратковременно замкнуть между собой контакты 1 и 2 разъёма ХР2 модуля. При необходимости для выполнения этой операции можно установить кнопку. Если первым включали источник информации и он непрерывно работал до включения питания модуля индикатора, то система начинала правильно работать немедленно, не требуя никаких дополнительных действий со стороны оператора.

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

Термометр с датчиком DS18B20

Чтобы создать такой термометр, достаточно подключить к модулю индикации датчик температуры по схеме, показанной на рис. 5, и заменить находящуюся в файле DISPLAY_8574_T.hex программу микроконтроллера. С этой программой контакт 3 разъёма ХРЗ становится выводом информационной линии интерфейса 1-Wire, по которому поддерживается связь с датчиком температуры. Значение температуры выводится на индикатор с дискретностью 0,1 °С. Ниже нуля — со знаком минус, выше нуля — без знака.


При программировании микроконтроллера датчик ВК1 и резистор R1 (рис. 5) необходимо отключать, иначе возможны ошибки программирования.

Период обновления показаний термометра задаётся в программе однобайтовыми константами TimeTI и TimeT2. Оно равно произведению их значений, умноженному на 0,00992 с. На время выполнения датчиком ВК1 измерения температуры индикатор HG1 отключается.

Часы реального времени на микросхеме МК41Т56

Как уже было сказано, микроконтроллер модуля индикации связан с расширителем ввода—вывода DD3 по интерфейсу 12С. Параллельно к этому интерфейсу можно подключить и другие устройства, например, микросхему часов реального времени. Схема такого подключения показана на рис. 6.

В данном случае использована часть платы от отечественного цифрового счётчика электрической энергии. Счётчик был неисправен, но микросхема часов реального времени МК41Т56 и резервный источник её питания (литиевый элемент G1) оказались в полном порядке. Близкий аналог микросхемы МК41Т56 — DS1307.

В микроконтроллер модуля индикации нужно загрузить программу из файла DISPLAY_8574_TM.hex. Она пригодна для работы с микросхемами часов реального времени обоих указанных выше типов. Инициализация часов и установка времени производятся в начале работы этой программы в подпрограмме Initial. Начальное время, которое будет при этом установлено, задано в программе

ldi Hours,0x18

ldi Minutes,0

В связи с особенностями микросхем часов реального времени начальные значения часов и минут необходимо указывать в двоично-десятичном формате. В рассматриваемом случае — это 18 ч 00 мин. При необходимости корректировки хода часов её следует производить нажатием на кнопку SB2 при нажатой кнопке SB1 точно в это время.

Время выводится на индикатор в 24-часовом формате с мигающей точкой между разрядами десятков минут и единиц часов.


Период обращений к часам реального времени для обновления показаний
индикатора задан в программе константами TimeTI и TimeT2. Он вычисляется как произведение значений этих констант, умноженное на 0,00992 с. В предлагаемой программе эти константы равны соответственно 10 и 11, что соответствует периоду 1,0912 с. На точность хода часов, определяемую точностью и стабильностью кварцевого резонатора ZQ1 (рис. 6), длительность этого периода не влияет.

При разработке программного обеспечения устройств, описанных в статье, использованы полностью или с необходимой доработкой примеры программ из книги [2]: 161 bed.asm — средства BCD-арифметики, 16121572.asm — программная реализация интерфейса SPI для микроконтроллера AT90S1200, 1615mstr.asm — использование микроконтроллера AVR в качестве ведущего устройства интерфейса 12С.

Во всех рассмотренных устройствах использованы микроконтроллеры с заводской установкой конфигурации. Никакие изменения в неё не вносились.

ЛИТЕРАТУРА

1. PCF8574 Remote 8-bit I/O expander for l2C-bus. — URL: http://www.nxp.com/ documents/data_sheet/PCF8574.pdf

(05.10.14).
Admin вне форума   Цитировать 12
Старый 13.06.2015, 14:52   #2 (ссылка)
Super V.I.P.
 
Аватар для olega88

Регистрация: 23.08.2009
Возраст: 42
Сообщений: 1,611
Поблагодарил: 538 раз(а)
Поблагодарили 242 раз(а)
Фотоальбомы: не добавлял
Репутация: 440
Цитата:
В микроконтроллер модуля индикации нужно загрузить программу из файла DISPLAY_8574_TM.hex. Она пригодна для работы с микросхемами часов реального времени обоих указанных выше типов.
чота хекса не видать...
__________________
olega88 вне форума   Цитировать 0
Старый 13.06.2015, 14:55   #3 (ссылка)
Crow indian

Автор темы
 
Аватар для Admin

Регистрация: 21.02.2009
Возраст: 40
Сообщений: 29,852
Поблагодарил: 398 раз(а)
Поблагодарили 5981 раз(а)
Фотоальбомы: 2576 фото
Записей в дневнике: 698
Репутация: 126089
хекса сам напиши
Admin вне форума   Цитировать 12
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
=Диплом= Рекотсрукция контактной сети станции с применением современного светодиодного освещения semen_smirnov Дипломы, курсовые, лекции, рефераты по СЦБ 0 18.02.2015 16:31
МОДУЛЬ МДК HNS Связь на железнодорожном транспорте 17 06.05.2014 16:15
Вред от светодиодного освещения Torquato Tasso Разговоры обо всем 19 09.05.2012 10:25
Ищу методику на использование светодиодного маршрутного указателя "Б" белого цвета italyanec Поиск документации 2 02.04.2012 16:31
модуль связи МС-Т denalen4ik Связь на железнодорожном транспорте 2 21.12.2011 18:17

Ответ

Возможно вас заинтересует информация по следующим меткам (темам):


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.



Часовой пояс GMT +3, время: 20:21.

Справочник 
сцбист.ру сцбист.рф

СЦБИСТ (ранее назывался: Форум СЦБистов - Railway Automation Forum) - крупнейший сайт работников локомотивного хозяйства, движенцев, эсцебистов, путейцев, контактников, вагонников, связистов, проводников, работников ЦФТО, ИВЦ железных дорог, дистанций погрузочно-разгрузочных работ и других железнодорожников.
Связь с администрацией сайта: admin@scbist.com
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34