FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 16:30
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Подводные камни подключаемых библиотек
Подводные камни подключаемых библиотек
Андрейка
Дата: Понедельник, 14.09.2015, 20:58 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте !
Сначала хочу поблагодарить автора за большой труд по созданию отличной программы.
Проблема у меня такая.
Делаю блок управления для большой посудомоечной машины.
Один из модулей должен при срабатывании датчика уровня воды включать ТЭН и нагревать воду до определенной температуры.
Все работало нормально при использовании обычного аналогового датчика(терморезистор). При отключении USB шнурка от компа и подключении-отключении разъема питания реле запускалось в штатном режиме.
Я решил стать крутым и купил цифровой термодатчик DS18B20.
Подключил его библиотекой One Wire. И заметил что при первом включении Ардуино включает на секунду реле нагрева при отсутствии сигнала с датчика уровня.
А это плохо. Поставил блок таймера задержки включения на 5 сек. Вроде стало все хорошо. Теперь подключил ЖК-дисплей по I2C. Опять при первой подаче напряжения на плату Ардуино мигает дисплеем и что самое плохое врубает реле нагрева на секунды 2-3.  И что самое плохое даже блоком таймера задержки я не могу избавиться от срабатывания реле при первом запуске !
Вопрос отчего Ардуина дергает контакты реле ? Это происходит инициализация библиотек ?
Какой библиотеки ? I2C или Licud Cristal ? Возможно ли программно с этим побороться ?
 
Max Дата: Понедельник, 14.09.2015, 21:10 | Сообщение # 2
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
Питание как подключено?

Максим (VK - Максим Дунаевский)
 
Андрейка Дата: Среда, 16.09.2015, 18:32 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Питание идет от блока питания 9 В на разъем платы. Его я и дергаю проверяя работу. От этого же блока но через другой стабилизатор 78L05 подаю 5 В на платы реле. На реле я снял перемычку VCC-JD VCC и реле независимы от модуля Ардуино.
 
sser Дата: Среда, 16.09.2015, 23:55 | Сообщение # 4
Майор
Группа: Проверенные
Сообщений: 175
Награды: 5
Репутация: 4
Статус: Offline
Цитата Андрейка ()
Подключил его библиотекой One Wire. И заметил что при первом включении Ардуино включает на секунду реле нагрева при отсутствии сигнала с датчика уровня.
  Это не проблема Ардуино .
Если Вы делаете какую-либо автоматику ,то нужно выполнить одно из правил .
Питание на исполнительные устройства нужно подавать только тогда когда контроллер готов к работе.
Кстати об этом ни где не слыхал ,чтобы кто-то об этом задумывался.
Делается это просто .Берем свободный выход контроллера и подключаем его к реле подающее питание в схему с исполнительными устройствами(или включаем реле которые их коммутируют ) ,выход включаем через таймер , или делаем небольшую схемку самотестирования после которого даётся разрешение на работу исп. устройств.




Сообщение отредактировал sser - Четверг, 17.09.2015, 00:03
 
Андрейка Дата: Четверг, 17.09.2015, 10:36 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Спасибо большое. Я так понимаю, что нужно ставить отдельное реле времени и ставить на нем задержку включения подачи напряжения на катушки управляющих реле. Через секунд 5 пока Ардуино инициализирует библиотеки и пощелкает всеми релюхами можно будет врубать силу.
Использовать контроллер по моему не возможно он при запуске выводит 1 на выхода.
 
sser Дата: Четверг, 17.09.2015, 22:26 | Сообщение # 6
Майор
Группа: Проверенные
Сообщений: 175
Награды: 5
Репутация: 4
Статус: Offline
Да, так и делайте...
В электрике в станках ,для безопасности применяют кнопки пуск и стоп, это обязательно.
Это сделано для того чтобы в случае пропадания питания в сети ,аппарат выключится и не смог включиться самопроизвольно при возобновлении подачи напряжения!
А так же любой промышленный аппарат должен быть оснащён кнопкой аварийного стопа.




Сообщение отредактировал sser - Четверг, 17.09.2015, 22:27
 
Сергей Дата: Четверг, 17.09.2015, 23:39 | Сообщение # 7
Модератор
Группа: Модераторы
Сообщений: 366
Награды: 15
Репутация: 5
Статус: Offline
Цитата Андрейка ()
Подключил его библиотекой One Wire. И заметил что при первом включении Ардуино включает на секунду реле нагрева при отсутствии сигнала с датчика уровня.

Когда я писал программы на ассемблере, то первыми командами были инициализация стековой памяти, и срезу же инициализация портов контроллера. Это первые 10 тактов работы ЦПУ после сброса. В принципе порты можно настроить сразу после старта, самыми первыми командами. Тогда такие сработки выводов, даже если и будут (если не ошибаюсь при старте контроллера все выводы уст. в "1" на пару микросекунд, так работают МК ATMEL), то длительность их будет равна длительности нескольких тактовых импульсов контроллера. Электромагнитные релюхи сработать не успевают.

Совет: (в Вашем случае может и не помочь, но все же...) Инвертируйте схемотехнически вход реле (через транзистор с общим эмиттером). И соответственно в программе инвертируйте необходимые блоки.
Еще попробуйте вручную прописать команды настройки портов в IDE перед загрузкой в МК.


Выгодные покупки на AliExpress в Cashback ePN! Возврат до 12 % от стоимости ЛЮБОГО товара!
 
Андрейка Дата: Суббота, 19.09.2015, 21:06 | Сообщение # 8
Рядовой
Группа: Проверенные
Сообщений: 20
Награды: 0
Репутация: 0
Статус: Offline
Спасибо за советы. Я пока слаб в програмировании и вряд ли смогу скорректировать программу на С+.  Мне проще поставить реле времени на Din рейку. Я эту тему поднял потому что нигде этот момент не заострялся. Появление 1 на выходах мне кажется связано с библиотеками а не с работой самого контроллера. Плюс еще эти китайские 8 канальные релейные модули странные. Чтобы реле включилось нужно выход инвертировать в программе. Я когда их купил и на работе проверял блоком питания 5В подумал что они вообще бракованные, не включались они не в какую. Если на выход повесить светодиод и реле то светодиод будет загораться при 1 а реле не включиться пока выход не инвертируешь. Может это из за оптронной развязки ?  Вообщем это непонятный момент. ТЭНы, ворота, насосы могут и запуститься на пару секунд при первом включении или при перезагрузке.
 
Max Дата: Суббота, 19.09.2015, 21:24 | Сообщение # 9
Гуру
Группа: Проверенные
Сообщений: 484
Награды: 14
Репутация: 4
Статус: Offline
А не получиться программно отключать входы в FLProg пока не пройдут переходные процессы, а потом их активировать?

Максим (VK - Максим Дунаевский)
 
Форум » Основной » Спросить у знатоков » Подводные камни подключаемых библиотек
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика