Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Переключатель каналов (ТЗ)

Переключатель каналов (ТЗ) 06 сен 2016 13:17 #1

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
I. часть
1. При подаче на вход PB0 импульса (лог 0) длительностью 0,2-1 сек, включается канал CH_UP;
2. Следующая подача на вход PB0 импульса (лог 0) длительностью 0,2-1 сек, выключается канал CH_UP;
3. Следующая подача на вход PB0 импульса (лог 0) длительностью 0,2-1 сек, включается канал CH_DOWN;
4. Следующая подача на вход PB0 импульса (лог 0) длительностью 0,2-1 сек, выключается канал CH_DOWN;
5. Если длительность импульса (лог 0) не менее 3 сек , то включается канал CH_UP и подается импульс длительностью 1 сек на канал GATE.
Если с момента выполнения п.1 или п.3 прошло 30 секунд (или отключилось питание) то п.2 игнорируется и выполняется п.3.
Если с момента выполнения п.5 прошло 30 секунд то выполняется п.3.
Выполненные команды п.п 2, 4 записываются в память.
Состояние п.5 сбрасываются, если пропадает питание.

ll. часть
Если во время выполнения п.5 на вход PB0 поступит любой импульс, то:
выполняется п.2 l части и подается импульс длительностью 0,2-1 сек на канал GATE.

Канал CON показывает работу всего устройства в целом, если активирован какой либо другой канал. По отработке каманд этот канал отключается.

Микроконтроллер Attiny13

Просьба к ув. SOIR написать прошивку по заданному алгоритму.

Вложенный файл:

Имя файла: Channelswitch.rar
Размер файла:23 KB
Последнее редактирование: 06 сен 2016 15:32 от Vakula.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 17:16 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Пока вижу неувязки в логике работы.
Длительность импульса оговорена 0,2-1 сек, и более 3 сек. А если придет 2 сек, или такой вариант исключен?
Vakula пишет:
Если с момента выполнения п.1 или п.3 прошло 30 секунд (или отключилось питание) то п.2 игнорируется и выполняется п.3.
Тоже непонятно. При подаче питания программа начнет работу сначала. В ее памяти записываются выполнения команд 2 и 4, если они выполнялись. 1 и 3 не фиксируются. Откуда программе знать, выполнялся п.1 или п.3?
Когда из памяти удаляется информация о выполнении п.2 и 4? И зачем она туда сохраняется, если дальше об этом ни слова?
Если п.3 уже выполнен, почему Вы пишете, что игнорируется п.2? Он что, идет следом за п.3? Игнорируется и снова выполняется п.3? Ничего не понял.
Эту часть распишите на примерах.
Vakula пишет:
Канал CON показывает работу всего устройства в целом, если активирован какой либо другой канал. По отработке каманд этот канал отключается.
Какой "другой" канал? А который первый? Этот пункт распишите подробнее, когда включается, когда выключается...
Последнее редактирование: 06 сен 2016 17:17 от Soir.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 18:02 #3

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
А если придет 2 сек, или такой вариант исключен?
Тут по сути неувязка. Сейчас понял. Есть два управляющих сигнала: 0,2-1 сек и 3 сек. Первый берем за обобщение и принимаем за истину 0,5 секунд. Второй, не менее 3 секунд. Но тут нескладуха получается.
А если пошло срабатывание по каналу CH_UP? Может образоваться конфликт. Или же в этом случае в приоритете ставить п.5. А все, что ранее было в работе отменяется и выполняется только эта команда.
Soir пишет:
Ничего не понял. Эту часть распишите на примерах.
Есть устройство привода (в частности роллетой). Во дворе стоят ворота, тоже с автоматикой. И вот мне надо, что бы я с одного пульта управлял и воротами и роллетой.
Если в управлении воротами дистанционно с пульта не составляет труда, точно так же, как и роллетой (каждой автоматике свой пульт), то вот, что бы они работали с одного пульта, есть определенная сложность.
Автоматика ворот работает в режиме step-by-step и сюда можно подвязывать какую угодно кнопку, клавишу, дистанционку, GPRS...
То с роллетиной напряг. Роллета управляется или своим пультом или клавишами. А клавиши две с общим минусом и работают по алгоритму:
1 кл. - нажал, запустил вверх. Далее кл. не активна.
2 кл. - нажал, остановил. Следующее нажатие включает реверс. И далее кл. не активна. Остановить можно только нажав 1 кл. Точно так же следующим нажатием запускаем снова вверх.
Эта автоматика имеет свою продолжительность работы - 30 секунд. То есть, есть после команды вверх, полотно дошло за 15 сек, то автоматика продолжает держать в активности активированный режим. По истечении 30 сек, запускается реверсивное движение. А если в промежутке 30 сек, нажать кнопку пульта, то мы просто останавливаем таймер 30 секунд. И, что бы механизм снова пошел, надо снова на пульт давить.
Если алгоритм работы двух кнопок воплотить в работу с одной, то уже не составит особого труда подшиться под один пульт.
Думаю объяснил? Если нет, то постараюсь как то ещё.


Soir пишет:
Какой "другой" канал? А который первый? Этот пункт распишите подробнее, когда включается, когда выключается...
У нас три канала:
1 - канал CH_UP;
2 - канал CH_UP;
3 - канал CON.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 19:48 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Первый берем за обобщение и принимаем за истину 0,5 секунд...
Эта терминология мне совершенно непонятна, пропускаю. Определяйтесь с неувязкой, в рассуждениях я не участвую.

Vakula пишет:
Автоматика ворот работает...
Если мы разрабатываем устройство не для ворот - тоже пропускаю.

Vakula пишет:
...А клавиши две с общим минусом и работают по алгоритму:
1 кл. - нажал, запустил вверх. Далее кл. не активна...
Я так понимаю, речь идет совсем о других сигналах, чем в Вашем описании. По крайней мере, ни разу не встретил описание работы PB0, CH_UP, CON... Значит тоже пропускаю...
Что же читать?

Vakula пишет:
По истечении 30 сек, запускается реверсивное движение.
То есть, полотно дошло за 15 сек, постояло еще 15 сек и пошло обратно?

Vakula пишет:
Думаю объяснил? Если нет, то постараюсь как то ещё.
Пока понятнее не стало. Постарайтесь как-то еще. Желательно расписать работу создаваемого устройства, а не роллеты или ворот.
И постарайтесь все-таки ответить на мои вопросы по отключению питания, запоминания пунктов и др.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 19:57 #5

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
То есть, полотно дошло за 15 сек, постояло еще 15 сек и пошло обратно?
Почему вы так решили? Я так не писал. У полотна есть свои отключающие концевики. И они к разрабатываемому устройству никакого отношения не имеют. Устройство имеет целью заменить двухклавишный переключатель на одну кнопку.
Я описал, как пример, работу того устройства, которым надо управлять.
Последнее редактирование: 06 сен 2016 20:00 от Vakula.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 20:19 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Почему вы так решили? Я так не писал.
А как еще можно понимать эту фразу:
По истечении 30 сек, запускается реверсивное движение
Или это не Вы писали?
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 20:27 #7

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
По истечении 30 сек, запускается реверсивное движение
Или это не Вы писали?
Описочка. Ожидание запуска в реверсивное движение

Я тут изобразил механическую кнопку.



Может я слишком заумно расписал алгоритм? Тогда попробую проще, но без временных установок.

Есть один вход и два выхода.
При подачи сигнала на вход, появляется сигнал на 1 выходе. Следующее подача сигнала на вход, На первом выходе сигнал пропадает.
Следующая подача сигнала на вход, появляется сигнал на втором выходе. Следующая подача сигнала на вход, сигнал на втором выходе пропадает.
Последнее редактирование: 06 сен 2016 20:56 от Vakula.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 21:01 #8

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Есть один вход и два выхода.
При подачи сигнала на вход, появляется сигнал на 1 выходе. Следующее подача сигнала на вход, На первом выходе сигнал пропадает.
Следующая подача сигнала на вход, появляется сигнал на втором выходе. Следующая подача сигнала на вход, сигнал на втором выходе пропадает.
И все?
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 06 сен 2016 21:04 #9

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
И все?
Ну, если грубо, то да. Хотя, судя по всему - ДА.
Замудренности никчему.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 07 сен 2016 09:09 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Замудренности никчему.
Без замудренностей...
Вложения:
Последнее редактирование: 08 сен 2016 13:36 от Soir. Причина: Обновление прошивки
Администратор запретил публиковать записи гостям.
Спасибо сказали: Vakula

Переключатель каналов (ТЗ) 07 сен 2016 19:47 #11

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
Без замудренностей...
Чёт мне не нравится скрин по выставлению фюзов. Точно там все так?
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 07 сен 2016 20:39 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Да, все так. Только скрин с моей программы для прошивки и FUSE инверсные.
Заменил для PONYPROG.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 07 сен 2016 20:53 #13

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Все ясно. В принципе, заменили механический двухполюсный кнопарь, на одну кнопку. Это То, что надо.
Хотелось бы теперь премудростей. Но. думаю не стоит утомлять Вас этими мелочами. Что есть, то есть. Думаю хватит.
Тем более, что умелый один электрик сделал (развел) в трехфазном щитке остальные две фазы на нулевой планке. А я, понимая, что на нулевой планке может быть только земля или ноль, - добропорядочно туда подключился (предварительно не проверил фазировку. А оно мне надо было?). В итоге я имею большой пых и взрыв моего одного управляющего устройства (не дешевое ж зараза). И теперь Данная разработка будет работать только у меня в гараже, на барной роллете. А хотелось, как лучше.
Последнее редактирование: 07 сен 2016 20:54 от Vakula.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 08 сен 2016 07:20 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Хотелось бы теперь премудростей.
Каких?
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 08 сен 2016 10:37 #15

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Soir пишет:
Каких?
После нажатия кнопки, на выходе был не постоянный сигнал, а импульс длительностью 0,5 сек.
Последнее редактирование: 08 сен 2016 11:11 от Vakula.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 08 сен 2016 11:02 #16

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Это вообще не вопрос. Прошивку перезалил.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Vakula

Переключатель каналов (ТЗ) 08 сен 2016 12:00 #17

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Первое нажатие, импульс на первый канал.
Второе нажатие, импульс на второй канал.
Третье нажатие, импульс на второй канал.
Четвертое нажатие, импульс на первый канал.

А то у нас получается одно пустое нажатие.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 08 сен 2016 13:42 #18

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Первое нажатие, импульс на первый канал.
Второе нажатие, импульс на второй канал.
Третье нажатие, импульс на второй канал.
Четвертое нажатие, импульс на первый канал.
Что-то перестаю понимать. Второе и третье нажатие импульс на второй канал?
А пятое? Какая закономерность?
И который из каналов первый, а который второй? Вроде же у каналов есть свои имена, зачем вносить путаницу?

Пока сделал по-очереди - через раз, перезалил.
Администратор запретил публиковать записи гостям.

Переключатель каналов (ТЗ) 08 сен 2016 14:26 #19

  • Vakula
  • Vakula аватар
  • Не в сети
  • Moderator
  • ich bin Ukrainian
  • Сообщений: 679
  • Спасибо получено: 66
Алгоритм работы того устройства такой, который я описал.
А клавиши две с общим минусом и работают по алгоритму:
1 кл. - нажал, запустил вверх. Далее кл. не активна.
2 кл. - нажал, остановил. Следующее нажатие включает реверс. И далее кл. не активна. Остановить можно только нажав 1 кл. Точно так же следующим нажатием запускаем снова вверх.

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

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

Переключатель каналов (ТЗ) 08 сен 2016 14:45 #20

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Vakula пишет:
Алгоритм работы того устройства такой, который я описал.
А клавиши две с общим минусом и работают по алгоритму:
1 кл. - нажал, запустил вверх. Далее кл. не активна.
2 кл. - нажал, остановил. Следующее нажатие включает реверс. И далее кл. не активна. Остановить можно только нажав 1 кл. Точно так же следующим нажатием запускаем снова вверх.
Задача из простой становится непонятной...

Последний, описанный Вами алгоритм (сообщение №7) с добавлением в сообщении №15:Vakula пишет:
Есть один вход и два выхода.
При подачи сигнала на вход, появляется сигнал на 1 выходе. Следующее подача сигнала на вход, На первом выходе сигнал пропадает.
Следующая подача сигнала на вход, появляется сигнал на втором выходе. Следующая подача сигнала на вход, сигнал на втором выходе пропадает.
Теперь снова пошли активные клавиши, полотно... и т.п.

Переписывайте алгоритм с чистого листа, в одном сообщении, используя терминологию схемы. Или оставляем все как есть.
Администратор запретил публиковать записи гостям.
Модераторы: wolf2000, Vakula, Айнцвайдрайченко