110-Модуль UART_to_PIN-управление нагрузками.

Автор: | 06.10.2014

Оглавление: Введение | Keypad_IR_to_UART | UART_to_Pin | SDC_Talking

Устройство UART_to_Pin предназначено для управления нагрузками посредством UART команд. В качестве управляющих символов выступают заглавные буквы латиницы от “A” до “P” и цифры от “0” до “3”.

Устройство имеет 16 выходов, которые управляют нагрузками (как подключить к МК нагрузку). Нагрузка включается путем установки на соответствующей ножке МК логической единицы. Изменение состояния на ножках МК происходит по факту приема соответствующего символа по UART. Если пришел символ “A” – включится нагрузка A, пришел символ “B” – нагрузка B и так далее. Для разных вариантов реагирования подготовлено несколько вариантов прошивок с разным функционалом:

 

uart_to_pin (Базовая прошивка).

Включение нагрузки происходит по факту приема соответствующего символа по UART. Если пришел символ “A” – включится нагрузка A, пришел символ “B” – нагрузка B и так далее. Включение любой из нагрузок автоматически выключает все остальные нагрузки (возможна работа только одной нагрузки).

При приеме символа “0” (ноль) – все нагрузки выключаются.
При приеме символа “1” – все нагрузки включаются.

110-uart_to_pin.zip - Файлы устройства uart_to_pin
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

uart_to_pin_mod1

Включение нагрузки происходит по факту приема соответствующего символа по UART. Если пришел символ “A” – включится нагрузка A, пришел символ “B” – нагрузка B и так далее. Включение новой нагрузки никак не влияет на состояние остальных (одновременно может быть включено любое количество нагрузок).

Выключение нагрузки происходит при повторном приеме символа “A”, “B” и т.д.

При приеме символа “0” (ноль) – все нагрузки выключаются.
При приеме символа “1” – все нагрузки включаются.

110-uart_to_pin_mod1.zip - Файлы устройства uart_to_pin_mod1
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

uart_to_pin_mod2

Включение нагрузки происходит по факту приема соответствующего символа по UART. Если пришел символ “A” – включится нагрузка A, пришел символ “B” – нагрузка B и так далее. Включение новой нагрузки никак не влияет на состояние остальных (одновременно может быть включено любое количество нагрузок).

Выключение нагрузки происходит при приеме соответствующих прописных символов латиницы “a”, “b” и т.д.

При приеме символа “0” (ноль) – все нагрузки выключаются.
При приеме символа “1” – все нагрузки включаются.

110-uart_to_pin_mod2.zip - Файлы устройства uart_to_pin_mod2
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

Дополнительно сделаны модификации прошивок с плавным включением-отключением нагрузок при помощи ШИМ. Эти варианты больше подходят для устройств, где в качестве нагрузок используются светодиоды. Такой вариант прошивок нельзя использовать в схемах, где используется реле или необходимо четкое переключение.

 

uart_to_pin_pwm

Аналогично uart_to_pin, за исключением плавного переключения нагрузки.

110-uart_to_pin_pwm.zip - Файлы устройства uart_to_pin_pwm
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

uart_to_pin_pwm_mod1

Аналогично uart_to_pin_mod1, за исключением плавного переключения нагрузки.

110-uart_to_pin_mod1_pwm.zip - Файлы устройства uart_to_pin_mod1_pwm
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

uart_to_pin_pwm_mod2

Аналогично uart_to_pin_mod2, за исключением плавного переключения нагрузки.

110-uart_to_pin_mod2_pwm.zip -
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

 

uart_to_pin_pwm_mod3

Особняком идет эта модификация. Она позволяет на части выходов (от “A” до “H”) регулировать уровень ШИМ. Остальные нагрузки (от “I” до “P”) просто включаются/отключаются дискретно.

Немного меняется общая логика управления выходами для этой модификации. Это связано с тем, что для управления ШИМ-каналом нужно 2 кнопки, а кейпад имеет всего 16, чего не достаточно для полноценного управления всеми линиями (в случае с ИК-пультом все проще – можно изучить необходимое количество кнопок).

Управление линиями осуществляется следующим образом

ШИМ-выхода
выход А: увеличение уровня ШИМ – символ “A”, уменьшение — “E”
выход B: увеличение уровня ШИМ – символ “B”, уменьшение — “F”
выход C: увеличение уровня ШИМ – символ “C”, уменьшение — “G”
выход D: увеличение уровня ШИМ – символ “D”, уменьшение — “H”
выход E: увеличение уровня ШИМ – символ “2”, уменьшение — “6”
выход F: увеличение уровня ШИМ – символ “3”, уменьшение — “7”
выход G: увеличение уровня ШИМ – символ “4”, уменьшение — “8”
выход H: увеличение уровня ШИМ – символ “5”, уменьшение — “9”

Дискретные выхода
выход I: включение/выключение – символ “I”
выход J: включение/выключение – символ “J”
выход K: включение/выключение – символ “K”
выход L: включение/выключение – символ “L”
выход M: включение/выключение – символ “M”
выход N: включение/выключение – символ “N”
выход O: включение/выключение – символ “O”
выход P: включение/выключение – символ “P”

При приеме символа “0” (ноль) – все нагрузки выключаются.
При приеме символа “1” – все нагрузки включаются.

110-uart_to_pin_mod3_pwm.zip - Файлы устройства uart_to_pin_mod3_pwm
В архиве находится исходник, прошивка, фьзы, дополнительная информация. Читайте info.txt

Оглавление: Введение | Keypad_IR_to_UART | UART_to_Pin | SDC_Talking

(Visited 1 510 times, 1 visits today)

110-Модуль UART_to_PIN-управление нагрузками.: 71 комментарий

  1. philip_crash

    Думаю оптронно-тиристорную сборку ставить на каждый выход, ток около 1 ампера на канал.

  2. Asket Mixaa

    Евгений,а можете сделать мод как mod 2 только с инвертированными выходами, то есть управление низким уровнем?

  3. GetChiper Автор записи

    Я так понимаю та модификация что без шима?

  4. GetChiper Автор записи

    Отправил на почту

  5. sanchos

    Наконец то дошли руки, написал таки программку на Delphi, чтобы работать с этим девайсом по UART. Прошивку использовал uart_to_pin_mod2. Долго не получалось, потом оказалось что заглавный символ «А» — кириллический, а не латиница). Исправил, все заработало, но… Прикол в другом. Отправляю я эту «А» на контроллер и включаются ВСЕ порты, хотя должна включиться только 3-я нога. Отправляю строчную «a» — все порты отключаются). Более того, для того чтобы отключить все порты годится отправка абсолютно любого по крайней мере строчного символа. Отправка 0 или 1 ни к чему не приводит. Подскажите в чем ошибка, шил на PonyProg фьюзы ставил инверсно. Может че в прошивке не так? Гляньте пожалуйста, а то устройство в душу запало).

  6. sanchos

    Да, для полноты картины… Тип переменной куда загружался символ — А, в своей программе, а использовал ansichar. Среда разработки — RadStudio. Если нужно могу скинуть исходник.

  7. GetChiper Автор записи

    Странное поведение.
    Как ведут себя другие варианты прошивок (например, базовая)?
    Попробуйте отправлять символы из обычного терминала. Какая будет реакция?

  8. sanchos

    Сейчас попробовал терминал. Реакция аналогичная. Поведение действительно странное, на базовой прошивке при включении схемы, светодиод зажигается сразу, вообще без отправки каких либо символов на Rx контроллера. (В нагрузку кинул светодиод через резистор 1кОм +на +питания — через резюк на 3-ю ногу). А когда пытаюсь отправлять символы, светодиод просто помигивает в момент передачи.( А ты сам пробовал эти прошивки, у тебя они работают?

  9. GetChiper Автор записи

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

    Сейчас я загружен на работе, как появится свободное время я попробую у себя моды и отпишусь.

  10. Mongol

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

  11. GetChiper Автор записи

    Программа написана не на СИ. Исходник на Билдере в архиве статьи.

  12. dem244

    Уважаемый автор,очень полезное устройство получилось а главное простое и универсальное.А можно ли изменить прошивку uart_to_pin_mod1 так чтоб нагрузки от “I” до “P” работали без фиксации как кнопка без фиксации и не управлялись общим вкл/выкл мне это нужно для управления часами.

  13. GetChiper Автор записи

    Без фиксации — это значит на выходах иголки должны появляться в момент прихода символа?

  14. dem244

    @GetChiper
    Ну после отправки символа нагрузка включилась примерно на 1 сек.,а потом отключилась имитируя тем самым кнопку без фиксации.

  15. dem244

    Спасибо Вам большое все работает как надо использовал прошивку из папки uart_to_pin_source_mod1 буду тестить с часами как приедут детали.

  16. odminov

    Что-то очень все запутано, не в Вашем стиле.
    Скачал версию uart_to_pin_mod3_pwm.
    Прошил, подрубил все, врубил терминал, не пашет.
    Думаю, «Может скорость юарта выставил не ту, ану гляну какая должна быть.»
    А инфы никакой нету по этому поводу, не на странице сайта, ни в файлике info.txt.
    «Ну ок, поставлю 9600, 8, none, 1, none. » не пашет.
    Пробовал загрузить EEPROM, узнал как, из другой статьи.
    В этой статье ни слова о том, что еще и EEPROM надо записывать, и как это делать.
    Шью uniprof’ом, поставил выбираю файл прошивки, предлагает выбрать eeprom-файл, выбираю EE_uart_to_pin.hex, ничего не появляется колонке eeprom’a, черточки, как и были. eeprom пуст.
    И только прошив контроллер прошивкой uart_to_pin.hex, без прошивки eeproma, пашет только команда «1» и «0», плавно все зажигается и гаснет. Никакие каналы отдельно не откликаются на их команды.
    Итак, претензии:
    1. Нафига в архиве с версией шим3, который я скачал, простая прошивка uart_to_pin.hex ?
    2. Нафига еще раз отставлять прошивку uart_to_pin.hex в папке uart_to_pin_mod3_pwm???
    Если мне надо простая версия, я скачаю простую, для всех же отдельные архивы. А по факту чуть ли не одно и тоже во всех архивах. Это сбивает с толку, думаешь что под этим именем нужная тебе прошивка, ты ведь скачал версию 3, это наверное она.
    3. Раз уж куча всего в архиве, почему не описано в файлике info.txt, нормальный порядок действий, что шить для каких случаев, какой файл для EEPROM выбрать, надо ли вообще это делать. Какие настройки передачи по UART ???

  17. admin Автор записи

    Простите если немного запутано. Варианты прошивок для основного проекта не нужны были, поэтому обкатаны не так детально.

    По прошивке — прошивать нужно файлом uart_to_pin.hex — он такой для любой модификации
    Возможно в ранних версиях я пытался их переименовывать в uart_to_pin_pwm.hex от этого он там и лежит в исходниках.

    В любом случае я старался в корневую папку выкладывать правильный файл — uart_to_pin.hex (который и указывается в info.txt)

    ЕЕПРОМ прошивать не нужно (этот файл создается при компиляции автоматически даже если он пустой)

    UART 9600 без бита четности и с двумя стопбитами.

  18. odminov

    «По прошивке — прошивать нужно файлом uart_to_pin.hex — он такой для любой модификации»
    Вот, а я думал это простая прошивка, не шим.
    Я пробовал разные модификации. Сегодня разобрался в чем проблема,
    оказывается внутренняя RC цепочка не достаточно точная.
    Проверил через таймер зажигая светодиод на 10 сек и засекал параллельно секундомером, при 3 замерах, светодиод горел 9.4 сек. Фьюзы были в порядке, проверял несколько раз.
    Поменял на внешний кварц 12Мгц, подправил прошивку под него. И при замере секундомером светодиод горел 10.0 сек. Проверил передачу UART, начала нормально работать. Вот что значит внутренний RC генератор.
    Спасибо Вам за отклик, может немного не довольно высказался, но реально запутался с этими прошивками в этом проекте.
    А вообще, часто Вашим сайтом пользуюсь, если надо уточнить правильность фьзов на том или ином контроллере, там все, как раз, описано четко и понятно. Спасибо Вам за вашу деятельность! ))

Добавить комментарий