Например TDA7294

Форум РадиоКот :: Просмотр темы - Ардуино Мега зависает при работе мотора 12В DC через реле
Форум РадиоКот
https://radiokot.ru/forum/

Ардуино Мега зависает при работе мотора 12В DC через реле
https://radiokot.ru/forum/viewtopic.php?f=61&t=170872
Страница 3 из 3

Автор:  BOB51 [ Ср июн 03, 2020 10:34:07 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

Для практических устройств нужно и схемотехнику прорабатывать и программу.
Причем желательно использовать МИНИМУМ "сторонних библиотек" - все модули писать самостоятельно, с использованием исключительно того, что в базовом "референсе" IDE имеется.
Тогда можно таки весьма точно отследить возможные источники сбоев/ошибок.
Как исключение - высокоскоростные протоколы микроLAN и WS2812.
И то... в проблемных ситуациях предпочтение работе с такими устройствами через промежуточные самодельные "СБИС периферии с мозгами", программа которых написана под ассемблером.
А с "головой" в виде адуриньи они связываются каким-либо "стандартным" протоколом, имеющимся в распоряжении средств "референса".
Автоматика обычно из двух основных частей состоит - собственно регулятор и интерфейс пользователя.
Как вариант - делать два раздельных блока - один собственно съём, анализ параметров и регулирующее воздействие обеспечивает.
Он же выдает оперативную индикацию и имеет кнопки аварийного управления.
Второй - режим дисплея изменения параметров и клавиатуру управления для интерактивной смены настроек выполняет.
В качестве второго варианта может рассматриваться и терминальная программа в ПК.
А лучше делать совместимый вариант с единым протоколом связи и управления...
Это общие для особо требовательных к надежности/безотказности проектов требования.
8)
Не пытайтесь сразу впихнуть совмещение множества одновременно используемых аппаратных функций в один кристалл (особенно в случае с ардуино!).
Такие задачи успешно можно решить исключительно под ассемблером (и то с заметным расходом времени и нервовых клеток).
:write:

Автор:  avk38 [ Пт июн 05, 2020 19:30:43 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

Все-таки она вертится!
После очередного похода в магазин, закупки изолирующего конвертера 12В-5В RDD05-05S1, его обвязки конденсаторами и дросселем B82722-A2202-N1, 2х2.2мГн, 2A согласно datasheet, установки нового питания для МК (завел напрямую в пин +5V) и переключения питания LCD и RTC минуя ардуино включил и .. все опять умерло.
И уже совсем поздно обнаружил, что все это время (т.е. с момента установки прибора в продуктив), к нему была подключена витая пара с датчиками температуры DS1820. И как выяснилось, именно она-то все и портит.

По итогу, сегодня целый день я счастливый обладатель работающего открывателя окна - мотор и контроллер отлично работают без сбоев! (Возможно даже, что питание от супердешевого LM7809 можно было оставить)

На этот раз окончательно закрываю тему с моторчиком и пойду сперва рыть интернет и думать в поисках косяка с 1 wire, а потом, возможно, открывать новую тему. :)

Еще раз всем огромное спасибо за ценнейшие советы.

:beer:

Автор:  BOB51 [ Пт июн 05, 2020 20:49:07 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

Витая пара испортила работу датчика??
:?
По идее такого быть не должно, ибо DS18B20 прекрасно работает даже на вот таком кабло:
http://img.radiokot.ru/files/20529/26egzlfrya.jpg
или
http://img.radiokot.ru/files/20529/i1yvpkie4.jpg
А это банальный 4-х жильный кабель для телефона...
(вот кстати показометр на основн нанки к примеру https://radiokot.ru/forum/viewtopic.php ... 1#p3742521 )
:beer:

Автор:  Ярослав555 [ Пт июн 05, 2020 21:26:25 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

у нас на фирме есть направление - термометрия в бункерах зерна (силосах). Одна из разновидностей - гирлянда DS18b20. Десяток датчиков на 20 метрах витой пары, все это в оболочке. И ничего - работает, как часы. Правда для работы используется драйвер DS2480 - он имеет режим усиленного питания линии. Алгоритм такой - включается усиленная подтяжка и дается команда измерять температуру. Потом режим подтяжки меняется на слабый и идет вычитка значений. Десятки плат, сотни подвесок по всей Украине - все работает.

Добавлено after 7 minutes 51 second:
Re: Ардуино Мега зависает при работе мотора 12В DC через реле
кстати по линии 1-провод обязательно ставим защиту usb6b1

Автор:  BOB51 [ Сб июн 06, 2020 11:32:21 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

Можно и без DS2480, если устройство позволяет обычный ногодрыг делать.
Только ставим вот такую приблуду:
http://img.radiokot.ru/files/20529/283yb8ktkx.GIF
Однако это при условии, что проект не на основе ардуино, а как "обычный асм/Си" выполняется....
8)
В случае топикстартера работает библиотека OneWire да возможно еще и в комплекте с DallasTemperature - там особо чего своего не прицепиш...
А что касается самих библиотек - разбор в их содержании - занятие не для начинающего.
Посему... Внимательно смотрим исходник и разводку кабеля относительно платы ардуины.
Я в своих тестах с адуринкой ограничился функционалом OneWire... И то для одного датчика.
:roll:

Автор:  avk38 [ Ср июн 10, 2020 15:56:15 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

Уважаемые все! Активность и дружелюбность данного форума не устает меня удивлять. Спасибо за очередную порцию информации, обязательно изучу на досуге. Действительно, в планах не было использовать тяжелую артиллерию типа специальных устройств :).

@BOB51, так и есть, пользуюсь OneWire и DallasTemperature. И да, не хочется залезать на низкий уровень управления шиной.

Разобрался с проблемой - по крайней мере на пока.

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

Итак:
На линии висело 6 датчиков (каждый на ~0,5м хвосте):
- 2 рядом с МК,
- 3 подключены к одной точке на ~3 метре. Три хвоста от датчиков соединяются между собой спайкой и потом все одним коротким 3-5см хвостом подключаются к шине
- и еще один на самом конце еще метрах в 4-5.

Проблема была в этих трех - они наводили глюки на всю систему. Если оставить любые 2, то они просто показывали некорректную температуру. Втроем вешают все. На столе этот краб из 3х, подключенный к кабелю длиной 2 метра работает нормально. Что в принципе согласуется с идеей о том, что топология типа звезда не поддерживается, а если вешаете датчики в одной точке, то подключайте их кабелем разной длины.

Пока оставил один из трех - система работает уже 4 дня с 4мя датчиками. Ничего не зависает, форточка открывается и закрывается как надо автоматически и в ручном режиме, добавил вентилятор - его долго уговаривать не пришлось, готовлю к установке клапан наполнения бочки - код уже работает, контроллер бодро "наполняет" бочку пощелкивая пока пустой релюшкой, скоро доедут клапаны для полива грядок
Глюков пока хватает - сейчас например файлы с логами, которые пишутся на SDCard, периодически корраптятся, но это уже не схемотехника, а программный код, с которым борюсь в меру сил. Остальные два датчика поставлю в других разных местах.

Автор:  BOB51 [ Ср июн 10, 2020 17:34:53 ]
Заголовок сообщения:  Re: Ардуино Мега зависает при работе мотора 12В DC через рел

ДЫК... микроLAN "звездой" делать весьма плохая идея...
Или коммутатор ставить надо или адресуемые ключи...
На крайний случай - цепочкой один за другим на одном шлейфе (но также "не кошерстно")...
8)

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/