avatar_13_chip_13

Плата адаптивного плавного газа

Автор 13_chip_13, 25 Май 2023 в 16:11

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

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

13_chip_13

Разработка полностью открытая будет, т.е. все исходники и т.п. для повторения. Алгоритм если надо будет доделывать, то будем доделывать.
Поддерживать в нескольких местах трудно, поэтому вся полная информация на канале: https://t.me/APGfaq, а здесь некоторые основные моменты обозначу.

На базе платы digispark tiny85. Поэтому себестоимость меньше 500р, программатор ненужен, в общем взяли плату чуть напаяли элементов, прошили через arduino ide.
Отличие от аналогичных плат (распространённых всего две, это плата на дискретных элементах - транзисторы, резисторы, диоды и УПГ на базе tiny13):
1) возможность настраивать диапазоны курка (акселератора) и точки трогания мотора по месту (ненужен вольтметр для этого, ну разве что определить назначение проводов).
2) ненужно настраивать уровни плавности, всё адаптируется само в зависимости от скорости нажатия газа.
3) Для прошивки платы ненужен программатор.
Ну а минус тут конечно тоже есть:
Проект открытый и поэтому поддержка соответствующая будет.
Общее представление как это подключается (ставиться  аналогично другим подобным в разрыв сигнала газа):

Что переделать (основное):

Схема digispark после переделки (нового ничего, минимум из возможного, можно добавить и того и другого, но зачем, тогда теряются все плюсы):


Первый вариант скетча. Работает значит так (курок и мотор подключены разумеется) в штатном режиме:
1) При штатном запуске ждём 5 секунд пока отработает ожидание встроенного загрузчика (это можно изменить если критично, как? решение гуглиться чтобы сделать по замыканию пина на землю). Потом загорается светодиод, который уже есть на плате, на 1 секунду (не путать со светодиодом питания) и после этого работает основная программа.
2) В основной программе реализованна не прямая зависимость между нажатием на курок и выходным сигналом газа уже в контроллер, а немного "дугой" (нет, не экспонента, это сильно крутой прогиб был бы), это немного улучшает модуляцию.
3) Также есть задержка между нажатием на газ и откликом контроллера, но эта задержка зависит от скорости нажатия на газ, т.е. нажимаете медленно получаете большую задержку и плавное трогание, нажимаете быстро на газ и задержки нету вовсе.
4) При отпускании курка - выход газа сам калибруется (подстраивается) в минимальное значение (это актуально насколько мне известно в контролерах которые имеют возможность реверсировать мотор - задний ход).

Работа платы в режиме обучения (ненужны замеры вольтметром различных пределов):
1) Запускаете плату и ждём 5 секунд, потом когда загорается светодиод, в течении 1 секунды нужно замкнуть кнопку (перемычку) на землю и дождаться пока светодиод начнёт моргать 5 раз, пока он моргает нужно разомкнуть кнопку.
2) Когда светодиод моргнёт 5 раз нужно обучить нижний предел по курку, а именно слегка его прижать (то что будет считаться минимальной подачей газа) и кратковременно нажать кнопку, светодиод моргнёт один раз (1 секунда), значит перешли к следующему этапу настройки.
3) Настраиваем теперь уровень у курка максимального газа, для этого зажимает курок на максимум и в таком положении нажимает кратковременно кнопку, светодиод моргнёт 2 раза (2 раза по 1 секунде), значит перешли к следующему этапу настройки.
4) Далее настраивается точка трогания колеса (мотор должен быть вывешен), для этого плавно нажимаете на курок до момента пока колесо не начнёт крутиться (положение курка может быть различное) и немного (прям совсем совсем доли миллиметра) отжимаете курок в положение когда колесо не крутиться и кратковременно нажимаете кнопку, светодиод начинает моргать (можно отпустить курок) 3 раза(3 раза по 1 секунде), значит перешли к следующему этапу настройки.
5) Колесо может начать крутиться даже при отпущенном курке (это нормально), плавно нажимаете курок и ищите максимальную скорость вращения колеса, фиксируете курок в этом положении и нажимаете кратковременно кнопку, после этого колесо перестаёт вращаться светодиод быстро моргает 10 раз (10 раз по 0.4 секунды) и значения настройки записываются в энергонезависимую память.
6) Плата начинает работать в штатном режиме (проверить) и можно пользоваться.

На канале открыты комментарии, если есть предложения по софтовой части в рамках текущего алгоритма, пишите.
https://youtu.be/RnwFrKvJjy0

edw123

Цитата: 13_chip_13 от 25 Май 2023 в 16:11
Разработка полностью открытая будет,...
На канале открыты комментарии, если есть предложения по софтовой части пишите.
А не разрывая линию газа нельзя? Была бы лишняя возможность на случай поломки модуля.
(И, это скорее офф в данной теме, ООС по оборотам (фазной частоте) нет планов сделать?)

13_chip_13

Цитата: edw123 от 25 Май 2023 в 20:08А не разрывая линию газа нельзя
Самому от такого не смешно 😁? Сделать тумблер можно если уж так страшно, иначе всё это опять разрастается... Потом сделаю чтоб вместо БК (типо Tf100 можно было использовать с внешним курком и внешней dcdc соответственно, но там тока прошивка будет без исходника там будет с обратной связью по скорости как в другом моём девайсе - модификаторе). Можно впринципе сделать и просто импульсами скорость считать (но свободных ног уже нету,  разве что канал светодиода использовать) , но тут диаметр/полюса у всех разные поэтому че-то корректируюшее нужно будет. А вообще... минус проекта описан 😁

Blik86

Цитата: 13_chip_13 от 25 Май 2023 в 16:11если есть предложения по софтовой части пишите.
Если памяти хватит, предлагаю сделать обработку кнопки в рабочем режиме и прикрутить на нее переключение между парой профилей КТ контроллеров. Соответственно на один из пинов пустить желтый провод контроллера (дисплейного разъема).

edw123

Цитата: 13_chip_13 от 25 Май 2023 в 20:38
Самому от такого не смешно 😁? Сделать тумблер можно если уж так страшно, иначе всё это опять разрастается...
Тумблер... а просто "в параллель" ручке? Там же ток на выходе холла, ОК, можно параллелить ещё одним током, кмк. Попадалось такое решение в автомобильных педалях.
Диаметр колеса можно не учитывать, просто в % от полных оборотов.

13_chip_13

Цитата: edw123 от 26 Май 2023 в 00:16Тумблер... а просто "в параллель" ручке?
Да ну,  если сможете так сделать пишите на гос премию.

Добавлено 26 Май 2023 в 08:31

Цитата: edw123 от 26 Май 2023 в 00:16Диаметр колеса можно не учитывать, просто в % от полных оборотов
Всё исходники выложены, берите доделывайте под свои нужды.

edw123

Цитата: 13_chip_13 от 26 Май 2023 в 08:27
Да ну,  если сможете так сделать пишите на гос премию.

Добавлено 26 Май 2023 в 08:31
Всё исходники выложены, берите доделывайте под свои нужды.
Ну просто, кмк, это и был бы "настоящий плавный".
Госпремию надо дать создателям Тойота-Круиз. У них сделано.

13_chip_13

Цитата: edw123 от 26 Май 2023 в 11:41это и был бы "настоящий плавный".
Такие плюшки в другом месте за деньги :)

edw123

Цитата: 13_chip_13 от 26 Май 2023 в 13:00
Такие плюшки в другом месте за деньги :)
Ну я же не знаю Ваши места и количество денег. ;-D Мне интересно посмотреть на интересное решение. С дальнейшим принятием либо его механизма для своих целей, либо даже как готовой коробочки для использования. :exactly:
Например мне кажется "неудобным", сбивающим с толку, отсутствие прозрачной реакции на моё "управляющее воздействие" - я крутанул, а оно думает там что-то своим килобитным ии, и только через некоторое время выдаёт ответ. ПРивыкнуть можно ко всему, конечно...
При ос по оборотам, кмк, плавность полностью будет зависеть от плавности кручения ручкой. В пределах момента/мощности и коэфф сцепления с дорогой. Но как оно будет в жизни - никто не пробовал, может всё будет и ещё хуже. :pardon:

kor

Цитата: edw123 от 26 Май 2023 в 00:16Тумблер... а просто "в параллель" ручке? Там же ток на выходе холла, ОК, можно параллелить ещё одним током, кмк.
У "газа" аналоговый холл, не открытый коллектор.

13_chip_13

Цитата: edw123 от 26 Май 2023 в 13:51
Ну я же не знаю Ваши места и количество денег.
Да ну, знаешь я в этом уверен: https://electrotransport.ru/index.php?topic=64647.0#topmsg  (но лучше в телеге смотреть, там актуально, обновляется)


Добавлено 26 Мая 2023 в 16:14

Цитата: edw123 от 26 Май 2023 в 13:51При ос по оборотам .... Но как оно будет в жизни - никто не пробовал, может всё будет и ещё хуже.
Ездит три десятка пользователей, все довольны

Blik86

Цитата: 13_chip_13 от 26 Май 2023 в 08:27Всё исходники выложены, берите доделывайте под свои нужды.
Можно ссылку на скачивание, а то качать с телеграма неудобно. 

13_chip_13

Цитата: Blik86 от 26 Май 2023 в 16:54а то качать с телеграма неудобно. 
Ну поддерживаю только там, там же и скачать в группе можно.

edw123

Цитата: 13_chip_13 от 26 Май 2023 в 16:14
Да ну, знаешь я в этом уверен:
Да уж забылось всё  :ah: И даже связь по оборотом была, получается...

Добавлено 26 Мая 2023 в 20:14

Цитата: kor от 26 Май 2023 в 16:05
У "газа" аналоговый холл, не открытый коллектор.
Да, похоже. Вот и горят от случайных замыканий... :-(

Mike 372

Как на счет защиты от обрыва минусового провода?

Иван Сусанин

Цитата: 13_chip_13 от 26 Май 2023 в 17:06Ну поддерживаю только там, там же и скачать в группе можно.
А мне туда, к сожалению, нельзя. :-(

13_chip_13

Цитата: Mike 372 от 26 Май 2023 в 22:33
Как на счет защиты от обрыва минусового провода?
Что за повальная фобия 🤭.
защита от обрыва в каком месте? Если между платой и контролером, то такое не сделать, потому что питание платы пропадает и решается это только схемотехникой. Если... Короче, работа входного сигнала курка идёт по таблице нормирования и если за пределы сигнал газа от курка выходит по некоторым условиям то выход нулиться это считается?

Mike 372

Почему фобия? Явление это конечно не частое, но вероятность к нулю не стремится. А на мощном моторе эффект будет неприятный. Плату наверняка располагают рядом с контроллером. Там вероятность обрыва намного меньше. Понятно, что такая опция должна быть в контроллере, но не у всех же она есть. Так что лишней не будет. А затрат на нее пара строчек кода.
Цитата: 13_chip_13 от 27 Май 2023 в 11:53работа входного сигнала курка идёт по таблице нормирования и если за пределы сигнал газа от курка выходит по некоторым условиям то выход нулиться это считается?
Именно это и имел в виду. Конкретное условие, если уровень сигнала превышает максимально заданный, например на 10%.