Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структура регулятора скорости бесколлекторного двигателя.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
409.07 Кб
Скачать

Настройка регулятора

Для настройки регулятора его следует подключить к компьютеру с помощью USB-UART переходника. Скорость передачи по порту 9600.

Переход регулятора в режим настройки происходит при включении регулятора, когда задающий сигнал потенциометра больше нуля. Т.е. Для перевода регулятора в режим настройки следует повернуть ручку задающего потенциометра, после чего включить регулятор. В терминале появится приглашение в виде символа “>“. После чего можно вводить команды.

Регулятор воспринимает следующие команды (в разных версиях прошивки набор настроек и команд может отличаться):

h – вывод списка команд; ? – вывод настроек; c – калибровка задающего сигнала; d – сброс настроек к заводским настройкам.

команда “?” выводит в терминал список всех доступных настроек и их значение. Например:

motor.type=0

motor.magnets=12

motor.angle=7

motor.start.type=0

motor.start.time=10

pwm=32

pwm.start=15

pwm.min=10

voltage.limit=128

voltage.cutoff=120

current.limit=200

current.cutoff=250

system.sound=1

system.input=0

system.damper=10

system.deadtime=1

Изменить нужную настройку можно командой следующего формата:

<настройка>=<значение>

Например:

pwm.start=15

Если команда была дана корректно, настройка будет применена и сохранена. Проверить текущие настройки после их изменения можно командой “?“.

Измерения аналоговых сигналов (напряжение, ток) выполняются с помощью АЦП микроконтроллера. АЦП работает в 8-ми битном режиме. Точность измерения занижена намеренно для обеспечения приемлемой скорости преобразования аналогового сигнала. Соответственно, все аналоговые величины регулятор выдает в виде 8-ми битного числа, т.е. от 0 до 255.

Назначение настроек:

Список настроек, их описание:

Параметр

Описание

Значение

motor.type

Тип мотора

0-Sensorless; 1-Sensored

motor.magnets

Кол.во магнитов в роторе двигателя. Изпользуется только для расчета оборотов двигателя.

0..255, шт.

motor.angle

Угол опережения фазы. Используется только для Sensorless двигателей.

0..30, градусов

motor.start.type

Тип старта. Используется только для Sensorless двигателей.

0-без определения положения ротора; 1-с определением положения ротора; 2-комбинированный;

motor.start.time

Время старта.

0..255, мс

pwm

Частота PWM

16, 32, КГц

pwm.start

Значение PWM (%) для старта двигателя.

0..50 %

pwm.min

Значение минимального значения PWM (%), при котором двигатель вращается.

0..30 %

voltage.limit

Напряжение батареи, при котором следует ограничивать мощность, подаваемую на двигатель. Указывается в показаниях ADC.

0..255*

voltage.cutoff

Напряжение батареи, при котором следует выключать двигатель. Указывается в показаниях ADC.

0..255*

current.limit

Ток, при котором следует ограничивать мощность, подаваемую на двигатель. Указывается в показаниях ADC.

0..255**

current.cutoff

Ток, при котором следует выключать двигатель. Указывается в показаниях ADC.

0..255**

system.sound

Включить/выключить звуковой сигнал, издаваемый двигателем

0-выключен; 1-включен;

system.input

Задающий сигнал

0-потенциометр; 1-RC сигнал;

system.damper

Демпфирование входного сигнала

0..255, условные единицы

system.deadtime

Значение Dead Time для ключей в микросекундах

0..2, мкс

* – числовое значение 8-ми битного аналого цифрового преобразователя. Рассчитывается по формуле: ADC = (U*R6/(R5+R6))*255/5 Где: U – напряжение в Вольтах; R5, R6 – сопротивление резисторов делителя в Омах.

** – числовое значение 8-ми битного аналого цифрового преобразователя. Рассчитывается по формуле: ADC = U*255/5 Где: U – напряжение датчика тока в Вольтах, соответствующее требуемому току.

Архив со схемой и прошивкой по запросу

Пример исходного кода на С по запросу

Фьюзы микроконтроллера должны быть выставлены на работу с внешним кварцем. Строка для программирования фьюзов с помощью AVRDUDE:

-U lfuse:w:0xFF:m -U hfuse:w:0xDC:m

P.S. Данная схема получила дальнейшее развитие. Был добавлен внешний компаратор, который позволил избавиться от необходимости переключать аналоговую часть микроконтроллера из режима ADC в режим компаратора и обратно (в Atmega одновременно компаратор и ADC работать не могут). Что в свою очередь позволило несколько ускорить измерение аналоговых сигналов. Кроме того, внешний компаратор стал генерировать аварийный сигнал при превышении предельного значения тока. Что существенно увеличило защищенность регулятора в нештатных ситуациях. Вместе с тем осталась универсальность, позволяющая использовать широкий выбор драйверов, в том числе и специальных для 3-х фазных двигателей.

Примеры ESC: