Скорость велосипеда с мотором, Теория. Собираю спидометр

Автор ELOV, 06 Май 2021 в 03:12

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

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

Hoholus

Цитата: ELOV от 07 Май 2021 в 05:05Мне интересен прибор показывающий расход батареи в реальном времени, как это зависит от скорости и педалей.
А почему не учитывается плотность воздуха, давление в шинах, качество поверхности дороги и т.д?
На одном и том же веле в разных условиях будет разный расход энергии. Зачем этим заниматься, вообще?

TRO

Цитата: НВАМ от 07 Май 2021 в 11:27При считывании таймера в прерывании сравниваешь данные новые с данными старыми и не принимаешь разницу более чем Х.
И на протяжении тех самых 5 секунд игнорирования помехи, разница с реальной скоростью плавно увеличивается до той самой разницы Х которую я не принимаю, в итоге после помехи скорость замрёт и не обсчитывается вообще пока не упадет.... до (старой + Х)
Короче, фильтр который не будет давать заметной погрешности нереализуем  (поскольку за шумом в это время не видно меняющихся данных , и чем слабее аппаратный фильтр, тем больше будет погрешность так как увеличивается время шума к времени когда сигнал нормален).

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

НВАМ

В велокомпе за 3 бакса замечательно скорость измеряют и не думаю что там кортекс м4 и сложные цифровые фильтрации применены. Сам обрабатывал и датчик скорости грузовика и индуктивные датчики оборотов и валкодеры - все без проблем. RC цепь на входе плюс простейшая программная фильтрация.

kor

Цитата: TRO от 07 Май 2021 в 12:06Короче, фильтр который не будет давать заметной погрешности нереализуем
Тут на форуме (не помню кто) описывал, что в своей разработке программы контроллера БЛДЦ,  боролся с шумами сигналов холлов программно эмулируя эти сигналы и привязывая их к реальным сигналам холлов через цифровую ФАПЧ. Эмулированные сигналы уже не содержат шум. Реализовать бы как-то этот алгоритм.

TRO

Цитата: Hoholus от 07 Май 2021 в 11:40А почему не учитывается плотность воздуха, давление в шинах, качество поверхности дороги и т.д?
На одном и том же веле в разных условиях будет разный расход энергии. Зачем этим заниматься, вообще?
Этим нужно заниматся хотя бы для того чтобы выяснить для себя, в том числе как влияет все то что вы перечислили  "плотность воздуха, давление в шинах, качество поверхности дороги" , ну и конечно педали :)  А тем нелюбопытным которым оптимизировать не интересно, всякие показометры и не нужны вовсе, хватает вольтметра на ручке газа. (и раз вы в этой теме отписались, вам таки интересно,  и вопрос ваш о необходимости это легкий тролинг )

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

TRO

#23
Цитата: kor от 07 Май 2021 в 12:23Эмулированные сигналы уже не содержат шум. Реализовать бы как-то этот алгоритм.
Читая все три холла можно их фильтрануть и без хитрых аппаратных решений, так как одномоментно шумит обычно один (в крайнем случае 2), но поскольку прерывания будут при этом все равно сильно задрочены забиты шумом, то лучше для этого выделить мелкий микроконтроллер типа тини13, при этом в ней можно обойтись вообще без прерываний, так как задача одна (и весь цикл оказывается даже короче времени нужного для входа-выхода в прерывание). 
Например, читаем одной командой (важно считать синхронно) порт с холлами. Потом проверяем на 2 невозможных состояния (все в 1 или все в 0), если валидны то проверяем были ли изменения (не было = выходим), потом один ли датчик поменял своё состояние (если больше, то игнорим = помеха, выходим), потом сравнивая с прошлым, позапрошлым и позапозапрошлым состоянием определяем было ли три переключения в одну сторону, и если было, то реверсируем выходную ногу. Такого фильтра должно быть достаточно.


Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

НВАМ

"Забитость" лог. анализатором видели видели? Интересно было бы картинку посмотреть.

ELOV

Hoholus, чтоб определить наиболее эффективную скорость относительно кобылы, чтоб дальше уехать.

Arduino проще говоря m368 и U8G2_ST7920_128X64, delay(40);
Можно поставить delay(250); и тахометр даже начинает работать, но глючит отображение часов, секунды идут криво и в целом экран ещё не всё показывает и начинает тормозить. Всю картинку вывезти он точно не сможет с таким замедлением.

Писал гдето на другом форуме уж не помню, перебирать скетчи надоело.
На последнем коде работало по IPC1, но когда импульсов нет, тахометр зависает на последней скорости, что не круто. Как дописать чтоб был 0 не силён, но тут вылезла другая проблема, при добавлении функций и усложнении кода тахометр начал брехать, опять надо пересчитывать констаты, в общем фигня это всё.

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


Данные с 3 датчиков можно просто сложить в кучку. Но то на прямоприводе, мне не интересно такое.
Будь датчики дешёвыми, я бы купил 3 комплекта и навешал магнитов на колесо, но чую выйдет под косарь и опять же лишний вес и неизвестно насколько оно держатся будет и не потеряется ли. В любом случае ручку газа меньше 6кмч крутануть очень сложно, а гдето на 15 прибор уже приемлемо показывает без дергатни.

По аналогу сделал пока такой вариант, максимум 10в пусть будет 60кмч. настроил по 8в 8гц, получаю максималку 5.5в, это наверно 33кмч. Фактически половина запаса шкалы, вот только надо чтото помудрить с плавностью. Наверно так можно и на 100 выставить, да и зачем больше если само место на экране больше 99.9 можно не резервировать, ну а там может и эти 0.1 выбросить. Но с десятыми проще ориентироватся на ускорение.

В общем думаю как сделать подключаемый конденсатор, да ещё чтоб у него было бесконечно большое ЭПС не меняющее показания.
Или может всётаки фильтр приколхожу както чтоб не портил точность. А тут опять надо гдето брать 10гц.

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

НВАМ

Не оптимальна программа. У меня в около 2к памяти 8бит контроллера влезло управление полутора десятками кнопок со своим алгоритмом обработки нажатий, 2 десятка светодиодов, софтовый квадратурник, три ан входа, работа с двумя слейвами LIN  и такой же 128х64 индикатор, на котором пять графических пять цифровых переменных несколько дискретных. И все крутится.  Энкодер верно считает как бы быстро его руками не крутил.

TRO

Цитата: НВАМ от 07 Май 2021 в 12:47"Забитость" лог. анализатором видели видели? Интересно было бы картинку посмотреть.
Картинки не делал, смотрел карманным осцилографом. При большом фазном токе фронты начинает троить, пятерить.... с частотой ШИМа, а когда включается токоограничение контроллера, то скорость (частота) обратной связи регулирования тока, добавляет кашу ( пачки непредсказуемо дышат в ширину, на осцилографе становится плохо видно). А из за того что контроллер в это время еще и коммутация фаз делает, то на месте фронтов часто не одна пачка, а 2 или больше. В общем мусора хватает. Я даже удивляюсь как контроллеры с такими сигналами могут работать.
Кстати ссылочка на пост где у человека были проблемы с холлами с осцилограмкой. https://electrotransport.ru/index.php?topic=18924.90

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

TRO

Цитата: ELOV от 07 Май 2021 в 12:50глючит отображение часов, секунды идут криво
Вам надо научится использовать прерывания, тогда будет все точно по расписанию. Настроить таймер на нужное количество отсчетов (я выставляю так что бы  таймер переполнялся 2,777777... раз в секунду, так легче считать величины связанные с часами, так как это 10000 раз в час, ну там всякие амперчасы и ваттчасы), в прерывании по переполнению я просто плюсую свой счетчик переполнений и выставляю свой флаг переполнения, с такой же частотой в основном цикле (по флагу переполнения) обновляю экран и шлю блютуз посылки (вполне юзабельно). Датчик скорости вешаю на вход захвата таймера, и уже в его прерывании читаю буфер захвата, считаю период и обнуляю счетчик переполнений . 

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

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

TRO

Цитата: ELOV от 07 Май 2021 в 12:50На последнем коде работало по IPC1, но когда импульсов нет, тахометр зависает на последней скорости, что не круто. Как дописать чтоб был 0 не силён,
Очень просто, сделать счетчик времени, который будет сбрасываться по приходу импульса, и проверять его в программе, если счетчик превышает несколько секунд, то сбрасывать скорость в ноль.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

ELOV

Экранной памяти 8кб ворочать непростое дело, да и много занимают шрифты. наверняка в библиотеке улучшили всё что смогли. тем более что там много чего ещё поверх. EEPROM не использовал и наверно не буду, у китайских мег оно часто битое. Для настроек думаю внешний, но это когдато потом, кроме одометра туда складывать нечего.

Что у вас за холлы такие, я уж думал юзать, а у вас с ними проблемы.
Я геркон подключил один конец к минусу, второй через 1к. Через 10к к 5в и 100н ко входу формирователя на нашему аналогу 555, причём к оригиналу кондёр вроде как и не нужен.
А вот после формирователя выход тоже через какойто резюк подключал. Как говорил ктото, сопротивление последовательно тоже неплохо гасит.
А вообще параллельно датчикам кондёр ставят, тоже в 1н, но и сигнал к ним лучше через резюк, вот и ещё фильтр. Ну и питать надо Холл тоже с фильтром, может поэтому на ручку газа идёт 4в вместо 5.

По 105 картинке той темы я вижу какоето дрожание будто минус отпал, подозреваю кормили плохо. Или прибор так видит, ведь обороты не постоянны.
У меня тоже на малой скорости цифры вольтами прыгали с 1.1 до 0.9 и ниже, и как раз в это время или колесо чиркало или разбаланс, как звук поменялся так на приборе 1.1, но в теории должно быть 0.8.
Программно это никак не убрать, надо просто делать несколько циклов, хотябы 3 оборота.

Кстати частотомером китайского мульта замерял 8гц, он через треть секунды выдаёт это на экран и держит мёртво. Но держит он секунды 3 даже после убирания щупов. При смене частоты реация уже подольше, наверно с пол секунды.
Хороший код должен предполагать по первому импульсу, потом накапливая статистику подгонять точнее

TRO

Я в похожий экран распихал приблизительно вот так.

Вроде бы каша, но когда уже знаешь где что, то уже глазами не ищешь, очень удобно и все в одном экране.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

НВАМ

Цитата: ELOV от 07 Май 2021 в 15:02Экранной памяти 8кб ворочать непростое дело
Так перерисовывай только то, что изменилось.

НВАМ

Цитата: TRO от 07 Май 2021 в 13:29троить, пятерить.... с частотой ШИМа
фильтр с частотой среза с учетом ШИМ или на ОУ какого-нибудь порядка фильтр. Не очень понятно почему не устраивает геркон, ускорение вела ведь не как у ракеты. Если только нужна мгновенная скорость для расчета мощности с высоки разрешением...

tmkt

Цитата: ELOV от 07 Май 2021 в 05:05
Мне не нужны спортивные показатели, электро это не спопртивный снаряд, пиковые регистраторы там не нужны, это скорее автомобильная тема.
максималку знать всегда интересно, как и среднюю
а мгновенную тем более
и все это есть в компе за три бакса
добавить ваттметр и готово

если дееег много то готовый цикланалист купить
https://ebikes.ca/shop/electric-bicycle-parts/cycle-analysts/ca2-dps.html
дорого но прибор очень крутой, первый из купленных служит мне уже почти 9лет

Цитата: ELOV от 07 Май 2021 в 05:05
нтересен прибор показывающий расход батареи в реальном времени, как это зависит от скорости и педалей.

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

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

форсаж у меня за счет программируемого контроллера, просто дал больше ампер, ну и напругой играть можно, меняя батареи :exactly:
мои байки: 1) лайток редукторник 250Вт (пик до 900Вт), 20-30кг, скорость до 70км/ч; 2) универсал, ригид, задний МК 1.5кВт (пик до 8кВт), масса ~45кг, скорость до 85км/ч; 3) розовый телепортатор, задний МК qs273 4кВт (пик до 21 кВт), под 100кг, скорость до 130км/ч; 4) хардтейл, миникрошка, до 11кВт, до 100км/ч

НВАМ

Цитата: tmkt от 07 Май 2021 в 18:22дорого но прибор очень крутой
Но у этого крутого замер скорости опять таки с датчика и единственного магнита на колесе как и у того, что за 3 бакса. Нет смысла фильтровать помехи с силовых обмоток.