Есть прототип некого устройства. Так как "прототип" - то собран на том, что было и где больше опыта - на контроллере Arduino Nano с Aliexpress. Все работает, все хорошо. Были проблемы с наводками (внутри девайса сервоприводы, энкодеры и много всего еще), но всё в итоге удалось поправить.
Теперь возникла идея развиваться и делать небольшую серию аналогичных устройств. В связи с чем возник вопрос, вынесенный в заголовок.
Контроллеров на рынке море. А я, по большому счету, работал только с ардуино, и не знаю какие плюсы/минусы могут быть у перехода на другие контроллеры и какие проблемы могут возникнуть?
В идеале хотелось бы что-то относительно похожее, но надежнее, стабильнее, устойчивое к воздействиям (шум, вибрации, влажность, ЭМ-помехи и т.п.). Освоить новую среду разработки или язык - не проблема. Но вот на ассемблер переходить бы очень не хотелось, ибо основательно его подзабыл.
Основные задачи - работа в реальном времени: опрос датчиков, обмен данными с компьютером (по USB), управление приводами. Основной цикл повторяется с частотой 30-50 Гц.
Может кто-то поделится опытом?
Или может я недооцениваю ардуино? Может есть качественные платы подороже, но понадежнее и проще их дополнительно защитить, чем менять архитектуру?
Вообще хотелось бы пообщаться с человеком, у которого есть опыт разработки электронных устройств. Посоветоваться, проверить собственные выводы. Готов оплатить консультацию. Если есть желание помочь - напишите на почту quiensabe@mail.ru, или дайте свои контакты. Буду очень благодарен.
Если в ПО остались "родимые пятна" arduino (вроде "digitalread", "wtite", "delay" и прочего) - его надо рефакторить, несмотря на кажущуюся работоспособность.
Если аппаратура выглядит так, то её надо переделывать.
VT100, По электронике понятно, у нас конечно все не так страшно, но есть куда расти и мы с этим работаем.
А по коду - можете посоветовать хорошие статьи по теме? Чему кроме производительности (её в нашем случае избыток) может повредить digitalread и т.п.? Может быть есть подборки хороших практик? Или еще лучше конкретные примеры качественно решенных простых проектов?
По сути задача у нас очень простая, не хотелось бы сильно усложнять читаемость кода без заметного эффекта. Но повысить надежность работы системы - главный приоритет.
Сердцем контроллера Arduino является широко распространенный контроллер Atmega328, который применяется много где, в том числе и в медтехнике.
Так что более надежным и дешевым с точки зрения производства будет разработка платы под конкретное устройство, с учетом всевозможных фильтров и защит. Прошивку можно будет оставить старую, если там все отлажено и включен вачдог.
Спасибо за ответ! И да, такой вариант пока и рассматриваем как приоритетный.
Но, возможно, есть готовые платы под тот же контроллер с уже реализованной защитой/фильтрами и т.п.?
Даниил Бакалин, есть, но как правило, они используются в какой-то технике, потому что защита "от всего" стоит дорого. Следовательно, защищают от тех условий, которые могут возникнуть в конкретном устройстве.
Ну то есть, купите вы, например, SECU-3. Прекрасная штука, защиты по питанию и выходам, но куда вы будете подключать датчик вакуума, если у вас нет впускного коллектора, и вообще, ваш девайс не для авто.
Или, возьмите плату контроллера от лифта, типа УЛ ПУ-3. Правда, там другое семейство контроллеров (но тоже Atmel), но есть куча защит, внешний вачдог, монитор питания, входы-выходы с оптической развязкой, да и вообще, она имеет кучу бумажек от надзорных органов. Но что вы подключите вместо контактора лебедки и дверей?
Итого. Универсальные контроллеры, типа ПЛК, стоят дорого, потому что несут на себе защиту ОТ ВСЕГО.
Устройства, выдранные откуда-то, несут на себе части того, откуда их выдрали, поэтому колхозинг их куда-либо затруднен.
Учебные же наборы, типа ардуины, как раз потому и дешевы, что ни от чего не защищены.
Кстати, авторы Флиппера вот тоже хотели сначала использовать RPi в массовом устройстве. А потом оказалось, что купить у одного поставщика сразу вагон (или хотя бы полвагона) - увы и ах. Поэтому пришлось сооружать свою плату.
Армянское Радио, Спасибо за подробный ответ! Посмотрел указанные платы - да, дорого конечно. Тысяч до 10 хотелось бы уложиться, конечно.
Готовая плата со всеми возможными защитами - это конечно здорово: можно сэкономить на времени разработки, использовать проверенное временем решение, и при случае быстро купить готовую плату, перепрошить и поменять.
У нас сейчас речи даже о десятках устройств не идет, да и по стоимости на этом узле сильно ужиматься не нужно. Так что если бы была готовая плата, пусть даже с избыточным функционалом который в итоге будет простаивать - это было бы хорошим решением. Путь не идеальным, но на этапе проверки гипотез и прощупывания рынка - вполне рабочим.
Но я уже понял, что готовых таких плат, типа "защищенный arduino" - никто не выпускает. Это жаль, но не беда. Будем разбираться как свою плату собрать)
Даниил Бакалин, а вы не раскрыли никакой конкретики о том, что у вас за устройство (какие вам нужны входы, какие выходы, какие защиты), но при этом хотите, чтобы вам советовали конкретную плату. Чувствуете подвох?
Практически что угодно можно собрать из ПЛК и модулей IO. Стоить будет порядка десятков тысяч рублей, за программатор - еще столько же.
Чем выше требования по скорости и защите, тем больше ноликов к стоимости справа нужно дописать.
Даниил Бакалин, ну и кстати, производство мелкой серии из плат даже в Зеленограде вмещается в первые десятки тысяч рублей (особенно без сборки, тогда вообще можно впихаться в две-три тысячи), а разработка, после чтения easyelectronics и просмотра видосов какого-нибудь fagear на ютюбе вперед-назад пару раз может выйти бесплатно - сели и нарисовали. Правда, он тот еще кудесник в Sprint Layout работать - не надо так, психическое здоровье важнее.
Армянское Радио, понимаю вас, конкретики в вопросе не хватает. С другой стороны так вопрос может быть полезен не только мне, но и другим людям у которых конфигурация может сильно отличаться. Думаю задача увеличения надежности решений на Arduino довольно распространенная.
Если интересно - могу прислать вам описание устройства в телеграм указанный в профиле.
ПЛК (программируемые логические контроллеры): Овен, Wago, Beckhoff, Simatic (Siemens), Schneider-Electric, B&R...
Связь обычно по Modbus-TCP (хотя мне понравился CAN). На компьютере SCADA (хотя у Bechoff (свой протокол) есть API для обычных языков программирования).
Некит Медведев, размеры сейчас довольно миниатюрные. А что касается цены, то я, напр., не понимаю, когда за телефон отдают 20 - 50 тысяч, чтобы потом долбить пальцем как дятел в каких-то играх.
Ардуино нано - это просто контроллер распаяный на плате с выводами.
а надежнее, стабильнее, устойчивое к воздействиям (шум, вибрации, влажность, ЭМ-помехи и т.п.
это все достигается дополнительными компонентами в обвязке в виде защиты по питанию, резервному питанию, защиты входов/выходов, корпус и т.п.
Какой будет сам чип контроллера внутри зависит от потребностей в мощностях и переферии (можно и радиационно стойкие поискать если в ТЗ такое требование есть).
Либо как написали выше делать самому плату под конкретное устройство, либо брать готовые ПЛК, которые пос сути внутри тотже контроллер+обвязк.