[DIY или Сделай сам, Разработка под Arduino] DIY Электрическая система переключения скоростей для шоссейного велосипеда
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
При езде на шоссейном велосипеде, особенно важно минимизировать изменения в необходимом усилии и скорости вращения педалей, для этого в зависимости от рельефа необходимо часто переключать скорости велосипеда. На бюджетных шоссейных велосипедах естественно стоит бюджетная система переключения, с ней лишний раз подумаешь менять скорость или нет. Под катом то, как я это исправил.
Сервопривод и корпус устройства.ПредисторияМеня зовут Вячеслав. В коронокризис было скучно, поэтому я начал бегать. За 3 месяца пробежал 350км и 02.08.2020 пробежал Московский полумарафон.
После бега решил попробовать шоссейный велосипед. Я еще контактные педали в глаза не видевший уже слоты на спринты к айронмэну на 2021 присматривал, такое бывает. Велосипед и оборудование выбирал самые бюджетные, поэтому простор для фантазии и доработок открыт.
Электронное переключение скоростейВ моем шоссейном велосипеде скорости переключаются на середине руля, поэтому для постоянного переключения нужно отпускать барана, это очень неудобно. В более дорогих системах переключения на самом баране, но там одна система стоит дороже чем весь мой велосипед.
Моей задачей было с минимальными доработками и сохранением существующего варианта переключения сделать удобное и быстрое электрическое переключение параллельно. Для прототипа использовалось то, что было под рукой. Измерив ход движения тросика(22мм) и необходимое усилие от родной системы выбрал сервопривод ds3115mg.Конструкция элементарная Батарея+Arduino nano+две кнопки+серво.
Кнопки подтянул к 5V через внутренний резистор.Код Arduino
#include <Servo.h>
Servo myservo;
int speedg = 1;
int up = 1;
int p = 0;
void setup() {
myservo.attach(9);
pinMode(8, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}
void loop() {
if (digitalRead(7) == 0) {
if (speedg > 1) {
speedg--;
up = 0;
}
p = 1;
}
if (digitalRead(8) == 0) {
if (speedg < 7) {
speedg++;
up = 1;
}
p = 1;
}
if (speedg == 1) {
myservo.write(0);
}
if (speedg == 2) {
if (up == 1) {
myservo.write(75);
} else {
myservo.write(60);
}
}
if (speedg == 3) {
if (up == 1) {
myservo.write(85);
} else {
myservo.write(80);
}
}
if (speedg == 4) {
if (up == 1) {
myservo.write(97);
} else {
myservo.write(90);
}
}
if (speedg == 5) {
if (up == 1) {
myservo.write(110);
} else {
myservo.write(103);
}
}
if (speedg == 6) {
myservo.write(120);
}
if (speedg == 7) {
myservo.write(140);
}
if ( p == 1) {
delay(300);
p = 0;
}
}
Параметры подбирал. причем некоторые скорости для переключения вверх и вниз требовали разного угла поворота сервопривода.Распечатал на 3D-принтере корпус для Arduino, серво и батареи. Прикрепил корпус к раме, тросик от серво соединил с тросом штатной системы(фото КДПВ, смотри выше).Первые испытания показали живучесть системы, поэтому решил добавить фичи.Извините, данный ресурс не поддреживается. :( Добавив датчик Холла и магнит на ведущей звезде получил датчик каденса, теперь могу менять передачи автоматически в зависимости от падения каденса.Добавив 3-осевой гироскоп и акселерометр MPU6050, пришлось повозиться с калибровкой. Зная угол велосипеда можем переключать передачи автоматически в горку и с горки.В целом эти автоматизация скорее отвлекает, имея две кнопки с моментальным переключением всегда удобнее самому менять скорость.Извините, данный ресурс не поддреживается. :( В планах
- Поменять микроконтроллер.
- Добавить датчик скорости вращения колеса.
- Добавить BTLE для синхронизации и передачи данных в STRAVA.
- Сделать корпус устройства в виде фонаря с дисплеем отображения текущей скорости и серво-приводом внутри.
- Заменить сервопривод на актуатор с обратной связью.
Внимание, вопросКак Вы считаете стоит ли попробовать это решение для выхода на краудфандинг?
===========
Источник:
habr.com
===========
Похожие новости:
- [Глобальные системы позиционирования, DIY или Сделай сам] Как выбрать подходящий модуль спутникового позиционирования для своего проекта (перевод)
- [Java, ERP-системы, DIY или Сделай сам] Складская программа C2 WMS 1.1
- [Обработка изображений, Машинное обучение, Искусственный интеллект, DIY или Сделай сам] RPi-няня
- [CAD/CAM, DIY или Сделай сам, Схемотехника] How to verify Switching-Mode Power Supply circuits
- [DIY или Сделай сам] От земли к FPV Квадрокоптеру: Собираем свой первый квадрокоптер (Whoop)
- [DIY или Сделай сам, Автомобильные гаджеты, Транспорт, Инженерные системы] акселерометр в системе ПИД-регулирования круиз-контроля автомобиля
- [DIY или Сделай сам, Транспорт] Взгляд в прошлое. Технология 18 века
- [Программирование микроконтроллеров, Разработка для интернета вещей, DIY или Сделай сам] «Умная» детская коляска «Максимка»
- [Системное администрирование, Виртуализация, Конференции, DIY или Сделай сам] Now you see us. Раскрываем секреты успеха международной IT-конференции в эпоху пандемии
- [Высокая производительность, Мозг, Управление проектами, Управление разработкой] Как создать KPI по стрессу — и превратить его из врага в помощника
Теги для поиска: #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_razrabotka_pod_arduino (Разработка под Arduino), #_velosport (велоспорт), #_diy, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
), #_razrabotka_pod_arduino (
Разработка под Arduino
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 02:16
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
При езде на шоссейном велосипеде, особенно важно минимизировать изменения в необходимом усилии и скорости вращения педалей, для этого в зависимости от рельефа необходимо часто переключать скорости велосипеда. На бюджетных шоссейных велосипедах естественно стоит бюджетная система переключения, с ней лишний раз подумаешь менять скорость или нет. Под катом то, как я это исправил. Сервопривод и корпус устройства.ПредисторияМеня зовут Вячеслав. В коронокризис было скучно, поэтому я начал бегать. За 3 месяца пробежал 350км и 02.08.2020 пробежал Московский полумарафон. После бега решил попробовать шоссейный велосипед. Я еще контактные педали в глаза не видевший уже слоты на спринты к айронмэну на 2021 присматривал, такое бывает. Велосипед и оборудование выбирал самые бюджетные, поэтому простор для фантазии и доработок открыт. Электронное переключение скоростейВ моем шоссейном велосипеде скорости переключаются на середине руля, поэтому для постоянного переключения нужно отпускать барана, это очень неудобно. В более дорогих системах переключения на самом баране, но там одна система стоит дороже чем весь мой велосипед. Моей задачей было с минимальными доработками и сохранением существующего варианта переключения сделать удобное и быстрое электрическое переключение параллельно. Для прототипа использовалось то, что было под рукой. Измерив ход движения тросика(22мм) и необходимое усилие от родной системы выбрал сервопривод ds3115mg.Конструкция элементарная Батарея+Arduino nano+две кнопки+серво. Кнопки подтянул к 5V через внутренний резистор.Код Arduino #include <Servo.h>
Servo myservo; int speedg = 1; int up = 1; int p = 0; void setup() { myservo.attach(9); pinMode(8, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); } void loop() { if (digitalRead(7) == 0) { if (speedg > 1) { speedg--; up = 0; } p = 1; } if (digitalRead(8) == 0) { if (speedg < 7) { speedg++; up = 1; } p = 1; } if (speedg == 1) { myservo.write(0); } if (speedg == 2) { if (up == 1) { myservo.write(75); } else { myservo.write(60); } } if (speedg == 3) { if (up == 1) { myservo.write(85); } else { myservo.write(80); } } if (speedg == 4) { if (up == 1) { myservo.write(97); } else { myservo.write(90); } } if (speedg == 5) { if (up == 1) { myservo.write(110); } else { myservo.write(103); } } if (speedg == 6) { myservo.write(120); } if (speedg == 7) { myservo.write(140); } if ( p == 1) { delay(300); p = 0; } }
=========== Источник: habr.com =========== Похожие новости:
DIY или Сделай сам ), #_razrabotka_pod_arduino ( Разработка под Arduino ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 02:16
Часовой пояс: UTC + 5