Форум РадиоКот 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. И то... в проблемных ситуациях предпочтение работе с такими устройствами через промежуточные самодельные "СБИС периферии с мозгами", программа которых написана под ассемблером. А с "головой" в виде адуриньи они связываются каким-либо "стандартным" протоколом, имеющимся в распоряжении средств "референса". Автоматика обычно из двух основных частей состоит - собственно регулятор и интерфейс пользователя. Как вариант - делать два раздельных блока - один собственно съём, анализ параметров и регулирующее воздействие обеспечивает. Он же выдает оперативную индикацию и имеет кнопки аварийного управления. Второй - режим дисплея изменения параметров и клавиатуру управления для интерактивной смены настроек выполняет. В качестве второго варианта может рассматриваться и терминальная программа в ПК. А лучше делать совместимый вариант с единым протоколом связи и управления... Это общие для особо требовательных к надежности/безотказности проектов требования. Не пытайтесь сразу впихнуть совмещение множества одновременно используемых аппаратных функций в один кристалл (особенно в случае с ардуино!). Такие задачи успешно можно решить исключительно под ассемблером (и то с заметным расходом времени и нервовых клеток). |
Автор: | 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, а потом, возможно, открывать новую тему. Еще раз всем огромное спасибо за ценнейшие советы. |
Автор: | 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 ) |
Автор: | Ярослав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 Однако это при условии, что проект не на основе ардуино, а как "обычный асм/Си" выполняется.... В случае топикстартера работает библиотека OneWire да возможно еще и в комплекте с DallasTemperature - там особо чего своего не прицепиш... А что касается самих библиотек - разбор в их содержании - занятие не для начинающего. Посему... Внимательно смотрим исходник и разводку кабеля относительно платы ардуины. Я в своих тестах с адуринкой ограничился функционалом OneWire... И то для одного датчика. |
Автор: | 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 "звездой" делать весьма плохая идея... Или коммутатор ставить надо или адресуемые ключи... На крайний случай - цепочкой один за другим на одном шлейфе (но также "не кошерстно")... |
Страница 3 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |