Контроллер для кордовых электричек
На мой взгляд, самое простое решение - использовать гувер регулятора.
А таймер с гироскопом - управляет полкой гувернера, ну и остальными функциями. старт, стоп и тд.
Дмитрий, таймер не может управлять полкой гувернера, так как эта полка задана жестко в регуляторе, а таймер дает только сигнал газа!
И вот чтобы таймер знал на сколько ему давать газ, сделана целая кросс плата.
Если бы можно было в регулятор запихнуть программу таймера, то и с гувернером было бы вопросов меньше, так как регулятор знает и обороты и напряжение акб и все параметры проходят через него, но такого в мире еще никто не сделал!
не может управлять полкой гувернера, так как эта полка задана жестко в регуляторе
не говорите глупости.
почитайте мануал хотя бы к тому же blheli или hobbywing
продолжайте изобретать велосипед))
зачем ? гувернер на базе про мини уже работает.
это же Ваши слова ?
А небольшое увеличение оборотов на подъеме и сброс на спуске - можно добиться пидами)
я Вам ответил, что они не для этого.
На мой взгляд, самое простое решение - использовать гувер регулятора.
интересный Вы человек, Вам говорят, что нет желания привязываться к конкретным регуляторам,
а Вы все "про Фому"© талдычите.
таймер не может управлять полкой гувернера
Виталий, он сможет. Вот только с Ардуинки я могу выставить любые обороты в любой момент,
а не только те, которые прописаны в регуляторе,
опять же, что бы изменить настройки полок в регуляторе, его надо цеплять к компьютеру.
или иметь “очень умный” программатор.
а кроме того, регулятор blheli 40A стоит дороже 1000 рублей,
а простой регулятор 40А можно купит за 450-500 рублей.
а кроме того, Дима, если считаете, что можете сделать лучше, сделайте.
Сделать что?
Изобести заново алгоритм гувернера?
Поверьте, есть достаточно других достаточно интересных проектов, хотя и не свзаных с моделизмом - на которые катастрофически не хватает времени.
А если я обидел Вас как “художника” - извините)
Поверьте
фиолетово.
если я
пофиг
фиолетово
Взаимно.
пофиг
Удачи в изобретении колеса)
Вы все пропустили,
еще раз, гувернер работает и работает хорошо.
Возникнет необходимость в PID регулировании, прикрутить его не составит большого труда,
в сети есть хорошая библиотека от Gyver’а на эту тему )).
Выше было пара видео с демонстрацией его работы,
в том числе демонстрация изменения регулируемых оборотов.
и это Вы пришли в тему со своими советами и никак не можете успокоится.
Это конкурент, небось он сам работает над коммерческим проектом, а мы своей темой ему всю малину обломали))))
Не обращаем внимания и идем дальше))
нет. просто прохожий ).
кручу по разному алгоритм, но 2мс в течении которых МК занят обработкой данных гироскопа
обойти красиво ни как не получается, два-три прерывания от мотора за это время проскакивают,
даже на оборотах 4000, а если 10000 то количество прерываний вырастет до10.
значит будем делать не очень красиво.
все что касается обработки прерываний от мотора, включая расчет текущих оборотов,
буду убирать внутрь обработчика прерываний,
предельно оптимизировав код и убрав из него все лишнее.
сейчас вся обработка укладывается в несколько микросекунд, думаю уменьшить до 2мкс
а учитывая, что я знаю все, чем занят процессор, эта “не красивость” ни на что не повлияет )
а корректировка оборотов мотора будет в основном цикле с периодом опроса гироскопа,
т.е. те самые 100 Гц. (100 раз в секунду), думаю этого будет достаточно
Совершенно случайно на Али наткнулся на модуль GY25
aliexpress.ru/item/1005005294239615.html?spm=a2g2w…
Он хорош тем, что вся обработка и фильтрация данных от MPU6050 возложена на процессор STM32F030.
Вот бы такой модуль, да с несколькими дополнительными выводами, STM32F030 значительно мощнее процессора ATMEGA328
Так это можно взять какой то самый дешевый полетный контроллер с гироскопом на борту, и прошить под наши задачи. P1-GYRO
все что касается обработки прерываний от мотора, включая расчет текущих оборотов,
буду убирать внутрь обработчика прерываний,
не получилось, два дня бился и ОНО меня в итоге добило,
пока программа в прерывании сбивается цикл библиотеки Servo и обороты мотора начинают сильно плавать.
как же хорошо в этом вопросе с STM32, таймерам фиолетово на все, что происходит вокруг,
получил он команду выдавать импульс с периодом 10 мс и длительностью 1500 мкс
и будет он их вываливать наплевав на все вокруг, даже если сам процессор остановится.
главное что бы тактовый генератор работал )
и что то мне подсказывает, что идея не лишена смысла
значит придется искать другие варианты обхода,
но идею перехода STM32F401 или ESP32 в голове буду держать?
уж очень сильно утомляет ATMEGA своими “ограниченными” ресурсами
кстати, взвесил, модуль STM32F401
на картинке он нижний, всего на 2 грамма тяжелее Arduino Pro Mini,
при этом позволяет заливать прошивку через USB Type-C без всяких USB-UART.
И дружит с Uno+LCD-Key, уже проверял в паре проектов.
конец моим страданиям, больше мучится с режимом DPM датчика MPU6050 не буду,
слишком много жрет ресурсов, да к тому же, как я понял, блокирует работу таймеров.
возвращаюсь к исходному варианту, который успешно работал в версии v4,
буду получать сырые данные с гироскопа и обрабатывать фильтром Кальмана.
Задача: до конца марта сделать первый рабочий прототип.
p.s. плату пока не разводил и правильно сделал, без DPM все немного поменяется.
Здравствуйте Геннадий, подскажите пожалуйста, каким образом у Вас происходит измерение изменения оборотов двигателя? Спасибо.
Добрый вечер, чуть выше было, в двух словах беру сигналы с двух фаз мотора,
фильтрую от высокочастотных помех и вычитаю на операционном усилителе,
работающем в режиме насыщения, на выходе получаю чистый меандр.
Подаю меандр на вход прерывания МК, а дальше уже простая математика.
А изменение оборотов двигателя, методом изменения длительности PWM на регулятор.
Вот только сейчас процесс опять притормозил, здоровье шалит, а основная работа напрягает.
Но есть надежда к концу марта рабочий таймер сделать.
И это работает? Но ведь сигнал идёт с регулятора на двигатель, заставляя его вращаться с определённой скоростью, которая не постоянна и всё время изменяется под воздействием внешних факторов. Например, полёт по ветру, двигатель раскручивается и наоборот, против ветра, обороты падают, а длительность импульса меандра будет неизменна пока на входе регулятора не изменится длительность PWM сигнала.
На некоторых регуляторах JETI есть режим “Heli constant RPM” его используют пилоты F2B для стабилизации оборотов двигателя. Интересно, каким образом там отслеживается изменение оборотов двигателя?