Проект "MaxController"

Автор jeka, 23 Май 2010 в 23:54

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

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

jeka

Про датчики тока - думал и уже обсуждали. Хорошее решение. Но посмотрев на цены всякое желание пропало. Лучше уж виток фазного провода и датчик холла использовать. И датчиков понадобиться два, т.к. есть периоды, когда фаза с датчиком тока будет прибита к земле и ток шунта будет током этой фазы. Плюс их придется руками делать и калибровать, а это дополнительный геморрой при серийном производстве.
Так что хочется сделать все программно, благо не вижу сложностей. Только обсчитать нужно.
LiFe A123 40AH/78v, max-e, крошка 3 витка.
На форуме бываю нерегулярно, поэтому лучше звонить чем писать в личку. Телефон adaptto: +7 495 215 2878.

av-master

Мы в свой контроллер ставим датчик 1 на все 3 фазы. датчик на 50 или 100А на эффекте холла. (чтото около 8 баксов датчик) Сигнал с датчика идет на контроллер чисто для статистики и в обработке не учавствует. Тотже сигнал идет на компаратор, который настраивается на максимальный ток ключей двигателя и т.д... (в общем самого слабого звена) сигнал с компаратора (используем внешний так как ног контроллера не хватает, а следующий по ногам контроллер стоит сильно дороже 0.4-х долларогово компаратора) идет на вход аппаратного прерывания ШИМ-а, и по сигналу с компаратора без всякого участия контроллера Выходной каскад контроллера просто срежет часть ширины импульса на безопастном уровне. так что перегрузить чтолибо не получится, любителям форсировать на свой страх и риск остается только крутить (менять так как переменник не ставим) резистор в цепи компаратора сдвигая ток срабатывания в сторону увеличения. ))
но это увеличение пропишется в память контроллера как пиковый ток. и будет служить для отказа от гарантии. и т.д..

i

Цитата: jeka от 02 Сен. 2011 в 13:43
.. И датчиков понадобиться два, т.к. есть периоды, когда фаза с датчиком тока будет прибита к земле и ток шунта будет током этой фазы..
так я и говорил про два...  на две обмотки и одна обмотка без датчика, так как её ток можно вычислить по показаниям первых двух, и никакого шунта.

Или Вы хотели написать три датчика? Мол при треугольнике оба конца обмотки с датчиком тока могут быть прибиты к земле. Но в такой момент боковые обмотки будут иметь одинаковый ток и его померяет оставшийся датчик.

В своё время я их покупал рублей по 60-80, вроде не слишком дорого..  :bw:

nikvic

Цитата: i от 02 Сен. 2011 в 14:33
так я и говорил про два...  на две обмотки и одна обмотка без датчика, так как её ток можно вычислить по показаниям первых двух, и никакого шунта.
Пока что у нас нет идеологии "рисования" синуса даже для трёх датчиков тока и напряжения...
Вот вам предварительные рассуждения. Пусть на плюсовых точках А и В намеряно Ua и Ub. Тогда в центре вычисляется Uo=2/3*(Ua+Ub)/2=(Ua+Ub)/3. После смены знака это равно напряжению нижней точки относительно О, а для А и В нужно Uo вычесть из Ua и Ub.

Токи, втекающие в А,В и С в идеале должны быть пропорциональны этим трём напряжениям относительно О. Или, другими словами, отношения токов к напряжением (это омы!) должно быть одинаково. Эти 3 квазисопротивления зависимы, так что имеет только 2 сигнала разсогласования, которые и нужно преобразовывать в поправки ШИМа для А и В.   

Там "за кадром" есть ещё управляемая амплитуда "газа" U...

i

Вот здесь описан способ формирования синуса по датчикам. Мне понравилась идея формирования синуса на фазе, через жопо-синус между фазами.
Step     U                V                W                 U-V       V-W          W-U

S1-S2   sin(θ)         0                -sin(θ-120)     sin(θ)  sin(θ -120)  sin(θ -240)
S3-S4  -sin(θ-240)   sin(θ -120)    0                 sin(θ)  sin(θ -120)  sin(θ -240)
S5-S6   0              -sin(θ)           sin(θ -240)    sin(θ)  sin(θ -120)  sin(θ -240)

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

Думаю делать нечто похожее, только по току.

av-master

аааа Вы о датчиках положения ротора или всетаки тока ?

zap

Синусоидальный ток не нужен.
С ним Вы получите синусоидальный момент.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

TRO

Цитата: zap от 02 Сен. 2011 в 23:25
Синусоидальный ток не нужен.
С ним Вы получите синусоидальный момент.


Синусоидальный ток по трём фазам даёт постоянный равномерный момент, и такой-же общий ток.

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

av-master

Кажись начинаю понимать о чем речь. Вам необходимо узнать насколько сдвинуть фазы и с какой частотой чтоб разогнаться? или я опять не вьехал. если так то  исходя из того опыта разбирательства с фирменным промышленным векторным контролером BLDC . Тянущий угол всегда +90 градусов. и только на довольно приличных оборотах увеличивался на 1-3 градуса. и только на самых предельных выходил на 7 градусов. но в реальном рабочем диапазоне поправки почти небыло. шимилось это все из таблиц ( таблици можно было менять на трапеции ит.д... (для разных типов двигателей) сдвиг.. амплитуда и тд.. все что участвует в вычислении амплитуды ( тока ) , частоты .... вычислялся по датчику скорости ( один из датчиков положения ротора (Холл) ).  по датчикам положения корректируется и персчитывается. все это завязано на много петлевой ПИД регулятор который на выходе дает Дельту поправок для частоты и периода шима. Обратная связь у нас по скорости. потому он пытаясь вытянуть установленную скорость будет подымать ток и т.д... от настроек ПИД также зависит разница  виртуальных и реальных оборотов и допустимая дельта между ними и регулирует максимально допустимое ускорение  ( чтоб не сломалось ничего за счет очень резких изменений скорости) . а сигнал от датчика тоа практически в обработке не участвует и нужен только для контроля предельных параметров как я писал выше.

zap

Цитата: TRO от 03 Сен. 2011 в 00:44
Синусоидальный ток по трём фазам даёт постоянный равномерный момент, и такой-же общий ток.
Согласен, плохо подумал.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

jeka

Еще раз поясню, каков был вопрос.
Чтобы создать тягу в моторе, нужно приложить ток к обмотке, вектор которого совпадает с напряжением само-ЭДС. Но мы управляем напряжением. Ток будет запаздывать, и время запаздывания зависит от индуктивности, сопротивления обмоток и, вероятно, частоты.

Методом научного тыка установлено, что угол опережения нужно менять в зависимости от вкачиваемого фазного тока. И прибавка к моменту (а следовательно и КПД) при введении этого параметра судя по ощутимой прибавке к моменту при том же потребляемом токе не менее 10%. Т.е. речь не о инфинеоновых 120%, когда потребление возрастает, а о снижении тока при этом же моменте.

Для построения полной модели вращения, а далее по ней алгоритма расчета угла опережения нужна формула, которая определяет временную зависимость вектора тока от вектора напряжения на фазе. Если кто-то видел/знает, как рассчитывается сдвиг по фазе тока относительно напряжения в катушке индуктивности, имеющей известные сопротивдление и индуктивность, если на нее подается синусоидальное напряжение, шепните на ушко ;)
LiFe A123 40AH/78v, max-e, крошка 3 витка.
На форуме бываю нерегулярно, поэтому лучше звонить чем писать в личку. Телефон adaptto: +7 495 215 2878.

nikvic

Цитата: jeka от 03 Сен. 2011 в 03:25
Если кто-то видел/знает, как рассчитывается сдвиг по фазе тока относительно напряжения в катушке индуктивности, имеющей известные сопротивдление и индуктивность, если на нее подается синусоидальное напряжение, шепните на ушко ;)
Здесь нет проблем: фазный ток и ЭДС должны быть в точной противофазе: мгновенная полезная мощность =-E*I*cos(фи).

А вот для этого надлежит расчитывать сдвиг между фазным напряжением и фазным ЭДС, что обсуждается в """Так все же- звезда или треугольник , Ответ #177.

TRO

Цитата: nikvic от 03 Сен. 2011 в 10:05
...
А вот для этого надлежит расчитывать сдвиг между фазным напряжением и фазным ЭДС, что обсуждается в  , Ответ #177.

Я думаю правильнее это обсуждать именно тут. В теме "Так все же- звезда или треугольник" мы основное выяснили, при перекоммутации в треугольник нужно сдвигать датчики на 30 градусов, если мы хотим чтобы МК переключалось как и раньше.

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

Думаю такую фичу нужно организовать в "MaxController". Вывесил колесо, и разгоняй, потом тормози. Меняя настройки опережения, тока, и учитывая ватчасы с ускорением на всей кривой разгона, можно для каждой скороси и токов вбить таблицу необходимого опережения, и не парится с теоритическими формулами. Кстати оптимальные скважности для  рекуперации по той-же схеме. Реально с теорией дольше парится, чем научить контроллер находить оптимум методом последовательного приближения.

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

nikvic

Цитата: TRO от 03 Сен. 2011 в 12:50
А теперь про реально необходимое опережение. Сначала отвлечёмся немного к промышленному инвертору с которыми мне в своё время приходилось иметь дело. Так вот, у этих инверторов был режим автоматической настройки на двигатель. При этом он его около 15 минут крутил туда-сюда. При этом он сам менял свои настройки, и по показаниям датчиков вычислял оптимальный для двигателя режим, заполняя свои переменные (не меньше сотни).
Полагаю, что этот инвертор занимался на досуге не только опережением :bv:  За 15 минут можно отловить массу блох - даже нагреть обмотки и впоследствие учитывать изменение R.

jeka

TRO, метод отличный, но есть вещи, сильно затрудняющие измерения таким методом.
Во-первых планетарные моторы долго останавливаются.
Во-вторых, если в мотор вкачать большой ток, то ускорение на ХХ будет очень большим и результаты от раза к разу отличаются недопустимо для таких измерений сильно (пробовал, приемлимой стабильности на массе колеса добиться не смог). Т.е. придется вешать N кг свинца на мотор.
Тем не менее, в планах таким методом снять характеристики известных нам моторов и заложить их типовые параметры в контроллер.
LiFe A123 40AH/78v, max-e, крошка 3 витка.
На форуме бываю нерегулярно, поэтому лучше звонить чем писать в личку. Телефон adaptto: +7 495 215 2878.

zap

Цитата: jeka от 03 Сен. 2011 в 14:10
Во-вторых, если в мотор вкачать большой ток, то ускорение на ХХ будет очень большим и результаты от раза к разу отличаются недопустимо для таких измерений сильно (пробовал, приемлимой стабильности на массе колеса добиться не смог). Т.е. придется вешать N кг свинца на мотор.
А зачем замерять ускорение, достаточно дождаться пока скорость вращения устаканится. К примеру, вкачиваем 0.1 ампер, ждём пока скорость стабилизируется, дальше смещаем фазу на 1 градус, опять ждём и так далее. Находим опережение, при которых обороты при данном токе максимальны. У планетарных накат большой, но и фазная частота там в 10 раз выше, поэтому незаметное на глаз падение скорости вращения контроллер очень даже хорошо заметит.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

av-master

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en530042 с исходными кодами. использовано нами на 99% 1% выкинут за ненадобностью + добавлено управление по датчикам Холла как основное.. посмотрите там есть вся математика. но контроллер на 80Мгц работает.

TRO

Цитата: zap от 03 Сен. 2011 в 23:53
Цитата: jeka от 03 Сен. 2011 в 14:10
Во-вторых, если в мотор вкачать большой ток, то ускорение на ХХ будет очень большим и результаты от раза к разу отличаются недопустимо для таких измерений сильно (пробовал, приемлимой стабильности на массе колеса добиться не смог). Т.е. придется вешать N кг свинца на мотор.
А зачем замерять ускорение, достаточно дождаться пока скорость вращения устаканится. К примеру, вкачиваем 0.1 ампер, ждём пока скорость стабилизируется, дальше смещаем фазу на 1 градус, опять ждём и так далее. Находим опережение, при которых обороты при данном токе максимальны. У планетарных накат большой, но и фазная частота там в 10 раз выше, поэтому незаметное на глаз падение скорости вращения контроллер очень даже хорошо заметит.

Так jeka же отчитывался, что опережение зависимо от тока, стало быть на холостых при маленьком токе мы ничего полезного не намеряем (зачем нам на холостых, мы без нагрузки не ездим). Мерять ускорение надо, поскольку это показатель КПД при заданном токе, чем выше ускорение - тем выше КПД. Вот и получается, что изменяя время опережения и меряя ускорение на разных скоростях (при этапе разгона), мы находим значение опережения соответствуещее наилучшему КПД (наибольшему ускорению.) Так прогнать десяток раз с разными значениями опережения, и табличка с оптимальными значениями опережения наберётся.

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