Всем привет! Ищу единомышленников. Лодки пока нет, но скоро будет. Правда убитая в хлам. Пока решаю этот вопрос, решил наклепать всяких датчиков и объединить их по протоколу ModBUS. Планируется: Качество воздуха (противопожарка) Температура, влажность, атм. давление (типа барометр ясно-пасмурно-ураган) Анеморумбометр Эхолот до 100м (стандартный фитинговый трансдьюсер или самодельный) Лаг (СВЧ или ультразвуковой) Радар-детектор АИС Автопилот( магнитный/GPS курс, ветер) Система управления движетелем (BLDC) Ну и т.д Я тут уже на полляма наговорил... И, в качестве бреда - полное радиоуправление аки дрон
IMHO, в судовых условиях в качестве связного протокола CAN уже нужен. Arduino никаким боком. Или Вам утопнуть? Или речь о моделировании (беспилотном судне) идет?
IMHO, в судовых условиях в качестве связного протокола CAN уже нужен.
Совершенно не обязательно. Разные производители судового оборудования используют разные протоколы и транспортные уровни. Гармин вообще проприетарщиной занимается. Традиционно используют NMEA (RS-232), NMEA-2000 (CAN) ну и SeaTalk (EtherNet) для взаимной интеграции. Мой выбор протокола общения ModBUS между системами обусловлен личным опытом интеграции 1С-Предприятия с пром.оборудованием. И на небольшой парусной лодке транспорт RS-485 будет к стати, бикоз он хорошо себя зарекомендовал в промышленных условиях (помехозащищенность). Стабильную скорость обмена можно подобрать из стандартного ряда. И почему "Ардуино никаким боком. Или Вам утопнуть"? Ардуино - это не железо. Всего лишь платформа для быстрой разработки, в основе которой Processing. Железо может быть любым. Я например китайские чипы использую lgt8f328p для обработки данных с датчиков. Непотопляемость обеспечивается другими способами. Электроника здесь не при чем. Примерно так будет выглядеть конструкция датчиков микроклимата внутри лодки. После отладки кода все внутренности замазываются цапон-лаком и коробочка герметизируется.
Полное радиоуправление - это вишенка на торте . Можно попробовать ... но это не точно
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Это датчик не только дыма но и пропан-бутана. От зажигалки срабатывает. На любой серьезной лодке есть газовая плита. Вдруг утечка . Пожар в открытом море - это беда. Яхты горят. Вот... спички детям не игрушки https://www.youtube.com/watch?v=WJz1j6Z_8j4
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Всем яхтсменам и сочувствующим привет! Загремел в госпиталь с ковидлой, поэтому месяц не отсвечивал Как выписался так сразу понеслось... Первый комплект датчиков готов. Выкладываю скетч. В комментариях к коду написано куда что подсоединять. Питание - DC/DC преобразователь с 8-18 на 5 вольт. Трансивер RS485 любой, с сигналом разрешения передачи. Спойлер
Этот код должен на любой нано,про микро,уно заработать Контролировал работу с помощью QModBus. Данные идут корректные Потроха буду герметизировать. Ток потребления 73 мА Следующее на очереди это датчик пространственной ориентации
#define TXEN 7 //Нога для управления трансивером прием/передача #define DEV_ID 1 //Номер устройства #define BEEP 2 //Активный Buzzer #define Air_Quality A0 //Нога датчика качества воздуха (пропан-бутан и угарный газ) MQ-2 #define DHT22_PIN 12 //Нога DHT-22
#define BAD_AIR_QUALITY 1200 //Для датчика MQ-2 значение найденное экспериментально uint16_t fld_data[4] = {0,0,0,0}; //Массив для передачи
DHTStable DHT; BMP085 myBarometer;
Modbus slave(DEV_ID,Serial,TXEN); // Слейв режим
void setup() { analogReference(INTERNAL4V096); //Внутренний опорник на 4,096V (только для lgt8f328p) wdt_enable(WTO_8S); //Сторожевой таймер на 8 сек. pinMode(Air_Quality,INPUT); pinMode(LED_BUILTIN,OUTPUT); pinMode(BEEP,OUTPUT); Serial.begin(38400); //Оптимальная скорость обмена данными для моего случая myBarometer.init(); //Инициализация BMP180 slave.start(); //Запуск ModbusRTU }
void loop() { wdt_reset(); // Сброс сторожевого таймера delay(500); DHT.read22(DHT22_PIN); fld_data[0] = analogRead(Air_Quality); // Текущее значение с датчиков пишем в массив fld_data[1] = DHT.getHumidity()*10; // целочисленные значения в 2 байта (умножение на 10 где необходимо) fld_data[2] = DHT.getTemperature(); fld_data[2] = ((fld_data[2]+myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT())) / 2)*10; fld_data[3] = (myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP())/133.3223684)*10; //Переводим в мм.ртст if (fld_data[0] > BAD_AIR_QUALITY) alarm();//Сигнал тревоги digitalToggle(LED_BUILTIN); //Моргаем. Короткие вспышки - контроллер не висит. Длинные вспышки - идет обмен по RS485 slave.poll(fld_data,4); //Проверка входящих запросов и отправка массива мастеру digitalToggle(LED_BUILTIN); }
Круто Вы там навертели... В моем понимании датчик "пространственной ориентации", применительно к лодке, это магнитный курс, крен и курсовые данные с GPS. Координаты в долготе и широте понадобятся потом, когда встанет задача научить автопилот ходить по заранее заданному треку. Магнитный курс и крен намерен получить при помощи MPU-6500 + HMC5883. есть готовые либы чтобы данные с этих модулей сразу в Эйлеровы координаты пересчитывать. А там есть все. И курс и тангаж и крен. Крен тоже нужен будет автопилоту. Один из критических параметров чтобы не лечь парусами на воду или уйти в брочинг
Тут все просто... Так как лодка не игрушечная, буду использовать нетбук для сбора данных с Processing (как вариант). У такого решения есть важное преимущество... Не надо лепить Master устройство. Есть возможность интеграции с OpenCPN.
Добавлено after 5 minutes 28 seconds: подключали всякие датчики... гироскопы... компасы... акселерометры... и т.д. всё выводили на экран и передавали по радио... с этим проблем не возникло)) проблемы начались с обработкой всех этих данных... посчитать... откалибровать... и т.д. программист из нашей команды не сумел правильно настроить и обработать данные со всех датчиков данные... а мне одному всё это долго...)) тем более без библиотек на простом AVR ))
ну если есть готовые библиотеки под ардуино... тогда думаю проблем не будет))
Добавлено after 13 minutes 15 seconds: автопилот... https://create.arduino.cc/projecthub/ma ... tem-b880bd не знаю... у нас была другая идея... AVR не захотел считать косинусы и синусы)) поэтому решили всё делать на нетбуке или любом другой гаджете... там с этим проблем нет))
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения