Контроллер BLDC rev4b

5 фото
image
Выпуск новой версии платы, 6 слоев и новые транзисторы с Rdson=0.75 мОм. Теперь ток до 75А, шунты 0.33 мОм, и это похоже еще не предел. Больше датчиков и интерфейсов. В реп пока ничего не коммитил, там все старое. Но скоро все будет.

Вот еще картиночка с результатами испытаний, там ток, температура pcb и потребляемая мощность. Плата нагрелась до ~70C. Мотор использовался rotomax 1.20 и он сдался раньше чем контроллер. Специального охлаждения не было, плата в том виде как на фото лежала на столе. Видимо надо делать версию с другими шунтами и пробовать до 100А.




Были неполадки с нагревом без нагрузки, оказалось я задал слишком маленький dead time и был сквозной ток :)

Схема в pdf, и плата в gerber. Исходники и немного описания в репозитории.

5 изображений

  • +5
  • 22 сентября 2018, 01:05
  • amaora

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

RSS свернуть / развернуть
Мотор использовался rotomax 1.20 и он сдался раньше чем контроллер.
Сдался в смысле сгорел?
Выпуск новой версии платы, 6 слоев и новые транзисторы с Rdson=0.75 мОм.
Нда, сурово)
0
  • avatar
  • Vga
  • 22 сентября 2018, 16:20
Мотор большой и массивный, но 16 мОм сопротивления обмотки при ~60А дают ~80 Вт тепла. Если подольше в таком режиме без охлаждения, то может и дым пойти.
0
А пропеллер на него нацепить не пробовал? И нагрузка, и охлаждение в одном флаконе.
0
  • avatar
  • Vga
  • 23 сентября 2018, 16:07
С таким мотором это уже не дома в комнате, надо искать место испытаний, как там закрепиться. Думаю с небольшими лопастями нечто попробовать и в воду погрузить. С мелкими моторами такое проходило, работали без проблем в воде, не раз.
0
Сдует все?)
0
  • avatar
  • Vga
  • 23 сентября 2018, 17:25
Моторы поработали в воде и спустя какое-то время ещё живы? В теории вроде подшипники должны лишиться смазки и поржаветь…
0
Ну может быть они и поржавели, это не мешало им работать. Они же только для тестов.
0
Смотрел на ютубе про перемотку rotomax 150cc, интересные там подшипнички. Так просто поди и не заменишь. В мелких-то стандартные копеешные 683/693 и т.п.
0
Да не хочется его в воду, думал может купить проп побольше и погонять пыль где нибудь на открытой площадке. А теперь уже думаю может сделать самому проп из дерева, раньше делал, же :) найти породу потверже.
0
Давно и с огромным интересом слежу за вашей работой над этой темой.Хочу выразить свое искреннее восхищение как достигнутыми результатами, так и упорством с которым вы исследуете этот вопрос.
+2
  • avatar
  • evsi
  • 22 сентября 2018, 20:56
Круто. Шунт можно ещё уменьшить, поставив INA285 вместо AD8417 (они pin-to-pin compatible), с усилением в 1000.
0
Нет, смотрите на графики common-mode step response, слишком долго ждать пока сигнал успокоится после переключения транзисторов, будет ограничение на величину заполнения. Для такого применения у TI есть ina240, там тоже заявлено PWM rejection.

Да и усиление просто так тоже увеличивать нельзя, меньше величина сопротивления шунта, значит больше вклад паразитных сопротивлений монтажа, А у меди и припоя слишком большой температурный коэффициент сопротивления. Выбранные значения шунтов вполне устраивают по тепловыделению. А вот дрейф параметров от нагрева еще надо будет проверить.
0
значит больше вклад паразитных сопротивлений монтажа, А у меди и припоя слишком большой температурный коэффициент сопротивления
А кельвиновское подключение не помогает? У тебя вроде SMD-шунты, под них пожно сделать площадки с таким подключением.
0
  • avatar
  • Vga
  • 23 сентября 2018, 16:10
В этом варианте платы я там полигон положил под шунтами, для тепловых характеристик. Может и так хорошо, надо проверять. Например сделать замер сопротивления мотора, потом нагреть плату и повторить.

0
Сделал сегодня тесты на точность измерения тока.

1) С помощью замера сопротивления мотора. Первый замер на холодной плате, второй после фена 120C. Отличие на ~3% в большую сторону (то есть это медь или припой). Шунты имеют ТКС 50 ppm/C, что дает в худшем случае 0.5% на ~100С перепада. Если я не ошибся, то дополнительное сопротивление монтажа составляет ~25 мкОм (номинальное сопротивление шунта 333 мкОм), этого достаточно чтобы получить ~3% погрешности.

2) Отличие между двумя датчиками тока. Перекос на уровне 0.5% и плывет до 1.0% при нагреве. При этом еще непонятно каков градиент температуры по плате.

3) Дрейф нуля датчиков тока. Здесь все выглядит очень неплохо, как будто бы работает какая-то сложная компенсация в усилителях ведь они zero drift. Вот картинка с показаниями датчиков тока и двумя температурами, NTC резистора (синий) на плате и внутренний датчик (зеленый) в stm32f4. Сначала грел с одной стороны, потом с другой. Показания NTC сходятся с ИК-термометром, насколько это можно проверить (до ~5С). Виден очень быстрый отклик на то куда дует фен, чуть ближе или дальше от NTC и тут же вижу скачек на графике. Напомню, диапазон измерения +/- 75А.



Силовую плату прогреть сложнее, чем корпус МК.

4) Стал отваливаться датчик напряжения на одной из фаз при нагреве, плохая пайка или плохая платка, не знаю пока. При охлаждении восстанавливается.
0
И если все верно то, должна быть абсолютная погрешность около ~6%. Надо теперь сделать тест с амперметром.
0
Простой тест с резистором 5 Ом и амперметром, показывает погрешность в ~18%. Одинаково на двух датчиках. Это дает уже ~60 мкОм дополнительного сопротивления монтажа. И это согласуется с предыдущими результатами если считать, что перепад там был не 100C а 50С, как и показывает NTC. Лицо ладонь.
0
Будешь делать кельвиновское подключение в следующей версии платы?
0
А хотелось чтобы была возможность прилепить любой попавшийся шунт или даже два параллельно как у меня сейчас. А так надо будет точно попасть в футпринт и аккуратно впаять, чтобы не коротнуть случайно измерительные выводы с силовыми где-то там под дном.
0
Мне кажется, с суб-миллиомными шунтами это уже не светит.
0
Оказывается как-то сложновато найти шунты на 200 мкОм в подходящих габаритах (2512 и в длину места мало). А если гнаться за точностью, то они нужны одним корпусом и желательно четырех-выводные.

Хорошо иметь начальную точность 1%, но с другой стороны для задачи управления мотором не нужно ни начальной точности (а ведь можно и калибровать) ни стабильности от температуры (а ведь тоже можно компенсировать по NTC резистору). Нужна линейность и одинаковый масштаб между двумя каналами.

Обмотка у мотора все равно медная, это вызывает те же проблемы при нагреве, что и изменение масштабного коэффициента датчика тока.

Впрочем, в следующей ревизии можно добавить футпринт под WSL2726 например. А монтировать продолжать чего попадается.
0
Kelvin connection можно и под обычный SMD-резистор положить, пад правда будет несовместим с WSL этими…
0
Все равно резистор нужен один, а его поискать на такой номинал.
0
Делал еще один тест. Как быстро устанавливается выход усилителей сигнала с шунтов, после смены напряжения на терминале с питания до 0, то есть после переключения. От этого зависит максимальное значение заполнения ШИМ при котором ошибка измерения тока еще приемлема. Дальше заполнение ШИМ изменятся скачком до максимального 100% и замер тока происходит в этом случае при высоком напряжении на терминале.

Задавая разные значения отступа и делая измерения подобрал минимальную ширину импульса для измерений ~2.5 мкс. В центре импульса делается замер тока, то есть на «успокоение» сигнала достаточно ~1.25 мкс. Ошибка измерения при этом не больше ~2А. Там есть и случайная и систематическая составляющая, но я думаю не нужно пытаться аппроксимировать и компенсировать этот переходный процесс.

На графике напряжение на терминале (синий) и выход датчика (желтый) при 0А тока. Видно всплески на переключении.



На картинке есть и еще какие-то странные «небольшие иголочки». У меня нет им объяснения. Возможно это были проблемы когда я записал нули в регистры таймера DCR и DMAR. В результате получил странное поведение, с непостоянной выдачей коротких импульсов на фоне работающей ШИМ. Картинка сделана давно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.