1

Тема: Программируемое реле времени на CANNY 3 tiny

Здравствуйте! В поисках программируемого реле времени набрёл на Ваше устройство "CANNY 3 tiny". Интересует, возможна ли с его помощью реализация следующей задачи.

Есть две нефиксируемых кнопки, которые нужно по отдельности друг от друга автоматически нажимать по три раза через заданные промежутки времени (от 1 секунды до 5).

Поясню. При кратковременном нажатии первой кнопки на устройстве (допустим, замыкание входа 1 на GND) происходит замыкание и размыкание двух других определённых выходов (например, 3 и 4) с заданными интервалами. Т. е. нажали кнопку на устройстве - оно замыкает 3 и 4 выходы, сразу же размыкает, через 1 секунду снова замыкает и размыкает, и через 5 секунд ещё раз замыкает и размыкает.
При таком же кратковременном нажатии второй кнопки на устройстве (например, замыкание входа 2 на GND), происходит замыкание и размыкание, например, 5 и 6 выходов с заданными интервалами. Т. е. нажали на вторую кнопку на устройстве - оно замыкает и размыкает 5 и 6 выходы, через 4 секунды снова замыкает и размыкает, и ещё через 4 секунды ещё раз замыкает и размыкает.

Я дилетант, а в программных вопросах вообще, практически, ноль. Но паяльник в руках держать могу. На простых китайских реле времени (таймерах) сделать понимаю как, но получится громоздко. Возможно ли решение данной задачи с помощью Вашего устройства (понравилась компактность решения и приемлемая цена на 3tiny OEM) и как это должно выглядеть в программе? Питание будет 12В от автомобильной сети.

2

Re: Программируемое реле времени на CANNY 3 tiny

Все выглядит вполне реализуемо и довольно просто, но есть вопрос:

Все каналы контроллера транзисторные, контроллер может включить канал в любое из трех состояний GND, Vbat или NC

Если я правильно понимаю, то:

оно замыкает 3 и 4 выходы

размыкает 5 и 6 выходы

следует читать как "между собой"?

Если это так, то для этого, в дополнение к контроллеру вам потребуется пара внешних реле.

3

Re: Программируемое реле времени на CANNY 3 tiny

Спасибо за ответ! Совершенно верно! Выводы 3 и 4 должны замыкаться между собой, выводы 5 и 6 тоже. Силовой нагрузки на них не будет, они будут припаяны в параллель слаботочной цепи управления.

4

Re: Программируемое реле времени на CANNY 3 tiny

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

5

Re: Программируемое реле времени на CANNY 3 tiny

Да, я примерно понял, спасибо!

"...трех состояний GND, Vbat или NC"
GND - это, я так понимаю, замыкание канала на общий вывод (-), Vbat - подача определённого напряжения на канал, а вот что такое "NC" - не совсем понял, не могли бы Вы пояснить? Если использовать вариант с релюшками, то нужно использовать режим Vbat? Какой напряжение может подаваться на канал, напряжение питания?

6

Re: Программируемое реле времени на CANNY 3 tiny

GND - это, я так понимаю, замыкание канала на общий вывод (-), Vbat - подача определённого напряжения на канал, а вот что такое "NC"

Vbat = Vbattery замыкание на цепь питания контроллера (+)
NC = Not Connected, не подключено (высокоомный вход)

Какой напряжение может подаваться на канал, напряжение питания?

Максимальное напряжение питания 16В, напряжение на канале <= напряжения питания

Все технические характеристики приведены на странице продукта: https://canny.ru/c3tiny/ и в документации: http://wiki.canny.ru/index.php?title=CANNY_3_tiny

7

Re: Программируемое реле времени на CANNY 3 tiny

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

8

Re: Программируемое реле времени на CANNY 3 tiny

Если вы желаете самостоятельно создать диаграмму для решения вашей задачи, то вы можете начать с просмотра видео: https://www.youtube.com/watch?v=ZvGfHGKmGpY затем вам необходимо изучить документацию по программированию CANNY: wiki.canny.ru, в частности разобрать примеры в разделе CANNY 3 Tiny Драйвер ввода-вывода.
После чего, начинайте создавать вашу диаграмму, а при возникновении конкретных вопросов в процессе её создания - задавайте их здесь и прикладывайте к ним файл вашей диаграммы.
Если же вам требуется готовое решение, то я могу перенести тему в раздел форума Поиск исполнителей просматриваемый специалистами, которые возможно готовы проделать эту работу за вас.

9

Re: Программируемое реле времени на CANNY 3 tiny

Спасибо большое за видео! Очень информативно! Раздел про драйвер ввода-вывода обязательно прочитаю, спасибо за наводку. Переносить пока не надо, сначала попробую сам разобраться, дабы не озадачивать лишний раз добрых людей!.. ) Если уж совсем никак, тогда уж попрошу помощи, спасибо!..

10 (04-10-2018 23:34:28 отредактировано Okstis)

Re: Программируемое реле времени на CANNY 3 tiny

Добрый вечер! В общем, сваял, как мог ) , получилось, что получилось. В симуляторе работает, вроде, как нужно, хотя, уверен, что можно было сделать правильнее и проще. Не могу понять, правильно ли я выбрал конфигурации каналов.

По задумке, при замыкании канала 0 на GND (нефиксируемой кнопкой) срабатывает первая половина схемы, подавая с требуемой периодичностью положительный потенциал (+12 В) на канал 2, к которому будет подключено первое реле.

А при замыкании канала 1 на GND (так же нефиксируемой кнопкой) срабатывает вторая половина схемы, подавая опять же с требуемой периодичностью положительный потенциал на канал 3, к которому будет подключено второе реле.

Если не сложно, подскажите, пожалуйста, правильно ли я сконфигурировал входы/выходы? Будет ли это всё дело работать так, как задумал?

P. S. Сделал ещё один вариант, он выглядит попроще, вроде как, но тоже сомневаюсь, что каналы правильно настроил...

Вложений в сообщении

Иконка вложения My scheme 01.cfd 3.37 кб, скачивался 541 раз, последний раз 2018-10-04 

Иконка вложения My scheme.cfd 3.99 кб, скачивался 317 раз, последний раз 2018-10-04 

11

Re: Программируемое реле времени на CANNY 3 tiny

Диаграмма "My scheme.cfd" сделана для контроллера CANNY 7, а у него адреса регистров не совпадают с адресами регистров CANNY 3 tiny. Драйверы ввода-вывода тоже отличаются, т.е. подход к конфигурации каналов не совпадет.
По второй диаграмме. Решить одну и ту же задачу можно разными способами. Предложенное решение вполне работоспособно. Во вложении подправленная в части конфигурации каналов диаграмма. Полярности каналов-входов тоже нужно прописывать, чтобы установить требуемые подтяжки. Инверсия входов нужна если в качестве "1" должен выступать потенциал GND (по умолчанию, в регистре входа появляется "1" при появлении на нем положительного потенциала).
Возникают дополнительные вопросы по алгоритму.
1. Диаграммой допускается нажатие одновременно 1й и 2й кнопки, а следовательно и работа обоих выходных каналов одновременно. Это нормальный режим работы устройства? Может ли при этом что-либо быть выведено из строя?
2. Если управляющая кнопка нажата и удерживается более 8 секунд или была повторно нажата и удерживалась на 7-8 секунде, то алгоритм отработает еще цикл. Это допустимо?

Вложений в сообщении

Иконка вложения My scheme 01a.cfd 3.71 кб, скачивался 483 раз, последний раз 2018-10-05 

12

Re: Программируемое реле времени на CANNY 3 tiny

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

Денис, CANNY пишет:

1. Диаграммой допускается нажатие одновременно 1й и 2й кнопки, а следовательно и работа обоих выходных каналов одновременно. Это нормальный режим работы устройства? Может ли при этом что-либо быть выведено из строя?

Выведено из строя вряд ли может быть, скорее всего, там есть защита, и моторы просто не сработают ни в какую сторону. Будет всё это дело подключаться к кнопке управления электрическим люком. На машине стоит выключатель, физически исключающий возможность одновременного нажатия (в разные стороны работает одна кнопка), я предполагал что-то подобное использовать, но Вы подали хорошую мысль, можно попробовать ограничить это диаграммой, если это возможно.

Денис, CANNY пишет:

2. Если управляющая кнопка нажата и удерживается более 8 секунд или была повторно нажата и удерживалась на 7-8 секунде, то алгоритм отработает еще цикл. Это допустимо?

Да, допустимо, т. к. схема к которой будет подключаться Канни, сама отключает сигнал, в случае необходимости (перегрузка, невозможность дальнейшего открытия/закрытия и т. п., типа, как защита). Более того, так и задумывал, чтобы если люк был открыт/закрыт собственными кнопками, была возможность открыть/закрыть его с Канни из любого положения.

13 (06-10-2018 22:47:18 отредактировано Okstis)

Re: Программируемое реле времени на CANNY 3 tiny

Посмотрел диаграмму, ещё раз спасибо за помощь с конфигурацией каналов!
Добавил условия, исключающие одновременное срабатывание обоих каналов. В симуляторе, вроде, получилось нормально. При одновременном нажатии обеих кнопок ничего не происходит. Если какая-либо из кнопок была нажата чуть раньше, то её цикл отрабатывается.
Хотелось бы ещё добавить кнопку принудительной остановки всех циклов из любого состояния/сброса состояния всех таймеров, но не соображу, как это сделать, кроме как добавить кнопку вкл/выкл питания самого контроллера. Попробовал добавить на 5 канал регистр сброса, но, видимо, это не то, что нужно. При появлении сигнала на нём в симуляторе ничего не происходит, цикл продолжает работать. Возможно ли сделать сброс программными средствами контроллера?

Вложений в сообщении

Иконка вложения My scheme 01d.cfd 4.25 кб, скачивался 387 раз, последний раз 2018-10-06 

14

Re: Программируемое реле времени на CANNY 3 tiny

Возможно ли сделать сброс программными средствами контроллера?

Да, возможно:
http://wiki.canny.ru/index.php?title=CA … 1.80.D0.B0

15

Re: Программируемое реле времени на CANNY 3 tiny

Понял, спасибо за ссылку! Действительно, регистр сброса - это не совсем то. Получается, нужен регистр контроля восстановления питания. Однако, это значение выделено серым (нельзя выбрать). Попробую разобраться, почему.

Вложений в сообщении

Иконка вложения PrtSc.png 115.76 кб, скачивался 149 раз, последний раз 2018-10-06 

16

Re: Программируемое реле времени на CANNY 3 tiny

"Регистр контроля восстановления питания" - это регистр чтения. Он позволяет определить, что произошел сброс контроллера. При старте контроллера в нем, ровно на один цикл выполнения диаграммы, появляется значение "1".

17

Re: Программируемое реле времени на CANNY 3 tiny

При появлении сигнала на нём в симуляторе ничего не происходит, цикл продолжает работать.

В симуляторе никак  не эмулируется работа регистров контроллера, только функциональных блоков. Вы можете проверить работу регистров только при проверке "в железе".

18

Re: Программируемое реле времени на CANNY 3 tiny

Насчёт того, что это регистр чтения сообразил уже после того, как спросил ) , насчёт эмуляции понял, спасибо за пояснение!

19

Re: Программируемое реле времени на CANNY 3 tiny

Доброго всем времени! Добавил регистр чтения "Питание восстановлено" по стопам поправок Дениса на 5-й канал. Будет ли работать должным образом, правильной ли получилась конфигурация 5-го канала (остановка всех циклов и сброс контроллера по замыканию канала на общий вывод)?

Вложений в сообщении

Иконка вложения My scheme 01e.cfd 4.16 кб, скачивался 506 раз, последний раз 2018-10-08 

20

Re: Программируемое реле времени на CANNY 3 tiny

Сброс работать не будет - использован неправильный регистр. Канал 5 сконфигурирован частично верно. Если по появлении потенциала GND на канале 5 должен выполняться сброс контроллера, то канал 5 должен быть сконфигурирован как вход с инверсией входного значения (в точности как каналы 1 и 2). А регистр входного значения канала 5 должен быть подключен к регистру сброса, тогда при появлении "1" в регистре входного канала 5 будет выполнен сброс контроллера, все выполняемые действия будут остановлены и контроллер будет перезапущен и придет в исходное состояние.
Подход к считыванию входных значений с использованием блоков №№17 и 18 не самый очевидный (логичнее использовать Логические операции) и к тому же исключает лишь одновременное нажатие кнопок, но разрешает активацию выполнения действия, противоположного уже выполняемому, т.е. если уже идет закрытие, на что требуется 7 секунд (3 секундных включения реле с интервалом 1 и 3 секунды), то при нажатии на кнопку открытия соответствующий алгоритм будет активирован и он будет работать параллельно, мешая первому, что может привести к выходу какого-либо оборудования из строя.
Выход - либо заканчивать уже выполняемое действие, игнорируя попытки активации другого, либо при поступлении противоположной команды останавливать выполнение текущего действия.

21

Re: Программируемое реле времени на CANNY 3 tiny

Денис, спасибо за подробные пояснения по поводу каналов, поправил. Теперь правильно получилось?

Насчёт логических операций, это первое, что пытался сделать для исключения одновременной работы циклов. Возился, возился, но ввиду отсутствия знаний в этой области, у меня так ничего и не вышло. Вы правы, я не доглядел, что циклы могут одновременно работать, спасибо за замечание! Переделал эти два блока (17 и 18) на вариант с триггерами. Их, вроде, смог одолеть (если ничего не упустил), в отличии от Логических команд ) В итоге, получилось по первому, описанному Вами варианту (пока текущее действие заканчивается, новое игнорируется). Хотя, по второму было бы интереснее (остановка текущего действия при поступлении новой команды), но я вряд ли такое осилю.

Вложений в сообщении

Иконка вложения My scheme 01g.cfd 4.4 кб, скачивался 495 раз, последний раз 2018-10-09 

22

Re: Программируемое реле времени на CANNY 3 tiny

Хорошее решение, но можно сделать и без лишних триггеров (см. вложение Вариант 1). С кнопкой сброса контроллера все сделано верно.
Во вложении Вариант 2 - возможное решение задачи вторым способом - остановка выполнения текущей команды при нажатии на кнопку активации альтернативной команды. При этом выполняется переход контроллера в исходное состояние - счетчики сбрасываются. Для активизации следующего действия нужно нажать соответствующую кнопку.
Обращаю внимание, что после сброса контроллера или отмены выполнения текущей команды состояние исполнительного устройства (чем управляем: люка, двери...) останется в последнем положении в котором оно находилось в момент сброса (например, открыто частично). Активизация очередной команды начнет выполнение действия с начала, не учитывая текущее положение управляемого объекта, что может привести к выходу механизма из строя.

Вложений в сообщении

Иконка вложения My scheme 01g+.cfd 13.27 кб, скачивался 478 раз, последний раз 2018-10-10 

23

Re: Программируемое реле времени на CANNY 3 tiny

Насчёт сброса и первого варианта (логика вместо триггера) всё понял, большое спасибо!
Насчёт второго варианта, очень интересно! Сам бы точно до такого не дошёл! ) Однако, по окончании цикла, счётчик не сбрасывается и продолжает отсчёт (после работы блоков 50 и 57). При попытке соединить выходы этих (или дополнительных) блоков со входами сброса счётчиков (как было в предыдущих вариантах), пишет, что сеть подключена более, чем к одному выходу...

По поводу состояния исполнительных устройств, это понятно. Конкретно в моём случае, можно не брать в расчёт (т. к. цепь управления отключает силовые нагрузки, если люку некуда дальше двигаться или он встречает препятствие). А так, вообще, да, необходимо учитывать эту особенность, спасибо!

24

Re: Программируемое реле времени на CANNY 3 tiny

О... немного не доглядел. Изменил подход, чтобы команды на запуск и остановку не путались. Исправленное во вложении.

Вложений в сообщении

Иконка вложения My scheme 01g+.cfd 13.64 кб, скачивался 582 раз, последний раз 2018-10-10 

25

Re: Программируемое реле времени на CANNY 3 tiny

Ага! )
Вот теперь вообще круто! Даже и не рассчитывал, что до такого дойдёт! ) Диаграмма получилась шикарная!
Денис, Вам огромная благодарность за исправления, существенную доработку диаграммы и исправление моих косяков! Константин, Вам большое спасибо за ценные советы, конкретные ссылки и указание нужных направлений!
Как дойдут руки до реализации, отпишусь о результатах. Очень надеюсь, что дойдут, хотя, может и не в зиму, пока люк не используется.
Ещё раз огромное вам спасибо!