3x8 / nostromo Goto Github PK
View Code? Open in Web Editor NEWBLDC ESC firmware (GPLv3.0)
License: GNU General Public License v3.0
BLDC ESC firmware (GPLv3.0)
License: GNU General Public License v3.0
Hi! Do you have any other communication means except for github issues? Like some forum, discord server or telegram channel?
I am super excited after finding this awesome project but it looks like there is no documentation...
I want to test it on my tricopter with SucceX 50A v2, but I'm not sure if it's the same device as SUCCEX50AV2 target. Do I have to replace stock BLHeli32 bootloader with costaguana? And if yes, is it possible to backup original one? Should I do it with STLink or maybe it's possible to reflash the BL without external swd debugger? Any docs or notes would be awesome!
Thanks!
Hi,
First of all I would like to say that your implementation is very clean and readable, thanks for posting such a valuable work. I was searching for a regenerative breaking solution and found your repository. I read the code of motor.c and have a question. Could you please help me with it?
There is a code for pin initialization for fd6288,
And I am trying to understand the logic of complementary PWM and regenerative brake.
#if defined(FD6288)
void motorPhaseA(uint8_t hBridgeMode) {
switch (hBridgeMode) {
case HBRIDGE_PWM:
if (!motor.ComplementaryPWM || motor.BrakeActiveProportional) {
LL_GPIO_SetPinMode(A_FET_LO_GPIO, A_FET_LO_PIN, LL_GPIO_MODE_OUTPUT);
A_FET_LO_GPIO->BRR = A_FET_LO_PIN;
} else {
LL_GPIO_SetPinMode(A_FET_LO_GPIO, A_FET_LO_PIN, LL_GPIO_MODE_ALTERNATE);
}
LL_GPIO_SetPinMode(A_FET_HI_GPIO, A_FET_HI_PIN, LL_GPIO_MODE_ALTERNATE);
break;
It seems that the gate driver pins are not in PWM mode because of this
if (!motor.ComplementaryPWM || motor.BrakeActiveProportional). If complementary pwm is set on, the brake should be set to full mode, in order to configure the pins in alternate function and generate complementary PWM, but in main.c the motorBrakeFull() function is called which sets che pins as GPIO output. So it looks like the regenerative braking could not be used with fd6288, while it looks OK for ncp3420 drivers.
#if defined(NCP3420)
void motorPhaseA(uint8_t hBridgeMode) {
switch (hBridgeMode) {
case HBRIDGE_PWM:
LL_GPIO_SetPinMode(A_FET_OE_GPIO, A_FET_OE_PIN, LL_GPIO_MODE_OUTPUT);
A_FET_OE_GPIO->BSRR = A_FET_OE_PIN;
LL_GPIO_SetPinMode(A_FET_IN_GPIO, A_FET_IN_PIN, LL_GPIO_MODE_ALTERNATE);
break;
I would be very happy if you could help me understanding the regenerative braking approach and the complementary drive mode.
Sorry for my bad English, it is not my native language.
test yml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.