jeka
Свой-
Постов
467 -
Зарегистрирован
-
Посещение
Весь контент jeka
-
Мне кажется смысла мало заморачиваться с выравниванием. Проще dma переключить на байтовый режим и всё. ибо 25мб/s не та скорость чтоб память ощутимо тормозить начала.
-
Тоже сейчас ковыряюсь с h743 и sd, запускаю без конвертора напряжений на 3.3v Через hal пока нормально работает только поллинг. Как только включаю irq/idma, чтение тупит и по тайм-ауту вываливается. irq какие-то прилетают, отдаю в hal. но в дебаггере ловлю флаг overrun (вероятно из-за остановки дебагером). Но поллинг не устраивает, ибо нужна скорость. Задач много, своё писать и hal глубоко расковыривать не очень хочется. Если есть рабочая реализация под rtos (желательно без hal) может поделитесь наработками? Бюджет обговариается :) upd: вроде разобрался. оказывается DMA пишет только в регион памяти AXISRAM.
-
Кстати интересное решение - изолированный операционник: http://www.ti.com/lit/ug/tidub91a/tidub91a.pdf Для высоковольных шунтов лекарство :)
-
есть операционники и на 1 и 10 мГц и выше
-
Про трассировку рекомендую почитать например https://epc-co.com/epc/Portals/0/epc/documents/papers/Optimizing PCB Layout with eGaN FETs.pdf Amaora человек явно с опытом. Все правильно пишет. Шунты (да и лишние дорожки) на больших токах греются, петли тока существенно больше (опять же индуктивность и нагрев выше). А это выбросы при переходных процессах.
-
Именно, индуктивность меняется. Под действием тока насыщение меняется по довольно сложному закону (примерно модуль суммы потоков катушек и магнитов), но если построить модель мотора и просчитывать ошибку расчетных от фактическизх значений, можно очень точно определить положение ротора, хоть на нулевой скорости, хоть в реверсе, и главное при любом токе (в форсаже даже точнее будет). Собственно на трапеции мы стартуем потому что напряжение болтающейся фазы формируется отношением индуктивности 2х фаз (которое при увеличении тока увеличивается), и которое по мере раскрутки по фазе совпадает с ЭДС
-
Если речь про HFI (т.е. частоты до 200-1000 Гц), то да. Но тогда мотор в пищалку превращается. Я с этим еще давно немного игрался. Не очень понравилось. Может что не правильно делал, но точность замера получалась невысокой, особенно при форсаже по току все уплывало и срывалось. Либо сильную модуляцию качать, но тогда звук очень сильный. Лучший вариант был стартовать на бездатчиковой трапеции, при этом опционально сделать мягкое переключение фаз чтоб не щёлкало.
-
Пробовал так. Но... Чтоб получить хоть какую-то точность di/dt на обычных датчиках нужен либо довольно большой временной интервал между замерами di, иначе шума будет очень много или дорогие точные датчики ставить. Особенно плохо это будет работать на моторах с высокой индуктивностью. Вариант с трансформаторами что сейчас ощутимо лучше работает чем по датчикам тока. По инжекции частоты - она особо не нужна (кроме точек где обе фазы коммутируются очень близко по времени, там можно небольшую инжекцию добавить). У нас есть интервал когда все 3 фазы замкнуты, тогда на датчиках будет ЭДС мотора (с поправкой на резиситивные потери). И еще 2 комбинации подключения фаз, по которым можно определить di/dt за вычетом ЭДС. Еще проблемка, добавляющая хлопот - эти датчики ловят всё неподалеку где есть резкие транзиенты тока. Поэтому их нужно тщательно экранировать от импульсных преобразователей, особенно от петли тока на ФЕТах. Но это решаемо даже в более-менее копактном исполнении.
-
Индуктивность можно замерять по разности показаний при прямом и обратном включении фазы. Заодно и примерную ЭДС можно из этих данных получить.
-
Небольшой оффтоп. Вы случаем не сталкивались с вопросом мгновенного измерения индуктивности обмоток? хочется сделать хороший бездатчик, да и для точного регулирования тока штука полезная. Пробовал трансформатор на фазах, но проблема в том что у них время стабилизации напряжения на вторичке довольно большое. Желтый канал на осциллограмме выше это он. Выполнен либо как катушка в том же зазоре где и датчик холла, либо небольшая печатная воздушная катушка витков 5-6 одной стороной на дорожке фазы, результат примерно одинаковый. Не пойму физику процесса, что мешает быстрому установлению напряжения на вторичке после коммутации? Или после переключения di/dt так себя и ведет и зря я на трансформатор грешу?
-
Дроссель было проще припаять. Можно с таким же успехом мотор воткнуть, результат не поменяется :) Отсекать dc можно, потому что я фокусник. Секрет фокуса что в одном цикле ШИМ можно оцифровать всё - и нулевой ток, и первую фазу и вторую.
-
Там конденсатор отсекает DC а не фильтрует LPF. Вот фотка осциллограммы с тестов шунта. красный - выход фазы, синий - сигнал с шунта. На дросселе в момент включения ток с +xx до -xx менялся, через ноль по середине проходил.
-
не, наврал. Смотрю на осциллограмму - около 0.5uS. т.е. не 5%, а 1% :)
-
Время стабилизации на этой схеме получалось вполне комфортное - около 5% от периода ШИМ (20 кГц). Там же RF транзистор :) В основном мешались иголки от емкости фетов.
-
оцифровывая в разные моменты времени, когда ключи в разной конфигурации открыты. Также и ноль определял, когда все нижние ключи открыты. На низких оборотах добавлял небольшую дельта-модуляцию разнесенную по времени на разных фазах
-
Я имел в виду ПИД который d и q токи регулирует. Интегральная составляющая под нагрузку настраивается, а пропорциональная под текущую индуктивность d и q осей
-
Мне кажется не самое удачное решение. Во-первых, громоздко, во-вторых переходные процессы будут мешать, еще усиление разных операционников немного отличаться будет, еще емкость фетов при переключении дает иголки, особенно если их загонять в быстрый режим где начинаются небольшие микропробои PN канала. Я делал гальваноразвязанную схему с оцифровкой шунта непосредственно на фазах и дальше по цифре оно слалось в главный процессор. Оно действительно хорошо работало, но... ощутимого выигрыша в сравнении с холлами не ощутил и в итоге отказался, единственный плюс - чуть выше линейность и точный ноль тока. Но на вращении мотора это не ощущается совсем.
-
ШИМ 20 кГц. Ток 10А. Хотя на подобной схеме парни делали и на 300А. Задачи жестко выдерживать траекторию скорости-ускорения не было. Вообще, удержание динамики (скорости/ускорения) мотора - вопрос в первую очередь алгоритма регулирования, а не схемы. Схема позволяет получить ток с запозданием на 1 цикл шима, с небольшим перекосом из-за смещения точки оцифровки. И один замер на такт. По скорости, я закладывал шустрый алгоритм, с ПИД (с автонастройкой по индуктивности мотора) с предсказанием ошибки, позволяющий ошибку тока за где-то 3 такта скорректировать на 90%. Отработки транзиентов нагрузки не тестировал. Тестировал отработку транзиентов изменения тяги - дав задание резко поднять ток или опустить. За 0.5 мс где-то отрабатывал.
-
Вот такой простейшей дешманской схемой, всего с одним шунтом и усилителем на транзисторе, я крутил FOC. И вполне норм работает.
-
UPD: Да, если управлять только 6-step трапецией, то один общий шунт на минусе вполне подойдет.
-
Делал недавно драйвер ШД на FOC. Как раз хотел сделать дешманвариант для ШД чтоб можно было крутить быстро не опасаясь срывов/потери шагов. Вывода такие: FOC вполне хорошо подходит для бездатчика на оборотах выше 10% от максимальных. Но в режиме ослабления поля на бездатчике были сложности, в итоге я от него отказался (частично потому что процессор заложил слабенький и ресурсов на эксперименты там почти нет). В результате сравнительно с обычными DTC драйверами по 200 руб, по скорости выигрыш минимальный (если настроить правильно профиль ускорения). Но отсутствие срывов если он набрал небольшую скорость, штука прикльная. И ноль можно ловить по пропуску шага. Если нужно чтоб прям летало, то надо в сторону сервы смотреть. Хоббийный моторчик с холлами/энкодером как дешманвариант.
-
Чисто по опыту, в каждой схеме есть свои плюсы и минусы. а) шунт на фазе применим при низком питающем напряжении, нужно 2 шунта на 2х фазах. Защиту от КЗ на нем не сделаешь. Из плюсов - позволяет земерять ток в любой момент времени. б) датчик холла на фазе Для больших токов оптимальный вариант. Единственный недостаток - есть небольшой гистерезис. в) 3 шунта на минусе Позволяет сделать защиту от КЗ, из минусов - на низких оборотах фазный ток течет через 2 шунта, что греет шунты. г) 1 общий шунт на минусе от 3х фаз Позволяет сделать защиту от КЗ, из минусов - нужно делать дельта-модуляцию и несколько хитрить с ШИМом на высоких оборотах. Но на низких оборотах ток течет между ФЕТами напрямую, минуя шунт. Также точки измерения токов в разных фазах смещены по времени и при большой дельте тока в рамках одного ШИМ импульса будет давать некую ошибку тока. Его можно частично скомпенсировать математикой, но далеко не идеально. Варианты В и Г для частот выше 30-40 кГц подходят не очень хорошо, ибо нужно время для стабилизации показаний на шунте. Ну и требует АЦП с возможностью захвата в нужных временных точках. Чтоб посоветовать лучшую схему для конкретной задачи, надо знать напряжение, фазный ток, индуктивность мотора, обороты.
-
aon7520 например. вообще подобных много на вкус и цвет.
-
драйвера есть в sot23. Но к сожалению недешевые (рублей 60) по цене - россыпью 40р примерно. преобразователь с обвесом рублей в 30 получается. выходные транзисторы в схеме выше парные. 2 входных вероятно можно на сдвоенный а-ля bc846/856 поменять без последствий. получается 4 корпуса транзисторов.
-
громоздкость по сравнению со схемой выше. получается нет выигрыша ни по размеру, ни по цене. к плюсам можно было б отнести увеличение и стабилизация напряжения затворов, но в данном случае это не плюс - работать на полную мощность планируется от 3.5 до 4.2в, что оптимально для затворов с точки зрения энергозатрат (не вкачиваем лишнее напряжение = лишняя энергия на затворах, как при высоком напряжении, и феты достаточно хорошо открываются от 3.5в).