Контроль тока в фабричных BLDC контроллерах осуществляется по схеме, указанной на рисунке ниже. Сам шунт это одна или несколько проволок из манганина или константана (см. рис. выше).
В более мощных (мотоциклетных, типа "Fardriver") контроллерах измерение тока (там он достигает сотен ампер) производится с помощью ферритового кольца (на двух или более фазах мотора) с зазором. В зазоре стоит датчик Холла.
ОУ
Смотрим - куда же приходят сигналы "Ток" и "Аварийный ток".
Рабочий ток (в велосипеде это до 10А, хотя сами контроллеры до 20А), преобразованный в напряжение, усиленное в почти в 10 раз приходит на АЦП МК. 20×0.005×9.33 =0,933В. ОК.
А вот сигнал "Аварийный ток", установленный в 70А приходит, судя по всему, на пин прерывания. Когда ток будет выше допустимого, то ОУ "прижмет" пин МК к земле и сработает прерывание "по спаду".
Если будут помехи, провалы напряжения - МК этот сигнал может пропустить, к тому же ему необходимо определенное время на обработку прерывания и остановку ШИМ. Даже если данный сигнал обрабатывается не по прерыванию, а в проверкой пина цикле, то время на обработку еще больше.
А если проц. зависнет или сгорит?
Ай-яй-яй! Такие критические параметры лучше контролировать примитивными способами. Они быстрее и надежнее (и сами по себе и по степени воздействием на систему в целом).
Назовем сигнал выключения силовой части EC (emergency current). Он инверсный: лог "0" - выключить, лог "1" - включить. Этот сигнал должен выключить подачу энергии на двигатель без участия CPU. Опционально, оповестить CPU и, в конечном итоге, водителя.
Аварийный ток?
Моя инженерная интуиция не давала мне покоя. Я решил промоделировать схему усилителя шунта. А если конкретно - выработку сигнала "Аварийный ток".
Согласно ISO 26262 время обнаружения должно быть <10мкс для аппаратной части, а для софта <1мс.
Это, скорее, для электрокаров, но мы будет ориентироваться на него.
Время реакции=79.73мкс! Это я еще порог взял 0,65В (максимальное напряжение лог "0" для популярных микросхем) - см. рис. ниже.
Это значит, чтобы сработала защита надо > 80мкс (мосфеты "захлопнуться" быстрее 1мкс, а вот МК надо время на "подумать").
Что если импульс(ы) будут менее 80мкс?
Ничего не произойдет. Точнее произойдет - сгорят мосфеты и (или) обмотки BLDC. Это, конечно, если импульсы будут не единичны.
Время реакции можно уменьшить
Если снизить напряжение питания до 3.3В (не забыв пересчитать резистивный делитель для опорного напряжения).
Время реакции снизиться в 2 раза - до 38.13мкс.
Но появится еще один момент - лог "1" у Atmega328p начинается с 0.6Vcc. При 5В питания это 3V, а наш "компаратора" стартует с 2.18В (с 3.83В при Vcc = 5В). Для нашего выключателя достаточно, а вот для МК надо будет делать инвертор на биполярных транзисторах, чтобы CPU выключал "частотник".
Можно применить что-то вроде OPA2604, у него реакция будет на порядок выше (<10мкс при 5В), но и стоит он дороже на порядок.
Компаратор
Вот такую красоту выдает компаратор LM393! Время реакции=1.2мкс (по даташиту 1.3мкс).
Как я получил эти графики, можно почитать в этой статье.
Выводы
ОУ - плохой пороговый элемент. Его применяют в дешевых контроллерах для удешевления системы, чтобы не использовать вторую микросхему. LM393 по стоимости сравним с LM358, но защита системы будет на 2 порядка быстрее срабатывать. Выход компаратора с открытым коллектором, поэтому его надо "подтянуть" к плюсу питания.
У меня в "сусеках" нет LM393, поэтому пока буду проектировать схему без него, к тому же в схеме из, которой я "выдрал" датчик тока стоят STP75NF75 и STP80NF70.
Это ток в 320А и 392А, соответственно, для импульсов до 100мкс (согласно safe operating area). А 70А, которые контролирует "тормознутый" датчик. Это чуть меньше максимального рабочего тока транзисторов (80А и 98А).
ФНЧ стоит специально, чтобы система не реагировала на короткие импульсы тока, которые могут возникать при разгоне. ОУ реагирует на средний ток, хотя когда параметры подойдут к 320А, он так же выдаст сигнал EC.
Это произойдет за 7.25мкс при нарастании импульса тока за 1мкс до значения в 320А.
Получается, разработчики учли почти все моменты и уложились в ISO 26262, если МК отработает за пару микросекунд. Если это время значительно больше, то лучше использовать аппаратный выключатель.
"На посошок" реакция компаратора LM393:
Выводы делайте сами.
Про большой китайский сайт я ничего не знаю, интернетом пользоваться не умею и, кроме импортозамещения, ничем не занимаюсь.