Перейти к содержанию

Контроллер Arduino + Android


Рекомендуемые сообщения

Всем привет.

Много читал тут инфы, но то-ли плохо искал, то-ли зарыто глубоко - не нашёл инфы по разработке контроллера на базе ардуино в связке с блютуз модулем и датчиками высоты\давляка. 

Не понимаю за что там всякие ace of ace и прочие дельцы просят такое бабло.

Сваял из барахла с алиэкспресса за 2к и написал софт за вечер.

В таком сетапе откатал весь летний сезон, без проблем, обо всех нюансах, плюсах и минусах - ниже по тексту...

Если будут вопросы или желание посмотреть на исходники - пишите в ЛС на драйве(q-rt), тут редко бываю.

Там-же есть ссылки на остальные посты по сборке бюджетной 2х контурной пневмы на Golf VI - на базе винтов TA-Technix.

Далее будет текст с моего поста на драйве. 

 

Цитата

На момент до разработки контроллера управление осуществлялось кнопками в салоне. Контура 2(передняя и задняя ось), поэтому 2 качельки, каждая из которых открывает один из 4х клапанов на блоке(2 на подъем оси, 2 на спуск оси) и кнопка принудительного отключения цепи компрессора. Никаких манометров и прочего у меня нет и не было и даже не планировалось.

1cAAAgHKFuA-960.jpg

Управление спрятано в пепельницу.

Однако очевидные минусы есть. Так как нет никакого вывода информации о давлении\высоте — я не знаю в каком положении машина, пока не выйду и не посмотрю сам. Подгонка высоты соответственно затруднена, так как чтобы выставить нужную высоту, нужно нажать кнопку в салоне, выйти и посмотреть на сколько машина поднялась или опустилась.

Из этих неудобств сформировались требования к системе управления:

1. Необходимо видеть какое давление в осях, чтобы выставлять положение хотя-бы по запомненным значениям давления.
2. Управлять хочется удаленно — чтобы иметь возможность настраивать высоту находясь снаружи машины.
3. Система должна уметь запоминать несколько положений как пресеты и уметь выставлять их сама.
4. Бюджет должен быть не как у готовых вариантов систем управления представленных на рынке.

По совокупности всех факторов был пр(о/и)думан следующий вариант реализации контроллера:

Этап 1. Покупается плата Arduino Nano, к ней монтажная плата расширения, комплект проводов, преобразователь питания с 12в(в тачке) на 5в(нужных ардуино), модуль блютуз и 2 датчика давления с резьбой 1\4G(которая используется повсеместно в моей системе) до 12 атм, блок из 4х реле(которые будут активировать клапана, также как это делают кнопки в салоне, подключаются параллельно кнопкам, т.е. функционал кнопок дублируется). Собирается девайс. Под него пишется прошивка которая умеет отправлять данные с датчиков давления на свой серийный порт(в моём случае на блютуз) и принимать на серийный порт команды(для активации одного из 4х реле или для запуска функции запоминания или выбора пресета).

lCAAAgJqFuA-960.jpg

Барахло с али

McAAAgJqFuA-960.jpg

Тестовые сборки и прошивка

RSAAAgJqFuA-960.jpg

Финальная сборка. ЮСБ-кабель с запасом для перепрошивок, на постоянку работает как питание.

5CAAAgJqFuA-960.jpg

Распределительная коробка из любого строй-магазина. На черной изоленте, синей не было.

UcAAAgJqFuA-960.jpg

Датчики вкручены в блок клапанов, блок двухсторонний, со второй стороны подключены магистрали на оси.

Этап 2. Через mitappinventor — пишется простейшая программа для Android. Простой визуальный интерфейс в котором нарисовано 2 поля куда выводятся получаемые по блютуз с контроллера показания давления в осях. 2 качельки эмитирующие работу аналоговых качелек в салоне, 4 кнопки для пресетов(нажатие выбор пресета, удержание кнопки перезаписывает выбранный пресет на текущие показания датчиков).

pSAAAgJqFuA-960.jpg

Показание сверху-слева — задняя ось, справа — передняя. Качельки снизу соответственно левая задняя ось вверх-вниз и передняя также. Ниже 4 кнопки пресета. У меня запомнены такие: 1. Лежит 2. Низкое ездовое 3. Высокое ездовое 4. Максимальное Еще ниже кнопка\индикатор соединения по БТ. Если не разрешил подключится автоматом, то после можно нажать на неё и подключится вручную.

 

FAQ или поясняю за технические решения:

1. Почему датчики давления, а не высоты, ведь давления не точные?
— Есть такое дело, не точные. НО цена 1го датчика давления 600р, а положения кузова 1200р. Точность высоты с двухконтурной системой в принципе не особо важна, так как выровнять ось по сторонам не выйдет, пришлось бы ставить 2 датчика, вместо 4ех, а это уже получение заведомо недостоверных показаний как только кузов немного вывешен или стоит на неровности или в углублении одним колесом. Также датчики положения кузова необходимо монтировать на подвеску, они пластиковые и как следствие лишний дорогостоящий элемент в подвеске который может просто сломаться физически. Также требуется протяжка проводки к датчикам. Тем временем датчики давления при монтаже просто вкручиваются в свободные порты на моем блоке клапанов(блок клапанов с двухсторонним подключением) и всё, никаких проводов и потенциальных механических поломок. Плюсом идёт тот факт что моему блоку абсолютно похрен какие датчики к нему подключены, захочу перейти на датчики положения кузова — надо будет просто поменять датчики, системе всё равно откуда она получает показания.

2. Почему управление с телефона, неудобно же постоянно доставать и подключаться по блютуз? можно же было обычный пульт или радио-пульт?
— Конечно можно. НО моя система полностью модульная, всё что она делает это ждёт на серийном порту цифру от 1 до 4ех для управления клапанами или букву для выбора пресета, т.е. я могу собрать аналоговый пульт и подключить его в любой момент, но зачем он мне? кнопки в салоне уже есть. Почему не радио-пульт? Потому-что на него не вывести данные с датчиков, а городить под датчики экран и опять думать где его размещать в салоне? Ну мне это не интересно. Да и и опять же — контроллер допускает и такое расширение функционала при желании, но зачем городить в салоне всё это. Плюс в мобильное приложение я нарисовал такой дизайн интерфейса какой хотел сам. Ну и последнее — с телефона просто прикольнее, вышел из тачки, достал трубку и дропнул тачку, понт жеж XD

Т.е. в плюсах получаем:

1. Модульность. Блок компактный и полностью модульный, подключен в параллель к основным кнопкам — т.е. его выход из строя ни на что не повлияет.
2. Расширяемость функционала. Прошивка на ардуино и приложение на андроиде представляют практически безграничный потенциал для дальнейших доработок софта. По железкам также есть открытый потенциал для подключение экранов, пультов, других датчиков.
3. Цена. Сами запчасти стоят копейки. Бюджет каждой платы в отдельности не превышает 200р на алиэкспресс, а продаются они чуть ли ни в россыпь. Суммарный бюджет проекта 2200р, где 1200р это 2 датчика и 1000р все комплектующие контроллера.

Но и о минусах я не умолчу:

1. Да иногда быстро достать телефон и поднять машину в пресет не получается, пока откроешь приложение и блютус свяжется с контроллером проходит ~5сек. Но если ситуация экстренная, можно подняться с кнопок и без пресетов.
2. Датчики подключены в блоке клапанов, а подушки от них далеко. Соответственно при открытии клапана на подъем или спуск мы не можем получить сразу-же актуальные данные о давлении в подушках, во первых потому-что при открытии клапана избыточное давление из ресивера "бьёт" в датчик и он завышает показания в этот момент, во вторых после закрытия клапана уходит около 1-2сек чтобы давление в магистрали выровнялось. Отсюда вытекает минус что программа для выставления пресета в автоматическом режиме не может просто открыть клапан и качать\спускать пока не дойдет до значения пресета, так как значения получаемые с датчиков при открытых клапанах искажены. Как вариант решения выставление пресета происходит в две функции, первая выставляет в одно открытие клапана грубо, после чего таймаут в 0.5 секунды для нормализации и включается вторая функция тонкой подстройки пресета которая выравнивает до точного значения пресета кратковременными открытиями клапана с интервалами в 0.5сек для нормализации давления. Возможно в дальнейшем придумаю какую-то умную математику которая будет учитывать эти тонкости, пока не напрягает, но не сказать об этом было-бы не честно.

В завершении — я более чем доволен контроллером. Соотношение цена\функционал\расширяемость — выше всяких ожиданий. Я все выявленные неудобства для себя закрыл данным девайсом. Долговечность — время покажет, цена запчастей не кусается, хоть впрок бери.

Инфы получилось с избытком, возможно какие-то технические детали забыл озвучить — с вопросами вэлком в коменты 😃

Ссылкота на комплектующие:

s.click.aliexpress.com/e/bEmQvsBQ
s.click.aliexpress.com/e/cL7jYvKY
s.click.aliexpress.com/e/cNzHXF0c
s.click.aliexpress.com/e/c05Bn5qY
s.click.aliexpress.com/e/cm4a1k2c
s.click.aliexpress.com/e/bV0sTqeG
s.click.aliexpress.com/e/ckubHiqc

 

Ребят, сразу попрошу, давайте только без срачей. Решение собрано на коленке в разрезе эксперимента, с Ардуино и Андроидом - работал первый раз в жизни, просто убил пару вечеров. Понятное дело что софт можно дописывать до любого функционала. Понятно что можно поставить пневму на 4 контура и воткнуть датчики высоты. Всё это ясно - цель была просто попробовать собрать рабочий прототип девайса в минимальный бюджет, чтобы убедить самого себя и возможно потенциальных читателей отчета, что брендовый контроллер нехрена не стоит свои 30-60к. Это примитивнейшие железки, которые может собрать любой радиолюбитель из готовых модулей из китая, а функционал ограничен только фантазией программиста который пишет софт. Я видел тут очень много вопросов на эту тему и слишком мало ответов. Возможно кому-то эта тема будет полезна и сподвигнет на прокачку своего самопала или кто-то вдохновится на разработку аналогичной херни но уже лучше\надежнее\функциональнее.

На или просто принесёт информационную пользу кому-то.

Всем мир!

Ссылка на комментарий
Поделиться на другие сайты

..............

Сваял из барахла с алиэкспресса за 2к и написал софт за вечер

..............

 

А вот представь, сколько времени нужно человеку, чтобы с нуля научиться программировать в Ардуино)))).

Как, например ты оценишь разработку некоего устройства на Ардуинке и экране Некстион?

Я реально ищу исполнителя на Ардуино или что еще лучше в среде Canny Lab.

 

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, titanik сказал:

А вот представь, сколько времени нужно человеку, чтобы с нуля научиться программировать в Ардуино)))).

 

C нуля научится программировать не получится ни под какой язык. Но если хотя-бы с каким-то, на базовом уровне, есть знакомство - то ардуино это простейший C++. 

А под андроид - mitappinventor это вообще графический редактор кода(составляешь логику из "пазлов" визуально).

 

4 часа назад, titanik сказал:

Как, например ты оценишь разработку некоего устройства на Ардуинке и экране Некстион?

Я реально ищу исполнителя на Ардуино или что еще лучше в среде Canny Lab.

 

 

Никак, я не специалист в Ардуино и C++ в частности, говорю-же писал и под язык и под плату первый раз в жизни.

Исполнителя имеет смысл поискать с ТЗ на профильных досках объявлений, либо рассмотреть вариант самому покопаться с готовым решением.

 

Если вопрос конкретно ко мне - я не берусь за такое, на своём ведре эксперименты ставить - это одно. Другое дело за чужую безопасноть брать ответственность.

Изменено пользователем qrt
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...