Найти тему
2202

Почему, даже в готовом изделии, используем Arduino?

Оглавление

Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на начинающих пользователей.

Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino. (https://ru.wikipedia.org/wiki/Arduino)

Для своих проектов мы используем Arduino NANO, как наиболее подходящую и имеющую больше возможностей чем UNO.
Для своих проектов мы используем Arduino NANO, как наиболее подходящую и имеющую больше возможностей чем UNO.

Для своих проектов мы используем Arduino NANO, как наиболее подходящую и имеющую больше возможностей чем UNO. Очень подходит она нам по габаритам.

Габарит

Использование Arduino NANO в таком формате как на фото выше, позволяет использовать ее и как самостоятельный элемент, и как большую интегральную схему размером 42 мм на 19 мм.

Интерфейс

Тут у Arduino - все прекрасно!

Наличие USB порта для прошивки - неоспоримы плюс, т.к. не нужно разбираться с программаторами, хотя при желании можно и через программатор "залить" прошивку.

Для общения с "внешним миром" есть цифровые и аналоговые порты, часть из них может использоваться под внешние прерывания, шины передачи данных и т.д.

В проектах, чаще всего, все функции не нужны, но их наличие в готовом изделии его не ухудшает, а даже позволяет производить модернизацию с минимальными дополнениями.

Среда программирования

Базовой средой программирования является "родная" для плат Arduino - Arduino IDE.

Стандартная среда программирования для Arduino. Сейчас есть версия свежее.
Стандартная среда программирования для Arduino. Сейчас есть версия свежее.

Из плюсов - она бесплатна.

Из минусов - нет подсветки синтаксиса, нет отладчика, нет подсказок по переменным, нет... много чего нет, но для начинающего, с минимальными вложениями, подходит.

Для своих проектов мы используем VisualStudio с надстройкой VisualMicro.

Поверьте - это окупается сокращением времени разработки и отладки.

О готовом проекте

Любой проект начинается с оригинальной идеи, а дальше он детализируется, обрастает ограничениями (в виде готовых компонентов), принципами взаимодействия узлов между собой для достижения "Вау-эффекта" :)

Для примера: необходимо увязать между собой: контроллер бесколлекторного двигателя, электронную педаль газа, LCD-дисплей, датчик напряжения. Все компаненты, кроме педали и датчика, родные для Arduino. А вот педаль газа и контроллер - они не дружат. У них разное понимание "нет газа" и "есть газ".

"Подружить" электронную педаль газа, с контроллером бесколлекторного двигателя

Типовая педаль электронного газа
Типовая педаль электронного газа

У нее два переменных резистора, по которым "мозги" автомобиля понимают насколько нажата педаль и исправна ли она.

При питании от +5В значение на сигнальном проводе (будем так его называть" 2В - не нажата, 4В - полный газ. Запомним эти цифры!

Типовой контроллер бесколлекторного двигателя
Типовой контроллер бесколлекторного двигателя

Контроллер бесколлекторного двигателя управляется немного другими напряжениями 0,8-4,2 (4,8) вольт. И, если соединить педаль газа с контроллером на прямую, контроллер просто не запустится из соображений безопасности, т.к. будет считать, что ручка газа повернута.

Вот тут-то нам и пригодится АЦП преобразователь и ШИМ имеющийся на борту Arduino!

На контакты A0 и A1 мы подадим сигналы с педали, а выводом D5 будем управлять контроллером.

в переменных указываются граничные значения по min/max - значению с газа. Нормализуются и передаются в контроллер двигателя
в переменных указываются граничные значения по min/max - значению с газа. Нормализуются и передаются в контроллер двигателя

Таким образом мы получаем самый простой преобразователь уровней.

Если пойти дальше - можно сделать более плавный старт, фильтр вибраций и т.д... но об этом позже.

Если интересно - пишите вопросы в комментариях.

Замечания - туда же.

Хотите знать о новостях канала - подписывайтесь :)