Полномостовой ШИМ с рекуперативным торможением

Собственно, сразу к делу.
Намечается большой проект. В настоящее время идет изготовление опытного образца. Необходимо управлять коллекторным электродвигателем 24В 800Вт с питанием от двух кислотных аккумуляторов 2х60Ач с максимально высоким КПД.
Предполагаю использовать ATMega16, она подходит по причине того, что (1) она есть, (2) по количеству выводов идеально, (3)с Пиками пора завязывать, (4) она же стоит на Пинборде.
Ключевой вопрос. Можно ли реализовать 4х-канальный аппаратный ШИМ на Меге16. Немного поковырявшись в даташите, мне показалось, что нельзя, но, может я ошибаюсь.
e2e.ti.com/group/motor/b/blog/archive/2012/04/09/so-which-pwm-technique-is-best-part-5.aspx
Это одна из цикла статей о полномостовом управлении.
Хочу реализовать описанный здесь принцип рекуперативного торможения.
Картинка крупно
При этом, так как питание батарейное, необходимо ограничивать зарядный ток батареи, то есть регулировать длительность той части, когда открыты оба нижних или оба верхних ключа.
Буду признателен за ссылки на литературу по теме.
Уже есть продолжение…
Думаю, надо все же прояснить ситуацию, а то холивар какой-то.
Проект — маленький электромобиль. То есть рекуперация будет реальная.
В управление двигателем входит: Задание скорости по потенциометру, ограничение скорости (типа первой передачи и D), ограничение максимальной скорости (типа родительский контроль, например, 30, 50 или 100%), реверс, защита от перегрузки по току.
Дополнительные функции: вывод скорости и зарядки на стрелочные приборы и мигание поворотников.
По выводам AtMega16 подходит оптимально, защита от сквозного тока будет на жесткой логике, небольшой аппаратный деад-тайм есть в драйвере IR2110.
В железе реализована пока только силовая часть.
Силовой блок контроллера
Силовой блок контроллера
Еще не все детали есть, катушка временно вместо шунта для экспериментов с датчиком холла.
Управление верхними ключами и общим ключом от отдельного повышающего преобразователя, усилитель сигнала шунта на 2-х транзисторах.
Сейчас идет разработка второй части — источники питания и процессор, но, вероятно, я их разделю, чтобы можно было подключать макетки и отлаживать программу на реальном двигателе.
Условная схема силовой части

Комментарии (157)

RSS свернуть / развернуть
только у меня беда с картинками?
0
  • avatar
  • xar
  • 02 мая 2012, 13:17
не, не только.
0
картинку удалили. Там для снижения нагрузки на диоды поочередно открываются (1верх+2низ)->(1низ+2низ)->(1верх+2низ)->(1верх+2верх).
0
рециркуляция?
0
Подзарядка батарей, когда мотор работает в режиме генератора.
0
для снижения нагрузки на диоды? О_о
0
Где-то у меня была хорошая статья по способам управления Н-мостом, но с ходу не нашел…
0
0
Завязывать надо не с PIC, а с 8 бит.
STM32 имеет аппаратный 4-канальный ШИМ с регилировкой мёртвого времени.
STM32 стоит на Пинборде.
+1
В принципе возражений нет, аппаратно пока реализована только силовая часть, да и то еще не все детали приехали. Почитаю.
0
А для этого не надо разве повышать напряжение? Где-то должен быть DC/DC, и я сомневаюсь, что его можно сделать на обмотках двигателя. Хотя могу ошибаться.

Ну или скорость должна быть больше той на которую его способен разогнать аккумулятор.
0
Как раз для этого и надо открывать одновременно оба нижних плеча, при этом мотор оказывается замкнут, ток растет, а после размыкания получаем повышенное напряжение, которое заряжает аккумулятор. Вот тебе и DC/DC.
+1
Сомнения в схеме ШИМ, во время одного из dead-time двигель будет одним из выводов в воздухе, и диоды не помогут. Как этого можно избежать я не понял.

Литературу по теме я бы тоже не против немного почитать.
0
Хотя нет, все хорошо, диоды помогут :)
0
Аппаратный ШИМ на 4 канала есть на 16 меге. Смотрите ДШ:

Но я тоже за STM :) Потому как сам их изучать начинаю :)
0
При этом надо понимать, что заняты будут этими шимами все таймеры :)

А вот берем для примера STM (взял не самую мелкую и не самую дешевую, а ту, что сам закупил в терре по 80 примерно рублей, хотя можно и другие подобрать), занимаем на 4 ШИМ канала всего 1 таймер, и у нас еще прорва всего для других задач, если конечно нужны они:

А если ресурсов столько не надо, то можно и гораздо проще контроллеры взять.
0
Для справедливости стоить отметить, что AVR-ки есть и для этого применения, с кучей аппаратных PWM со всеми плюшками для управлением двигателями. Но я конечно за 32 бита )
0
Ну согласен, а цена? (это не спор, это именно вопрос)
Ну и я для справедливости написал первую часть — что в меге 16 есть 4 ШИМа :) Я очень люблю АВРки, с них ачинал, но… Ничто не стоит на месте…
0
Да, дорого. AVR стрижет бабло с адептов, 90-120 рублей за 8-12 каналов PWM :-)
0
Самый дешевый 32 битный в терре STM32F101C4T6A по 53 рубля — два таймера и всего 8 ШИМ каналов. 48 ног, 16 кило памяти, как в 16 меге :) Только оперативки целых 4 кило. И 36 МГц скорости… Ну это все так, из списка терры, я не эксперт, в чем-то могу врать.
0
а можно ссылку на наборы программных средств и инфо, а то даже нормального даташита не могу найти…
0
А вы на какой конкретно камень хотите?
Если на тот, что я в пример привел, то вот: www.st.com/internet/mcu/product/216823.jsp
На главной — основное описание, на закладке Design Support все даташиты, аппноуты, примеры кода, утилиты и прочее… Если не лениво, гляньте мою недавнюю статейку — как раз о том, как с камнем я этим начинал. Из программ советую CooCox — очень быстро в нем получилось начать, по крайней мере у меня. (ссылка тоже в статье есть)
0
Ну и еще отдельно ссылка на MicroXplorer (программка со скриншота). Хоть она еще и не доделана, но помогает при проектировании.
0
На пинборде стоит STM32F103C8T6, можно с него начать для тренировки, а в окончательное изделие уже по стоимости оптимальный подобрать.
0
Ну тогда вот, но разница небольшая. Они между собой отличаются лишь скоростью, памятью и количеством ног/периферии… А советы по проектированию железа (аппноут) у них одни и те же, да и многое другое тоже. В общем, в bj. статью все равно советую глянуть, самое начало (там ссылки есть) и самый конец (там немного про Кокос). В середине там про изготовление платы — это вам не интересно на данный момент, думаю.
0
Статью видел, круто… По ссылкам еще не лазил, чуть позже. Спасибо.
0
Еще вот это посоветую. Там конечно не про пинборд, понятное дело, но вроде как дольво подробно и по порядку.
0
А зачем коллекторный? Я думал они должны уже наконец сдохнуть, и уступить место brushless.
0
Вероятно, тоже цена вопроса сыграла роль. Да и контроллер проще и дешевле. Все таки основная составляющая цены — силовая часть.
0
Смотреть надо в сторону проверенных решений предназначенных (заточенных) под Вашу задачу. Смотрите в сторону AVR со специализированными ШИМами или dsPIC
0
Примерно такой специализированный ШИМ, как есть у AVR-ок (3 и больше независимых канала на одном таймере, с настройкой dead time и, при необходимости, с противофазными выходами), есть чуть ли не в каждой первой STM32, а те, что потолще, могут и два движка одновременно крутить. Причем таймеры 16-ти разрядные «искаропки» и дополнительные биты не надо через одно место крутить.
0
Смысл? Ни нормального торможения, ни какой то там толком ощутимой рекуперации таким методом… В такой рекуперации есть смысл, только если мотор очень часто пускается и останавливается… иначе, это все бесполезная трата времени… имхо.
0
Опять PIC обосрали :), вы хоть гляньте, для разнообразия кроме pic10 и pic16 в природе более продвинутые камни существуют… в упор не видим.
0
А смысл на них смотреть? С доступностью у них похуже (упомянутый ниже pic24fj64ga002 — единственный, который есть «прямо сейчас» у продаваторов с которыми я имею дело, да и тот в два раза дороже — 55 грн), доступность средств разработки/отладки/прошивки врядли сможет переплюнуть копеечный дискавери и бесплатный эклипс. Замечу, что есть еще такие факторы как открытость и масштабируемость архитектуры в комбинации с количеством (конкурирующих между собой) производителей. Все вместе как-то отбивает желание смотреть в сторону пиков.
0
Ну, у космодрома есть 002 по 32,5грн, но это такое. Допользую старые запасы этой серии и все, смысла брать пик при наличии STM32 таки никакого. Ото разве что PPS у них более удобный, и то не у всех моделей есть.
0
Посмотри на pic24fj64ga002 и 004, стоят они 23 и 25 грн. 5 аппаратный шимов, можно пускать от 2 разных таймеров как захочешь. Самих таймеров 5, и все 16 битные, перераспределяемые ножки, куда хочешь туда и выводишь перефирию, что еще надо?))) 16 мипс, 64 кб памяти, 8 кб озу. Можно чуть дороже взять dsPIC MC (мотор контрол) вот там есть полномостовые шимы с мертвым временем, 8 каналов. 40 мипс. Даже аппаратный вход энкодера двигателя есть:)
0
За сравнимые деньги STM32F100 имеет 6 таймеров, один из которых advanced control (тот самый для двигателя) с 6 PWM выходами и dead time generation. Остальные таймеры там тоже умеют dead time generation, только выходов поменьше (4 обычно). Ну и производительность слегка побольше (раза так в полтора). Можно взять чуть дороже STM32F103, там таймеров еще больше (в старших — по два advanced control). Производительность тоже там получше.

P.S. как волка не корми, у слона все равно толще… :)
0
продаваторов с которыми я имею дело, да и тот в два раза дороже — 55 грн
Смени продоваторов значит. Если у вас там их нет это не значит что везде так.
доступность средств разработки/отладки/прошивки врядли сможет переплюнуть копеечный дискавери и бесплатный эклипс
Ну, с этим вроде как проблем нет…
Замечу, что есть еще такие факторы как открытость и масштабируемость архитектуры в комбинации с количеством (конкурирующих между собой) производителей.
Это вообще что-то из области высоких материй…

STM32F100

Вы хоть понимаеите разницу между 16 и 32 битными мк? Это даже категории несравнимые, может еще сравним 4 битный и 32 битный? И будем писать о том какой же 32 хороший…

Вообще чего вы встряли тут я не понял? со своим толще… :) Не про вас вроде речь шла…
0
Смени продоваторов значит.
А смысл?
Это вообще что-то из области высоких материй…
Это, как раз, повседневная реальность. Не нашел подходящий камень у одного производителя или цена не понравилась — на выбор еще несколько.
Вы хоть понимаеите разницу между 16 и 32 битными мк? Это даже категории несравнимые, может еще сравним 4 битный и 32 битный? И будем писать о том какой же 32 хороший…
Я-то понимаю разницу, и именно потому, что я ее понимаю, я и не вижу смысла ковырять 16-битный, если есть нормальный 32-хбитный за эти же деньги, а то и дешевле.
Вообще чего вы встряли тут я не понял?
Примерно из тех же соображений, из которых тут начали говорить о пиках, при том, что в топике речь об авр-ках.
0
а почему бы и не сравнивать? в конце концов нам важно как он ногами дрыгает (ну иногда еще и кушает сколько иногда). а то что мы взяли 32бит ядро вместо 16бит как может плохо сказаться? (при том что цена сравнимая и первый доступнее)
0
ЗЫЖ. у нас нынче применяются 32битки повсюду (даже там где и тиньки хватило бы) ибо:
1 — людям удобнее работать с одной архитектурой;
2 — lpc нескольких типов у нас на складе уже запас имеется;
3 — заказать большую партию одного типа дешевле чем заказывать много разнообразных горсточек.
0
Кстати в Сочи 4 магазина и нет почти ничего… Меня встречают словам «В чем вам еще отказать?»)))
У меня есть ATTiny 45, 2313, ATmega8535, 16, 32, 32U2, Pic16F84, 628, 877A, PIC18F4550.
Ну и на Пинборде STM32F103C8T6.
Думаю, под задачу подошел бы AT90PWM какой-нибудь, только его все равно заказывать, а раз у STM32 все необходимое есть, то смысл? буду осваивать.
0
Щит. Написал на 2 страницы комент, а он взял и пропал.
0
Обновил статью
0
По поводу защиты от сквозного тока: по идее, того, что есть в 2110 достаточно, если только транзисторы не совсем уж тормозные.
0
я имею в виду, что если в процессе программирования (или зависания) получится единица сразу на обоих входах, лучше поставить микросхему, которая не допустит открытия обоих ключей одной стороны.
0
Это да, полезно. Но, IMHO, проще в схему добавить инвертор между входами.

P.S. я, как раз, решаю очень похожую задачу, так что немного в теме.
0
Есть и драйверы с инвертором внутри.
0
Это понятно. Проблема в том, что по нужному сочетанию входов, скорости переключения и выходному току драйвер не всегда есть и тем более не всегда он имеется в наличии у продавцов. Тот же 2110 всем хорош, и скоростью и током, а вот входы только независимые.
0
а инвертор и дедтайм понятия не взаимоисключающие?
0
У драйвера в пузе свой генератор дедтайма, он работает в любом случае.
0
на уровень выше надо было разместить. промазал.
0
инвертор задачу не решает.
Например. Катимся с горки, заполнение ШИМ на 0.
В случае простого инвертора мотор будет замкнут 100% времени, зарядки нет.
А нам надо ограничить эту длительность до получения максимально возможного для батареи зарядного тока (хотя можно и по напряжению регулировать, например 28,8 В на 2 последовательные свинцовые батареи)…
То есть, примерно так, замкнули оба нижних ключа на 50% периода, разомкнули, измеряли напряжение, скорректировали период, и с начала.
Подозреваю, что начальное значение этого заполнения обратно пропорционально скорости, т.е. при скорости -> 0, длительность замкнутого мотора ->100%.
0
Если неправ, поправьте.
0
Возникает вопрос, чем это отличается от режама работы, т.е. почему теперь при 50% шим ток будет успевать уходить в отрицательные значения.
0
Имхо получается одна и та же схема ШИМ (1верх-2низ -> 1низ-1низ ...) будет работать в обе стороны и нет необходимости что либо предпренимать для регенерации.
0
Можно ещё подумать об оптимальности, но это (опять же имхо) решается внешней петлей управления.
0
Это все верно, но только в режиме неизменного заданного заполнения, то есть, если задано, например, 50%, то при движении в гору батарея разряжаться, при движении с горы заряжаться.
А если при движении с горы заданное заполнение упадет до 0 (отпускаем педаль), то получим разряд = 0 и заряд = 0 а вся вырабатываемая энергия уходит в тепло обмоток и нижних ключей. Это не подходит, поэтому и нужно заполнение верхнего ключа = 0 а заполнение нижнего < 100%, а вот на сколько меньше — определяется измерениями (ну и расчетом). Хотя, в принципе, можно и верхнее плечо открывать, но чтобы ток был в батарею, а не наоборот.
0
Это я и назвал внешней петлей управления. Её задача удерживать ток в отрицательной области но недавать ему слишком сильно вырасти. По крайней мере такая стратеря кажется оптимальной, если задача максимизировать кпд.

Грубо будет как-то так (я думаю как обойтись минимумом измерений),

pwm_dc = (bemf(speed) — offset) / supply_voltage

offset зависит от ампльтуды пульсаций тока.

Но работа с мгновенными значениями тока наверно даст лучшие рузультаты.
0
* стратегия, извиняюсь за ошибки.
0
А можно с комментариями? А еще лучше со ссылками на теоретическую базу
0
Я только предлагаю разделить сложность по разным коробкам. H-мост всегда работает по одной схеме, изменяем только dc.

За модель системы достаточно наверно принять такое простенькое уравнение катушки с собственной ЭДС, пренебрегая работой щеток, переключением транзисторов, и более мелкими деталями.

dI/dt = (U — IR — E) / L

I — ток в обмотке
U — напряжение поданное на двигатель, либо 0 (1низ-2низ) либо напряжение питания (1верх-2низ)
R — активное сопротивление обмотки + ключей + источника (в соответствующий момент)
L — индуктивность обмотки
E — ЭДС двигателя

Можно ещё принять, что частота переключений велика и просто умножать на dc.

dI/dt = (U dc — IR — E) / L

Теперь для некоторого заданного E(t) надо найти dc(t) которое минимизирует какой нибудь функционал качества. Надо подумать какой именно и найти оптимальное управление, возможно держатть ток рядом с нулем не лучшая стратегия, я просто подумал о квадратичной зависимости активных потерь и так предположил.

Общая структура такая,


+--------+
| Source |
+--------+
     |
+----------+
| H-bridge |
+----------+
     |
   PWM_DC (%) <-------------------------\
     |                                   \
+-------+                            +-----------+
| Motor |------*--| speed |--------> |           |
+-------+      |                     | Regulator | <-------------- throttle/brake signal
               \--| current |------> |           |
                                     +-----------+


Если измерять и ток и скорость (а значит и ЭДС) то все состояние системы наблюдаемо и регулятор будет простой (возможно подойдет LQR (линейно-квадратичный регулятор) если есть желание заниматься синтезом а не подбором коэффициентов).

evsi насколько я понял предлагал, релейный регулятор (не у верен в термине, но похоже sliding mode тоже самое). То есть измеряем ток так часто как возможно, как только знак меняется (начинается разряд вместо заряда) переключаем H-мост ток нарастает, как только превысит некоторое значение (или через фиксированное время) переключаем H-мост, и все с начала. Здесь ШИМ формируется неявно.

С линейным регулятором можно найти много граблей связанных с ШИМ, то смещение зависящее от пульсации (которая зависит от настоящей частоты ШИМ) например. С релейным их будет наверно меньше.
0
Ссылки. Вот недавно нашел, но это по ТУ (вдруг кому надо). rutracker.org/forum/viewtopic.php?t=1521411

По теме, на слова `regenerative braking paper` гугл выдает кажется неплохие результаты, хотя глубоко я их ещё не читал.
0
Скорость будет сниматься с датчика скорости, ЭДС мотора непосредственно не буду мерять, буду мерять ток моста и напряжение батареи для контроля ее зарядки в режиме рекуперации.
Нужно почитать про ПИД-регуляторы. Ограничение максимальной скорости, это, кажется, типовой случай.
0
А если так: мост на реверс и меряем зарядный ток на шунте. Как только ток упал до нуля (то есть напряжение от двигателя меньше напряжения зарядки), оба плеча в 0 (или ШИМ-ом так же на реверсе имитируем торможение двигателем). Получается, что нужно только независимое управление плечами (полумостами), а не каждым ключом в обоих полумостах.
0
Метод синхронного уменьшения? отсюда roboforum.ru/wiki/H-bridge
Интересно, надо подумать.
Вообще, видимо, надо отвязать заполнение ШИМ от педали… и считать его по току, напряжению и скорости.
0
Думаю, это не подойдет, мотор как генератор не работает в этом случае (кажется).
0
Если это обычный двигатель постоянного тока, то почему бы ему не работать генератором?
0
первую часть периода мотор разгоняется — идет разряд, затем мост переключается на реверс, идет разряд на замедление мотора, затем мотор отключается (когда ток =0), ничего не идет, и сначала…
0
Там надо тщательно покумекать над схемой, возможно удастся соорудить что-то типа bust регулятора из индуктивности самого двигателя (или может внешней) и ключей моста. Тогда, по идее, можно высосать то, что генерит двигатель почти по полной, что, с одной стороны, даст весьма эффективную рекуперацию, а с другой — позволит минимизировать нагрев обмоток двигателя. Но там надо думать и думать, конечно…
0
Как раз для этого и надо открывать одновременно оба нижних плеча, при этом мотор оказывается замкнут, ток растет, а после размыкания получаем повышенное напряжение, которое заряжает аккумулятор. Вот тебе и DC/DC.
Я уже об этом писал
0
Точно, значит я неправильно понял идею. Да, так, по идее должно работать. Замкнули накоротко — накопили энергию — разомкнули в реверсе и отдали в аккумулятор. Но тут, вроде как, тоже отдельно ключами управлять не нужно, достаточно независимого управления плечами моста.
0
Раздельное управление нужно.
Обновил картинку.
0
Хмм. Внимательно посмотрел, но так и не увидел, где там нужно раздельное управление каждым ключом. Каждым полумостом — да, безусловно, как я и писал выше.
0
Точно! Это я заглючил! Тогда осталась самая малость — сформировать нужные последовательности мегой. И заодно поправить схему защиты. еще раз.
0
А как насчет остановки? оба 0 или оба 1 приведет к остановке… когда-нибудь… Да, это исключает прямое задание заполнения пользователем. Хотя его и так надо считать для ограничения скорости.
0
Кстати, чем ток замерять собираешся? Я вот тут для своей задачи нарыл вот такие чипы. Раньше с подобным дела не имел, но на первый взгляд вроде ничего так. Да и цена в разумных пределах, вобщем.
0
www.allegromicro.com/en/Products/Current-Sensor-ICs/Fifty-To-Two-Hundred-Amp-Integrated-Conductor-Sensor-ICs.aspx
мне бы больше такой подошел, но я посчитал, что резистор токоизмерительный и усилитель на 2-х транзисторах гораздо дешевле и доступнее
0
хотя штучка неплохая, я уже давно их видел в интернете
0
в наш век — минимум инструментальный операционник. какие еще 2 транзистора… получишь сразу и ток, и направление
0
Была у меня мысль об операционнике, но у меня получается неудобная для операционника ситуация — напряжения на нагрузке совсем небольшие, так что он все время будет работать либо оба входа около питания, либо оба входа около нуля. Rail-to-rail операционники, обычно, имеют питание совсем небольшое и в диапазон не влазят, а общего назначения требуют отдельного питания. Так что в итоге забил, и стал искать альтернативу.
0
собственно проблемы нет. ставим токосъемный шунт в перекладину моста и цепляем туда что то типа ad620 (ну или любой другой инструментальник)
0
С учетом того, что ACS712 у нас продается по ~25-28грн, а AD620 стартует с 35, смысла особого нет. Помимо цены в минусы пойдет и необходимость обвязки (мелочь, а неприятно) и довольно большое сопротивление шунта (у ACS там порядка миллиома).
0
ad в этом плане не критичен. это ж обычный операционник по сути и шунт ограничен только максимальным коэффициентом усиления опера и током.
0
Хорошие операционники все не дешевы, а тут требования достаточно жесткие — способность давить большой синфазный (к тому же весьма шумный в широком спектре) сигнал, малое смещение нуля и низкий температурный дрейф. Вторая проблема — шунт. Самый маленький номинал, который мне реально попадался в руки — 2512 на 68 мОм, на 20А он должен рассеивать 27Вт, что не реально. Следовательно, их придется лепить минимум десяток параллельно. Даже если закрыть глаза на геморрой с разводкой и тем, сколько они будут занимать места, получается, что на токе 1А сигнал будет всего около 10мВ. Синфазная составляющая порядка 12В. Получается, что надо подавление минимум 60дБ в диапазоне хотя бы пару мегагерц да и то это обеспечит сколько-нибудь точное измерение токов только больше 1А. Мерялка с датчиком Холла от всех этих заморочек позволяет избавиться, причем за разумную цену. Сопротивление шунта там около миллиома, на максимальных токах на нем рассеивается менее полуватта. Места она занимает мизер, корпус SO8. На выходе чистый линейный в широком диапазоне сигнал отцентрированный по половине напряжения питания, только ЦАП-у скормить. Вобщем, операционник, конечно, привычнее, но в подобных задачах врядли рациональнее с любой точки зрения.
0
да, в этом плане и вправду не катит шунт.
0
www.elitan.ru/price/bignote.php?name=WSL3637R0100FEA%40VISHAY&mfg=1509
Думаю, в окончательный вариант поставлю 3 таких в параллель, при этом при 50А рассеиваемая мощность на каждом будет 2,6Вт
а в прототип, думаю вот такой
www.elitan.ru/price/bignote.php?name=LTO030FR0100JTE3%40VISHAY&mfg=1509
0
ACS75x дешевле обойдется, IMHO.
0
Мне вначале надо добиться функционирования, а потом уже работать над удешевлением.
0
Полностью согласен. В таком случае я бы пробовал на чем-то совсем простом и мелком, да и шунт из обычных 2512 набрал бы. Те резисторы, конечно, выглядят круто, но у нас только один продаватор их привезти берется, да и то не быстрее, чем за месяц. А 2512 худо-бедно попадаются в магазинах… Понятно, что под полную нагрузку такой прототип не поставишь, но алгоритмы отработать, я думаю, вполне можно.
0
вот хз как все, а я соооовсем не люблю «теплые» элементы в смд исполнении
0
Я вот «теплые» элементы совсем не люблю, геморройно это, тепло отводить.
0
именно. на внешний можно хотя бы радиатор присобачить (а токосъемники как правило уже с радиатором своим)
0
На SMD-шный тоже можно радиатор присобачить (их есть специальных под разные виды корпусов) или в полигон отводить. Тут проблема вовсе не в возможности отвода тепла, а в том, что это всегда неудобно.
0
Может, оставлю TO-220, только у него сопротивление высоковато…
0
Нашел тут прикольную табличку по IR-овским полевикам. Может оказаться полезной при выборе. Кстати, в TO-220 есть весьма любопытые транзисторы, например IRLB3034PBF и IRFB3004PBF/IRFB3006PBF с очень маленьким Rdson (меньше 2-х миллиом).
0
Да я про резистор вообще-то
www.elitan.ru/price/bignote.php?name=LTO030FR0100JTE3%40VISHAY&mfg=1509
0
А, сорри, не понял сразу.
0
а вообще хорошая табличка
0
Вот тут еще накопал весьма и весьма интересный материал по поводу теплоотвода. Надо будет внимательно перечитать, но после прочитывания «по диагонали» пришел к предварительному выводу, что выводной корпус, по сути, не имеет никаких преимуществ в плане теплоотвода и вообще похоже на то, что основной лимитирующий фактор, как раз, качество отвода тепла «в ноги» и, в первую очередь, места пайки ног к плате…
0
Видел что-то подобное на русском, кажется от STSemiconductor. Там тоже измеряли температуру разных частей.
В принципе, сейчас во многих даташитах пишут ограничение тока по кристаллу и по корпусу, при этом если по кристаллу, например 98А, то по корпусу примерно 60… Это надо учитывать при разработке
0
IR аналогично пишет. Например на IR3205 — 110A способен прокачать кристалл, но корпус ТО220 позволяет только 75А.
0
Я тоже сначала хотел ограничиться резистором и чем-нибудь простым, но потом понял, что либо мне надо делать сложную схему коммутации, либо двунаправленный датчик тока. Микросхема все значительно упрощает.
0
при I=0 мой усилитель сигнала шунта выдает 1,5 В на выходе, при 0<I<50А напряжение линейно изменяется до 4,8 примерно вольт, при -15<I<0 (точно не помню, но в диапазоне линейная зависимость) уменьшается до 0,4 В.
0
не стоит работать с такого рода сигналом. высока вероятность наткнуться на нелинейку.
0
все инструментальные усилители когда-то были кучкой транзисторов
0
Да, но отнюдь не парой транзисторов :)
0
Да что с вами, обычный усилитель постоянного тока. 2 каскада ОЭ, промоделировал в Microcap, линейность меня устраивает, что еще надо?
0
Если все устраивает, то, безусловно, больше ничего и не надо. Кстати, а как у него с температурным дрейфом? Я так понимаю, условия работы предполагаются отнюдь не тепличные?
0
как то все слишком просто. а где шунт будет стоять?
0
Добавил схему условную
0
токосъемник надо бы в перекладину ставить…
0
Что это нам дает?
0
«Чистый» ток через двигатель. При переключении там мусор, вобщем-то, из каждого полумоста, из которого ток самого двигателя выделить не так просто. Впрочем, я не столь категоричен, такой вариант вполне имеет право на жизнь, разве что сигнал с шунта в поменты переключения как-нибудь гасил бы (например — одновибратором запускающимся от фронта шимов).
0
измерение можно начинать после переключения. При том, что частота будет всего 30-40кГц, все эти нюансы решаются программно.
0
Если есть способ засинхронизировать измерения с шимом то да, вполне приемлемый вариант.
0
Думаю, что прерывания от таймера должны помочь
0
Кстати, как ты собираешся выбирать момент переключения двигателя на батарею при рекуперации? Там просто есть периоды, когда в землю ток не течет (это когда энергию в индуктивности двигателя накапливаем), соответственно на датчик тока ориентироваться не получится. Если датчик последовательно с двигателем, то там, вроде как, проблемы с этим нет, все, что течет через двигатель мы всегда можем померять.
0
Так дело в том, что ток через двигатель в момент накопления энергии не определяет ток зарядки после открытия ключей. А вот ток зарядки можно вполне померять и на этом шунте. А еще проще напряжение на батарее померять. И ограничить его в следующем цикле, думаю времени будет достаточно.
0
Да, я понимаю, что ток через двигатель не определяет ток зарядки. Просто так или иначе нужно выбирать какой-то момент когда надо переводить мост из положения накопления энергии в обмотках двигателя в положение зарядки аккумулятора. Мне казалось, что это проще всего делать замеряя ток через двигатель, тогда можно компенсировать текущую скорость вращения. Точнее, тогда ее совсем не надо учитывать, просто ждем пока ток через обмотку вырастет до определенного порога и переключаем в режим зарядки аккумулятора, как только ток зарядки упал ниже какого-то порога — переключаем обратно. А быстрее или медленнее вращается двигатель уже не важно. Я могу ошибаться, конечно.
0
Еще надо изучить зарядно-разрядные характеристики аккумуляторов… Только сейчас подумал
0
один из плюсов — имеем ток при рециркуляции (хотя при коллекторном двигателе не так актуально). ну и все вышеперечисленное
0
дак и контроллер по сути куча транзисторов разнообразных. не заменять же все это…
0
Ну я ленив, как и всякий программист, поэтому поставить один чип мне проще :)
0
Кстати, есть еще вот такая штука. Мне она не подходит по ряду причин, а в твоем случае она может быть удобнее. Да и стоит cущественно дешевле.
0
Да я все это видел, но, в принципе, для защиты от перегрузки хватит и 2-х транзисторов.
0
Для защиты — безусловно. Я имел в виду нормальный датчик тока. IMHO совсем не лишняя вещь в подобных схемах.
0
Да, видимо это имеет смысл. Во всяком случае, мне кажется вполне разумным учитывать и ток и напряжение, как минимум что бы не допустить выхода ключей за пределы рабочей зоны по рассеиваемой мощности.
0
У STM32 обнаружился один минус — питание 3,3 В не будет открывать полностью IRL540, на которых реализованы дополнительные функции.
0
Управление такими транзисторами все равно лучше делать через драйвер, у микропроцессора ток маловат для этого.
0
Они как реле работают, думаю, нормально будет
0
Он сможет импульс в 0,5-1А выдать?
0
если открывать эти «реле» слишком медленно, то будет существенный нагрев транзистора. а при имеющейся емкости затвора быстро открыть его вряд ли получится.
+1
в смысле напрямую портом не получится. (а если открыть и получится — закрыть вряд ли)
0
Промоделирую… Кстати, ток в нагрузке будет примерно 5А (это я про «реле»)
0
Реле не реле, а если оно клацает и достаточно большим током, то открывать/закрывать его стоит побыстрее, потому как именно на этих моментах он и греется больше всего.
0
при 30 ма (резистор 120 ом) емкость 2200 пФ заряжается примерно за 1 мкс до 4,7 В. Но даже если в 10 раз дольше, думаю, не сгорит.
0
почитай обсуждение статьи про БП для гальваники.
а так — 30ма для порта многовато.
0
Даташит на ATMega16 стр285 —
DC Current per I/O Pin… 40.0 mA
0
а на порт в сумме сколько?
0
200
0
Он то не сгорит, но почти все это время будет переключаться. К тому же, на мой взгляд, стоит ориентироваться на суммарный заряд затвора, а не на емкость как таковую. Хотя, конечно, тут я могу ошибаться.

P.S. А вообще на ключи типа до 5А имеет смысл ставить мелкие транзисторы типа IRLML0030/6344, там емкости ничтожные, пороговые напряжения тоже, как раз напрямую от порта можно кормить. Собственно, они для таких целей и разрабатывались.
0
Реле — в смысле лампочку включить, т.е. включил — через полчаса выключил и тп.
0
Да, именно под такие задачи эти транзисторы вполне подходят. И драйвера не нужно.
0
на моей модели заряд за 1 мкс достигает 10 нКл.
0
Может не совсем в тему вопрос но все-же.
Построил преобразователь 110В в 220 с «чисто синусом» на выходе.
Мостом управляю AtTiny261. У неее 3 канала комплементарного ШИМа с аппаратным заданием мертвого времени.
все работает отлично, но вот портов маловато… Перерыл все семейство 8-битных атмелов-ничего с аппаратным дэад таймом не нашел.Порты наращиваю через сдвиговые регистры, но может кто-то знает семейство атмеловское лучше меня.
Нужен МК именно с аппаратным заданием мертвого времени.
0
Не подскажу, а можно вашу схемку глянуть? Она чисто импульсная или есть низкочастотный трансформатор?
0
Схемку, да можно, только она в нескольких листах, ща дам ссылку на спец форум в котором она приаттачена.
Низкочастотного транса нету.Чисто Н-мост на мосфетах, что МК качает по синусодальному закону+некоторые особенности управления без которых чистый синус не получается.Если интересно, то вот здесь можно почитать про мои поиски истины: valvol.ru/topic68-480.html
Если тема интересует-расскажу впривает все моменты с которыми столкнулся и с которыми еще столкнусь.
0
А обязательно, чтобы dead time задавался именно в МК?
evsi для своего источника тока для гальваники применяет, насколько я понял, драйвер MOSFET с управляемым dead time. Посмотри, может он тебе подойдет в качестве замены аппаратного DT в МК? Тогда можно будет применить любой контроллер.
0
Все зависит от того, как надо управлять транзисторами моста. Если там всегда один открыт, другой закрыт и наоборот, то действительно, проще взять драйвер с железным дедтаймом и не морочить себе выступающие части тела. Если же нужно полностью независимое управление, то нужно внимательно посмотреть временные диаграмы сигналов на входах ключей, вполне может оказаться, что дедтайм там и вовсе не нужен (или даже вреден, поскольку он «смазывает» начало коммутации, время которой, как правило, перед этим долго и нудно вычисляли всякими хитрыми алгоритмами).
0
Да, нужно именно полностью независимое управление, просто dead timom не обойдешься… да и драйвера заложил раньше чем выбрал мк, развел плату закупился комплектухой, короче пути назад простого нет.
0
Если там полностью независимое управление, то как там по временным диаграммам происходит переключение? Я имею в виду, что возможно там и вовсе не нужен dead time?
0
В мегах тоже можно сделать аппаратный dead-time. Для этого нужно использовать Phase Correct PWM (там «частота» PWM привязана к центрам импульсов) и задавать, к примеру, в OCR1A и OCR1B числа отличающиеся друг от друга на этот самый дедтайм ну и, разумеется, один выход ШИМ делаем inverted а второй non inverted — получим неперекрывающиеся имульсы для рулежкой половинками моста. Ну и чтобы управлять мостом нужен только один таймер с двумя выходами ШИМ (у меги 16 это Timer 1).
0
Да, все правильно, но меня сманило то, что в отличие от Tiny261, в меге dead time програмный, и если че-то не так пойдет, то биг бада бум ))))
0
Ну он не особо программный. Просто пишем в два регистра, а дальше он сам. Также можно погонять прошивку в симуляторе. Кстати, Vmlab врет по части частоты ШИМ, делает частоту всегда такую, как для 8-бит PWM :) Протеус симулирует нормально. А еще можно для начала подключить схему через резистор в питании, можно двухлучевым осциллом проверить… в общем есть варианты. Правда я таки пожег выходные транзисторы, но по другим причинам :) Сначала из за перенапруги (у меня там большие индуктивности в мосте), это заборол емкостями к73 между питанием и землей, напаянными непосредственно на ноги транзисторов. Но потом опять погорело из-за того, что драйвер выдавал 24В вместо 20В максимально допустимых. Сейчас буду драйвер сам делать (мне надо с опторазвязкой) нафиг эти покупные.
0
ограничение максимальной скорости (типа родительский контроль, например, 30, 50 или 100%)
Вообще-то, скорость в км/ч измеряется вроде бы.
Поясню: по горке можно ехать сверху вниз, а можно снизу вверх.
В одном случае, возможно, придется подтормаживать, а в другом — жать по полной.
Так что ограничение должно быть по оборотам, допустимой мощности и току.
Я бы ШИМ-контроллер тоже железный поставил, а МК задавал бы только желаемый уровень мощности.
0
ограничение максимальной скорости (типа родительский контроль, например, 30, 50 или 100%)
Вообще-то, скорость в км/ч измеряется вроде бы.
Здесь я и говорил об ограничении скорости в км/ч на уровне 30,50 и 100%. При этом в режиме подтормаживания будет режим ограничения тока рекуперации и напряжения зарядки, а в режиме разгона — макс. ток и скорость в км/ч.
Кстати, силовой модуль испытания не прошел, при работе от отдельного повышающего преобразователя погорели несколько драйверов, вероятно, буду пробовать на рассыпухе собирать.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.