Контроллеры Vesc с дисплеем LCD-8 и торксенсором.

Автор Mike 372, 12 Авг. 2023 в 00:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Mike 372

  Решил в отдельной теме подробно рассказать про свою практику с этими контроллерами. Контроллеры интересные и заслуживают внимания. Вообще Vesc — это целая линейка контроллеров разной мощности и конфигурации. Главные отличительные особенности этих контроллеров — удобная настройка всех параметров и режимов работы, а также открытый код прошивки и приложения для настройки. У меня в эксплуатации сейчас две модели Flipsky FSESC6.7 Mini  и Flipsky 75100. Про них и пойдет речь.
  FSESC6.7 Mini https://aliexpress.ru/item/1005003439517962.html?spm=a2g2w.orderdetail.0.0.3fee4aa6LKg3dW&sku_id=12000028411604229

Миниатюрный контроллер без корпуса. Просто плата с небольшим радиатором, имеет размеры 67x39x18,7 мм (включая радиатор). Из нее с одной стороны торчат два провода для подключения питания, с другой три фазных провода для подключения к двигателю. Провода 12AWG, это 3,3 мм2, в силиконовой изоляции длиной около 10 см, концы зачищены и облужены.  Для подключения периферии на плате есть 4 миниатюрных разъема. В комплекте есть шлейфик (6 пин) с ответным разъемом для подключения датчиков Холла. Другие разъемы придется приобретать самостоятельно. Разъемы общедоступные DS1066 с шагом контактов 2 мм розетка на кабель 4 и 8 пиновые. Продаются в «Чип и Дип» и других радиомагазинах, стоят копейки. Для подключения к компьютеру имеется стандартный разъем  microUSB. Характеристики для такой крохи заявлены впечатляющие: Рабочее напряжение от 14 до 60 В. Производитель рекомендует использовать LiPo батареи до 12S. У меня такой контроллер работает с батареей 13S. Второй сезон полет нормальный. Максимальный ток до 70 А постоянный, 200 А пиковый. Не уточняется, батарейный или фазный.  Оба можно настраивать на любое значение. Но по даташиту на мосфеты заявлен постоянный ток 250 А. Народ пишет, что при больших токах штатного радиатора не хватает. Надо его увеличивать, либо организовывать обдув. Я использую этот контроллер в щадящем режиме 20 А батарейный ток, 60 А фазный, без рекуперации. Даже в жару в закрытой коробке контроллер ощутимо теплый, но рука терпит.
  Flipsky 75100 https://aliexpress.ru/item/1005003336967904.html?spm=a2g2w.orderdetail.0.0.181c4aa6EVMS3M&sku_id=12000025287053521

Контроллер классического вида в ребристом корпусе с торчащими проводами. Размеры тоже весьма скромные 85х50,7х33,8 мм. Разъемы для подключения периферии такие же, как у  FSESC6.7 DS1066, висят на проводах, только количество пинов 7 и 8. Также есть microUSB для подключения к компьютеру и шлейфик с ответной частью под Холлы (6 пин) в комплекте. Рабочее напряжение от 14 до 84 В (LiPo батареи до 20S). Мосфеты и конденсаторы в нем до 100 В. Есть сообщения, что люди используют этот контроллер с батареей 22S. Максимальный ток до 100 А постоянный, 120 А пиковый. Мосфеты по даташиту на постоянный ток до 120 А.
  Все контроллеры Vesc могут работать как в режиме трапеции, так и синуса с векторным управлением (FOC), поддерживают работу без датчиков, с датчиками Холла, еще заявлены резольвер и какие-то энкодеры. Возможно. такой контроллер сможет крутить евромоторы. Управление газом можно выбрать ШИМ (классическое, в котором работает подавляющее большинство контроллеров), скорость (точнее обороты, контролируются пропорционально повороту ручки) и токовое (пропорционально повороту ручки контролируется фазный ток, этот режим лучше всего подходит для редукторного двигателя). Поддерживается торможение двигателем и рекуперация с настройками фазного тока и тока, отдаваемого в батарею. Контроллеры могут отслеживать температуру двигателя. Поддерживаются NTC, PTC термисторы, и KTY83/122. Настраиваются пороги температуры, по достижении которых контроллер автоматически снижает фазный ток и недопускает перегрева двигателя. Также контроллеры отслеживают температуру мосфетов. В настройках есть отслеживание температуры батареи. Но для этого в батарее должна стоять специальная BMS. Настраивается порог напряжения батареи, ниже которого контроллер начинает снижать мощность и позволяет в лайт режиме доехать до розетки, исключая отключение батареи при сильном разряде. Контроллеры имеют порты UART, к которому с помощью блютуз модуля можно подключить мобильный телефон для использования в качестве дисплея и доступа к настройкам. Есть штатные дисплеи, которые подключаются к тому же  UART кабелем. Но на мой взгляд они какие-то уродливые, малоинформативные и неудобные. Однако есть модификация со встроенным GPS приемником для измерения скорости и пробега. Самое интересное, есть прошивка, в которой реализован протокол популярных и очень удобных дисплеев серии КТ. Об этом подробнее будет дальше.
  Есть у этих контроллеров и недостатки.  :-(  Куда ж без них?  Идеал не достижим. Но к нему надо стремиться, и все решаемо.  ;-)  У этих контроллеров отсутствует штатное отключение питания (слаботочки). Нужно применять внешние устройства отключения, выдерживающие установленный батарейный ток. В магазине на Али есть готовые безискровые выключатели на разные токи как раз для работы с этими контроллерами. Цены на них не очень. Я использую для отключения вот такие автоматы.  https://aliexpress.ru/item/4000335853181.html?spm=a2g2w.orderdetail.0.0.7b704aa6mDskYA&sku_id=10000001377198005 Габариты у них небольшие, помещаются в коробку с контроллером, ни каких проблем с ними не наблюдалось. Проверял работу защиты, замыкая автомобильный аккумулятор. Отрабатывают мгновенно. К одному контроллеру я спаял безискровой выключатель сам. Но по цене он получился сравним с готовым китайским. Кстати, в более мощных версиях этих контроллеров отключение слаботочки уже предусмотрено.  Эти контроллеры в штатном исполнении не умеют измерять скорость от дополнительного датчика. Они вычисляют скорость по частоте вращения двигателя. Соответственно с редукторными моторами при движении накатом скорость и пробег замеряться не будут. Можно использовать штатный дисплей с GPS приемником. Умеет ли приложение для телефона использовать GPS для этих целей, я не знаю. С моей точки зрения это было бы логично. Ну и в модернизированной прошивке, которая работает с дисплеями КТ этот вопрос решен. Правда при использовании датчика температуры в моторе возникнет нехватка одного сигнального провода. В штатном кабеле почти всех моторов есть только один дополнительный провод. На него вешают либо датчик скорости, либо датчик температуры. В контроллера КТ эти датчики вешают параллельно на один провод. Здесь  используются разные входы и проводов нужно два. Но поскольку в этих контроллерах можно навалить фазный ток без риска сжечь обмотку, то у небольших моторов до 500 Вт штатные провода с этими контроллерами прилично нагреваются. Поэтому я безжалостно удалил из своих XF15 штатный кабель, проложил фазные максимального сечения, которые смог пропихнуть в ось, а сигнальные взял наоборот тоненькие, протянул их в пространстве между фазными и заложил на один провод больше. Для тех, кто не хочет так издеваться над своим мотором, можно установить внешний датчик на вилку колеса от простого велокомпьютера, или от кареточного мотора. Подойдет любой, и герконовый, и на основе датчика Холла.
  Контроллеры Vesc универсальные. Они подойдут к любому электротранспорту - самокату, велосипеду, скутеру и даже легкому мотоциклу. Их можно установить в различные скейты, электроролики, детский транспорт, различные модели и бытовые устройства. С помощью настроек можно легко сконфигурировать систему под любые задачи, наличие разных защитных систем позволяет использовать электромоторы на пределе возможностей, сведя к минимуму вероятность выхода оборудования из строя. Программное обеспечение позволяет в реальном времени отслеживать множество параметров, проводить диагностику, выявлять неисправности. А для тех, кто владеет навыками программирования, на этих контроллерах можно реализовать практически любые идеи по управлению, недоступные на стандартном оборудовании. Поскольку этот раздел посвящен электровелосипедам, то в этой теме будет обсуждаться использование этих контроллеров конкретно для них.  Установка такого контроллера на велосипед не представляет большой сложности для тех, кто дружит с паяльником и головой, ориентируется в электросхемах на начальном уровне. Огромного количества настроек, в которых на первых порах вообще ничего непонятно, пугаться не стоит. Для начинающих достаточно запустить мастера настройки, выбрать наиболее близкий из предложенных тип двигателя и задать конфигурацию батареи. Контроллер сам определит точные параметры двигателя и программа сконфигурирует основные настройки. С этими настройками уже можно будет нормально поехать. А дальше постепенно изучать возможности и настраивать контроллер под свои хотелки.
   Прошивка пока ни где не размещена. Желающим могу выслать по электронной почте или в Телеграм. Обращайтесь.

Mike 372

#1
Цитата: denon480 от 12 Авг. 2023 в 08:50Тема то что надо, давно присматриваю себе контроллер небольшого размера и уже был готов брать 75100 а тут ещё меньше у них есть оказывается, мне для моей батареи 25 ампер с головой хватит. И ещё, что будет если не отключать питание слаботочки?
Ничего страшного не произойдет, но будет понемногу высасывать батарейку. Как невыключенная лампочка габаритов.
Цитата: denon480 от 12 Авг. 2023 в 08:50FSESC6.7 Mini к нему можно подключить блютуз модуль?
Можно. Но тогда не выйдет подключить дисплей КТ, поскольку используется один и тот же интерфейс. В 75100 два UARTа. Теоретически должно получиться. У меня лежит такой модуль, но подключить и проверить руки так и не дошли. На дисплее есть все, что нужно во время поездки. И пользоваться им удобнее. Так что телефон не очень-то и нужен. Когда подбирал настройки, возил с собой ноут. Пользу от телефона вижу только для диагностики. Если в поездке что-то случится, можно будет подключиться и посмотреть. Но это случаи редкие.

RommT

Использую 75100 со 100в батареей, заменил в нём транзисторы на irfb4115, добавил большой плёночник в свободное место и убрал защитный стабилитрон на 84в. Использую на стартергенераторе на ДВС, соответсвенно токи выжимаю максимальные, настройки 250а пиковый ток, 130а фазный ток, 80а батарейный. Тянет, греется, максимум крутил минуту до перегрева. Мотор 6374 с ременным приводом. Контроллер очень интересный, куча настроек, его можно использовать как сервопривод с любым типом движков и самое главное он может выдавать высокий крутящий момент на моторе без Холлов! Настроить этот режим не просто, но возможно! Единственный минус это плохой режим ослабления поля, в Минике он лучше и это единственная причина почему продолжаю ездить на Минике. А тут открытый код, открытая схема, возможность ремонта и модернизации, можно купить задёшего и подключить мощную силовую часть на сотни ампер, отличная работа без Холлов, крутит и коллекторники и асинхронники и PMSM такие как от Лифа и им подобные. В следующие проекты закладываю эти контроллеры.
Говей МСМ5 14" - железный сейф на колёсике
электро-Ока
Самовар с подвесным МК - 6кВт на киловаттнике

Mike 372

#3
Приложение для настройки контроллеров VescTool можно скачать здесь https://vesc-project.com/vesc_tool На сайте нужно зарегистрироваться с почтой в домене .com. Регистрация на почту в домене .ru не принимается. Дальше выбрать вариант VescTool Free и добавить его в корзину. Можно выбрать и платную версию, если кто желает вознаградить разработчиков, но с оплатой из России скорее всего возникнут трудности. Насколько я понял, платные версии по функционалу ни чем не отличаются от бесплатных.Потом надо пройти стандартную процедуру оформления заказа, и на почту придут ссылки на скачивание приложений под разные ОС. Скачанные файлы нужно разархивировать. Приложение не устанавливается в систему, а просто запускается из папки. Контроллер подключается к ПК стандартным кабелем microUSB. Ни каких драйверов устанавливать не требуется. В VescTool нажимаем Autoconnect, приложение само находит порт, к которому подключен контроллер и подключается, о чем сообщает надписью в правом нижнем углу. Запускаем мастер настроек "Setup Motors FOC", в правой части экрана открывается окно мастера. На первой вкладке выбираем тип устройства Generic. Нажимаем Next. На следующей вкладке выбираем наиболее близкий тип мотора из предложенных. Для редукторного МК я выбрал Large Outrunner. На вкладке Battery нужно выбрать тип применяемых аккумуляторов, количество ячеек и емкость. Также имеет смысл установить галочку Advanced и установить максимально допустимый ток для батареи в режиме тяги и регенерации. На вкладке Setup задаются параметры редукции мотора, либо устанавливается галочка Direct Drive, диаметр колеса и количество полюсов мотора. Эти параметры используются для вычисления скорости. Поскольку в моей прошивке скорость измеряется по другому, то я здесь ничего не вводил. Дальше нажимаем кнопку Run Detection, программа выведет предупреждение, что будет крутить мотор, убеждаемся, что колесо вывешено и свободно вращается, и нажимаем ОК. Контроллер замеряет параметры мотора, раскручивает его в одну и в другую сторону, выводит результаты теста. Для нас представляют интерес вторая и последняя строчки. Motor Current - максимальный фазный ток, который контроллер запишет в настройки. При необходимости его потом можно изменить вручную. На моих моторах он получается вполне адекватный. В строчке Sensors надпись Hall Sensors означает, что контроллер увидел все Холлы и определил их позиции. Если в этой строчке будет надпись Sensorless, то это значит, что с Холлами какая-то проблема, контроллер не увидел адекватный сигнал и будет работать в безхолловом режиме. По сопротивлению можно оценить омические потери в проводах и обмотках, посчитать выделяемую на них мощность при разных токах. Ознакомившись с параметрами нажимаем ОК и переходим на последнюю вкладку. Здесь можно вручную запустить мотор в любую сторону. Если направление вращения не совпадает, можно включить реверс. Но я рекомендую поменять местами подключение двух любых фаз и пройти тест заново. При включении реверса некоторые настройки не применяются и мотор работает не всегда адекватно. По крайней мере такой эффект наблюдается в прошивке 5.02. Пофиксили это в следующих версиях, или нет, я не знаю. Если с направлением все нормально, нажимаем Finish. На этом настройка завершена, параметры записаны в память контроллера.
Спойлер
Снимок экрана в 2023-08-13 22-40-41.jpg
Снимок экрана в 2023-08-13 22-43-16.jpg
Снимок экрана в 2023-08-13 22-44-27.jpg
Снимок экрана в 2023-08-13 22-45-04.jpg
Снимок экрана в 2023-08-13 22-46-55.jpg
Снимок экрана в 2023-08-13 22-52-35.jpg

Mike 372

#4
После теста мотора рекомендую зайти на вкладку Motor Settings - General - Advanced и установить диапазон рабочего напряжения Minimum Input Voltage  и Maximum Input Voltage. Это минимальное и максимальное напряжение батареи, при которых будет работать мотор. Минимальное напряжение рекомендуется ставить чуть выше срабатывания BMS. Максимальное можно ставить с небольшим запасом, чтобы не возникло казуса, что из-за погрешности измерения контроллер не включит мотор на полностью заряженной батарее. Я не могу придумать случая, когда оно может превыситься. У меня контроллер почему-то определяет напряжение батареи ровно на 1 В меньше реального. Поэтому я установил нижний предел 38 В. Чтобы новые значения записать в память контроллера, надо на вертикальной панели справа нажать кнопку М со стрелочкой вниз. Все настройки мотора можно сохранить на компьютере File - Save Motor Configuration. Это может пригодиться например, чтобы после разных опытов с настройками быстро восстановить рабочую конфигурацию. Достаточно открыть файл настроек и нажать на панели справа кнопку М со стрелочкой вниз. И еще нужно настроить параметры для ручки газа. Можно запустить мастер Setup Input. Что в нем нужно делать, я точно не знаю. Я настраиваю вручную. Там все очень просто. Нужно зайти на APP Settings - General, в строчке App to Use выбрать способ управления ADC или ADC and UART, если используется дисплей или блютуз модуль, и перейти на появившийся в дереве настроек пункт ADC. На вкладке APP Settings - ADC - General в строчке Control Type выбираем способ управления Current или Duty Cicle, переходим на вкладку APP Settings - ADC - Mapping. На вертикальной панели справа нажимаем кнопку RT APP. Внизу на линейных индикаторах появятся напряжения на входах CH1 и CH2. CH1 - это вход, к которому подключается ручка газа. При отпущенной ручке индикатор должен показывать минимальное напряжение. В строчке ADC1 Min Voltage нужно установить значение чуть выше показаний индикатора. Затем провернуть ручку до максимума, отметить максимальное напряжение и в строчке ADC1 Max Voltage установить значение равное или чуть ниже максимального напряжения с ручки. Строчка Input Deadband определяет диапазон холостого хода ручки. Значение по умолчанию в 15% на мой взгляд слишком много. Я ставлю 1%. После этого надо записать новые значения в контроллер, нажать на вертикальной панели справа кнопку А со стрелочкой вниз. Настройки управления тоже можно сохранить на компьютере File - Save App Configuration. И можно ехать.  :el10:
Спойлер
Снимок экрана в 2023-08-13 23-40-19.jpg
Снимок экрана в 2023-08-13 23-00-20.jpg
Снимок экрана в 2023-08-17 23-34-00.jpg
Снимок экрана в 2023-08-13 23-14-00.jpg

7ambrion

Цитата: Mike 372 от 14 Авг. 2023 в 00:07в ближайшее время я планирую удалить малоинформативные сообщения
было бы классно в одном посте увидеть конкретный список всех плюсов и минусов перехода с КТ на этот варик )) а так же конкретный список всего что для этого необходимо )

в общем нужна какая то наглядная инфа отображающая где в возможностях убудет, где прибудет )) а так же ориентировочные цифры давления на карман ))

зы этот пост можно удалить сразу после прочтения )
Все сказанное выше является мнением

Mike 372

#6
Всех плюсов выдать не смогу. :ah:  Не было у меня КТ, не с чем сравнить. Минус пока вижу только один - отсутствие выключения питания на борту. Это решаемо, в первом посту я об этом уже писал. Но чтобы реализовать включение контроллера от штатной кнопки дисплея, придется спаять мою схему безыскрового выключателя. Когда дойдем до схем, я ее опубликую. Готового решения я не нашел. Еще придется немного повозиться с нестандартными разъемами и подключением периферии. Хотя, я это минусом не считаю. Просто техническая особенность. Первые плюсы - это диапазон питающего напряжения и тока, габариты, токовое управление, удобная настройка с компьютера или телефона. Самый жирный плюс - поддержка торксенсора. Следующим этапом я буду описывать доступные настройки. Можешь сам сравнить. Если аналогичного пункта в КТ не будет, можно считать это плюсом. И подскажи, в КТ есть какое-то самообучение или автоопределение соответствия фаз и Холлов, или надо методом перебора искать правильную комбинацию?
Про карман. Ссылки на контроллеры я привел. В минимальной конфигурации больше ничего и не надо. Дисплей у тебе скорее всего есть. Всякую мелочь вроде разъемов, клеммников, резисторов, думаю, считать нет смысла. Выключатель. На самый простой тоже дал ссылку. Безыскровой можно найти в том же магазине, где и контроллер. Это несложно. Выключатель по моей схеме у нас обойдется примерно как покупной. Почем в вашей галактике мощные мосфеты, я не знаю.  :pardon: Бывают еще BMS с выключателем.

7ambrion

Цитата: Mike 372 от 14 Авг. 2023 в 20:09в КТ есть какое-то самообучение или автоопределение соответствия фаз и Холлов, или надо методом перебора искать правильную комбинацию?

в моей практике взаимодействия с КТ никогда не возникало в этом необходимости ) в штекерах каждый раз все совпадало ) а если вдруг у кого то когда то вдруг не совпадет, что будет весьма странно, то самообучения, насколько знаю, нет )

Цитата: Mike 372 от 14 Авг. 2023 в 20:09чтобы реализовать включение контроллера от штатной кнопки дисплея, придется спаять мою схему безыскрового выключателя.

Без этого я просто поворачиваю ключ на батке, который ее включает, и сразу все работать будет без необходимости жать еще и кнопку? ))

И тогда получается нужен только контроллер + разьемы + торк сенсор, при условии что экран уже есть?! )))
Все сказанное выше является мнением

Mike 372

Цитата: 7ambrion от 15 Авг. 2023 в 06:01Без этого я просто поворачиваю ключ на батке, который ее включает, и сразу все работать будет без необходимости жать еще и кнопку? ))

И тогда получается нужен только контроллер + разьемы + торк сенсор, при условии что экран уже есть?! )))
Кнопку на дисплее все равно жать придется, чтобы включить дисплей. При подаче питания он сам не включается.
Нужны еще делители из 2-х резисторов на вход от дисплея, на ручку газа. Напряжения не совпадают. На трехпозиционный переключатель скорости, если он нужен, тоже два резистора. На остальные входы - от датчика скорости, тормозных ручек и кнопки круиза я поставил фильтры из резистора и конденсатора. Без них возможны наводки. Все эти детали установил на макетной плате. На ней же установил винтовые клеммники для подключения всех проводов. Для работы с торксенсором нужна еще будет плата Ардуино.

Mike 372

#9
Пройдемся по настройкам контроллеров. Настроек очень много. Я изучил не все пункты. Буду писать про те, что знаю, и которые представляют интерес. Которые не изучал, буду просто пропускать. Незнакомые настройки можно не трогать и оставлять значения по умолчанию. Все настройки разделены на 2 части: Motor Settings - настройки относятся к режимам работы мотора. App Settings - настройки входов и обработка сигналов управления. Настройки каждого раздела можно загружать из контроллера в приложение и обратно, сохранять в файл, открывать из файла. В любом пункте есть кнопка чтения данного параметра из контроллера, кнопка отката на значение по умолчанию и кнопка с описанием.
Motor Settings - General - General
  Motor Type - определяет режим работы двигателя. BLDC - обычный режим трапеции, FOC -  синусный режим с векторным управлением. DC - для управления
  простым коллекторным двигателем.
  Invert Motor Direction - включает реверс.
Motor Settings - General - Sensors
  Sensor Port Mode - выбирает тип датчиков положения ротора. Для нас актуален только первый пункт Hall Sensors.
Motor Settings - General - Current
  Motor Current Max - ограничение фазного тока в режиме движения.
  Motor Current Max Brake - ограничение фазного тока в режиме торможения двигателем.
  Absolute Maximum Current - величина тока, при превышении которой мотор отключается и выставляется ошибка. Реагирует на импульсные помехи,
  поэтому выставляется значительно больше рабочего тока.
  Battery Current Max - максимальный ток, который контроллер будет брать от батареи.
  Battery Current Max Regen - максимальный ток регенерации.
Motor Settings - General - Voltage
  Battery Voltage Cutoff Start - Напряжение, при котором контроллер начинает снижать мощность.
  Battery Voltage Cutoff End - Напряжение, при достижении которого контроллер перестает выдавать мощность в мотор.
  Эти настройки используются для уменьшения мощности при разряде батареи, чтобы доехать до розетки, если не рассчитал. Внизу есть калькулятор.
  В нем можно выбрать тип аккумуляторов и количество ячеек. Калькулятор выдаст рекомендуемые напряжения для этих настроек. При нажатии кнопки
  Apply значения этих напряжений скопируются в соответствующие строчки.
Motor Settings - General - RPM
  Max ERPM - Ограничение максимальных оборотов ротора. Это электрические обороты. Они как-то рассчитываются из количества фаз и полюсов мотора.
  MAX ERPM Reverse - отдельная настройка ограничение максимальных оборотов в режиме реверса.
  ERPM Limit Start - % от Max ERPM, при котором контроллер начинает снижать мощность, чтобы более плавно подойти к заданной величине оборотов.
Motor Settings - General - Wattage
  Maximum Wattage - ограничение максимальной мощности при разгоне. По умолчанию установлено очень большое значение, что означает отсутствие
  ограничений.
  Maximum Braking Wattage - ограничение максимальной мощности при торможении.
Motor Settings - General - Temperature
  Motor Temperature Sensor Type - задает тип датчика температуры в моторе. Поддерживаются NTS и PTC термисторы, сенсоры KTY, термосопротивления PT1000.
  Beta Value for Motor Thermistor - параметры используемого термистора.
  Coefficient for PTC Motor Thermistor - параметры используемого термистора.
  Custom NTC/PTC Resistant - параметры используемого термистора.
  Custom NTC/PTC Base Temperature - параметры используемого термистора.
  Acseleration Temperature Decrease - на эту величину уменьшается верхний предел температуры мотора в режиме разгона с целью оставить запас по перегреву
  для режима торможения.
  MOSFET Temp Cutoff Start - температура мосфетов, при достижении которой контроллер начинает ограничивать мощность.
  MOSFET Temp Cutoff End - температура мосфетов, при достижении которой выходная мощность контроллера становится равно 0.
  Motor Temp Cutoff Start - температура мотора, при достижении которой контроллер начинает ограничивать мощность.
  Motor Temp Cutoff End - температура мотора, при достижении которой выходная мощность контроллера становится равно 0.
Motor Settings - General - BMS
  Если в батарее установлена специализированная BMS, то на этой вкладке настраиваются параметры для взаимодействия с ней.
Motor Settings - General - Advanced
  Minimum Input Voltage - минимальное рабочее напряжение. Ниже этого предела контроллер не будет включать мотор.
  Maximum Input Voltage - максимальное рабочее напряжение. Выше этого предела контроллер не будет включать мотор.
  Minimum Duty Cicle - минимальный коэффициент заполнения ШИМ.
  Maximum Duty Cicle - максимальный коэффициент заполнения ШИМ.
  Minimum Current - минимальный фазный ток, который контроллер выдает в мотор при самом минимальном уровне газа.
Спойлер
2023-08-15 10_31_37-Window.jpg2023-08-15 10_31_28-Window.jpg2023-08-15 10_48_09-Window.jpg2023-08-15 12_15_15-Window.jpg2023-08-15 12_25_47-Window.jpg2023-08-15 12_45_14-Window.jpg2023-08-15 13_26_28-Window.jpg2023-08-15 13_37_01-Window.jpg

Mike 372

#10
Следующий раздел Motor Settings - FOC.
Motor Settings - FOC - General
  Sensor Mode - Sensorless - работа без датчиков, Hall Sensors - работа с датчиками Холла. Еще есть Encoder, HFI, VSS, 45 Deg V0V7 HFI (Silent), 45 Deg V0 HFI,
  Coupled V0V7 HFI (Silent), Coupled V0 HFI. Что они из себя представляют, я не разбирался.
  В следующих строчках идут параметры мотора, которые контроллер определил при тесте и какие-то рабочие коэффициенты. Внизу есть панель, из которой
  можно запустить повторное измерение этих параметров. Нужно последовательно нажимать кнопки со стрелочками вправо. Поля с измеренными параметрами
  становятся зелеными. Когда зелеными станут все поля, можно нажать кнопку Applay, тогда новые параметры скопируются в настройки.
Motor Settings - FOC - Sensorless
  Большое количество параметров для настройки режима без датчиков. С этим разделом я не разбирался. Несколько раз включал такой режим.
  Все настройки оставлял по умолчанию. Немного подергивался при старте, а потом ехал нормально.
Motor Settings - FOC - Hall Sensors
  Sensorless ERPM - электрические обороты роторы,по достижении которых контроллер переходит на бездатчиковый режим работы.
  Ниже идут положения каждого Холла. Эти параметры определяются во время теста.
  Внизу есть панель, из которой можно запустить повторное определение этих параметров. Тест запускается нажатием кнопки с изображением треугольника в
  кружочке (значок Play). Если по окончании теста нажать кнопку Applay, то новые параметры скопируются в настройки.
Motor Settings - FOC - Field Weakening
  На этой вкладке настраивается режим ослабления поля. Я этот режим не использую, с настройками не разбирался.

Раздел Motor Settings -  PID Controllers.
  Speed Controller - параметры ПИД регулятора в режиме ограничения оборотов. Здесь представляет интерес пункт Ramp ERPMs Per Second. Этот параметр
  определяет скорость набора оборотов или плавность разгона. Чтобы полностью снять ограничение, его надо установить в -1. В редукторном моторе при -1
  появляются неприятные удары.

Раздел Motor Settings - Additional Info.
Motor Settings - Additional Info - Setup
  Motor Poles - количество полюсов мотора.
  Gear Ratio - передаточное число редуктора (для редукторных моторов).
  Whell Diameter - диаметр колеса.
  Battery Type - тип используемых аккумуляторов.
  Battery Cells Series - количество последовательно соединенных элементов в батарее.
  Battery Capacity - емкость батареи
  Motor No Load Current - ток холостого хода мотора.
  Первые три параметра используются только для вычисления скорости из оборотов мотора. На работу ни как не влияют. Остальные пункты, в том числе и в других
  вкладках этого раздела, чисто информационные, вроде памятки.
Спойлер
Снимок экрана в 2023-08-15 23-04-36.jpg Снимок экрана в 2023-08-15 23-05-08.jpg Снимок экрана в 2023-08-15 23-57-05.jpg 2023-08-16 08_30_39-Window.jpg

Mike 372

#11
Переходим к App Settings.
Раздел App Settings - General.
App Settings - General - General
  APP to Use - тип подключаемой периферии. Все пункты перечислять не буду. Там много разных вариантов. Я их не изучал. Только актуальное. ADC - активация
  аналоговых  входов. Аналоговых входов два. На ADC1 подключается ручка газа, на ADC2 опционально датчик тормоза. У Vesc 6.7 есть еще вход ADC3, но в
  настройках он ни где не фигурирует. Вероятно резервный. UART - активируется интерфейс для связи с дисплеем или блютуз модулем. PAS - эта опция появилась
  недавно. Заявляется поддержка датчиков PAS, при выборе появляется вкладка с соответствующими настройками. Я эту опцию не проверял, как подключается
  датчик, не знаю. Возможны комбинации ADC and UART, ADC and PAS. Для нас актуален вариант ADC and UART.
App Settings - ADC - General
Control Type - режим управления двигателем через аналоговые входы. Основных режимов три:
  Current - пропорционально уровню сигнала на ADC1 меняется   фазный ток от  Minimum Current до Motor Current Max.
  Duty Cycle  - пропорционально уровню сигнала на ADC1 меняется коэффициент заполнения ШИМ от Minimum Duty Cicle до Maximum Duty Cicle.
  PID Speed - пропорционально уровню сигнала на ADC1 меняются обороты двигателя от Minimum ERPM до Max ERPM.
В комбинации с этими режимами   возможны дополнительные  функции - реверс от кнопки, торможение двигателем с управлением по ADC2. Есть поддержка ручки газа со средним положением. Поворот ручки назад может активировать реверс либо  торможение.
  Use Filter - включает фильтр нижних частот для подавления шума по входам. Пишут, что приводит к небольшой задержке.
  Safe Start - блокирует запуск мотора, если контроллер включен с выкрученной ручкой газа или при возникновении ошибок.
  Update Rate - скорость опроса входов.
  Positive Ramping Time - постоянная времени нарастания сигнала. Другими словами - функция плавного старта.
  Negative Ramping Time - постоянная времени затухания сигнала. Другими словами - функция плавного сброса газа.
  Button Inputs - разрешает подключение кнопок круиз-контроля, может инвертировать сигналы с кнопок круиз-контроля и реверса.
  У этих контроллеров ограниченное количество входов. Поэтому не во всех режимах могут быть доступны все функции. В конце поста приведена табличка
  режимов с перечислением доступных функций и назначением каждого входа.
App Settings - ADC - Mapping
  Input Deadband - устанавливает мертвую зону для входных сигналов. Вероятно относится ко всем входам сразу.
  ADC1 Start Voltage - минимальный уровень сигнала ручки газа.
  ADC1 End Voltage - максимальный уровень сигнала ручки газа.
  ADC1 Center Voltage - устанавливает среднюю точку при использовании ручки со средним положением.
  Invert ADC1 Voltage - инвертирует сигнал ручки газа.
  ADC1 Abs Min Voltage - блокирует двигатель при снижении напряжения на входе ниже этого уровня. Защита для ручки со средним положением, если она вдруг
  выдаст сигнал ниже минимума, например при обрыве провода. Рекомендуется устанавливать на 10-20% ниже ADC1 Start Voltage.
  ADC1 Abs Max Voltage - блокирует двигатель при повышении напряжения на входе выше этого уровня. Защита, если ручка вдруг выдаст сигнал выше максимума.
  Например при обрыве минусового провода. Устанавливается на 10-20% выше ADC1 End Voltage. У контроллеров Vesc 6.7 и 75100 максимальное напряжение, которое способен
  определить вход 3,3 В. Выше он физически не способен зафиксировать. Поэтому нельзя устанавливать этот параметр выше 3,3 В. Рекомендуется использовать делитель напряжения, чтобы
  максимальный сигнал с ручки был в пределах 3-3,1 В.
  ADC2 Start Voltage, ADC2 End Voltage, ADC2 Center Voltage, Invert ADC2 Voltage - аналогичные функции для входа ADC2. Этот вход используется в некоторых
  режимах для регулировки степени торможения двигателем от отдельного органа управления.
  Внизу этой вкладки расположены индикаторы, которые при подключении к контроллеру могут показывать напряжение на входах ADC1 и ADC2. Для их активации
  нужно на вертикальной панели справа нажать кнопку RT APP.
App Settings - ADC - Trottle Curve. На этой вкладке можно изменять кривые отклика для ручки газа и для сигнала тормоза.
App Settings - UART. В этом разделе можно настраивать скорость обмена для интерфейса связи.



Спойлер
Снимок экрана в 2023-08-17 22-48-53.jpg
Снимок экрана в 2023-08-17 22-49-50.jpg
Снимок экрана в 2023-08-17 22-50-06.jpg
Снимок экрана в 2023-08-17 22-50-47.jpg

Mike 372

#12
Еще один интересный раздел Data Analisis. Это диагностический раздел. Я пока разобрался только с одним пунктом Realtime Data. С помощью этого инструмента контроллер можно превратить в диагностический стенд. Здесь можно в цифровом и графическом виде наблюдать в реальном времени все параметры мотора. Для активации получения параметров нужно на вертикальной панели справа нажать кнопку RT. Вкладка Current - отображает на графиках батарейный и фазный токи, Temperature - температуру мотора и мосфетов, RPM - электрические обороты ротора (ERPM), FOC - токи и напряжения по отдельным фазам, Rotor Position - положение ротора, сигналы с датчиков Холла. Внизу все параметры представлены в цифровом виде. На форуме постоянно возникают вопросы типа: мотор не работает, мотор дергается, вырубается на ходу, не набирает скорость. Спрашивают, в чем может быть причина, что делать, как проверить? При этом возможностей для проверки практически нет. Все приходится делать вслепую, предполагать и проверять косвенными методами, либо последовательной заменой узлов. Часто не знаешь, что человеку и посоветовать. В лучшем случае отдельные контроллеры пишут на экране код ошибки, но не для всех моделей известны их расшифровки. Некоторые просто моргают светодиодом.  :facepalm:  С Vesc подключившись компьютером или телефоном можно сразу увидеть полную картину происходящего и легко выявить почти любую неисправность.

7ambrion

Цитата: Mike 372 от 18 Авг. 2023 в 07:18С Vesc подключившись компьютером или телефоном можно сразу увидеть полную картину происходящего и легко выявить почти любую неисправность.
классно, а графики выводятся только от происходящего в реальном времени или и логи ведутся, то есть можно смотреть график, например, дороги к компу тоже? ))
Все сказанное выше является мнением

Mike 372

#14
Вот на счет логов не знаю. Не разобрался. Какие-то логи в приложении фигурируют. Но как их включать, смотреть, я не понял. Приложение, подсказки и весь мануал на английском. На официальном сайте есть форум. Я английским почти не владею.  :sorry: А сидеть и кропотливо разбираться или переводить Яндексом не хватает времени. Боюсь, что в самом контроллере для такого просто не хватит памяти. А вот в смартфоне такое реализовать вполне реально. Надо изучать Андроид версию.

Нашел логи в Windows версии. Data Analisis - Realtime Data - Log. При установке  галочки Enaible Logging пишется файл .csv в указанную папку. Потом его можно открыть на вкладке Data Analisis - Log Analysis и воспроизвести выбранные параметры на графике. Работал в старой версии VescTool 3.00. Потом посмотрел новую версию 6.02, а там вкладка Data Analisis - Realtime Data - Log отсутствует. А вкладка Data Analisis - Log Analysis есть, логи открывает, графики показывает. Правда 6.02 я запускал без подключения к контроллеру. Возможно вкладка Log просто скрывается.
Еще в нижней цифровой панели в Data Analisis - Realtime Data есть счетчики А/ч и Вт/ч, потребленных из батареи и отданных в режиме торможения.

Mike 372

#15
Подключение контроллера. Самый простой и доступный способ, как предлагается на страничке магазина. Ручка газа и тормоза запитываются от 3,3 В. Ответный разъем можно приобрести в магазине Чип и Дип. Для 75100 это DS1066-07F(MU-7F), Розетка на кабель 7pin шаг 2.00 мм с контактами. Ссылка Для Fsesc 6.7 DS1066-08F(MU-8F), Розетка на кабель 8pin шаг 2.00 мм с контактами Ссылка Контакты мелкие, с заделкой проводов придется повозиться. По идее их надо обжимать специальным инструментом. Но маловероятно, что он у кого-то имеется. Я зачищаю и залуживаю кончик провода, обрезаю его до 1-1,5 мм. В контакт капаю чуть-чуть жидкой канифоли, вкладываю туда кончик провода и припаиваю. Для паяльной станции с тонким жалом такое вполне вполне доступно. Потом обжимаю торчащие ушки контакта утконосами. Припой на жало надо брать минимум и внимательно следить, чтобы он не затек в рабочую часть контакта. Иначе такой контакт пойдет на выброс. На штырь разъема он не наденется, удалить оттуда припой уже не получится. Цена разъемов копеечная. Рекомендую сразу купить два разъема, чтобы в случае чего иметь запас контактов.

Газ_тормоз 3,3 В.jpg

Однако не все ручки нормально работают от 3,3 В. И внутренний стабилизатор в контроллере на 3,3 В достаточно маломощный, рассчитан только на питание процессора. У людей были случаи выгорания стабилизатора а вслед за ним и процессора при использовании этого источника для питания периферии. Поэтому я рекомендую использовать стандартные +5 В. Но входы контроллера рассчитаны на напряжение до 3,3 В, а ручки обычно выдают до 4,2 В. Поэтому перед входом нужно установить делитель напряжения из двух резисторов. Параметры делителя надо подобрать таким образом, чтобы максимальное выходное напряжение было 3-3,1 В и остался запас для срабатывания защиты от обрыва минусового провода. Этим устраняется еще один нюанс. Если обрывается сигнальный провод, то на свободном входе контроллера возникает напряжение около 1,5 В, и мотор начинает работать на половинной мощности. Резистор 1 кОм в делителе убирает это паразитное напряжение полностью. Поэтому его желательно устанавливать поближе к контроллеру. В Fsesc 6.7 я припаял SMD резисторы на каждый вход прямо к контактам разъема с обратной стороны платы.

Газ_тормоз 5 В.jpg

Задавали вопрос по подключению двухпиновых датчиков тормоза. В двухпиновых датчиках используется геркон либо концевик, контакты которого обычно замыкаются при нажатии на тормоз. Для включения режима торможения нам нужно получить на входе напряжение, отличное от 0 и не выше 3 В. На помощь опять придет делитель напряжения. Настраиваем второй вход ADC2 Start Voltage чуть выше нуля, ADC2 End Voltage равное или чуть выше напряжения при нажатой ручке. Если контакты в ручке при нажатии на тормоз размыкаются, надо включить функцию  Invert ADC2 Voltage. Естественно с такой ручкой тормозное усилие будет всегда постоянным. Регулируем его ограничением фазного тока Motor Current Max Brake.

Газ_тормоз 2 pin 5 В.jpg

Силовые провода я подключил с помощью вот таких клеммных колодок

Для подключения Холлов в комплекте идет вот такой шлейфик. 09_08_24.jpg Я оставил разъем, который подключается к контроллеру, второй отрезал, а провода спаял с проводами, идущими от мотора. Белый провод используется для датчика температуры. Если в моторе к белому проводу подключен датчик скорости, то его просто не надо сращивать с проводом шлейфа. Но рекомендую все таки датчик температуры установить. Соблазн прибавить фазного тока и увеличить динамику разгона будет большой.  ;-)   А именно большой фазный ток хорошо нагревает обмотки.


Mike 372

#16
Чтобы не подвешивать резисторы на проводах в виде соплей, можно установить их на макетной печатной плате. Заодно упрощается подключение периферии. Плата подойдет например вот такая. Плата макетная односторонняя 30 х 70 мм ( Шаг: 2.54 ).
Ссылка
У макетной платы шаг между отверстиями 2,54 мм. Поэтому штатные разъемы на нее не установить. Придется приобрести их аналоги. CHU-8 (DS1069-8 F), Розетка кабельная с контактами 2.50мм
Ссылка
Этот разъем устанавливаем вместо штатного на провода с пометкой Comm (75100) или на переходной шлейф (6.7). У 75100 7 проводов, один контакт останется свободным. На плату с одного края паяем ответную часть CWF-8 (DS1069-8 M), Вилка на плату 2.50мм 8pin прямая закрытая
Ссылка
А с другого паяем вот такие клеммники. DG308-2.54-02P-14-00AH (308-021-14), Клеммник винтовой, 2-контактный, 2.54мм, прямой
Ссылка Ссылка
Клеммники лучше набрать по количеству входящих проводов. В один такой клеммник нормально заходит один облуженный провод. Два с трудом. Да и обслуживать потом будет удобнее. Например для ручки газа ставим трехконтактный, для тормозной ручки с двухпиновым датчиком двухконтактный, для блютуз модуля два двухконтактных. Можно сразу установить клеммники для подключения фары и стоп-сигнала, кнопки круиз-контроля (В режиме ADC and UART кнопка круиз-контроля подключается к входу PPM. Его тоже нужно завести на плату с помощью трехконтактных разъемов. Ссылка Ссылка). Между клеммниками и разъемом распаиваем резисторы, опционально диодную развязку и ключ для стоп-сигнала и все соединяем перемычками. В плате можно просверлить отверстия под винты и закрепить ее в коробке рядом с контроллером на стойках.
Ссылка Ссылка
Пример разводки платы:

Mike 372

#17
Теперь по доработанной прошивке. Эту прошивку по моей просьбе доработал и собрал коллега по работе. За что ему большая благодарность. Прошивка версии 5.2 под VescTool версии 3.00. Я пробовал подключаться к своим контроллерам и с новым VescTool 6.02. Работает, все настраивается. Только не активны поля настроек новых функций, которые появились в следующих версиях. Таковых не много. Из интересного пожалуй только ослабление поля. Прошивки под 75100 и 6.7 разные. Набор функционала в них совершенно одинаковый. Функционал разрабатывался для управления электровелосипедом с редукторным мотором.
   Самый главный пункт, это поддержка популярных дисплеев КТ. Дисплей подключается к порту UART (COMM). Отображаются все функции, которые есть на дисплее.  Напряжение батареи в Вольтах и степень заряда батареи в кубиках - 6 уровней (4 кубика, пустая рамка и мигающая рамка. При пороговом значении каждого уровня соответствующий кубик тоже мигает.), скорость (измеряется от внешнего датчика), мощность, температура мотора и окружающей среды (есть датчик внутри дисплея), включается значок тормоза, при включении соответствующего режима появляются надписи "Cruise", "Throttle", "Assist". Ну и сам по себе дисплей умеет отображать время в пути (показывает, как время  одной поездки(ТМ), так и общее время в пути (ТТМ)); запоминает максимальную скорость (MXS) и вычисляет среднею скорость одной поездки  (AVS)); отображает пройденный путь (показывает   дистанцию одной поездки (DST) и общий пройденный путь (ODO). На мой взгляд LCD-8 лучший по функционалу, красивый и удобный велодисплей. Для такого навороченного контроллера он подходит лучше всего.

   Поддержка трехпозиционного переключателя скорости. Для каждого уровня можно задать ограничение оборотов ERPM. Для первого уровня можно дополнительно ограничить фазный ток. Переключатель подключается через резистивный делитель ко входу ADC2. Функция управления торможением двигателем с ADC2 перенесена на ADC3. В 75100 вход ADC3 вообще отсутствует. Так что эта функция будет недоступна. В 6.7 вход ADC3 имеется. Но работоспособность я не проверял. По прежнему возможен вариант подключения к ADC1 ручки со средним положением.
   Функция "Умный круиз" - включается и выключается кнопкой по входу SWCLK. Включается только во время движения, поддерживает заранее установленную скорость. При нажатии на тормоз мотор отключается, при отпускании возвращается к круизу. Автоотключение круиза происходит, если скорость снижается ниже 8 км/ч. Не отключается при активности ручки газа, что позволяет при необходимости рвануть и побыстрее проскочить какой-то участок. При отпускании ручки остается скорость круиза. Причем сигнал ручки плюсуется к уровню круиза. То есть ручка начинает работать сразу по выходу из мертвой зоны, а не с середины, когда сигнал ручки превысит уровень, соответствующий скорости круиза. Скорость задается через VescTool. Можно задать два разных значения скорости для 1-2 и 3 уровня трехпозиционного переключателя. Например у меня настроены ограничения скорости 1 уровень 13, второй 25 км/ч. Скорость круиза на 1-2 уровне 18 км/ч, на 2 уровне 25 км/ч. Таким образом я получаю три разных скорости круиза. На 1 уровне скорость не может превысить ограничения и поддерживается 13 км/ч, на 2 уровне 18 км/ч и на 3 уровне 25 км/ч. 1 уровень я использую для езды по сильно пересеченной местности или для закатывания велосипеда в горку пешком. Ограничение скорости и тока позволяет точно регулировать газ. Велосипед не вырывается из рук и не встает на дыбы при случайном повороте ручки на максимум. Это гораздо удобнее стандартного режим "Пешеход".
   Защита от обрыва минусового провода. В последующих версиях эта функция уже появилась. А в 5.02 ее еще не было. Настроек под нее не предусмотрено. Мотор отключается, если уровень сигнала с ручки на 10 % превысит максимально установленный при калибровке (ADC1 End Voltage).
   Отключение мотора при нажатии на тормоз. Датчик тормоза подключается к дискретному входу SWDIO.
   Внешний датчик скорости подключается к входу PPM. Может работать как с открытым коллектором датчика Холла, так и с герконовым датчиком.
   Прошивка заливается в контроллер очень просто. В VescTool открываем вкладку Firmware - Custom File, нажимаем на значок с папочкой, в появившемся окне указываем путь к файлу прошивки и внизу нажимаем кнопку со стрелочкой вниз. Слева от кнопки в черной строке начнется индикация процесса. Процесс длится 5-10 сек. По окончании контроллер сам перегружается. Точно также всегда можно откатиться на штатную прошивку. Она встроена в VescTool. Открываем вкладку Firmware - Included Files, в поле Hardware Version выбираем версию под свой тип контроллера и нажимаем кнопку со стрелочкой вниз. Контроллер 75100 прошивается версией 75_300, 6.7 прошивается версией 60. При обновлении прошивки все настройки слетают. Поэтому перед прошивкой нужно считать настройки из контроллера в программу (на вертикальной панели справа нажать кнопки М со стрелочкой вверх и А со стрелочкой вверх) и сохранить их в файлы  (File - Save Motor Configuration и File - Save App Configuration). После перепрошивки подключаемся к контроллеру, открываем сохраненные в файл настройки (File - Load Motor Configuration и File - Load App Configuration) и загружаем их в контроллер (на вертикальной панели справа нажимаем кнопки М со стрелочкой вниз и А со стрелочкой вниз). Все.