Realbikers Club  

Вернуться   Realbikers Club > Техническая сторона вопроса > Теория

Ответ
Опции темы Опции просмотра
Непрочитано 21.09.2015, 16:48   #1
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию я у мамы engineer (c)

Люблю я всякие технодроческие вещи (электронику, всякие там моторчики\свистелки\перделки).
"Первые 40 лет детства для мужчины самые сложные" (с)


Далее будет live рассказ о новом витке издевательств над конандойлем.
Старт проекта 21.09.2015. Поехали

1. Идея
2. Теория
3. Аппаратная база
4. ПО
5. Разработка собственных компонентов.

1. Идея
"Какой самый живучий паразит? Бактерия? Вирус? Кишечный глист? Идея. Она живуча и крайне заразна. Стоит идее завладеть мозгом, избавиться от неё уже практически невозможно. Я имею в виду сформировавшуюся идею, полностью осознанную, поселившуюся в голове." (с) Leonardo DiCaprio @ Inception

Так вот. Лазил как-то по одному хорошему сайту (https://www.fasttech.com/) и попались на глаза сервоприводы. И подумал я как бы было хорошо влепить этот маленький моторчик на велосипед, кнопочку на руль и нажимая кнопочку управлять вилкой\амортом (такой проект уже успешно сделал человек с России и даже с автоматическим управлением с помощью гироскопов). Но... Лефти у меня с гидролокаутом - там крутить нечего, аморта нет. Вопрос управления подвеской отпал сам собой. Вспомнил я про шоссейную шиману ди2 и подумал как бы было классно сделать и для мтб такое. Но как-то все на идеи и затихло на определенное время.
И тут, в 2014м, шимана выкатывает новую группу shimano xtr di2.
Первая мысль была:

Поначалу она была доступна только прорайдерам шиманы. А к концу года ее выкатили в свободную продажу. Лезем на бк...

+кабеля\зарядки+аккум. Ага, щас....


Не зря же у меня валяется диплом инженера электронных систем Пораскинув мозгами, взвесив все в голове, принято решение - DIY (do it yourself) !
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 30.10.2015 в 13:44
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 16:48   #2
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

2. Теория

2.1 Мозг
Мозгом для будущей системы решено было взять Arduino.
Arduino – это инструмент для проектирования электронных устройств (электронный конструктор) более плотно взаимодействующих с окружающей физической средой, чем стандартные персональные компьютеры, которые фактически не выходят за рамки виртуальности. Это платформа, предназначенная для «physical computing» с открытым программным кодом, построенная на простой печатной плате с современной средой для написания программного обеспечения.
Почему Arduino?

Существует множество микроконтроллеров и платформ для осуществления «physical computing». Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку. Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

Низкая стоимость – платы Arduino относительно дешевы по сравнению с другими платформами. Самая недорогая версия модуля Arduino может быть собрана в ручную, а некоторые даже готовые модули стоят меньше 50 долларов.

Кросс-платформенность – программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

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

Программное обеспечение с возможностью расширения и открытым исходным текстом – ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVR C на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

2.2 Сервопривод
Изначально стоял выбор между шаговым двигателем и сервой. Но, как по мне, для данного механизма серва будет более правильным выбором из-за его огромного крутящего момента (благодаря редуктору) + отсутствия надобности в motor shield (отдельная плата, которая управляет мотором).

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

Если сказать полнее, сервопривод — это привод с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения. Сервоприводом является любой тип механического привода, имеющий в составе датчик (положения, скорости, усилия и т.п.) и блок управления приводом, автоматически поддерживающий необходимые параметры на датчике и устройстве согласно заданному внешнему значению.

Иными словами:

- Сервопривод получает на вход значение управляющего параметра. Например, угол поворота
- Блок управления сравнивает это значение со значением на своём датчике
- На основе результата сравнения привод производит некоторое действие, например: поворот, ускорение или замедление так, чтобы значение с внутреннего датчика стало как можно ближе к значению внешнего управляющего параметра

Типичный хобби-сервопривод изображён ниже.

Каким же образом устроены сервоприводы?
Устройство сервопривода

Сервоприводы имеют несколько составных частей.

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

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

Кроме электромотора, редуктора и потенциометра в сервоприводе имеется электронная начинка, которая отвечает за приём внешнего параметра, считывание значений с потенциометра, их сравнение и включение/выключение мотора. Она-то и отвечает за поддержание отрицательной обратной связи.

К сервоприводу тянется три провода. Два из них отвечают за питание мотора, третий доставляет управляющий сигнал, который используется для выставления положения устройства.
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 21.09.2015 в 22:42
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 16:49   #3
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

3. Аппаратная часть
Было закуплено много всего интересного и полезного (микроконтроллеры, датчики, кнопки и прочее). Но многое из этого не нужно для данного проекта. Есть еще мысли сделать полезные приблуды типа "умный дом". Ну то уже потом.


3.1 Мозг
Управлять всем буду при помощи микроконтроллера Arduino. Для первоначальной сборки, отладки и написания ПО будет использоваться Arduino Uno R3 (китайский аналог, Юра привет).
http://www.aliexpress.com/item/Best-...340815424.html
Она иммет более удобный размер для работы, распаянные удобные выходы под провода, встроенный USB-TTL конвертер (удобно шить через USB).
Когда софт будет протестирован и отлажен – он будет залит в более компактную плату, которая и пойдет на велосипед.
Было куплено 2шт Arduino Pro Mini 3.3V\8Mhz
http://www.aliexpress.com/item/Free-...340942669.html
И 2шт Arduino Pro Mini 5V\16Mhz
http://www.aliexpress.com/item/Free-...340811597.html
Производительности 3.3в версии хватит для обслуживания нескольких сотен серв. Размеры имеют одинаковые. Выберу в зависимости от того, чем все это будет запитано. Скорее всего 5в версию.

3.2 Сервопривод
Сервопривод покупался с запасом. Для первого образца взял понадежнее и помощнее. Т.к. пока не имею понятия какая от него требуется мощность.
http://www.aliexpress.com/item/SG501...370147331.html
Характеристики:
Цитата:
Specification:
Color: Black
Connector wire length: 28.3cm
Operating speed (4.8V no load): 0.14sec/60 degrees
Operating speed (6.0V no load): 0.11sec/60 degrees
Stall torque (4.8V): (8kg/cm) (110oz/in.)
Stall torque (6.0V): (11kg/cm) (156oz/in.)
Temperature range: -30 to +60C
Dead band width: 4usec
Operation Voltage: 3.5-8.4V
Если к его валу прикрепить плечо 1см, подать питание 6в и подать сигнал – он подымет 10л ведро с водой
Есть более легкие и простые моторчики весом 9г. Возможно позже будет куплено что-то такого плана или что-то среднее.

3.3 Кнопки
Для самой манетки были выбраны самые простые и распостраненные кнопки, которые есть практически в любом электронном устройстве. С запасом, 30шт)))
http://www.aliexpress.com/item/40026...362176739.html
Если мозг и аккум будут собраны в отделый бокс, то взял еще кнопки вкл-выкл.
http://www.aliexpress.com/item/80003...376022284.html

3.4 Резисторы
Если не использовать светодиоды и прочие вещи индикации, то достаточно только 2х резисторов на 10кОм для кнопок. Но поскольку стоят они руб-ведро – было куплено 600шт (30 видов по 20шт) на все случаи жизни.
http://www.aliexpress.com/item/70003...323198194.html

3.5 Lion зарядка
Аккум\аккумы нужно будет чем-то заряжать. Приобрел 5шт минизарядок от mini USB шнурка. Благо стоят копейки.
http://www.aliexpress.com/item/5pcs-...084643386.html

3.6 Провода
Для начальной сборки макетки и отладки системы\ПО была куплена вязка проводов разных видов (папа-папа, папа-мама, мама-мама).
http://www.aliexpress.com/item/Free-...343840673.html
Для установки уже готовой системы на велосипед в местном магазе будут докуплены нужные провода.

3.7 Wireless
Если уж совсем заморочится, то можно сделать беспроводное управление.
http://www.aliexpress.com/item/15927...354926527.html
Но тогда нужно питание и для мозга\манетки и для сервы. Что не очень интересно. Поэтому, скорее всего, нет. Кстати SRAM вроде тестирует беспроводную электронную трансмиссию.


зы: размеры и вес это все имеет мегакомпактные (за исключением сервопривода). Мозг и плата зарядки аккумов легко поместится в спичечный коробок, в вынос, в шток вилки, под седло, в подседельную трубу.
На фото сравнение с 5коп монеткой.
1 - lion charger, 2 - arduino pro mini, 3 - кнопка.
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 21.09.2015 в 23:01
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 16:50   #4
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

4. ПО
v1.0
Offtop:

#include

Servo motor;
const int b1 = 7;
const int b2 = 4;
int bs1 = 0;
int bs2 = 0;
int a = 90;

void setup()
{
Serial.begin(9600);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
motor.attach(10);
motor.write(a);
delay(50);
Serial.println(a);
}

void loop()
{
bs1 = digitalRead(b1);
bs2 = digitalRead(b2);

if (bs1 == HIGH && a < 180) {
a = a + 15;
motor.attach(10);
motor.write(a);
delay(500);
Serial.println(a);
motor.detach();
}
else {
if (bs2 == HIGH && a > 0) {
motor.attach(10);
a = a - 15;
motor.write(a);
delay(500);
Serial.println(a);
motor.detach();
}
}
}
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 22.09.2015 в 16:33
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 16:51   #5
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

5. Разработка собственных компонентов трансмиссии.
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 30.10.2015 в 13:44
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 16:52   #6
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

let's the flames begin
__________________
Новые велокомпоненты

одноногая илита
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 17:45   #7
Hamster
Форумчанин
 
Аватар для Hamster
 
Регистрация: 07.11.2008
Сообщений: 1,225
По умолчанию

Как бы это делал я:
1. 2 кнопки на руле - самое простое из проекта
2. Механизм переключалки
Не знаю как там оно в шимано сделано, но в голову сразу пришло 2 варианта:
а. Посредством двигателя + какой-нить программируемый контроллер-таймер, чтобы крутонуло как раз сколько нужно
б. 2 электромагнита + какая-то хрень на основе рачета из современных втулок. нажатие на кнопку - сработал электромагнит, который бы за величину движения сердечника в катушку затянул тросс на сколько нужно. Эл-магниты сбрасывают/подымают на 1 зубец. Короче, по типу как обычная кнопка в ручке работает, только посложнее =). Думаю, этот вариант имел бы больший КПД.

А что там еще в заднем переклюке допиливать нужно, так и не понял.
__________________
0953711249
Hamster на форуме   Ответить с цитированием
Непрочитано 21.09.2015, 20:01   #8
Hamster
Форумчанин
 
Аватар для Hamster
 
Регистрация: 07.11.2008
Сообщений: 1,225
По умолчанию

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

+питание от аккума от фары))
__________________
0953711249
Hamster на форуме   Ответить с цитированием
Непрочитано 21.09.2015, 20:56   #9
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

Цитата:
Сообщение от Hamster Посмотреть сообщение
Как бы это делал я:
1. 2 кнопки на руле - самое простое из проекта
Так и будет. Хочу еще это впиндюрить в какой-то аккуратный красивый корпус. Вариантов 2:
- искать готовое решение на али, которое подойдет по размерам и виду
- 3д печать собственной манетки.
Второй вариант более правильный. Но в наших краях с 3д принтерами беда.

Цитата:
Сообщение от Hamster Посмотреть сообщение
2. Механизм переключалки
Не знаю как там оно в шимано сделано, но в голову сразу пришло 2 варианта:
а. Посредством двигателя + какой-нить программируемый контроллер-таймер, чтобы крутонуло как раз сколько нужно
б. 2 электромагнита + какая-то хрень на основе рачета из современных втулок. нажатие на кнопку - сработал электромагнит, который бы за величину движения сердечника в катушку затянул тросс на сколько нужно. Эл-магниты сбрасывают/подымают на 1 зубец. Короче, по типу как обычная кнопка в ручке работает, только посложнее =). Думаю, этот вариант имел бы больший КПД.
Как сделано у шиманы сам не знаю. В живую не видел ни мтб ни шоссе электронных групп.
а. Собственно так и планирую делать. Сервопривод управляется ШИМ (широтно-импульсная модуляция), он же PWM(pulse width modulation). Какой сигнал подали - на столько градусов серва и повернула вал. Останется только методом тыка определить этот самый угол, который будет соответствовать расстоянию звезд на кассете (а оно одинаковое между всеми звездами). Подавать сигнал будет ардуина. Программируется легко (уровень 10го класса школы).
б. Геморно, тяжелее и не правильно. Думал над этим, но сразу откинул этот вариант. Нужно либо делать сразу в правильном ключе либо не делать вообще)

Цитата:
Сообщение от Hamster Посмотреть сообщение
А что там еще в заднем переклюке допиливать нужно, так и не понял.
В первоначальном варианте можно просто серву закрепить на готовой перекидке. По-нормальному, после отладки и исправления багов, нужно задаться вопросом изготовления перекидки с учетом наличия в ней сервы. В идеале тут нужно иметь доступ к чпу или 3д принтеру. А в идеале и к тому и к другому.
__________________
Новые велокомпоненты

одноногая илита

Последний раз редактировалось felix; 21.09.2015 в 21:13
felix вне форума   Ответить с цитированием
Непрочитано 21.09.2015, 20:58   #10
felix
Форумчанин
 
Аватар для felix
 
Регистрация: 08.10.2008
Адрес: Украина, Сумы
Возраст: 30
Сообщений: 1,399
По умолчанию

Цитата:
Сообщение от Hamster Посмотреть сообщение
И вообще, кулибин. Берешь манетку, закрепляешь ее в каком-то корпусе, цепляешь к ней 2 электромагнита к рычажкам + придумать какие-то элементарные ограничители от всяких двойных сбросов.
Не составит особого труда оставить ее невредимой.

+питание от аккума от фары))
Манетку хочу сделать свою, новую, оригинальную. На кнопках. Все железо будет описано в разделе 3 (аппаратная база). Все уже закуплено. Я просто не спешил с созданием темы, т.к. мне только сегодня приехала последняя важная посылка (с микроконтроллерами).
Питание можно сделать по разному, есть несколько идей. Это же касается и микрухи (куда ее спрятать).
__________________
Новые велокомпоненты

одноногая илита
felix вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.

Быстрый переход


Часовой пояс GMT +2, время: 12:24.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot