Коммутатор на МК (написать прошивку)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

Здравствуйте!
Прошу помощи программистов, для которых моя проблема вызовет улыбку.
Нужна прошивка на любой из МК серии 12F629; 12F675 или Attiny 13.
Задача в следующем. Одним входом управляется 4 выхода.
1.На вход №1 МК подается логическая единица, на выходе №1 появляется лог. единица.
2.На вход №1 МК подается лог. ноль, на выходе №1 появляется лог. ноль.
3.На вход №1 МК подается логическая единица, на выходе №2 появляется лог. единица.
4.На вход №1 МК подается лог. ноль, на выходе №2 появляется лог. ноль.
5.На вход №1 МК подается логическая единица, на выходе №3 появляется лог. единица.
6.На вход №1 МК подается лог. ноль, на выходе №3 появляется лог. ноль.
7.На вход №1 МК подается логическая единица, на выходе №4 появляется лог. единица.
8.На вход №1 МК подается лог. ноль, на выходе №4 появляется лог. ноль.
И так по кольцу. В случаях пропадания питания МК должен помнить на каком порту выхода он остановился, чтоб продолжить с того же места.
Для чего это надо. Приобрел 4 потолочных инфракрасных обогревателя по1,3кВт каждый в гараж, чтоб зимой поддерживать заданную температуру. Так вот надо, чтоб они включались по очереди. Устройство, которое следит за температурой у меня есть. Время, задающее интервал включения в устройстве тоже есть. Пробовал собирать на счетчике ИЕ9 присутствуют недостатки: управлять надо импульсами и не запоминает конечное положение после пропадания электричества.
Вся эта затея, чтоб у обогревателей был одинаковый моторесурс износа.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Могу написать.
Протеус у вас есть ? если нет ставьте.
Будете в нем проверять, правильность логики работы.
В архиве проверочная схема работы логики.
Кнопка имитирует сигнал на входе, нажата высокий уровень.
Светодиоды наглядно показывают состояния выходов.
for.rar
(6.54 КБ) 270 скачиваний

Если логика работы верная, то тогда допишу сохранение состояния при пропаже напряжения и дорисую нужные для этого компоненты на схеме.
Последний раз редактировалось Enigm Пн июл 11, 2016 14:10:42, всего редактировалось 1 раз.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

Протеус есть, уже стоит! Я имею в виду Протеус.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Входной сигнал управления, он надеюсь стандартный логический ? или нет ?
Так же как вы будете запитывать микроконтроллер, отдельно или уже есть готовое для него напряжение
И последний пока вопрос.
При первом старте и после аварийного отключения питания, на входе всегда будет 0 или возможна и единица ?
Последний раз редактировалось Enigm Пн июл 11, 2016 15:33:46, всего редактировалось 1 раз.
Аватара пользователя
conler
Это не хвост, это антенна
Сообщения: 1327
Зарегистрирован: Вс дек 11, 2011 05:43:30
Откуда: Екатеринодар

Re: Коммутатор на МК (написать прошивку)

Сообщение conler »

Имхо это конечно хорошо, но вы серьезно про "моторесурс"? Сдается, при нерегулярных отключениях эл-ва и связанном с этим запуске цикла "с нуля", влияние неравномерного использования т.н."моторесурса" будет ничтожно на фоне реального разброса "времени жизни" нагревателей по иным производственным и эксплуатационным причинам.
Максимализм, однако :)
Vell65 писал(а):Протеус есть, уже стоит! Я имею в виду Протеус.

Похвально! :)))
Последний раз редактировалось conler Пн июл 11, 2016 14:37:30, всего редактировалось 1 раз.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Это да странновато про моторесурс.
Но если уж так человеку хочется то ладно ))
Аватара пользователя
conler
Это не хвост, это антенна
Сообщения: 1327
Зарегистрирован: Вс дек 11, 2011 05:43:30
Откуда: Екатеринодар

Re: Коммутатор на МК (написать прошивку)

Сообщение conler »

Не издеваюсь :) , если несколько утрировать пожелания, то при использовании контроллера актуально отслеживать и выравнивать "моторесурс" с учетом напруги сети, разницы температур внутри/снаружи и иных факторов, влияющих на "*". Тогда будет реальный толк не только от моторесурса, но и от вычислительных возможностей МК.
...мнение заказчика - закон! :)
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

В общем вот вам прошивка и схема.
Схема
Изображение
Прошивка
komut.rar
(1.26 КБ) 265 скачиваний

Выходные каскады сами уже доделаете.
Кнопка нужна для сброса запомненного состояния(если не нужно можно не ставить.)
Работает сброс так. отключаете питание, дожидаетесь разряда конденцатора.
Потом зажимаем кнопку и подаем питание, ждем секунду и можно выключать, все память сбросилась.
Диод желательно шотки, или диод как можно с меньшем падением напряжения.
И да у меня чуток изменен алгоритм, после прерывания питания, при следующем запуске, стартанет не тот канал на котором пропало питание, а следующий за ним.
Если принципиально что бы стартовало с того же что и остановилось то пишите переделаю.
Будут вопросы задавайте.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15546
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Коммутатор на МК (написать прошивку)

Сообщение BOB51 »

Насчет "моторесурса" также решаемо только там условия задачи должны измениться - окромя программного переключателя нагрузки (текущая задача) должен быть еще и элемент совпадения для управления нагревателем и обратная связь от того элемента на переключатель - считаем реальное время работы по каждому элементу.
Как частный случай и так как есть сойдет - это в случае, если переключатель всего лишь распределяет управление по секциям. Но тогда счетчик времени по активному входному сигналу ставить надо с условием переброса выхода по исчерпании времени, выделенного на работу каждой из секций. Т.Е. МК переключателя выполняет роль "проходного элемента управления" с управлением не кнопкой, а активным сигналом с терморегулятора плюс внутреннее реле времени и счетчик активного состояния по каждой из секций.
8)
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

Парни, про моторесурс высказываетесь всё правильно. Как предлагает conler вообще в идеале но это из области недосягаемости для меня, как предлагает BOB51 учитывать время работы каждого канала на включение и перераспределять его между нагрузками скорее всего под силу многим программистам и вполне осуществимо, но это уже будет наверное другой МК. Изначально схема строилась вот так:
Управление ТЭНами попарно.JPG
(105.54 КБ) 547 скачиваний

Enigm: первый вариант проверил всё работает, сейчас поправлю схемку в Протеусе, чтоб заработал второй вариант. После пропадания электричества вполне логично, что включится последующий обогреватель, переделывать не надо. Кнопку сброса памяти не надо, а вот если свободный порт задействовать для возможности включения сразу пары обогревателе былоб очень здорово. Смысл в следующем. Сейчас каналы включаются по очереди, в полне возможно понадобиться в дальнейшем включать их по очереди парно в зависимости от минуса на улице. Для этого в своей схеме с счетчиком ИЕ9 предусмотрел разъем Х1 на котором устанавливал бы перемычки для парного включения обогревателей. Например 1 и 3; 2 и 4. Только вот надо будет посмотреть, чтоб не перегрузить порт при парном включении оптопар.

Уважеемый Enigm второй вариант прекрасно работает.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

А как бы и нет свободного вывода. 4 выхода, 1 вход управления, 1 вход слежения за напряжением, итого 6 выводов заняты.
Я кнопку сброса повесил на слежение за напругой,(делитель до диода стоит ) при старте контроллера та будет 1 так как есть питание и потоим мы эту еденицу отслеживаем, как только появится 0 сразу же пишем данные в память.
А при нажатой кнопке и при старте будет ноль, мы его ловим и обнуляем память.
Так что доп входов нету.
Кстати прошивка и в 629 пике должна работать.
Не забывайте про калибровочную константу, хоть она в этом устройстве и не нужна, но мало ли для чего вам может понадобиться я этот контроллер потом.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

Enigm огромное спасибо за помощь и подсказки. Все доходчиво и понятно. А главное по существу :beer:
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

В принципе если не нужен сброс, то можно вместо сброса делать переключение режимов.
Так что как будет настроение допишу еще один режим.
Но режимы придётся переключать в ручную, автоматом не выйдет ног нет свободных
Вот набросал на 2 корпусах обычной логики, переключатель режимов, можно и так сделать.
komutat.rar
(16.2 КБ) 251 скачивание
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

О, да это то, что надо. Ваше решение изящнее чем я хотел развязав порты диодами соединять их перемычками. Какую логику по лучшему сопряжению с МК посоветуете.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Да любая логика пойдет, скоростей у вас нету, разве что глянуть по нагрузке на выходе, а так хоть ТТЛ хоть КМОП.
Единственное не берите выхода с открытым коллектором, иначе придётся резисторы дополнительные вешать.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

Enigm, здравствуйте. Собрал на макетке, в Протеусе все три прошивки работают адекватно. На макетке стартует два нажатия (лог.1 на 4 ногу 12F629) правильно, а потом как попало переключаются и светодиоды не гаснут. Может надо правильно биты конфигурации при прошивки прописать? Пробовал все три прошивки. Константу сохраняю.
12F629.png
(87.75 КБ) 534 скачивания
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Попробуйте этой прогой прошить PICPgm Programmer она сама фюзы из прошивки берет константу сохраняет да и удобнее конроллеры сама определяет.
Если не поможет , прошью дома 675 гляну.
И это входные импульсы какие ? четкие ?
Если вы в ручную моделируете входной сигнал то ставьте кнопку с конденсатором 0.1мк параллельно кнопки , возможно из за дребезга контактов себя так ведет.
У нас же вход прямой и анти дребезг не предусмотрен.
Самое простое , соберите на обычной логике генератор на 1 герц и проверьте.
Аватара пользователя
Vell65
Открыл глаза
Сообщения: 52
Зарегистрирован: Пн окт 19, 2009 09:26:46
Откуда: г. Биробиджан

Re: Коммутатор на МК (написать прошивку)

Сообщение Vell65 »

IC-Prog шил неоднократно тоже биты конфигурации берет с прошивки. Все дело в том, что ели кнопку удерживать больше 5 сек светодиоды загораются и не гаснут, сбивается порядок работы алгоритма программы. После сброса по питанию все повторяется, первые две команды проходят нормально, а далее закономерный хаос. Может попробовать прошить 675, а то работал с 629? Про дребезг в курсе, проблема в чем-то другом.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

Как освобожусь гляну, у меня есть 675 камень на нем проверю.
Аватара пользователя
Enigm
Говорящий с текстолитом
Сообщения: 1663
Зарегистрирован: Вт апр 03, 2012 20:36:41
Откуда: Сочи

Re: Коммутатор на МК (написать прошивку)

Сообщение Enigm »

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

Вернуться в «Разные вопросы по МК»