Контроллер VESC, FLIPSKY

Автор Said, 14 Дек. 2018 в 21:21

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

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

RommT

Китаец скинул прошивку 6.02, и внезапно в ней оказались более правильные коэффициенты чем с завода, мотор закрутился гораздо лучше. Причём на двух экземплярах по разному. Всё таки надо собирать индивидуально параметры прошивки для каждого контроллера, по этому и горят.
Говей МСМ5 14" - железный сейф на колёсике
электро-Ока
Самовар с подвесным МК - 6кВт на киловаттнике

РД00

Цитата: RommT от 07 Янв. 2026 в 04:04собирать индивидуально параметры прошивки
Сами не собираете fw ? Hwconf под 100300 вижу - https://github.com/vedderb/bldc/tree/master/hwconf/makerbase/100_300_HP

Mike 372

Может достаточно калибровки опорного напряжения, как в ANT BMS?

дотошный_крендел(ь)

Цитата: RommT от 05 Янв. 2026 в 21:46Всё больше склоняюсь к варианту собрать свой на быстрой комплектухе и с компараторами.
на готовой PCB или своей?

RommT

Цитата: РД00 от 07 Янв. 2026 в 05:09Сами не собираете fw ? Hwconf под 100300 вижу - https://github.com/vedderb/bldc/tree/master/hwconf/makerbase/100_300_HP

Для B100_300_G2 прошивка есть на Гитхабе Макербейса - https://github.com/makerbase-motor/bldc/tree/master/hwconf/makerbase/B100_300_G2

Проверил, собирается и работает. Измеряет сопротивление немного меньше чем на той прошивке, какую прислал китаец с Алика.
6.06 только сегодня получилось собрать, почему то в начале упорно собиралась 6.02. Но я первый раз вообще это делаю, ещё не разобрался как этим гитом пользоваться.

Цитата: дотошный_крендел(ь) от 08 Янв. 2026 в 16:28на готовой PCB или своей?

В начале на готовой от горелых 75100 которых уже несколько есть, с отдельной силовухой на 30шт IRFP4568, а там посмотрим. В идеале конечно фазовые шунты внедрить и компараторы.
Говей МСМ5 14" - железный сейф на колёсике
электро-Ока
Самовар с подвесным МК - 6кВт на киловаттнике

RommT

Немного поездил по квартире на 6.06 в B100300G2, определённо имеет смысл обновлять. С низов гораздо лучше тянет, и холостой ход поднялся с 64км/ч до 72 без перемодуляции, и 78 с перемодуляцией. Эффект больше чем от ослабления поля в 6.02. А с ослаблением раскрутился аж до 87км/ч. А после этого почему то один из датчиков Холла вылетел.
Говей МСМ5 14" - железный сейф на колёсике
электро-Ока
Самовар с подвесным МК - 6кВт на киловаттнике

RommT




Заэкранировал ещё и силовую часть сверху, особенно перпендикулярные контакты фаз, так как они образуют полувиток и сильно излучают. Оба экрана заземлил к силовому минусу. Результат порадовал! Контроллер не узнать, он стал тянуть как Миник! Пропал шум коммутации который жужжали дроссели на фазовых проводах, стал позволять вкачивать 200а фазного тока "назажим" длительно и ничего не происходит. Разгон бодрый, на сколько хватает комнаты естественно. Всё ещё иногда перезагружается, но теперь очень редко. Частоту ШИМа пришлось понизить, драйвера не вытягивают 30кгц всё таки. На 20 и ниже нормально. Теперь дело за 100в батареей, интересно её вытянет или нет. Хочу 12 квт чтобы мощность была. 300а моторного с места вроде как сейчас на 50в батарее тоже тянет, но этой батарейки не хватает пока предел 2квт.
Говей МСМ5 14" - железный сейф на колёсике
электро-Ока
Самовар с подвесным МК - 6кВт на киловаттнике

alphajeta

господа, кто может подсказать с настройкой hfi для бесхол старта? собрал себе кастом из ультрона т108 на флипах 75100(потом на 75200/85150  поменяю), на старте дрожит, надо толкаться

Igor1984

Всем привет! Приобрёл Flipsky mini fsesc6.7 pro. Fw: v5.02, Hw 60. Мотор с червячным редуктором от электроусилителя Рено заработал, энкодер 5047 подключил, вроде всё более менее... Но как я понял производитель урезал прошивку, именно ту часть, которая мне необходима - отсутствует PID position control 180/360. К сожалению я в редактировании прошивок не силён. Кто-нибудь может подсказать и помочь в этом?

РД00

Прошейте современную прошивку, текущая 6.06. Вкладка Firmware.

Igor1984

Пугают что можно спалить :ah:

Igor1984

Цитата: РД00 от Вчера в 11:19Прошейте современную прошивку, текущая 6.06. Вкладка Firmware.
Огромное спасибо! Обновил, уже идёт автоопределение мотора, 180/360 появилось :bravo:

Mike 372

Чтобы не спалить, надо отключить функцию "Фазовый фильтр".

РД00

#3505
Кастомная телеметрия в VescTool, при помощи QML Scripting.

Идем в QML Scripting, открываем файл скрипта.  Если надо, правим число полюсов и пределы шкал. Жмем Run, должно справа что-то показать. Жмем Erase&Upload.

На мобиле после реконнекта должна появиться вкладка AppUI. Может быть диалог "Грузить ли QML", его можно отключить в настройках.

Проверил на 6.06, ниже не пробовал. Должно работать с 6.02.

UPD : коллеги проверили на 6.02, ОК.

РД00

Скрипт.

Спойлер
/*
    Copyright 2017 - 2019 Benjamin Vedder benjamin@vedder.se

    This file is part of VESC Tool.

    VESC Tool is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    VESC Tool is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    */

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtQuick.Layouts 1.3
import QtQuick.Controls.Material 2.2

import Vedder.vesc.vescinterface 1.0
import Vedder.vesc.utility 1.0
import Vedder.vesc.commands 1.0
import Vedder.vesc.configparams 1.0

Item {
    anchors.fill: parent

    id: rtData
    property Commands mCommands: VescIf.commands()
    property ConfigParams mMcConf: VescIf.mcConfig()
    property bool isHorizontal: rtData.width > rtData.height
    property int gaugeSize: Math.min(width / 2 - 10,
                                     (height - valMetrics.height * 10) /
                                     (isHorizontal ? 1 : 2) - (isHorizontal ? 30 : 20))

    ColumnLayout {
        anchors.fill: parent
        anchors.topMargin: 5

        GridLayout {
            Layout.fillWidth: true
            Layout.fillHeight: true
            columns: isHorizontal ? 4 : 2
            Layout.leftMargin: 5
            Layout.rightMargin: 5
            Layout.topMargin: 5
            Layout.bottomMargin: 5

            CustomGauge {
                id: currentGauge     // MOTOR CURRENT
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 100   // Max phase current
                minimumValue: 0
                labelStep: maximumValue > 60 ? 20 : 10
                value: 0
                unitText: "A"
                typeText: "Motor\nCurrent"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }

            CustomGauge {
                id: currentInGauge    // BATTERY CURRENT
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 60    //Max battery current
                minimumValue: 0
                labelStep: maximumValue > 60 ? 20 : 10
                value: 0
                unitText: "A"
                typeText: "Battery\nCurrent"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }

            CustomGauge {
                id: voltageInGauge    // VOLTAGE
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 42    // 10S fully charged
                minimumValue: 32    // 10S discharged.
                labelStep: 1
                value: 0
                unitText: "V"
                typeText: "Voltage"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }

            CustomGauge {
                id: powerGauge    // POWER
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 2000        // 2 kW
                minimumValue: 0
//                tickmarkScale: 0.001
//                tickmarkSuffix: "k"
                labelStep: 200
                value: 0
                unitText: "W"
                typeText: "Power"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }

            CustomGauge {
                id: rpmGauge
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 4000    // 4000 RPM
                minimumValue: 0
                labelStep: 500
                value: -10
                unitText: ""
                typeText: "RPM"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }

            CustomGauge {
                id: dutyGauge
                Layout.fillWidth: true
                Layout.fillHeight: true
                maximumValue: 100
                minimumValue: 0
                labelStep: 10
                value: 0
                unitText: "%"
                typeText: "Duty"
                Layout.preferredWidth: gaugeSize
                Layout.preferredHeight: gaugeSize
            }
        }

        Rectangle {
            id: textRect
            color: Utility.getAppHexColor("darkBackground")

            Rectangle {
                anchors.bottom: valText.top
                width: parent.width
                height: 2
                color: Utility.getAppHexColor("lightAccent")
            }

            Layout.fillWidth: true
            Layout.preferredHeight: valMetrics.height * 5 + 20
            Layout.alignment: Qt.AlignBottom

            Text {
                id: valText
                color: "white"
                text: VescIf.getConnectedPortName()
                font.family: "DejaVu Sans Mono"
                verticalAlignment: Text.AlignVCenter
                anchors.fill: parent
                anchors.leftMargin: 10
                anchors.topMargin: 5
            }

            TextMetrics {
                id: valMetrics
                font: valText.font
                text: valText.text
            }
        }
    }

    Timer {
        id: rtTimer
        interval: 100
        running: true
        repeat: true

        onTriggered: {
            if (VescIf.isPortConnected()) {
                        mCommands.getValues()
                    }
                }
            }


    Connections {
        target: mCommands

        function onValuesReceived(values, mask) {
            currentGauge.value = values.current_motor   // Motor current
            currentInGauge.value = values.current_in    // Battery current
            voltageInGauge.value = values.v_in          // Voltage
            dutyGauge.value = values.duty_now * 100.0   // Duty

            var motor_poles = 14    // 10 for inrunners, 14 for outrunners
            rpmGauge.value = values.rpm / (motor_poles / 2)  // RPM 

            powerGauge.value = (values.current_in * values.v_in)  // Power   

            valText.text =
                    "Temp MOS   : " + parseFloat(values.temp_mos).toFixed(2) + " \u00B0C\n" +
                    "Temp Motor : " + parseFloat(values.temp_motor).toFixed(2) + " \u00B0C\n" +
                    "Ah Draw    : " + parseFloat(values.amp_hours * 1000.0).toFixed(1) + " mAh\n" +
                    "Wh Draw    : " + parseFloat(values.watt_hours).toFixed(2) + " Wh\n" +
                    "Fault      : " + values.fault_str
        }
    }
}

Zuky

#3507
Здравствуйте. Есть контроллер 75100 pro v2 flipsky, на борту прошивка 75_300_R2, вольтаж занижает на 1 вольт, ставил прошивку 75_100_V2 занижает уже на 2 вольта, вернул назад 75_300_R2, поездил немного вроде всё нормально, 140 фазного максимум вливал. У меня вопрос какая должна стоять прошивка?
Спойлер
20251205_202546.jpg
Screenshot_20251206_202316.jpg

Mike 372

Да любая подходит. Просто они почему-то в разных версиях прошивок устанавливают разные константы опорного напряжения АЦП. Поэтому каждая версия врет по своему. Причем не только напряжение, а все измеряемые через АЦП величины.

denon480

Цитата: Mike 372 от Сегодня в 09:54Да любая подходит. Просто они почему-то в разных версиях прошивок устанавливают разные константы опорного напряжения АЦП. Поэтому каждая версия врет по своему. Причем не только напряжение, а все измеряемые через АЦП величины.
Лично у меня начиная с 6.02 до 6.05 всё было нормально, а во на 6.06 уже напряжение изменилось.
Прямой привод 2 кВт | Makerbase Vesc 75100 v2 new 84v 100a | 48v 25ah 13s5p EVE inr21700-50e 5000mah-15a | Schwalbe big apple 2.35 | Suntour SP12-NCX | Shimano BR-M7100 SLX