avatar_mr.Dream

Делаю себе контроллер BLDC на Arduino )

Автор mr.Dream, 19 Июль 2016 в 17:58

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

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

Pastor_Frost

Цитата: Dev9tiU от 27 Янв. 2022 в 17:18А как программно реализовать ограничение тока?
Например, можно выделить переменную, которая будет отвечать за уровень газульки. Только не присваивать значение с газульки напрямую. При условии что текущее значение этой переменной меньше измереного на газульке то наращивать значение переменной (++ например). Если вдруг измеренный ток будет выше порога, то вместо наращивания делать уменьшение этой переменной (-- например). Если измереное значение с газульки станет меньше этой переменной (отпустили немного ручку газа) то можно сразу присвоить значение от ацп ручки газа этой переменной.

Pastor_Frost

Только показания ацп от датчика тока желательно пропускать через фильтр (скользящее среднее например), а то могут быть колебания в управлении. У меня например измерение происходит с частотой ШИМа 16 кГц и длинна фильтра 512 измерений (подбирается по ощущениям). С фильтром ограничивает равномерно без колебаний. В плане быстродействия по быстрому реагирует апаратная защита с компаратором, выход которого подключен на вход brake-in шим таймера (но у меня контроллер на stm32)

TRO

Ацп медленно, компаратор быстрее. В контроллерах обычно два входа тока, один отсечка пиковая(прям пик ШИМа ловит ) которая в разы быстре усредненной, усредненная же(токоограничивающая) через фильтр почти всегда заходит.  В аппаратных потактовых ШИМ решениях достаточно одного потактового токоограничения (там и скорость рреакции и отсутсвие перерегулировки одинаково хороши) .

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

Dev9tiU

Цитата: Pastor_Frost от 27 Янв. 2022 в 21:51Например, можно выделить переменную, которая будет отвечать за уровень газульки.
это ваше живое и работающее решение? попробую попробовать.

Цитата: TRO от 27 Янв. 2022 в 22:25компаратор быстрее
да, у меня есть компаратор, железный LM393 и когда он срабатывает запрещается подача шим импульсов на логику (кр555ли1). это жесткая токовая защита. она кстати с защелкой.

TRO

#436
Цитата: Dev9tiU от 28 Янв. 2022 в 03:19да, у меня есть компаратор, железный LM393 и когда он срабатывает запрещается подача шим импульсов на логику (кр555ли1). это жесткая токовая защита. она кстати с защелкой.
Ну если уж разгружать ардуину так корпусами микросхем, то проще взять один восьминогий ШИМ с потактовым токоограничением, общим шунтом на истоках фетов, а ардуине оставить коммутацию из холлов в сигналы. Кстати щас вспомнил, когда то вырисовывал схему вентилятора  с БЛДС,  там контроллер именно этим и занимался, а вместо ШИМ получался ЧИМ сам собой (сигнал с компаратора шунта с легким гистерезисом ЧИМил ключи через логику). Вот схема:

Диодные мосты на схеме это на самом деле мостовые аналоговые датчики холла (лень было 4 резистора рисовать).

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

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

Dev9tiU

Цитата: TRO от 28 Янв. 2022 в 03:36припаять дедовскую аппаратную MC33035
Да, иной раз хочется просто взять MC  и всё. но всякие свистоперделки типа кан шины, дисплея, контроля температур итд тоже хочется чтоб были.


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

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

on4ip

Цитата: Pastor_Frost от 27 Янв. 2022 в 22:00
Только показания ацп от датчика тока желательно пропускать через фильтр (скользящее среднее например), а то могут быть колебания в управлении. У меня например измерение происходит с частотой ШИМа 16 кГц и длинна фильтра 512 измерений (подбирается по ощущениям). С фильтром ограничивает равномерно без колебаний. В плане быстродействия по быстрому реагирует апаратная защита с компаратором, выход которого подключен на вход brake-in шим таймера (но у меня контроллер на stm32)
Ужасный совет) я понимаю ещё фильтр наfpwm/2  н о такие советы к вредным сразу можно отнести.
Полосы пропускания ОС должна быть максимальными с минимальной фазой.

Добавлено 28 Янв. 2022 в 06:41

Цитата: Pastor_Frost от 27 Янв. 2022 в 21:51Например, можно выделить переменную, которая будет отвечать за уровень газульки. Только не присваивать значение с газульки напрямую. При условии что текущее значение
Ну так если ток регулировать в функции ручки газа сделать обычный ПИ регулятор и нет проблем
В жизни все не так, как на самом деле.

VitaliyS

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

Dev9tiU

Цитата: VitaliyS от 28 Янв. 2022 в 07:28
почему электролиты в одном углу кучкуются,
и так работает. всеравно шунт один. дорожки усилены медной проволокой в 3 жилы

kor

Цитата: Dev9tiU от 27 Янв. 2022 в 17:18А как программно реализовать ограничение тока?
Есть входные данные от шунта и АЦП.
Выходные данные - скважность ШИМ . По началу я попробовал вычитать из значения ШИМ некоторое число которое растет при превышении порога значения тока и уменьшается если превышения нет , но мне не хватило быстродействия .
На STM8s903. Пока так выглядит часть отвечающая за изменение ШИМ, в том числе огранич по току. Практически еще не проверялось.
Сделано под синхронный ШИМ (когда в плече ключуются в противофазе верхний и нижний ключи)

Frolikum

Тут же уже был правильный ответ. Зачем изобретать велосипед а потом ехать на нем с помощью костылей?
on4ip же написал что надо просто использовать пропорциональный регулятор в самом простом случае. Еще лучше сделать ПИ регулятор тока, заданием для которого будет служить угол поворота ручки газа и тогда вы, в некотором смысле получите регулировку тяги(момента), хоть и не 100% правильную но это уже куда лучше предложенных вариантов.
Вместо того, что бы предлагать свои не проверенные на практике измышления задавшему вопрос, который уже лично убедился что такой подход(плюсование и минусование) не даёт желаемого результата, спросили бы как реализовать этот самый регулятор.

Sonar

Цитата: Frolikum от 28 Янв. 2022 в 10:35Вместо того, что бы предлагать свои не проверенные на практике измышления задавшему вопрос, который уже лично убедился что такой подход(плюсование и минусование) не даёт желаемого результата...
На самом деле дает. А в случаях, когда разница между величиной измеренного тока и установленного довольно большая - сложение и вычитание можно ускорить коэффециентом. Почти ПИ, да не ПИ. Тем не менее работает на Атмеге, и даже достаточно шустро. А что бы не было дерганий в моменте, когда происходит ограничение - можно ввести небольшой гистерезис между условиями сложения и вычитания.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 33065km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

Frolikum

Поздравляю!
Вы почти изобрели пропорциональный регулятор.
В нем тоже есть коэфициент - его и именуют Pk.

Sonar

[user]Frolikum[/user], но нет гистерезиса. И ещё нет P-составляющей. Только I с динамическим коэффициентом.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 33065km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

Pastor_Frost

Цитата: Dev9tiU от 28 Янв. 2022 в 03:19это ваше живое и работающее решение?
Да
Цитата: Frolikum от 28 Янв. 2022 в 10:35Тут же уже был правильный ответ. Зачем изобретать велосипед а потом ехать на нем с помощью костылей?
Вы правы, П-регулятор решение изящное, но я написал решение которое у меня сейчас нормально работает, а П-регулятор надо еще уметь настроить.

Sonar

[user]Pastor_Frost[/user], не сказал бы, что П-регулятор сложно настроить. У него всего одна настройка - коэффициент усиления ошибки.
Другое дело - И-составляющая. В теории там тоже только собственный коэффициент есть, но на практике выходит, что ещё нужно по-хитрому ограничивать максимальные значения. В противном случае довольно легко получить самовозбуд контура.
Kugoo S2 blue, 36v, 20,8A/h, 2WD, 1,9kW max, Prog disp v3.8, Prog drive v1.9, odo: 33065km.
Все материалы по альтернативным контроллерам для Kugoo S2/S3: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

kor

#448
Цитата: Dev9tiU от 27 Янв. 2022 в 17:18А как программно реализовать ограничение тока?
Вот такой ПИ вариант планируется (не проверялся еще):

Один общий нижний шунт. Сигнал с шунта (красный) не сильно интегрируется RC цепью (черный на рисунке), чтобы видеть максимумы сигнала (фактически фазный ток) и чтобы видеть его быстрые изменения и быстро реагировать на них.
За время одного периода ШИМ делается несколько выборок ацп, из них находится максимальное значение Imax.
В конце каждого периода шим,  если Imax превышает допустимое пороговое Ilim то:
вычисляется превышение тока  dI = Imax – Ilim
вычисляется поправка для шим dpwm = dI * X * Kp
загружается новое значение шим = текущеешим – dpwm

  Константа Х предварительно расчитыается под конкретное напряжение батареи Ubat , межфазное сопротивление мотора R , и максимальную шим контроллера pwmmax:
X = R * pwmmax / Ubat
Пропорциональный коэффициент Kp подбирается из диапазона 0,2...0,7
  В таком варианте, при малых заполнениях шим (5...10%) ацп может совсем не увидеть превышение тока, но в этом диапазоне фазный ток ограничится на безопасном уровне самим активным сопротивлением обмотки мотора.
    Хотелось бы посмотреть еще кто какие алгоритмы применяет у себя?

kor

Цитата: TRO от 28 Янв. 2022 в 03:36у меня например есть десяток нульцевых контроллеров  на STM8, но нет цифровой ручки газа, протокола я не знаю...
Не знаю о каких контроллерах речь, у меня есть  цифровая управляшка (2 курка: газ, тормоз)под самокатный контроллер на STM8S903, там обмен идет по SPI тактовая 1мгц, с курков в режиме мастера шлется один байт каждые 40мс. Если интересует могу подробнее.