avatar_Overrider

Цифровая ручка газа

Автор Overrider, 23 Май 2011 в 21:56

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Overrider

Проект [b-b]Цифровая ручка газа[/b-b]

Основные цели проекта:
-Научиться работать с АЦП, аппаратным ШИМ, цифровыми портами ввода-вывода, EEPROM
-Получить по завершении проекта, готовое устройство, способное заменить ручку газа на лёгком ЭлектроТС

Принципиальная схема см. в приложениях
Краткое описание:
Кнопки "+" и "-" прибавляют и убавляют газ с автоповтором нажатия (~20 шагов в секунду. На весь диапазон 3-12с в зависимости от его ширины), "Brake" на время нажатия устанавливает газ в 0. "Full" выставляет газ на максимум. "0" сбрасывает газ в ноль. Величина задержки от которой зависит скорость атоповтора прописана в EEPROM (легко поменять).
Предусмотрена калибровка минимального и максимального положения газа (для исключения "мёртвых зон"). Для этого нужно зажать "Brake" и "Full" во время включения, или нажать "0" при зажатых "Brake" и "Full".
Сперва кнопками "+" и "-" выставляется минимальное положение "ручки газа", подтверждается кнопкой "Full". Следом таким же образом выставляется максимальное положение. При этом автоповтор нажатия не работает, увеличение и уменьшение "газа" делается одиночными нажатиями (максимум 256 нажатий на всё).
К схемотехнике.
Кнопки "+" и "-" обрабатываются посредством АЦП, "Full" и "Brake" цифровыми портами, "0" тупо ресетит контроллер (по ресету все переменные инициализируются). На 6-й ноге (OC0B) живёт аппаратный ШИМ который интегрируется RC цепочкой и выдаётся на выход как сигнал с ручки газа. Светодиоды индицируют текущий режим ("+", "-", Максимум, Минимум). В зависимости от их (диодов и резисторов) параметров в нейтральном положении светодиоды либо оба светятся, либо оба погашены. R1 предотвращает КЗ при случайном нажатии "+" и "-" одновременно, если эти кнопки реализуются качелькой, исключающей одновременное нажатие, то R1 можно исключить.
Код на ассемблере уже написан, и даже отлажен в АВР-студии, что, однако, не гарантирует его работоспособности в железе.
Проверять на макетке буду в выходные.
Из нереализоанного, что, возможно, будет сделано в версии 2:
-Несколько "запоминаемых" значений уровня "газа".
-Калибровка скорости набора/сброса "газа".
-Продвинутая индикация (стрелочный индикатор/светодиодная полоска)
-Возможное применение валкодера (колёсико от мышки) вместо кнопок "+" и "-".

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

zap

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

Поражаю масштабностью некопмпетентность (ц) из лички

Althair

ИМХО, много лишних телодвижений.
Я бы реализовал следующее:

- "Круиз-контроль" - ручка газа поворачивается на определенный угол, слегка прижимается рычаг тормоза (должен быть предусмотрен контакт или микрик), потом ручка отпускается вместа с тормозом (выполняется на ходу). Заданное значение уровня акселератора запоминается и поддерживается до принудительного отключения. В режиме круиз-контроля на момент легкого удержания рычага тормоза - газ на нуле, при отпускании возвращается на запомненную позицию. Двойное легкое нажатие на тормоз сбрасывает газ в "0".
- "Защита от дурака" - при резком выворачивании газа с нуля и более определенного уровня двигатель разгоняется плавно. Скорость разгона и предел срабатывания программируемая.
- "Режим обгона" - при нажатии кнопки "обгон" дается полный газ (либо запрограммированная позиция), при отпускании возвращается либо в "0", либо к запомненной позиции "круиз-контроля". Программирование путем удержания кнопки "обгон" и поворачивания ручки газа до нужного уровня.

Функции можно продолжать.

Схемотехника: АЦП не нужен на кнопки. Его лучше применить для считывания позиции ручки.
Кнопок у нас получается всего две (рычаг тормоза и "обгон"). Это два бита. При желании можно организовать третью кнопку, только вот куда ее приткнуть?
Куплю удлинитель для коротких замыканий, а так же волшебный дым для заправки радиодеталей.
Ноунейм Сяоклон 250W + 36V 15Ah
Самовар Cats Threat 2х1000W (придушено до 250W) + злые 14x5.0 + 2хВектор + 16S1P MpCO 21Ah

Althair

Цитата: zap от 23 Май 2011 в 22:50
Ещё мысль - одну из ног микроконтроллера прицепить к металлическому контакту, который как-то смонтирован на ручке велика. В случае падения контакт между рукой и железкой пропадает, схема сбрасывает газ. Наличие руки проверяется по ёмкости контакта, я как-то с этим баловался - 4х мегагерц вполне достаточно, чтобы абсолютно чётко отличить зарядную кривую пустого контакта от контакта с прицеплённым к нему человеком :)
А есля человек просто снял руку с руля, чтобы почесаться поворот показать?
Куплю удлинитель для коротких замыканий, а так же волшебный дым для заправки радиодеталей.
Ноунейм Сяоклон 250W + 36V 15Ah
Самовар Cats Threat 2х1000W (придушено до 250W) + злые 14x5.0 + 2хВектор + 16S1P MpCO 21Ah

zap

Цитата: Althair от 23 Май 2011 в 22:53
А есля человек просто снял руку с руля, чтобы почесаться поворот показать?
А нефиг поворот показывать правой рукой :) Левой! Левой! Ну, а поднимет правую - поедет накатом, невелика беда.

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

Поражаю масштабностью некопмпетентность (ц) из лички

Digitalworm

Цитата: zap от 23 Май 2011 в 23:01



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

а если дождец? замкнет такую кнопку...
знаете, после общения с сенсорными кнопами на разных девайсах.. не люблю я их совсем

Overrider

Цитата: zap от 23 Май 2011 в 22:50
Ещё мысль - одну из ног микроконтроллера прицепить к металлическому контакту, который как-то смонтирован на ручке велика. В случае падения контакт между рукой и железкой пропадает, схема сбрасывает газ. Наличие руки проверяется по ёмкости контакта, я как-то с этим баловался - 4х мегагерц вполне достаточно, чтобы абсолютно чётко отличить зарядную кривую пустого контакта от контакта с прицеплённым к нему человеком :)
так тут сенсор не нужен. Обычный разъём питания с пружинным контактом. Выдернул, и замкнул ресет на землю, всё никто никуда не едет.
И сенсор для применений на улице малопригоден. Домофон в подъезде, где я живу тому яркое подтверждение.
Цитата: Althair от 23 Май 2011 в 22:51
ИМХО, много лишних телодвижений.
Я бы реализовал следующее:

- "Круиз-контроль" - ручка газа поворачивается на определенный угол, слегка прижимается рычаг тормоза (должен быть предусмотрен контакт или микрик), потом ручка отпускается вместа с тормозом (выполняется на ходу). Заданное значение уровня акселератора запоминается и поддерживается до принудительного отключения. В режиме круиз-контроля на момент легкого удержания рычага тормоза - газ на нуле, при отпускании возвращается на запомненную позицию. Двойное легкое нажатие на тормоз сбрасывает газ в "0".
- "Защита от дурака" - при резком выворачивании газа с нуля и более определенного уровня двигатель разгоняется плавно. Скорость разгона и предел срабатывания программируемая.
- "Режим обгона" - при нажатии кнопки "обгон" дается полный газ (либо запрограммированная позиция), при отпускании возвращается либо в "0", либо к запомненной позиции "круиз-контроля". Программирование путем удержания кнопки "обгон" и поворачивания ручки газа до нужного уровня.

Функции можно продолжать.

Схемотехника: АЦП не нужен на кнопки. Его лучше применить для считывания позиции ручки.
Кнопок у нас получается всего две (рычаг тормоза и "обгон"). Это два бита. При желании можно организовать третью кнопку, только вот куда ее приткнуть?
Ручка газа упраздняется в данном проекте совсем. Не только я жаловался на неудобство её постоянного выкручивания.

Althair

Аналоговый орган управления в любом случае нужен. Есть такой термин "тактильный контакт". Чтобы была обратная связь: разгон велосипеда четко соотносится с ощущением поворота ручки.
Пример: На самолетах Airbus уже давно стоит электрика и электроника на тех местах, где у прочих самолетов стоит гидравлика и гидроусилители. То есть: штурвал > датчик положения > контроллер > провода > контроллер > исполнительный механизм.
Казалось бы, нафига штурвал? Или сектор управления двигателем, который до сих пор представляет из себя классические рычаги дросселя, хотя на осях дросселей стоят резисторы? Поставил кнопки, и нехай! А вот нет, не ставят.
Не все так просто ;)
Куплю удлинитель для коротких замыканий, а так же волшебный дым для заправки радиодеталей.
Ноунейм Сяоклон 250W + 36V 15Ah
Самовар Cats Threat 2х1000W (придушено до 250W) + злые 14x5.0 + 2хВектор + 16S1P MpCO 21Ah

DarthGray

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

А если уж делать газ на кнопках, то хар-ку нарастания на мой взгляд надо делать на линейной, а экспоненциальной
256 значений тоже особо ни к чему, у контроллеров 64 градации газа/шима
Различие между теорией и практикой на практике гораздо больше, чем в теории.

ru

#9
Спойлер
Цитата: Overrider от 23 Май 2011 в 21:56
Проект [b-b]Цифровая ручка газа[/b-b]

Основные цели проекта:
-Научиться работать с АЦП, аппаратным ШИМ, цифровыми портами ввода-вывода, EEPROM
-Получить по завершении проекта, готовое устройство, способное заменить ручку газа на лёгком ЭлектроТС

Принципиальная схема см. в приложениях
Краткое описание:
Кнопки "+" и "-" прибавляют и убавляют газ с автоповтором нажатия (~20 шагов в секунду. На весь диапазон 3-12с в зависимости от его ширины), "Brake" на время нажатия устанавливает газ в 0. "Full" выставляет газ на максимум. "0" сбрасывает газ в ноль. Величина задержки от которой зависит скорость атоповтора прописана в EEPROM (легко поменять).
Предусмотрена калибровка минимального и максимального положения газа (для исключения "мёртвых зон"). Для этого нужно зажать "Brake" и "Full" во время включения, или нажать "0" при зажатых "Brake" и "Full".
Сперва кнопками "+" и "-" выставляется минимальное положение "ручки газа", подтверждается кнопкой "Full". Следом таким же образом выставляется максимальное положение. При этом автоповтор нажатия не работает, увеличение и уменьшение "газа" делается одиночными нажатиями (максимум 256 нажатий на всё).
К схемотехнике.
Кнопки "+" и "-" обрабатываются посредством АЦП, "Full" и "Brake" цифровыми портами, "0" тупо ресетит контроллер (по ресету все переменные инициализируются). На 6-й ноге (OC0B) живёт аппаратный ШИМ который интегрируется RC цепочкой и выдаётся на выход как сигнал с ручки газа. Светодиоды индицируют текущий режим ("+", "-", Максимум, Минимум). В зависимости от их (диодов и резисторов) параметров в нейтральном положении светодиоды либо оба светятся, либо оба погашены. R1 предотвращает КЗ при случайном нажатии "+" и "-" одновременно, если эти кнопки реализуются качелькой, исключающей одновременное нажатие, то R1 можно исключить.
Код на ассемблере уже написан, и даже отлажен в АВР-студии, что, однако, не гарантирует его работоспособности в железе.
Проверять на макетке буду в выходные.
Из нереализоанного, что, возможно, будет сделано в версии 2:
-Несколько "запоминаемых" значений уровня "газа".
-Калибровка скорости набора/сброса "газа".
-Продвинутая индикация (стрелочный индикатор/светодиодная полоска)
-Возможное применение валкодера (колёсико от мышки) вместо кнопок "+" и "-".

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

Самое удобное сделать к ручке доп кнопку

представь
Едешь на велике,дозируя ручку газа,возникла прямая повернул ручку на нужную скорость и нажал кнопку,ручку пустил и все
едешь себе,прямая закончилась крутанул ручку и круиз сбросился            гениально и просто
(это намного лучше чем зажатая ручка по 15сек для круиза(если контроллер поддерж),т.к. нажимается мгновенно,и шаг скорости можно отрегулировать очень плавно)

я б подумал как сделать еще доп кнопку режим ТУРБО(например виртуально изменяющий толщину разгонногот шунта для контроллера)чтоб ускорение было мгновенное если надо :bf:

в любом случае сделать стоит оба варианта
и твой и предложенный,а затем поделится впечатлениями :)

Overrider

Цитата: Althair от 24 Май 2011 в 09:15
Аналоговый орган управления в любом случае нужен. Есть такой термин "тактильный контакт". Чтобы была обратная связь: разгон велосипеда четко соотносится с ощущением поворота ручки.
Пример: На самолетах Airbus уже давно стоит электрика и электроника на тех местах, где у прочих самолетов стоит гидравлика и гидроусилители. То есть: штурвал > датчик положения > контроллер > провода > контроллер > исполнительный механизм.
Казалось бы, нафига штурвал? Или сектор управления двигателем, который до сих пор представляет из себя классические рычаги дросселя, хотя на осях дросселей стоят резисторы? Поставил кнопки, и нехай! А вот нет, не ставят.
Не все так просто ;)
В самолётах и автомобилях это скорее дань традиции. Немцы (на мерседесе) ещё лет пять назад доказали, что управлять автомобилем с помощью джойстика интуитивно проще, однако я что-то не видел ни одного авто с джойстиком.
В данном случае это вопрос вкуса и привычки. Я поездил с ползуноквым переменным резистором вместо ручки газа. Мне в принципе нравится, но такие резисторы не защищены от погоды совсем, и он стал шуметь  :(
Поэтому и хочу что-то погодозащищённое, но при этом с автоматическим круиз-контролем :)

Althair

Цитата: ru от 24 Май 2011 в 15:41
представь
Едешь на велике,дозируя ручку газа,возникла прямая повернул ручку на нужную скорость и нажал кнопку,ручку пустил и все
едешь себе,прямая закончилась крутанул ручку и круиз сбросился            гениально и просто
(это намного лучше чем зажатая ручка по 15сек для круиза(если контроллер поддерж),т.к. нажимается мгновенно,и шаг скорости можно отрегулировать очень плавно)
предложенный,а затем поделится впечатлениями :)
Вариант с ОТКЛЮЧЕНИЕМ круизконтроля ручкой имеет слабое место - нечаянно дернув ручку на выбоине, или просто неудачно ее перехватив ("Легким движением руки брюки превращаются...") мы получаем достаточно нервирующий узел управления.
Можно, конечно, предусмотреть "пробег" ручки, отключающий КК, но тут кже озвучивалось, что ручку неудобно крутить :)
Куплю удлинитель для коротких замыканий, а так же волшебный дым для заправки радиодеталей.
Ноунейм Сяоклон 250W + 36V 15Ah
Самовар Cats Threat 2х1000W (придушено до 250W) + злые 14x5.0 + 2хВектор + 16S1P MpCO 21Ah

Д. Засядько

А чем вам не нравятся заводские ручки газа?
Вот у меня ручка газа в виде лепестка, похожего на манетку.
И внутри не потенциометр с дребезжащим скользящим контактом, а неодимовый магнитик и датчик Холла. При нажатии на лепесток магнитик перемещается относительно датчика Холла. Специально обученная микросхема отслеживает положение магнитика и выдаёт соответствующее напряжение на выходе ручки газа. Там же впаяны светодиоды, показывающие заряд батареи (вернее, напряжение) и кнопка включения контроллера.
http://i021.radikal.ru/1102/c3/ba16e97bcb82.jpg
http://s004.radikal.ru/i205/1102/90/544019cc4d84.jpg
http://s60.radikal.ru/i170/1102/94/0ed23536fcb1.jpg

Althair

Цитата: Д. Засядько от 29 Май 2011 в 23:39
И внутри не потенциометр с дребезжащим скользящим контактом,
Переменник переменнику рознь. К тому же дребезг (если он будет значительным) легко и непринужденно лечится двумя элементами в схеме - резистор+конденсатор. Так же можно предусмотреть программный антидребезг.
Куплю удлинитель для коротких замыканий, а так же волшебный дым для заправки радиодеталей.
Ноунейм Сяоклон 250W + 36V 15Ah
Самовар Cats Threat 2х1000W (придушено до 250W) + злые 14x5.0 + 2хВектор + 16S1P MpCO 21Ah

zap

Увидел забавную фотку.



Обратите внимание на панель управления по центру руля.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

tony16

Цитата: zap от 07 Июнь 2011 в 10:35
Увидел забавную фотку.
Обычный кристалайтовский круиз контроль.
Продается тут http://www.electricrider.com/crystalyte/parts.htm и видел на ебее дешевле до 20$.
Подходит ко всем контроллерам, тобиш ручкам газа т.к у всех принцип один.
а вот и сдесь незадорого http://ebikessf.com/clyte-cruise-ctrl

kolyka

вставлю 5 копёек и я имел возможносьть я покатаца на инвалидных колясках одна електро но там механическое управтения поворотом задних колес такая ручка в право влево с тормозной ручкой в роли газульки . а вторая с джоистиком  . так вот первая :neg: :eek: а вторая  :bravo: B-)

Peoner

#17
Мне сия концепция напомнила ситуацию с отображением скорости. аналоговым и цифровым.
Если не говорить о велокомпах то на большинстве авто (кроме ситроена и прочих :fool:) спидометр до сих пор стрелочный несмотря на то что помимо него в машине куча всяких цифровых мозгов. Это не просто так.
Тоже самое считаю и с ручкой газа. Принципиально ошибочное направление. В УЗЧ - Да, в регуляторе освещения - Да. В ручке газа - Нет. :-\
Спойлер
ну и чтоб улыбнуло
Раньше я выбирал самый короткий путь, а теперь - где меньше ям. http://forum.simbike.ru