avatar_ArtDen

Переделка курка на менее резкий старт

Автор ArtDen, 19 Июль 2019 в 18:34

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

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

ArtDen

Во время испытаний самоката выяснилось, что на второй скорости даже при слабом нажатии ручки газа, самокат резко ускоряется и чуть ли не выпрыгивает из под ног. В чём причина: в дешёвых контроллерах или в ручке газа, было непонятно. В итоге было решено сделать устройство, которое ставится между курком и контроллером, решая проблему высокой чувствительности курка на низких оборотах.
Выбор пал на 8-ногий микроконтроллер ATTiny. Он хорош тем, что питается от 5-ти вольт, которые используются для питания ручки газа. Ну и корпус у него хороший паябельный, позволяющий сделать навесной монтаж не заморачиваясь с печатной платой.
Поначалу хотел обойтись всего 4-мя деталями, но потом понял, что ради надёжности число деталей нужно увеличить. В итоге схема получилась из 7-ми деталей, не считая разъёмы:


В ATTinyX5 нету ЦАП, так что выходной сигнал генерируется 8-битным ШИМ  (точнее уже 10-битным) и сглаживается RC-цепочкой R2, C3. В схеме можно использовать МК ATTiny25, ATTiny45, ATTiny85. Стоимость микросхемы и деталей получилась в сумме порядка 100 рублей, если покупать в местном магазине. Плюс потребуется программатор для AVR, который стоит в местном магазине 150 рублей.

Прошивку для девайса выложил по адресу https://github.com/art-den/ScooterSpeedCorrector . Если кто разбирается в программировании AVR, буду рад замечаниям.

Характеристика курка получилась такая:

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

У меня самого эта схема сейчас собрана и протестирована на макетной плате. Проверить её "в железе" не могу, т.к. сломанный указательный палец на правой руке не даёт возможности активно что-то делать для самоката.

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

PS: В прошивке сразу предусмотрено плавное изменение выходного сигнала. Т.е. если резко втопить ручку газа до конца, то сигнал на выходе достигнет максимума через 3 секунды, а не сразу. Ещё есть возможность подключения полного привода с раздельной регулировкой сигнала с курка для каждого колеса.

An1965

Вот если быстро прокрутить курок на полную, то и выход должен быть сразу на полную-иначе как спасаться от коробочников, поворачивающих в тебя :ireful:,а если идёт плавное нажатие нужны какие-нибудь переключаемые профили-обратнологарифмический, линейный и пользовательский, например

ArtDen

Всё прелесть в том, что это микроконтроллер. Можно предусмотреть в прошивке всё что угодно, включая то, что вы говорите  :-)
Пока что сделал всё в соответствии со своими представлениями о правильном курке

PS: а кто такие коробочники?

edw123

Цитата: ArtDen от 19 Июль 2019 в 18:34
В чём причина: в дешёвых контроллерах или в ручке газа, было непонятно.
...
Характеристика курка получилась такая:
Причина в характеристиках контроллера.: мощность привязана к оборотам мотора и для получения приемлемой мощности приходится задирать обороты, что ведёт к резким рывкам при старте, а в начальном положении ручки мощности практически нет и приходится  искать её выкручивая ручку дальше. Ручкой газа можно пробовать исправлять, но это лечение симптоматическое  :). Надо из контроллера вытащить сигнал обратной связи по оборотам или току и уже ориентируясь на него генерировать управляющий сигнал.

ArtDen

Думаю, в любом случае с новой характеристикой курка будет комфортнее ездить

An1965

Цитата: ArtDen от 19 Июль 2019 в 21:10PS: а кто такие коробочники?
У меня электровел, поэтому у нас немного разные понятия :-D Ну кто в коробке, в авто :-D
Такую простую характеристику можно и электролитом реализовать и attiny не нужна :laugh:

ArtDen

А можно пример того, как реализовать характеристику, как у меня на картинке, простым электролитом?

edw123

Цитата: ArtDen от 19 Июль 2019 в 21:21
Думаю, в любом случае с новой характеристикой курка будет комфортнее ездить
Наверное да, придётся поподбирать кривизну наверняка, пороги...  Может стоит учесть вполне очевидные замечания [user]An1965[/user] про случаи "острой необходимости" и добавить учёт времени нажатия на курок: когда "плавно" - одна кривая, когда "сразу до упора" - другая.

x256

#8
Цитата: ArtDen от 19 Июль 2019 в 21:27А можно пример того, как реализовать характеристику, как у меня на картинке, простым электролитом?
просто чтобы проверить нарисовал такую схему(не на одном электролите но без контроллера), впринципе возможо если знаешь тонкости настройки транзисторов и что придется подбирать резисторы несколько дней.



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

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


ArtDen

Снял левой рукой крышку самоката и померил напряжение на курке. Рабочий диапазон контроллера оказался всего 1.2-3.0 вольта. Получается, что скорость регулируется участком 3.0-1.2 = 1.8 вольт. Для такого маленького участка 8-битный ШИМ получается слишком грубым. Надо делать как минимум 10-битный.

Добавлено 20 Июль 2019 в 16:25

Цитата: x256 от 20 Июль 2019 в 03:15просто чтобы проверить нарисовал такую схему(не на одном электролите но без контроллера), впринципе возможо если знаешь тонкости настройки транзисторов и что придется подбирать резисторы несколько дней.
Для меня слишком много деталей )) Думаю, ещё параметры будут гулять в зависимости от температуры. Ещё не понятно как обеспечить линейный участок 0-1.2 вольта, после которого начинает крутится колесо.

edw123

Цитата: ArtDen от 20 Июль 2019 в 16:22
Снял левой рукой крышку самоката и померил напряжение на курке. Рабочий диапазон контроллера оказался всего 1.2-3.0 вольта. Получается, что скорость регулируется участком 3.0-1.2 = 1.8 вольт. Для такого маленького участка 8-битный ШИМ получается слишком грубым. Надо делать как минимум 10-битный.
В электро это не так страшно. Многие ездят вообще в 2х положения ручки газа :) 256 ступенек - это очень плавно в реальных условиях.

ArtDen

256 ступенек - это если выходное напряжение меняется от 0 до 5 вольт. Если оно меняется от 1.2 до 3.0, то в этот диапазон умещается всего 92 ступеньки.
Переделал прошивку на 10-битный ШИМ. Слава богу, что это не сложно, не смотря на то, что микроконтроллер поддерживает только 8-битный ШИМ.

ssilk

Цитата: ArtDen от 21 Июль 2019 в 09:07в этот диапазон умещается всего 92 ступеньки.
Этого достаточно в большинстве случаев... Квадрокоптеры уверенно летают с 16 ступеньками, у них основа стабилизации - непрерывное изменение оборотов на каждом моторе. А 100 ступенек для них это вообще идеал, висит как прибитый...
Вопрос, наверное, надо ставить другим боком: За какое время эти ступеньки меняются...
Задний привод, пневма 10", 48 вольт х 6А/ч, барабан, свет, звук, искусственный интеллект сто голых баб(©)... Максималка 38 км/ч, пробег 25 км.
odo - 6650 км

edw123

Цитата: ArtDen от 21 Июль 2019 в 09:07
256 ступенек - это если выходное напряжение меняется от 0 до 5 вольт. Если оно меняется от 1.2 до 3.0, то в этот диапазон умещается всего 92 ступеньки.
Переделал прошивку на 10-битный ШИМ. Слава богу, что это не сложно, не смотря на то, что микроконтроллер поддерживает только 8-битный ШИМ.
Можно вырезать стабилитроном/диодом/сдвигом лишнее.

Чайнег

Цитата: ArtDen от 19 Июль 2019 в 18:34Если девайс кого-то заинтересует, могу выложить рекомендации по изменению зависимости ручки газа, компиляции и прошивке.

Очень интересует! Но - наверно, как и многие, кого интересует настройка кривой курка - в радиоэлектронике ни бум-бум. Можно какие-то ссылки на компоненты? Микроконтроллер, программатор, разъемы. А конденсатор с "+" - это что? Для чайнега типа меня - вот я, допустим, купил все компоненты, их что, просто спаять вместе проводочками, согласно схеме, или надо делать PCB? В какой среде компилировать код? Заранее спасибо за ответы!

ArtDen

Хорошо. Постараюсь всё детально изложить )

edw123

Цитата: Чайнег от 21 Июль 2019 в 17:04
Очень интересует! Но - наверно, как и многие, кого интересует настройка кривой курка - в радиоэлектронике ни бум-бум. Можно какие-то ссылки на компоненты? Микроконтроллер, программатор, разъемы. А конденсатор с "+" - это что? Для чайнега типа меня - вот я, допустим, купил все компоненты, их что, просто спаять вместе проводочками, согласно схеме, или надо делать PCB? В какой среде компилировать код? Заранее спасибо за ответы!
Главное алгоритм закодировать. :) Паять - как хочется и из чего хочется, что есть под рукой. Можно из Пика, СТМ, Ардуино... На одном входе замерил уровень, на второй вывел функцию от входного сигнала.

kor


Цитата: ArtDen от 20 Июль 2019 в 16:22Получается, что скорость регулируется участком 3.0-1.2 = 1.8 вольт. Для такого маленького участка 8-битный ШИМ получается слишком грубым. Надо делать как минимум 10-битный.
Добавить резистор и можно "расширить" 8битный шим почти в 2 раза. (8бит на мой взгляд хватит).