Контроллер для кордовых электричек

Маркс

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

обороты частота меандра делитель
2700 310 8,7
4200 480 8,75
4380 500 8,76
6950 800 8,68

Т.е. коэффициент можно условно считать 8,75
Ничего не понимаю

VitalikV

Так тахометр тоже может врать, а вернее скорее всего и врет.

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

Еще интересен вопрос, а если взять другой мотор, любой, делитель будет так же 8.75 или нет?

Маркс

в регулятор не хочу лезть ), задача сделать предельно простой вариант.,

другой мотор попробую завтра.

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

VitalikV

У меня вопрос, а оборот, это ведь когда отработают все три фазы? А мы меандр строим по двум фазам или трем?

Маркс

по трем его построить не получится, это разница между фазовыми сигналами

Маркс

ну я и тормоз )))
обороты в минуту, а частота меандра в Герцах (единицы в секунды)
310 / (2700 / 60) = 6,89
480 / (4200 / 60) = 6,86
500 / (4380 / 60) = 6,85
800 / (6950 / 60) = 6,9
отклонение 2 процента, можно считать погрешностью измерений.
в общем все по науке, коэффициент пересчета Герц в обороты в секунду
равен половине количества магнитов.

думаю точность регулировки оборотов в 2 процента всех устроит )

VitalikV

Вполне, это скорее всего погрешность тахометра. И исходя из этого, для настройки оборотов, можно брать шаг 100.

Маркс

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

период импульсов с формирователя на малых оборотах 2 миллисекунды,
пишу программу так, что бы на каждом импульсе считались текущие обороты,
это примерно 50 раз в секунду.
и сразу второй вопрос, начиная с какого отклонения оборотов следует принимать меры ?
там в принципе процесс будет простой,
если при измерении оборотов отклонение больше или меньше <дельта>,
таймер будет <уменьшать>/<увеличивать> частоту PWW на входе в регулятор.

Маркс

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

Маркс

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

обработчик прерываний считает количество прерываний от кросс платы
и сравнивает их с количеством полюсов мотора деленным на два
получая тем самым время в микросекундах на один оборот мотора

А дальше все просто, полученный результат измерений сравнивается с требуемым
если результат меньше требуемое значение минус дельта - обороты больше требуемых,
то уменьшаем длительность импульса PWM, уменьшаем обороты мотора.
и наоборот, если результат больше “требуемого значения плюс дельта” - увеличиваем длительность PWM.

Маркс
VitalikV:

А подсчет полюсов? Вручную?

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

VitalikV

Тогда в таймер добавить поле для записи параметра, не забыть. Или можно посчитать по обратной эдс , когда фаза неактивна. Нашел скетч esc на базе atmega48, там отслеживается обратная эдс, и на ее базе можно сделать аварийное отключение мотора, если мотор не вращается. Если нужно, скину скетч завтра.

Маркс

пусть будет.
а пока дописал кусок автоматической регулировки оборотов.
сейчас думаю, как его проверить, варианта два

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

есть третий вариант, поставить на средних оборотах (дабы не сгорел) и ждать пока мотор выкушает батарейку,
а в процессе следить за напряжением и оборотами мотора,
вот только батарейки 2S у меня все от 2500 мАч (питание борта бензинки),
а тестовый моторчик маленький и кушает в пике 1,5А,
это cколько же времени мне придется ждать хоть какой то результат ?

VitalikV:

когда фаза неактивна

все равно надо знать количество полюсов

ipopov
Маркс:
  • увеличить нагрузку на мотор, установленный на стенде

грузить генератором (любой маленький эл двигатель на магнитах)

Маркс

не представляю как

если имеется в виду, присоединение к валу другого мотора в качестве генератора,
то совсем не вариант, моторчик в наличии только один, да и очень маленький )

сегодня попробую “притормаживать” с помощью ватки на конце зубочистки,
теоретически должно сработать.

RandomJ

Регулируемый источник питания нужен для настройки " батарейка садится а обороты держим"
А для нагрузки двигателя цепляем ему на вал такой же моторчик (или мощнее) в качестве генератора, к генератору цепляем выпрямитель (трёхфазный выпрямитель Ларионова) и к выпрямителю цепляем нужное количество лампочек. Количеством лампочек регулируем нагрузку на двигатель.

Маркс
RandomJ:

Регулируемый источник питания нужен для настройки " батарейка садится а обороты держим"

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

Маркс

имею траблу,
на графике время в микросекундах одного оборота мотора,
его считает ардуинка на основании прерываний, семь прерываний на один оборот
на данный момент выставлены 2500 оборотов/минуту, ну или 24000 миллисекунд на один оборот
отклонения это это погрешность измерений



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

эти всплески “вниз” влияют на работу регулировки оборотов

Маркс

в общем предстоит подумать над фильтром помех,
которые периодически проскакивают через операционный усилитель.
попробую поиграть с RC цепочкой.

честно говоря, совсем не ожидал такого течения событий ))