на главную
Карта сайта
English version
Вы читаете:

Бюджетный контроллер на CANNY

Р/л технология
1 год назад

Бюджетный контроллер на CANNY (часть 2)


Отмечу некоторые важные моменты при работе с контроллером, которые вы не найдёте в помощи F1 к программе:

1.Для подключения входов и выходов блоков к физическим выводам контроллера нужно навести указатель мыши на вывод блока, щёлкнуть левую клавишу и провести линию связи на небольшое расстояние, затем дважды кликнуть левой клавишей мыши. Получится линия с точкой (именованная связь). Затем по этой линии кликнуть правой клавишей мыши. В выпавшем меню выбрать "Переименовать", затем выбрать из списка нужный вывод: I1 - I9 - это входы, Q1-Q7 - это выходы, RedLed и GreenLed - соответственно красный и зелёный светодиоды, установленные непосредственно на самом микроконтроллере, "Кнопка" - это кнопка на плате контроллера, Т1 и Т2 - аналоговые значения от подстроечных резисторов R1 и R2 с платы контроллера (интервал 0-1023).

2.В симуляторе работа с EEPROM невозможна. Данные при симуляции в ячейках равны 0! Для примера в "Конфигурации" приведён пример составного блока (рис. 5), который выполняет функции энергонезависимого триггера. После выключения питания состояние триггера сохраняется. Блок имеет три входа: R, S и чтения ячейки EEPROM памяти и два равноценных выхода - один дискретный, а второй для записи в ячейку памяти. При написании программы нужно обязательно учитывать, что частая запись в EEPROM может повредить память. На время отладки в симуляторе нужно отключить вход и выход EEPROM блока от ячеек и просто соединить их между собой, как показано на рис. 6.

Пример составного блока

Рис. 5. Пример составного блока

 

Вход и выход EEPROM блока

Рис. 6. Вход и выход EEPROM блока

 

3.Для подавления "дребезга" контактов можно использовать составной блок из того же файла "Конфигурация.cfd", блок 1 на рис. 7. Он предназначен для подавления "дребезга" контактов входных сигналов датчиков. У него три входа - собственно для входного сигнала, вход значения задержки фильтрации входного сигнала (задаётся константой) в миллисекундах и вход, который определяет, нужно ли инвертировать полученный сигнал (тоже задаётся константой).

Блок 1

Рис. 7. Блок 1

 

4.Для внешнего регулирования выдержки времени используются подстроечные резисторы R1 и R2. Для подключения их к таймерам лучше использовать составной блок задержки включения из примера в файле "Конфигурация.cfd", блок 2 на рис. 7. Внутренняя схема блока 2 показана на рис. 8. Причина - значение, считанное с аналогового входа, немного меняется с каждым циклом опроса программой, и если подавать его непосредственно на вход, отвечающий за выдержку времени таймера вместо константы, то это приведёт к некорректной работе таймера в период отсчёта времени. Особенно это заметно на малых значениях входного аналогового сигнала. Поэтому по приходу положительного фронта на вход запуска таймера отмасштабированное значение с аналогового входа блоком 1 будет зафиксировано в триггере 3 и не будет меняться до следующего цикла запуска таймера 4. Блок 2 детектирует фронт сигнала - на его выходе появляется кратковременный импульс лог. 1, который разрешает запись значения выдержки времени в триггер 3. Для формирования других типов временных задержек можно модифицировать этот блок. Для формирования задержки на отключение надо заменить блок 2 на детектор спада импульса, а таймер 4 - на задержку отключения.

Внутренняя схема блока 2

Рис. 8. Внутренняя схема блока 2 (по клику крупно)

 

Примеры блоков, обеспечивающих простейшие алгоритмы

Рис. 9. Примеры блоков, обеспечивающих простейшие алгоритмы

 

В файле "Конфигурациями" приведены примеры блоков, обеспечивающих простейшие алгоритмы, они находятся вне рамки, и их можно удалять и редактировать (рис. 9). Блоки 1 и 2 выполняют функцию включения выхода Q1 от входа |1 с регулируемой задержкой включения резистором Т1 (R1) в интервале 0...10 с. Дополнительно есть задержка по дребезгу в 0,2 с.

Блок 3 - это пример реализации энергонезависимого триггера, см. рис. 5. Лог. 1 на входе I2 триггер включается и включает светодиод зелёного свечения на плате микроконтроллера, лог. 1 на входе I3 отключает триггер и гасит светодиод. Подавлять дребезг для входов триггера не нужно. Состояние триггера сохраняется и после выключения питания. Если в вашей конструкции предполагается использовать больше энергонезависимых элементов, тогда нужно дополнить число регистров чтения и установки энергонезависимой памяти в рамке. Интервал адресов ячеек - от 0 до 63. Ячейки состоят из двух байтов, поэтому в них можно сохранять не только битовые значения, но и числовые от 0 до 65535 (0-FFFF).

Микроконтроллер подключают к компьютеру через разъём USB-micro. Никаких программаторов при этом не нужно. На микроконтроллер CANNY также не нужно подавать питание в режиме программирования - достаточно напряжения 5 В от разъёма USB. При первом подключении понадобится обновить системное ПО микроконтроллера - программное обеспечение, аналогичное операционной системе компьютера. Находим на панели инструментов вверху кнопку "Устройство" - "Системное ПО" - "Записать". Нажимаем на неё. Находим в диалоговом окне в папке, куда устанавливали программу CannyLab, папку ссх. В ней открываем папку canny3tinypro. Выбираем файл конфигурации c3tprov00209.ccx. Программа выведет предупреждение "в устройстве уже содержится конфигурация". Подтверждаем действие. Произойдёт обновление системного ПО.

После этого можно загружать программу. Для первого опыта можно загрузить файл "Конфигурацияю.cfd". На панели инструментов выбираем "Устройство" - "Подключить". После того как микроконтроллер успешно подключён, выбираем "Устройство" - "Диаграмма" - "Записать". Программа может вывести предупреждение "В устройстве уже содержится диаграмма. Перезаписать?". Подтверждаем.

После загрузки отключаем микроконтроллер - "Устройство" - "Отключить". Теперь на контроллер можно подавать внешнее питание. Для удобства монтажа в шкаф на плате контроллера предусмотрены два клеммника под питание 230 В - в верхней части и в нижней. Переменное напряжение 230 В может быть подано на любой из этих клеммников.
В устройстве применён контроллер CANNY 3 Tiny PRO. Микросхема DA1 - ULN2003D в корпусе SO16, если применить в другом корпусе, то придётся менять разводку печатной платы. Трансформатор питания Т1 - BVEI305 2051 мощностью 3 ВА 230В/9В, выходной ток - 334 мА. Диодный мост VD1 - MB6S с выходным током до 0,5 А. Конденсатор С1 - TKR222M1EJ21M ёмкостью 2200 мкФ на номинальное напряжение 25 В или любой подобный оксидный, С2 - GRM188R61H225KE11D типоразмера 0603 для поверхностного монтажа ёмкостью 2,2 мкФ. На плате есть место для конденсатора типоразмера 1206. Остальные конденсаторы С3-С11 - CC1206KRX7R9BB104 типоразмера 1206 ёмкостью 0,1 мкФ на номинальное напряжение 50 В. Резисторы R3-R26 - типоразмера 1206.

Стабилитроны VD2-VD10 - BZV55C4V7,115 с напряжением стабилизации 4,7 В. Подстроечные резисторы R1 и R2 - 3362P-1-103LF сопротивлением 10 кОм. Подойдут резисторы такого же типа сопротивлением в интервале от 1 до 10 кОм. Реле - TRC-12VDC-SD-AD - это миниатюрное реле на номинальное напряжение 12 В с одним замыкающим контактом, коммутирующим резистивную нагрузку током до 5 А при напряжении 230 В.

Кнопка SB1 - DTS-61R-V размерами 6х6х4,3 мм. Светодиоды индикации работы выходных цепей HL1-HL7 жёлтого свечения FYL-3014YD диаметром 3 мм.

Светодиоды входных цепей HL8-HL16 зелёного свечения L-934SGD, также диаметром 3 мм. Плату микроконтроллера с напаянными штыревыми разъёмами вставляют в два 14-контактных гнезда PBS-14, которые запаивают на плату контроллера. Для подключения контроллера к внешним цепям на плату установлены 12 двухконтактных винтовых клеммников DG300-5.0-02P-14-00AH. Для монтажа платы контроллера на DIN-рейку понадобится открытый корпус Sanhe 23-59 [3].

Все вышеперечисленные компоненты смонтированы на печатной плате размерами 104х72 мм из фольгированного с одной стороны текстолита толщиной 1 мм. Элементы для поверхностного монтажа устанавливают со стороны печатных проводников. Чертёж печатной платы и схема расположения выводных элементов показаны на рис. 10. На плате есть одна перемычка. Схема расположения элементов для поверхностного монтажа приведена на рис. 11. Плата разрабатывалась под изготовление методом лазерно-утюжной технологии.

Чертёж печатной платы и схема расположения выводных элементов

Рис. 10. Чертёж печатной платы и схема расположения выводных элементов

 

Схема расположения элементов для поверхностного монтажа

Рис.11. Схема расположения элементов для поверхностного монтажа

 

Платы микроконтроллеров с уже напаянными разъёмами представлены на рис. 1. Микроконтроллер удобно извлекать из гнёзд платы специальным экстрактором (рис. 12), который можно найти в интернет-магазинах.

Экстрактор

Рис. 12. Экстрактор

 

Рабочий вариант контроллера для установки на DIN-рейку

Рис. 13. Рабочий вариант контроллера для установки на DIN-рейку

 

Рабочий вариант контроллера для установки на DIN-рейку показан на рис. 13. Пример работающего контроллера, смонтированного в электрошкафу, изображён на рис. 14.

Пример работающего контроллера, смонтированного в электрошкафу

Рис. 14. Пример работающего контроллера, смонтированного в электрошкафу

 

Схемы внешних соединений

Рис. 15. Схемы внешних соединений

 

Пример схемы внешних соединений представлен на рис. 15. Питание контроллера 230 В подаётся на любую пару контактов разъёмов в верхней или нижней части платы контроллера. Входы 14 представляют собой "сухие" контакты выключателей и контактных датчиков.

Выходы - релейные, к выходу Q2 подключена катушка контактора КМ1, для гашения выбросов ЭДС самоиндукции параллельно обмотке включён варистор JVR07N361K65PU5, 230Vac/300Vdc, 1200A. Эта мера позволит избежать преждевременного износа контактов реле на плате контроллера. Гашением на катушке маломощного реле K1 можно пренебречь. Транзисторный выход задействован для управления лампой HL2, работающей в режиме маячка для индикации процесса работы. Выводы Q5 и Q6 задействованы во внешних цепях, и на схеме эти цепи не показаны.

Файл печатной платы в формате SprintLayout 6 и файл конфигурации находятся здесь.

Литература

1.Интегрированная среда разработки CannyLab v2.13. - URL: https://canny.ru/ downloads/ (07.12.22).

2.CANNY форум. - URL: https://forum. canny.ru/index.php (07.12.22).

3.Открытый корпус Sanhe 23-59 для монтажа печатной платы на DIN-рейку. - URL: https://silines.ru/23-59 (07.12.22).

Автор: С. Рычихин, г. Первоуральск Свердловской обл.


Рекомендуем к данному материалу ...