DIMANVAZ
@DIMANVAZ
starter web-developer (JS, HTML, CSS)

Каков алгоритм перехода от Ардуино-поделки к серии?

Необходимая оговорка: я очередной "любитель", захотевший себе "умные" габарито-поворотники 2в1
и через это открывший мир адресных RGB-лент и Ардуины. После пары дней видосов "Top 100 Arduino projects" - ощущение всесильности этой платформы и чувство "да я же могу делать штуки и продавать их".
И вот, перед огромным заказом у китайцев всякой Ардуино-всячины (платы с GSM, датчики газов и т.п. сервомашинки) я заглянул на Хабр. Прочёл похожие темы: раз, два и комменты под ними. Хоть мнения отвечавших и разделились, пыл поубавился, заказ я отложил.
Правильно ли, что если делать реальные "штуки" на продажу, то после испытаний прототипа на Ардуине нужно делать уже собственную плату, размещать на ней только необходимые компоненты и программировать их на низкоуровневом языке? С целью "меньше проводов, ниже энергопотребление, выше надёжность"?
В ту же кассу вопрос: можно ли программировать микроконтроллеры на Java? Ранее учил этот язык и часто попадалось "1 миллиард устройств работает на Java". Только что ни железяка - везде речь про C++.
p.s. Извините, если вопрос сумбурный и слегка не укладывается в Хабр-традиции.
  • Вопрос задан
  • 675 просмотров
Пригласить эксперта
Ответы на вопрос 7
@Nickellick
Отвечу как человек, который давно делает разные прототипы (как на Arduino, так и на ПП), но не продаёт их.
Вообще зависит от покупателя, кого-то может и устроит такой расклад.
Но вообще Arduino не про надёжность, если всё будет на вот этих вот проводках выскакивающих DuPont 2.54, то эти "габарито-поворотники" на первой же кочке выйдут из строя. А ещё хуже если всё это будет подключено к батарейке, проводки замкнутся в обход защиты и будет бабах и пожар.
Разработка своей печатной платы действительно можно назвать некоторой необходимостью, и к тому же действительно для энергосбережения нужно всё ненужное убирать. А ещё нужно множество тестов чтобы не просто убедиться, что устройство работает как надо, но ещё и что оно действительно безопасно.
В Arduino "сложнее выстрелить себе в ногу", но если вы действительно хотите делать вещи на продажу, то разбираться во всех нюансах и ошибках в МК (а ошибки иногда и от производителя бывают, см. errata) действительно нужно, низкоуровневые языки с этим неплохо помогают. Плюс ещё может быть так, что все эти штуки в Arduino, облегчающие жизнь, "сожрут" все ресурсы и вы упрётесь, хотя на самом деле даже на половину не раскроете всех возможностей МК.
А ещё нужно разбираться в схемотехнике и электронике. Безопасность и надёжность превыше всего!
Ответ написан
Комментировать
gbg
@gbg Куратор тега Arduino
Любые ответы на любые вопросы
По первому вопросу - да, это крайне желательно. Плюсом также идет возможность вписать плату в нужный габарит и конфигурацию корпуса, возможность выкинуть лишние детальки (вот вам нужен конвертер USB-Serial? А линейный источник питания? А разъем USB.?) и так далее. Зато нужна пачка фильтров по питанию (это же автомобиль), защита входов и выходов.

По второму вопросу - java тащит за собой jre, а он довольно жирный, ему нужен жирный контроллер, который любит вкусно кушать электроэнергию. Кроме того, поведение и задержки программы на C++ довольно предсказуемы, на java - нужны дополнительные ухищрения для того, чтобы сборщик мусора не навестил вас внезапно.

Можно дальше развивать тему, отметив, что в условиях жестко ограниченных ресурсов (сколько там RAM? 8 килобайт?) язык с ручным управлением ресурсами (C, C++) гораздо более предсказуем, нежели вся такая автоматическая и удобная жаба.

Ну и еще - я за всю свою радиогубительскую практику (более 15 лет) ни разу не покупал ардуину - я сразу проектировал прототип и делал плату (сначала ЛУТом, потом заказывал на производстве, так как это качественней и не намного дольше + на производстве изготовят сразу десяток плат, которые не страшно запороть в процессе отладки) - это
на порядки надежнее ковыряний в клубке проводов. Ну и некоторые девайсы с аналоговым трактом (анализатор спектра, анализатор миоактивности) в виде клубка просто не работают.
Ответ написан
anthtml
@anthtml
Системный администратор программист радиолюбитель
то после испытаний прототипа на Ардуине нужно делать уже собственную плату,

Правильно, только после создания платы ее тоже нужно несколько раз испытывать и доводить до ума

можно ли программировать микроконтроллеры на Java

Да на чем угодно, всеравно код потом компилируется в команды ассемблера и единственная проблема "как рационально компилятор переводит ваш код в машинные команды"

А вообще по правилам и технологиям разработки промышленных устройств не одна тонна макулатуры написана
Ответ написан
@d-stream
Готовые решения - не подаю, но...
А ардуины умеют работать в avtomotive условиях? (от -40С например)
Ответ написан
@VT100
Embedded hardware & software.
А также - пройти сертификацию. Ибо "вмешательство в конструкцию ТС".
Ответ написан
Комментировать
nava2002
@nava2002
Инженер
Верный ответ написан в вопросе.
Да. Если есть серия то нужно делать свою плату и туда ставить контроллер и все необходимые компоненты.
С языками тоже все НЕ сложно. Программу можно писать на любом языке который поддерживается компилятором машинных кодов.
В среде Ардуино применен компилятор языка С++. В среде разработке от Микрочип есть еще Ассемблер (для истинных арийцев).
Это как бы официально поддерживаемые производителем железа компиляторы. На мой (субъективный) взгляд С++ - великолепен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы