Страница 1 из 1

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 14:24
NWspb
Здравствуйте знатоки, гуру ардуино. Посоветуйте пожалуйста решение, постараюсь  в двух словах  объяснить суть  проблемы

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

параметры таймера и температуры задаю по такой схеме (логикой)

к примеру : на панеле жму кнопку "+" таймера, блок "отслеживания нажатий" на ардуино определяет нажатую на панеле кнопку, после чего ардуино  прописывает число на панель с помощью блока "задать параметр" и блока "отслеживания изменения числа" в текстовое окно таймера.

далее по  такой же схеме прописываю кнопку "-" таймера, и всё по  тихому начинает чуть  притормаживать.

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

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

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

И тут встал  вопрос "жизни и смерти" в плане  ардуино.
Заниматься ей вообще или нет, или переходить на контроллеры сименс, овен и тд.

Пока одни  вопросы.

Может кто  сталкивался с такими проблемами? (Если надо  могу снять  видео работы )

ПС. Сергею  в любом случае огромное спасибо за его  труд.

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 14:32
pan
NWspb писал(а):то  есть простые проекты,  помигать  светодиодом, включить  выключить  реле, да,  но  не  более.
  вы очень сильно заблуждаетесь.
NWspb писал(а):Заниматься ей вообще или нет, или переходить на контроллеры сименс, овен и тд
 особенно на сименс. если бабло не проблема то конечно переходите. 
только сравнивать ардуино и сименс это как тетрис с компом.

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

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 14:47
Dev1
NWspb писал(а):Моё личное мнение, что ардуино попросту слабая платформа
На всякий случай, практически все 3д принтеры(бюджетные) работают на ардуинке. У Овена полно приборов с мк Атмега, как в ардуино.

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 15:03
NWspb
Вот сам проект, оформил на скорую  руку одной платой. Могу раскидать по платам, но  суть  работы не меняется.

Логика работы простая.

1.Стартовая страница, одна кнопка, по  ней переходим на страницу 2, также, она задаёт изначальные параметры таймеру и температуре.

2. Вторая страница. Задаем температуру, время. кнопка старт переход на страницу 3. также кнопка старт запуск таймера, включение насоса.

3. Третья страница, показывает температуру с датчика, оставшееся время. кнопка стоп переход на страницу 2, включение спикера, остановка насоса.

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

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 15:23
holodaleksey
NWspb писал(а):Притом обратил внимание, что при подаче питания на ардуино, на короткое время включаются все подсоединенные к ней реле, светодиоды и тд, что не есть гуд
это норма при инициализации запуска, реализуйте защиту внешней обвязкой.
NWspb писал(а):далее прописываю кнопки задания температуры, датчик температуры, кнопку старт, стоп и дт. и ардуино начинает жестко тормозить, работать крайне не корректно, периодически сбиваться с заданной логики работы и тд.
сделайте для начала проект без внешних (сложных) HMI, просто на тактовых кнопках и любом дисплее, или пробросом в компорт.
если заработает - значит все нормально, и уже отсюда ищите слабое звено.

если же изначально деньги не вопрос и нужен готовый полупром/пром контроллер - есть ПР, лого, зентек, сема, мицуба, алень-в-бреду, бекхофф наконец или вурм (два последних это стеб, унитаз по цене самолета :)).

зы: простейшие програмы (а то, что вы описали - оно и есть) легко реализуется просто на любых модулях ввода-вывода и почти любой HMI без внешнего контроллера.

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 15:54
pan
holodaleksey писал(а):реализуйте защиту внешней обвязкой.
 или используйте правильное подключение реле)

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 16:32
vovka1973
NWspb писал(а):И тут встал  вопрос "жизни и смерти" в плане  ардуино.Заниматься ей вообще или нет, или переходить на контроллеры сименс, овен и тд.
ну если перейдете на сименс или овен то там все по модбасу придется делать так что тогда вам мешает здесь так сделать .я тоже столкнулся с такой проблемой и решил сделать как в промышленных контроллерах связать по модбасу.

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 16:35
pan
сименс с модбас тот еще гемор..

панель Nextion и Uno, Mega

Добавлено: 24 июл 2017, 16:51
NWspb
Сегодня рискну переписать  проект,  сделать  несколько  по  другому, посмотрю что получится.

панель Nextion и Uno, Mega

Добавлено: 25 июл 2017, 13:13
NWspb
По итогам сделал фактически всю логику на самой панели nextion, таймер, логику кнопок (пуск стоп пауза продолжить. 0 и 1 в текстовом окне панели).  максимально разгрузил ардуино, оставил только сканирование шины oneware, пару блоков получить параметр (заданная на панели температура, состояние режима работы, один блок задать параметр (температуру с датчика) пару триггеров, пару схем сравнений. заметил,  если добавить  блоки  отслеживания нажатий,  то  ардуино  начинает  жестко  тормозить,  сбиваться с  заданной  программы,  логике.

и всё равно  бывают с ардуино  лаги. 

вот  сам  проект, думаю  проще уже некуда... но  всё равно(((