Оглавление:
- Шаг 1. Материалы и инструменты
- Шаг 2: Замена колес и подготовка грузовика
- Шаг 3: Крепление двигателя для резки и сварки
- Шаг 4: Установка двигателя и ремня
- Шаг 5: электрические схемы
- Шаг 6: Подключение BMS
- Шаг 7: выключатель (кнопка петли)
- Шаг 8: VESC, индикатор заряда батареи и разъем UBEC
- Шаг 9: Датчик двигателя к Vesc
- Шаг 10: Блок питания Raspberry Pi
- Шаг 11: Подключение Pi, света и GPS
- Шаг 12: жилье
- Шаг 13: Базовая настройка Pi
- Шаг 14: поставьте проект на свой Pi
- Шаг 15: Настройка режима киоска Raspberry Pi
- Шаг 16: как это работает
Видео: Гусеничный электрический лонгборд: 16 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Этот проект состоит из электрического лонгборда, который сохраняет маршрут с помощью малинового пи. Эти сеансы хранятся в базе данных mySQL и отображаются на моем веб-сайте, созданном с помощью микрофреймворка Flask.
(Это школьный проект на 3 недели)
Шаг 1. Материалы и инструменты
Этот проект требует навыков пайки и будет стоить около 500 евро.
Материалы:
Все материалы и ссылки на поставщиков находятся в ведомости материалов.
Инструменты:
- Паяльник + олово
- Плоскогубцы
- Пистолет для горячего клея
- Набор отверток и шестигранных ключей
- Пинцет иногда может пригодиться
- Кусачки / стриппер
В этом проекте используются токарный станок, лазерный резак и 3D-принтер!
Шаг 2: Замена колес и подготовка грузовика
Прежде всего, я снял эти маленькие белые колеса со своего лонгборда. Затем я снял шариковые подшипники и вставил их в оранжевые колеса диаметром 90 мм.
Грузовик, на котором будет установлен двигатель, требует небольшой регулировки. Колесо с зубчатым колесом не подходит к тележке лонгборда, который я купил, поэтому пришлось отрезать около 1 см на токарном станке.
и установил их на грузовики, кроме колеса с шестерней (я случайно выбрал правую, заднюю).
Шаг 3: Крепление двигателя для резки и сварки
Я сделал алюминиевое крепление двигателя с помощью лазерного резака по размерам, указанным на картинке выше.
Расположение крепления важно. Его нужно наклонить как можно больше, не касаясь доски, и, поскольку у меня большой мотор, угол не такой уж и большой. Я знаю сварщика, поэтому сначала он немного приварил его, а затем, чтобы проверить расположение, я толкал тележки из стороны в сторону, чтобы посмотреть, касается ли он доски.
После того, как вся моя доска была закончена, я сделал тестовую поездку, и крепление двигателя сломалось, что объясняет, почему мой двигатель будет выглядеть поврежденным на следующих фотографиях;) После этого я попросил своего знакомого полностью его сварить.
Шаг 4: Установка двигателя и ремня
Используйте 4 полужирных шрифта M4 * 14, чтобы закрепить двигатель на креплении.
После этого необходимо закрепить шкив двигателя с 12 зубьями на валу двигателя. Убедитесь, что крошечный жирный шрифт находится на плоской части вала!
Теперь вы можете взять один из ремней и обернуть его вокруг шкива, взять колесо с шестерней и повернуть его, пока весь ремень не окажется вокруг шестерни.
Затяните гайку на грузовике, чтобы колесо не упало, и все.
Шаг 5: электрические схемы
Компоненты электроники были подключены согласно схемам выше.
Первый - это полная схема электроники.
На второй схеме показаны все подключения электрической части лонгборда, 6s UBEC to 12V переходит к следующей схеме. На этой схеме показана схема источников света и датчиков, которыми управляет Raspberry Pi.
Как вы, наверное, уже видели, у экрана tft есть женский заголовок, который занимает много контактов. Контакты, которые нам нужны для последовательной связи с модулем GPS. Поэтому я припаял провода к нужным нам контактам (рис. 4-6) к гнезду, которое подключается к Pi.
Шаг 6: Подключение BMS
Я использовал comsa42 его intructables для схемы подключения.
Я использовал балансировочную доску BMS (система управления батареями), чтобы зарядить свои липо, чтобы я мог оставить их в своем корпусе и заряжать их с помощью «умного зарядного устройства» через водонепроницаемое гнездо постоянного тока.
Я припаял два кабеля для порта зарядки на BMS, один на P- (черный), а другой на P + (красный). (Эти кабели не должны быть такими толстыми, так как через них будет проходить только 2 ампера. порт зарядки)
ПРИМЕЧАНИЕ. Вначале я использовал разъем постоянного тока с винтами, но позже заменил его водонепроницаемым разъемом постоянного тока из спецификации. Пока не припаивайте вилку, иначе у вас возникнут проблемы, когда вы захотите вставить ее в свой корпус.
Я подключил две батареи последовательно к одному из купленных мной «XT60 2 pack in series plug». Я подключил этот штекер к гнезду и припаял к нему толстый красно-черный провод. Красный провод идет к B + и BMS, а черный - к B-.
Затем балансировочные кабели для аккумуляторов. Я использовал два купленных балансных кабеля и отсоединил красный балансировочный провод для первой батареи и последний черный провод для второй батареи с обеих сторон. Они нам не нужны, потому что они такие же, как толстые провода аккумулятора, которые мы уже подключили. Затем припаяйте его в правильном порядке, как показано на схеме.
ПРИМЕЧАНИЕ. В середине я соединил землю с плюсом следующего аккумулятора, но в этом нет необходимости, потому что последовательный разъем уже это делает.
Шаг 7: выключатель (кнопка петли)
Вместо того, чтобы покупать выключатель искры за 60 долларов, я сделал петлевой ключ. Принцип прост. Вы прерываете цепь и включаете плату, вставляете искровый разъем XT90, и цепь замыкается без искр.
Сначала я припаял провод к штекеру (рис. 2-4), а затем несколько 3,5-миллиметровых коннекторов к гнезду XT90.
Чтобы подключить его к батареям, я использовал штекер XT60 с гнездом XT60, но с перерывом в красном проводе. Затем я припаял концевые соединители к концам, где я разрезал провод пополам, чтобы я мог подключить гнездовой разъем XT90 вместо того, чтобы паять его непосредственно на кабель. Итак, подключите его и вуаля, включение / выключение готово.
Шаг 8: VESC, индикатор заряда батареи и разъем UBEC
Я сделал свои собственные «3 параллельно к 1 разъему», склеив 3 разъема XT60 вместе (рис. 1) и припаяв провод к плюсовым выводам дерева и провод к негативам (рис. 2-6). Затем я припаял к нему штекер и защитил оголенные кабели черной лентой. (рис 7-9)
VESC и индикатор
Припаяйте вилку XT60 к кабелям питания VESC и к кабелям индикатора заряда батареи / напряжения.
uBEC
Отключите 2 балансировочных кабеля и припаяйте вилку к вилке XT60. Гнездовые концы подключаются к входной стороне uBEC (преобразователя напряжения).
ПРИМЕЧАНИЕ: я обрезал балансирные тросы немного короче, но это была ошибка, поэтому оставьте их нетронутыми;)
Шаг 9: Датчик двигателя к Vesc
Используйте два шаговых кабеля для подключения датчика двигателя к VESC. Двигатель имеет 5 контактов, 2 для питания и дерево для датчиков Холла (1 контакт на датчик Холла).
Вытяните четыре кабеля со стороны с 4 контактами и возьмите дополнительный провод от второго шагового кабеля, обрежьте их немного короче и припаяйте несколько контактов на конце. Поместите их в правильном порядке, как на картинках.
Используйте термоусадочные трубки и скотч, чтобы все было надежно! Когда это будет сделано, остается только разместить их в правильном порядке от VESC до двигателя.
Шаг 10: Блок питания Raspberry Pi
Нам нужен преобразователь 12 В в 5 В, который будет питать Raspberry Pi через USB, поэтому я сразу подумал о автомобильном зарядном устройстве. Это дешевое и практичное решение.
ПРИМЕЧАНИЕ: прежде чем мы его откроем, вы должны убедиться, что вы помните, какой из них является портом, который может выдавать 2,1 А, потому что Pi нуждается в этом.
Итак, снимите наклейку и открутите верхнюю часть автомобильного заряда, затем ослабьте штифт снизу. После этого он легко откроется, припаяйте пружину (+12 В) и металлический изогнутый объект (GND) и замените их двумя из этих балансирных проводов (припаяйте вилку к печатной плате).
Когда это было сделано, я проверил, все ли в порядке, подключив разъем постоянного тока к проводам и подключив его к источнику питания моей светодиодной лампы, и измерил выходное напряжение USB (два внешних - + 5V и GND).
Если все правильно, можно скрыть оголенные металлические детали термоусадочными трубками и лентой.
ПРИМЕЧАНИЕ: проверьте полярность на зарядном устройстве, потому что она может быть другой.
Шаг 11: Подключение Pi, света и GPS
Теперь мощность для фонарей.
Мы получаем 12 В от нашего uBEC, и оно нам нужно для наших передних фонарей, задних фонарей и автомобильного зарядного устройства. Raspberry Pi не может обеспечить достаточный ток или напряжение для питания светодиодов, поэтому нам придется использовать транзистор. 12 В будет использоваться в качестве источника питания, а Raspberry Pi будет включать и выключать их, управляя базой транзистора NPN (2N222: рис. 2), поэтому давайте припаяем его к макетной плате.
Во-первых, задний фонарь находится сзади лонгборда, а Raspberry Pi будет спереди, поэтому кабель придется удлинить (рис. 3-5). Задний фонарь имеет 3 провода. Черный (отрицательный), желтый (ходовой / задний фонарь), красный (стоп-сигнал / стоп-сигнал). Но поскольку разница между тормозом и ходовым светом очень мала, я предпочитаю использовать красный провод, а желтый оставлю в покое. Вставьте длинный штыревой провод в предусмотренный для него металл заднего фонаря и согните его до тех пор, пока он не перестанет высвобождаться. Проделайте это с черным и красным проводом.
Задние фонари припаиваем параллельно. Потом макетная плата. Припаяйте концы двух балансировочных проводов к плате и используйте медный провод, чтобы распределить напряжение 12 В по всей плате. Затем добавьте транзисторы: один для передних фонарей и один для задних фонарей. Коллектор -> 12 В, эмиттер -> GND и база к резистору, а затем к проводу с гнездовым концом, который будет соответствовать контактам GPIO Raspberry Pi (контакты 20 и 21). Автомобильное зарядное устройство может питаться от 12 В, затем вставьте кабель USB в правильный вход USB и вставьте конец micro USB в Raspberry Pi.
Подключения GPS:
PI GPS
3,3 В -> Vin
GND -> GND
RX -> TX
TX -> RX
ПРИМЕЧАНИЕ. Только 2 контакта базы транзистора нуждаются во внешнем резисторе для ограничения тока. Фарам они не нужны, потому что они встроены в светодиоды.
Шаг 12: жилье
Я обернул части, которые соединяются вместе, полиэтиленовой пленкой, чтобы убедиться, что все провода надежно закреплены, и чтобы потом было легче вставить i в корпус. Я разработал все детали в изобретателе и распечатал их на своем 3D-принтере. Предоставляются все файлы изобретателя (.ipt) и файлы принтера / слайсера (.stl). Дизайн очень простой.
Задняя сторона (детали электрического лонгборда)
Вы можете вставить индикатор заряда батареи и штекер XT90, а затем поставить пластиковую коробку. После того, как корпус застрял, я зафиксировал штекер XT90 горячим клеем, чтобы он оставался застрявшим, когда переключатель втягивается и выключается. Я также добавил винт внутри корпуса рядом со стеной, к которой прикреплен штекер XT90, чтобы стена не могла быть вдавлена при подключении петлевого ключа.
Антенна от модуля gps длинная, очень длинная. Поэтому я вытащил два конца из коробки и загнул проволоку в эту часть корпуса.
ПРИМЕЧАНИЕ: Используйте маленькие винты, длина которых не превышает толщины лонгборда!
Как только это стало хорошо, я заменил свой тестовый разъем постоянного тока на водонепроницаемый. Я припаял несколько проводов с коннекторами типа «мама» к проводам и коннекторам «папа» на проводах, которые прикреплены к плате BMS. Еще раз, провода не должны быть такими толстыми, потому что зарядное устройство выдает всего около 2 ампер. Также будет легче подключить разъем в случае с некоторыми проводами меньшего размера…
Лицевая сторона (raspberry pi с GPS и подсветкой)
Вставьте экран в заднюю часть корпуса. Поместите все кабели внутрь корпуса и прикрутите его. Вы также можете положить фольгу или что-то еще между антенной и Raspberry Pi, потому что она была очень магнитной, и компьютерам это не всегда нравится.
ПРИМЕЧАНИЕ. Будьте осторожны, вставляя tft-экран в корпус, чтобы не повредить кабели, управляющие сенсорным экраном. Это случилось со мной…
Шаг 13: Базовая настройка Pi
Прежде всего, нам понадобится SD-карта с Raspbian. Вы можете скачать raspbian здесь. После загрузки мы можем установить raspbian на SD-карту. Вы можете установить программное обеспечение с помощью Win32Discmanager или etcher на свой компьютер.
После его установки вам нужно будет добавить файл с именем ssh без расширения, чтобы включить SSH на пи. Как только это будет сделано, вы можете загрузить raspberry и добавить его в свою сеть.
Pi не будет иметь подключения к вашей сети, поэтому вам нужно будет установить адрес APIPA, это IP-адрес, который будет иметь пи, когда у него нет подключения к сети. Откройте файл cmdline.txt на SD-карте и добавьте адрес APIPI. Например: ip = 169.254.10.5.
ПРИМЕЧАНИЕ: Убедитесь, что все стоит на одной линии, иначе это не сработает!
Вставьте SD в PI, подключите сетевой кабель от пи к компьютеру, а затем подключите питание.
После этого вы можете использовать Putty или, если вы используете Mac, просто используйте терминал для создания SSH-соединения.
Добавление беспроводного подключения:
Чтобы добавить новую сеть к вашему пи, вы можете ввести эту команду:
echo ENTER_ ВАШ ПАРОЛЬ | wpa_passphrase ENTER_YOUR_SSID >>
/etc/wpa_supplicant/wpa_supplicant.conf
После перезагрузки вы сможете найти свой IP-адрес на маршрутизаторе и подключиться к вашему пи через ssh с этим IP-адресом.
ssh pi @ IP_FROM_PI
Постоянное обнаружение своего IP-адреса немного раздражает, поэтому давайте настроим имя хоста, чтобы мы могли использовать его вместо этого (для этого требуется установка Bonjour на ПК с Windown).
sudo raspi-config nonint имя_хоста CHOOSE_A_HOSTNAME
ПРИМЕЧАНИЕ: Чтобы использовать имя хоста в будущем, вы должны ввести правило SSH следующим образом:
ssh USER@YOUR_HOSTNAME.local
Мы должны быть уверены, что система и пакеты pi обновлены:
Введите следующую команду, чтобы понять это:
sudo apt-get update && sudo apt-get upgrade
Шаг 14: поставьте проект на свой Pi
Новый пользователь
Я создал нового пользователя longboard для этого проекта:
Для этого нам нужно будет зайти в корень
судо -i
Adduser longboard Новый пароль:> l0ngb0 @ rd Полное имя:> electric longboard
Остальное можно оставить пустым. Далее нам нужно будет предоставить пользователю longboard права sudo.
adduser longboard sudo
После этого мы вернемся к нашему пользователю лонгборда.
su longboard
Пакеты
Установка некоторых пакетов для проекта. Пакеты для размещения сайта и базы данных
python3 -m pip install --user --upgrade pip == 9.0.3
sudo apt install -y python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 rabbitmq-server
База данных коннекторов, веб-сайт пакетов и библиотеки для GPS / tijdzone Detectie
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib argon2 libgeos-dev pytz tzwhere
Настройка базы данных
Проверить статус mysql
sudo systemctl статус mysql
Введя эту команду, вы можете увидеть, что MySQL слушает только 127.0.0.1 -> недоступен из сети, только локальный (на самом себе).
ss -lt | grep mysql
Запустить клиента как ру
sudo mysql
Создать пользователей:
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'project-admin' @ ‘localhost ', ОПРЕДЕЛЕННЫЙ‘@ min_l0ngb0 @ rd’;
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'project-longboard' @ 'localhost', ИДЕНТИФИЦИРОВАННЫЙ 'l0ngb0 @ rd';
Создание базы данных и установка привилегий:
СОЗДАТЬ БАЗУ ДАННЫХ longboard_db;
ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА longboard_db. * 'Project-admin' @ 'localhost' С ОПЦИЕЙ GRANT; > GRANT SELECT, INSERT, UPDATE, DELETE ON longboard_db. * TO 'project-longboard' @ 'localhost'; > ПРИВИЛЕГИИ ПРОМЫВКИ;
Запустите сценарий sql для создания таблиц, он также создаст пользователя по умолчанию для веб-сайта:
(имя пользователя: longboard, пароль: test):
источник / главная / логборд / лонгборд / лонгборд_db.sql;
выход
Проверьте, сработал ли запуск файла:
echo 'показать таблицы;' | mysql longboard_db -t -u проект-админ -p
Создайте каталог longboard и клонируйте мой проект из github
mkdir longboard && cd longboard
git clone
Если вы использовали то же имя каталога и пользователя, что и я, вам не следует изменять файлы в каталоге conf.
Если вы этого не сделали, вам следует настроить файлы (> sudo nano conf / filename.extension)
Как только пути будут правильными, вы должны скопировать файлы в системный каталог. Есть дерево сервисов.
- Один для киоска на локальном хосте.
- Один для модуля gps с подключением к базе данных
- Один для сайта, доступного в вашей сети
sudo cp conf / project1 - *. служба / etc / systemd / system /
sudo systemctl daemon-reload> sudo systemctl start project1- *> sudo systemctl status project1- *
Когда все в порядке, вы должны включить их, чтобы они запускались автоматически при загрузке пи:
(Если предыдущий шаг завершился неудачно, вам следует проверить пути в файлах конфигурации)
sudo systemctl включить project1- *
Настройка сервиса nginx:
- скопируйте conf / nginx в 'sites-available' (и дайте ему лучшее имя)
- удалить ссылку на default-config
- ссылка на новый конфиг / nginx
- перезапустите, чтобы активировать изменения
sudo cp conf / nginx / etc / nginx / сайты-доступные / проект1
sudo rm / etc / nginx / sites-enabled / default> sudo ln -s / etc / nginx / sites-available / project1 / etc / nginx / sites-enabled / project1> sudo systemctl restart nginx.service
Проверьте, выжил ли nginx:
sudo systemctl status nginx.service
Как только это будет сделано, у вас должен быть веб-сервер на ip-адресе вашего пи, доступный в вашей сети, и сайт на локальном хосте для запуска и остановки сеанса в автономном режиме.
Шаг 15: Настройка режима киоска Raspberry Pi
Установка пакетов
sudo apt-get install chromium-browser x11-xserver-utils unclutter
Введите файл автозапуска пользователя pi:
sudo nano / etc / xdg / lxsession / LXDE-pi / автозапуск
Вам нужно будет закомментировать (поставить # перед строкой) существующее правило:
# @ xscreensaver -no-splash
Затем добавьте эти строки под строкой заставки
@xset s выкл.
@xset -dpms @xset s noblank @ Chrome-browser --noerrdialogs --kiosk https://127.0.0.1:8080/ --overscroll-history-navigation = 0 --incognito --disable-pinch
Нажмите ctrl-O, а затем ctrl-X, чтобы записать и выйти из файла, а теперь введите:
sudo raspi-config
Оттуда перейдите к boot_behaviour и измените этот параметр на загрузку в режиме рабочего стола и войдите в систему как пользователь pi по умолчанию.
ПРИМЕЧАНИЕ: чтобы выйти из режима киоска, вы можете ввести
sudo killall Chrome-browser.
Это закроет все экземпляры браузера Chrome.
Шаг 16: как это работает
Когда Pi загрузится, вы увидите IP-адрес на экране tft вместе со списком всех пользователей платы.
С этого экрана вы можете начать сеанс в автономном режиме. Вы также можете управлять своим светом. Если вы введете IP-адрес в своем браузере, вы попадете на экран входа в систему. Вы можете войти в систему с помощью пользователя по умолчанию «доска» (пароль: test). или вы можете создать новую учетную запись. Как только это будет сделано, вы увидите свою панель управления. Здесь вы можете увидеть свой маршрут поездки и общее расстояние, время в пути. Если вы перейдете на вкладку longboard, вы можете увидеть текущее местоположение доски, вы можете переключить свет и начать запись сеанса. После того, как вы нажмете «начать сеанс», PI будет постоянно определять местоположение и сохранять его в базе данных, пока вы не нажмете «остановить сеанс». Если у GPS нет исправления, сеанс не может быть запущен, вы получите предупреждение в верхней части экрана. Ваши сеансы будут отображаться на карте Google.
Финалист конкурса Make it Move
Рекомендуемые:
Электрический лонгборд своими руками !: 7 шагов (с картинками)
DIY Electric Longboard! Привет, коллеги-создатели, в этом руководстве я покажу вам, как сделать электрический скейтборд своими руками при относительно небольшом бюджете. Доска, которую я построил, может развивать скорость около 40 км / час (26 миль в час) и пробегать около 18 км. Выше видео-руководство и несколько пи
Электрический лонгборд: 6 ступеней
Электрический лонгборд: в этом руководстве мы собираемся сделать электрический лонгборд с Arduino Uno и Raspberry Pi
Электрический лонгборд: 7 шагов
Electric Longboard: этот проект был построен, потому что я не был уверен, насколько легко и быстро будет перемещаться по новому и гораздо большему кампусу. Он состоит из: лонгборда Санта-Крус, двух мотор-редукторов, блока питания инопланетян и батареи, состоящей из 18650 ячеек от dea
Электрический лонгборд для начинающих (0 код) + бонус: 3 шага
Электрический лонгборд для начинающих (0 кодов) + бонус: я хотел что-то передвигать по городу, но меня не интересовали скутеры, коньки или мотоциклы, поэтому я решил сжать свой мозг и придумал это! сделать его как можно проще, чтобы он не подводил, а также был
ECOtravel - Электрический лонгборд: 8 ступеней
ECOtravel - Electric Longboard: Мы - команда ECOtravel, в которую входят 5 студентов-электромехаников. Мы все учимся в средней школе HELHa, расположенной в городе Монс в Бельгии. Мы все понимаем, что пора задуматься о своем следе. Решили подумать, как