Информация
- В рейтинге
- 2 520-й
- Зарегистрирован
- Активность
Специализация
Технический директор, Директор по информационным технологиям
От 3 000 000 ₸
Управление проектами
Автоматизация процессов
Управление компанией
Разработка ТЗ
Оптимизация бизнес-процессов
По хорошему (и как мы привыкли на пост советском пространстве) желательно вообще иметь 100% запас.
Адресация на уровне протокола (Идентификаторы)
Вся адресация закладывается в ID сообщения (Identifier):
Standard CAN (2.0A): использует 11-битный ID. Это позволяет передавать до 2 048 уникальных идентификаторов.
Extended CAN (2.0B): использует 29-битный ID. Это дает более 536 миллионов уникальных идентификаторов.
Ограничения прикладных протоколов (CANopen, J1939)
Если поверх CAN готовый промышленный или автомобильный протокол, лимиты задаются им:
CANopen: жестко ограничивает сеть до 127 узлов (Node ID от 1 до 127) из-за структуры встроенных сервисных объектов (SDO/NMT). Обойти лимит можно только разделением сети на сегменты с помощью мостов (CAN-bridges) или шлюзов.
SAE J1939: использует 8 бит для адреса узла, что позволяет адресовать до 254 устройств на одной шине.
Отчксти,все упирается в то, что мы используем и как используем. Если это протокол над физикой и он имеет ограничения, то в них и упирается, а если делаем свой и используем физически CAN 2.0B то можем создавать свою адресация в рамках аппаратного. Да, делим на сегменты, ставим репитеры и так далее. Аналогично и у rs-485. Например стандартный MAX485 не может вытянуть более 32 узлов, сигнал заваливается, а вот уже 128 узлов вытягивает SP485R, но 256 он не может и для этого требуется MAX3485E. С шиной CAN аналогично: стандартный TJA1054 вытянет не более 32 узлов, в тоже время mcp2561 уже 110 узлов вытягивает. Нужно больше, ставим репитеры и не ограничиваем себя.
Каждый репитер создает новый изолированный физический сегмент. Если один сегмент на современных трансиверах (например, TCAN1042) тянет 110–128 узлов, то, соединив 4–8 сегментов через репитеры, можно физически подключить 500–1000 устройств.
Главное ограничение (Задержка сигнала): Физический репитер вносит задержку (обычно около 150–200 нс). Поскольку в CAN-шине критически важен одновременный арбитраж (все узлы должны услышать друг друга в пределах одного бита), каждый репитер эквивалентен удлинению кабеля примерно на 30–40 метров.
Следствие: На скорости 1 Мбит/с вы сможете поставить максимум 1–2 репитера. Чтобы построить сеть из 5–8 физических сегментов на репитерах, вам придется снизить скорость шины до 50–125 кбит/с.
И шина CAN шина - арбитражная (мультимастерная), следовательно В CAN-шине каждый узел во время отправки ID одновременно слушает линию. Чем больше физических узлов на линии, тем сильнее падает эффективная скорость сети. Поэтому сеть можно сделать больше, длиннее, но эффективность её станет настолько низкой, что будет в определённые моменты времени бесполезной.
Очиститель получился настолько умный, что к нему даже подойти нельзя! Потому что бесполезно. Все понимаю, современность, технологии, интернет, но кнопку на корпус для принудительного запуска вывести разве сложно? Обработать одну кнопку на пуск и стоп - думаю не проблема или просто сидеть и ждать, когда его ум за разум зайдёт и он соизволит запуститься. Ну или брать телефон в руки и дистанционно, через облако его запускать?
Я считаю, что всегда должен быть альтернативный вариант пуска/остановка.
А так проект отличный и очень даже полезный. Ещё сделать графики измерений и видеть прогресс очистки воздуха. И да, с датчиками нужно что-то сделать, один датчик, внутри корпуса может не дать корректные измерений. В корпусе движение воздуха происходит иначе чем в открытом пространстве. Датчик по сути нужно перед вентилятором ставить и смотреть, качество воздуха, которое он засасывает и желательно ставить ещё один после фильтра и смотреть как хорошо он его очистил. А ещё, кнопка как раз и будет нужна, что бы поставить очиститель в определённое место, нажать кнопку и сказать ему тем самым: чувак, сделай замеры и если воздух загрязгенный, то начни его чистить. Или просто длительное нажатие на кнопку - запустит принудительную очистку.
Потом вижу, что это просто перевод и понимаю что комментарий по сути в никуда)))
Очень доступно, интересно и познавательно. Работал с этим достаточно давно и изучал, но из статьи познал несколько моментов, которых до этого не знал.
Спасибо большое!
Каждый электронщик должен/хочет сделать часы. Да это прикольно, но называть ардуинщиков, электронщиками, как мне кажется - преувеличение. Я как электронщик делал часы ещё в таком варианте К176ИЕ18, К176ИЕ13 и К176ИД2. Вот это были часы!
Сейчас это легко сделать на любом микроконтроллере + ds3231 а уж если взять те, которые с wi-fi, то и с самым точным временем от ntp службы.
Автор конечно улыбнул тем, что все это сделал на RP ZERO. Это конечно перебор, как и esp32 и 8266, но сделано так, как сделано.
Автору удачи и новых проектов.
А вы проверьте, происходит ли подтягивание пина к VCC не на уровень потенциала, а конкретно, транзисторов, при инициализации.
Как я понял, в момент инициализации контроллер притягивает пин к земле, на мгновение, а делает ли он то-же самое с VCC? И если не делает, тогда можно управлять оптронамт не gnd, а vcc и всё. А вы резистор в 4к7 перекиньте от vcc на землю. Что бы там потенциал земли по умолчанию висел. Ну и схема управления оптроном немного изменится и не придётся вешать кучу задержек, писать логику подачи питания на оптроны и так далее. Будете коммутировать vcc 3,3V.
Но перед этим проверьте запуск микроконтроллера и состояние пинов.
Да, вполне себе классное решение, поддерживаю! Для esp32 вполне себе можно использовать, а если взять esp32 с 16мб флеша, то ещё больше можно писать.
Но это подходит для esp32, а вот для многих других увы, такое не подойдёт. Там уже внешнюю или flash или eeprom ставить нужно.
Я кстати взял at24c256 и тупо стал её блоками писать, но не всю память, а кусок в 128 байт, что бы его пожарить и прожарил! На 6 700 000 записи он перестал писать в 1-й байт (вернее считывать оттуда то, что я записал) примерно на 7 000 000 убились ещё 2 байта, а на 10 миллионах всю память решил записать и она прочитала такую хрень! Короче вывод такой, дешёвая китайская eeprom спокойно выдерживает до 5-6 миллионов записей в каждый байт, а это x6 от ресурса. Логгировать можно от души, а если взять spi flash на 64 или на 128 мегабайт, то если пару циклов за год сделает, то хорошо.
Следующим этапом буду тестить flash w25q64 (она правда на 8 мегабайт), там быстрее процесс пойдёт, spi лучше работает.
Здесь проблема не в том, что я не смогу подобрать. Я то смогу и не только подобрать, но и разместить эту всю конструкцию из исходных элементов на плате диаметром 2 сантиметра, и размещу это все на задней стороне насоса подобрав нужные номиналы и типоразмеры.
Здесь проблема в том, что этого не сделал автор. Я в шуточной форме это ему сказал и не стал упоминать и делать акцент на то, что он не потянул входной сигнал транзистора к земле, не поставил гасящий конденсатор и диод на двигатель насоса и так далее. Но если автор ещё и модуль не отобразил в "схеме", то это реально проблема. Есть много новичков, которые если бы и хотели это повторить то не смогут, потому что исходные данные не верные.
Это не косяк, это не упрёк, это вопрос и рекомендация автору, что бы он понимал.
А если взять резистор не на 100-220 Ом, а на 10 кОм сработает? Как считаешь?
Судя по комментарии, ты “электронщик”.
На 5-й день и из ведра начнёт хлебать и гречку за обе щеки улетать. Шутка конечно!
У нас у самих 3 кошки и кот, но они просто пьют из чашки, в одном месте. Просто привыкли. Воду меняем 2 раза в день. Тоже задумываюсь про автоматическую кормушку и поилку. Из серии Xiaomi - ценник как на операцию на сердце, а примитивные (кормушки) с самоссыпанием - не работают как нужно.
Да, крутой проект! Схема впечатлила, особенно транзистор и резистор. Резистор то хоть какого номинала? 0805 - это типоразмер, если что (размеры и мощность).
Или берём любой из типоразмера 0805 и тупо втыкаем?
Питание - это USB кабель? TP4056 в тексте упоминается, в схеме нет.
Я там где-то в комментариях видел про умную розетку, так в чем разница между тем, что в решении и умной розеткой?
3 раза перечитал статью, не понял! Цель какая? Что бы кота не било током, когда грызёт провод?
Может проще было купить обычную поилку, в которой бутылка переворачивается и сама подаёт воду, по мере расходования и поставить емкостный датчик наличия воды. И при достижении минимального уровня сигнализировать о том, что вода у кота закончилась.
А здесь в чем суть дистанционного управления насосом поилки?
С котом играть?
Я понимаю, что это просто для прикола, для себя и так далее. Но не изобретают же сейчас колесо или водокачку, напорную башню и так далее. И тем более не описывают это в 9 томах, с гордостью.
Прекрасное применение esp32 в качестве "полупромышленного" решения (такого термина вроде как не существует, но с развитием микроконтроллеров, его думаю можно вставить, многие понимают о чем я)
Шкаф красивый, учитывая что там "домашние" микроконтроллеры, сделано просто прекрасно. И здесь Wirenboard вполне вписывается в концепцию!
Единственный вопрос - а вы платы лаком заливали? Предполагаю что сам шкаф ip54, но влажность, а вы в Омске, с высокой вероятностью сожрёт микроконтроллеры и платы быстро.
Ну так кто вам мешает ставить беспроводные датчики? Или в некоторых случаях километры проводов кидать от розеток, лампочек и выключателей. Я разрабатываю эти технологии и беспроводные и проводные, и по опыту скажу, беспроводные удобны до нескольких первых отказов, а особенно когда батарейки дохнут начинают, модуль решил что он сбросился, или тупо роутер завис или dns потерял или просто сдох и все, вся система раком встаёт! И заказчик приходит ко мне и говорит, а можно сделать так, что, бы оно не сбоило. Говорю можно и делаю на проводах, на 485 или на can. А вот потом уже не попкорн, а рыбку пивом.
А двумя этажами и частным домом - вы меня только улыбнули. Когда автоматизация идёт на 180 000 м2, с высотой потолка в 40 метров, с оборудованием по несколько мегаватт, и там ещё несколько этажей засунуто, в половину здания, а зданий штук 10 с конвейерными галлереями, ваши даже 500м2 частного дома - это игрушка.
А в деньгах: если делать грамотно, немного дороже чем без проводов, но сильно дешевле чем с километрами силовых проводов в центральный шкаф.
Если esp32 с питоном, он действительно убожество, а на С++ идеальный контроллер.
У меня у одного возникли вопросы, касательно передачи данных от датчика к конечном модулю индикации?
Проясните, если я понял неверно:
1) имеется датчик анемометра, ультразвуковой с возможностью контроля направления ветра.
2) есть ардуинка (промежуточная), которая программный сериалом, через конвертом rs-485 - UART подключена к датчику, проводом. Сигнальный + питание. Эта ардуинка стоит под крышей, но на улице.
3) на Ардуинку (промежуточную) прикручен тупо передатчик 433МГц, который просто транслирует в эфир пару-тройку байт, которые кодирует ардуинка, основываясь на данных с датчика, которые читает через rs-485.
4) приёмная часть, диапазона 433МГц реализовано банальным приемником, с которого мы просто читаем байты и ждём пакеты. Дисплей - просто есть и все, остальное не важно.
Вопрос: а для чего вся эта промежуточная лабуда? Ведь есть максимально дешевые решения типа "Беспроводной приемопередатчик eletechsup RT48D02_RT59E02_RT6AF02_RT39D01 за 208,05 ₽ - https://ali.click/guwvh1b
Насколько я понял, с одной стороны можно поставить модуль с rs-485, а с другой - TTL, такто вообще идеальное решение!
Основные технические характеристики
Рабочая частота: диапазон 2,4 ГГц (2400–2525 МГц).
Рабочее напряжение: DC 5V ~ 15V.
Потребляемый ток: около 50 мА при передаче (+11 дБм) и 25 мА в режиме приема. Рекомендуется использовать стабильный источник питания.
Дальность связи: 80–100 метров в условиях прямой видимости (на открытом пространстве).
Интерфейс подключения: физический RS-485 (линии A+ и B-).
Совместимость в экосистеме: RT48D02 полностью совместим по радиоканалу с другими модулями этой линейки от eletechsup — например, с моделью RT39D01 (версия с USB) или RT59E02 (версия с RS-232). Это позволяет легко связать ПК по USB с удаленным промышленным датчиком на RS-485
Пара таких модулей и всё. Полный доступ к датчику и хоть на графическом дисплее можно рисовать направление ветра, показывать порывы и так далее, а не эти односторонний дискретные данные. И по цене дешевле, причём сильно!
Я бы так сделал!
Слушай, я с просони особо и не посмотрел картинки то. Получается они вплотную друг к другу стоят? Просто в ряд и поэтому линия 2 метра и получается. Тогда просто на последний модуль поставь этот бустер как микросхему за 33 рубля и все. Он тебе всю линию поднимет до уровня. И все нормально будет. Главное шину i2c тащи рядом с землёй, каждую отдельно. Scl с землёй вокруг неё и sda с землёй вокруг нее и подальше от dc 24v. Между платами соединяй короткими проводами, можешь экранированными.
Ну и со скоростью шины стоит поиграть, возможно максимально снизить до 10 килогерц.
Ну и главное - это питание модулей. Просесть может сильно на последнем модуле. Его стоит либо закольцевать, либо поставить dc-dc на платы.
Да, понимаю, хочется сделать максимально просто, только всегда есть много НО.
И так, давай отталкиваться от реальностей:
1 - усилитель построен на микросхеме LTC4311, а это - бустер, который отслеживает фронты импульсов и автоматически подтягивает их к логическое единице. И самое прикольное, что её цена - 33 рубля за штуку. https://tellur-el.ru/catalog/integralnye_mikroskhemy_1/interfeysy_1/bufery_i_povtoriteli_1/29592/
И подключение настолько простое, что даже не интересно. Тупо параллельно линии i2c. Посмотрите datasheet. И никогда не берите такую банальщину в виде модулей.
Да, отчасти можно увеличить емкость до 4нФ, вполне реально, но от помех линия не защищен а, а от помех 24 двигателей, тем более, а линия будет проходить через все 24 модуля.
Это было первое, теперь второе:
А зачем 24 ардуины?
Если у вас энкодер на 6 контактов, управление мотором - 1 пин.
Можно вопрос - это все 6 для формирования сигнала или 2 из них это питание (vcc, gnd)?
Конфигурировать адрес можно при прошивке. Таким образом - одной ардуиной/мегой328 можно управлять 2 блоками цифр, а это 14 пинов. 2 ещё пойдут на i2c.
И в итоге уже в 2 раза меньше ардуин.
Но есть ещё вариант - atmega2560 или Arduino mega. Там 70 доступных пинов, но есть вариант такой:
Поставить расширители на i2c типа mcp23017, а они по 16 пинов добавляют (их можно до 8 штук на шину поставить) и расширить до 128 пинов.
6 * 24 = 144 пина. + 24 пина для контроля энкодера.
Пинов останется на индикацию победы любимой команды, ну или что там будет на табло...
Но линия i2c будет занята и придется 2 трансивера rs-485. Там хоть от стадиона до дома тащи линию.
Представляешь разницу в цене на 24 распаянных платы и 1 плату. Да, одна большая будет дороже одной маленькой, но сильно дешевле 24 маленьких. Одну можно и самому спаять (если заказывать на jlcpcb, то они шлют 5 минимум)
И если на плате все красиво развести, то получишь ряд разъемов по 8 пинов на один блок.
В меге2560 и памяти больше и побыстрее она будет. А если взять китайскую копию типа мини, то её можно будет на плату модулем воткнуть.
Это моё мнение и видение, поэтому можно прислушаться, но сделаете все равно по своему. И это будет правильно.
Удачи в проектах!
Просмотрел все части и честно, не понимаю, а зачем? Может стоит такие знания в действительно что-то более ценное погрузить. Сейчас столько всего можно сделать, в том числе и на FPGA. А тут калькулятор. Блин, зачем?! Ещё и в 9 частях!
Я не осуждаю, просто не могу понять целесообразность таких действий, столько потраченного времени, сил и ресурсов!
Ну так master-slave никто не отменял. По i2c работает, просто, есть главный и он опрашивает, также как и по RS-485 и по чистом uart. Там на i2c нужен адрес того, кто должен ответить, а тут по uart сделай виртуальные ID и тоже в виде запроса, получают все, отзывается один.
Да, понимаю Вас, алиэкспресс нифига не эталон качества продукции но отмечу, что за последние 3-4 года он стал куда лучше. У нас в Алматы, есть магазин DeltaChip, это по сути Chip&Dip Российский и позиционируется он как магазин качественных радиодеталей. Так вот, я первое время брал там, считая что там качественные радиокомпоненты, но когда мне 4 раза поменяли atmega328, который будучи в оригинальном корпусе, оказался битым. Я перешёл на AliExpress. И оттуда я ни разу не купил ни одну убитую или кривую микросхему. Все, что я брал - работает. Учитывая что это цифра, оно работает прекрасно. Да, резисторы плывут по номиналу, но это не влияет на макет, если я не делаю что-то на операционике или на компараторе. Кстати, прецизионные радиокомпоненты там-же беру, и они реально качественные. Датчики тока делал и на 120Ом брал резисторы,так там идеальные 120,003 Ом, я аж охренел от такого.