# Прошивка ESC регуляторов с помощью BLHeliSuite

Хорошая статья, которая объясняет принцип работы ESC \(Electric speed controller\) регуляторов: [http://www.avmodels.ru/engines/electric/esc.html](http://www.avmodels.ru/engines/electric/esc.html)

#### Зачем перепрошивать?

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

#### Программа для прошивки регуляторов

Для прошивки самых разнообразных ESC регуляторов существует программа [BLHeliSuite](https://github.com/4712/BLHeliSuite) \(для Windows\).

Для запуска программы \(BLHeliSuite.exe\) необходимо распаковать архивы BLHeliAtmelHEX.zip и BLHeliSilabsHEX.zip в корневой папке.

#### Программатор для прошивки регуляторов.

Чтобы прошить регулятор, необходим программатор, который умеет общаться с контроллером регулятора по 1-wire протоколу. Один из способов добыть программатор - взять подвернувшуюся под руку ардуинку и прошить её специальной прошивкой. В BLHeliSuite есть инструмент для создания интерфейсов программаторов.

Создание программатора на примере Arduino Mega.

1. Запустить программу BLHeliSuite и выбрать вкладку Make interfaces.  
   ![](assets/BLHeliSuiteSiLabs ESC Setup_171207_1.png)

2. Нажать Arduino 4way-interface в разделе Make Arduino Interface Boards и выбрать файл прошивки  
   ![](assets/BLHeliSuiteMake interfaces_171206_2.png)![](assets/BLHeliSuite interface options.png)![](assets/BLHeliSuite arduino select firmware.png)

3. После прошивки Arduino вернуться на вкладку Silabs ESC Setup и подключиться к Arduino, предварительно выбрав интерфейс программатора 4way-if и COM порт Arduino.  
   ![](assets/BLHeliSuite 4way-if select.png)![](assets/BLHeliSuite ESC setup Connect.png)

#### Подключение ESC регуляторов к Arduino.

Для прошивки или изменения настроек регуляторов необходимо подключить сигнальные порты ESC регуляторов к портам Arduino, предварительно посмотрев в мануале, какие порты используются для прошивки. Так же нужно не забыть соединить GND Arduino с землёй одного из регуляторов. Регуляторы должны быть подключены к питанию, в случае если к регуляторам подключены моторы, **на них не должно быть винтов**.

![](assets/BLHeliSuite Arduino pinout for 4way-if.png)

В случае с Arduino Mega, регуляторы подключаются к портам D43-D49 и D51.

#### Изменение настроек ESC регуляторов.

Для загрузки информации о версии прошивки и настроек регуляторов нужно нажать на кнопку Check.

![](assets/BLHeliSuite ESC Setup Check.png)![](assets/BLHeliSuiteSiLabs ESC Setup_171206_1.png)

Основные параметры, которые нас интересуют, это:

* Motor Direction \(Normal или Reversed\) - отвечает за направление вращения моторов. Удобно настраивать, если нет желания перепаивать неправильно припаянный мотор.
* PPM Min и Max Throttle - отвечает за минимальный и максимальный сигнал газа
* Startup Beep Volume - громкость стартового сигнала. В версии прошивки 16.65 добавлена возможность изменения стартовой мелодии. Подробнее об этом написано [здесь](https://github.com/cleanflight/blheli-multishot/releases). Например, можно в качестве мелодии запуска установить имперский марш из Звёздных Войн или главную тему Игры престолов.
* Beacon Volume - громкость обнаруживающего сигнала. Когда моторы не крутятся некоторое время и регулятор не используется, он начинает напоминать о себе писком моторов.
* Beacon Delay - время бездействия, после которого включается обнаруживающий сигнал. При разработке он может хорошенько надоедать, поэтому его можно выставлять в бесконечность.

Самый левый мотор в списке моторов \(Multiple ESC\) считается главным \(мастер\). Нажимая на номера моторов, можно включать/выключать возможность записи в них настроек. После изменения необходимых параметров можно записать в нужные моторы настройки, нажав на кнопку Write Setup.

![](assets/BLHeliSuite ESC Setup Write Setup.png)

Для отображения настроек со всех регуляторов одновременно можно воспользоваться вкладкой ESC Overview.

#### Прошивка ESC регуляторов.

Файлы с прошивками регуляторов находятся [здесь](https://github.com/cleanflight/blheli-multishot).

Для перепрошивки регулятора отдельно, нужно сделать все остальные неактивными. Для перепрошивки нужно нажать на кнопку Flash BLHeli.

