Dynamic balancing (DYNBALANCE) - does it work?
Posted: Wed Feb 19, 2014 11:48 pm
Hi!
I am new to multiWii, Arduino and so on, so my question may be stupid but...
My setup: Crius SE 2.0 Board connected to PC (Win7 x64) via FTDI USB<>UART converter, my board is running MultiWii 2.3.
I have issue with dynamic balancing, it did not seem to work at all, selecting motor and setting throttle did not do anything, sometimes (when I had balancing tab on top in MultiWiiConf) random motor(s) was starting and I had to reboot board to stop it (thank's God props were off). I searched a little bit and there are other people having the same problem, they use different boards, so it does not seem to board problem. I did some investingation and it seems to be MultiWiiConf->Crius communication problem. I used serial monitor to check what MultiWiiConf is sending and frames that set motors look ok. The problem shows up on the copter side in serialCom function (Protocol.cpp file) when the checksum is checked - all checksums in frames setting motors are incorrect, but when I skip checksum checking for MSP_SET_MOTOR command balancing works almost like it should. The added code is else block:
"Almost like it should" means that randomly other motors start for a second and stop...
And now my question (to all of you, those who use dynbalance without problems and those having issues like mine): what is your setup (board type, operating system, type of USB<->UART converter)?
I am new to multiWii, Arduino and so on, so my question may be stupid but...
My setup: Crius SE 2.0 Board connected to PC (Win7 x64) via FTDI USB<>UART converter, my board is running MultiWii 2.3.
I have issue with dynamic balancing, it did not seem to work at all, selecting motor and setting throttle did not do anything, sometimes (when I had balancing tab on top in MultiWiiConf) random motor(s) was starting and I had to reboot board to stop it (thank's God props were off). I searched a little bit and there are other people having the same problem, they use different boards, so it does not seem to board problem. I did some investingation and it seems to be MultiWiiConf->Crius communication problem. I used serial monitor to check what MultiWiiConf is sending and frames that set motors look ok. The problem shows up on the copter side in serialCom function (Protocol.cpp file) when the checksum is checked - all checksums in frames setting motors are incorrect, but when I skip checksum checking for MSP_SET_MOTOR command balancing works almost like it should. The added code is else block:
Code: Select all
if (checksum[CURRENTPORT] == c) { // compare calculated and transferred checksum
evaluateCommand(); // we got a valid packet, evaluate it
}
else
{
if (cmdMSP[CURRENTPORT] == MSP_SET_MOTOR)
evaluateCommand();
}
"Almost like it should" means that randomly other motors start for a second and stop...
And now my question (to all of you, those who use dynbalance without problems and those having issues like mine): what is your setup (board type, operating system, type of USB<->UART converter)?