NotFastEnuf E011 / Bwhoop Silverware Fork


I thought of something a while ago, and just remembered it now with talk of the pid/volt compensation

the compensation applies after all terms are added up, this resizes the I term if it is non zero, I think it would be better to exclude I from the calculation, or resize Ki directly rather than the integrated amount


Interesting, I did fight with it for a while causing oscillations, but after moving the levelmode calculations back up where they used to be in control.c, the only flight mode it causes oscillations in is horizon and they were only barely audible. My “bandaid” was to drop pidsums for all leveling modes by about 10% which worked out pretty well. I will definitely cook up some test code to handle the contribution from I a different way. I think raising it can cause some oscillations (especially on yaw) but dropping I as voltage sags doesn’t harm feel too much. I might try just comping P and D.

I think it’s more likely that @luis09d was fighting noise in using mix increase 3 at 100%. I abandoned this because it took almost perfect running parts to fly better at 100% and i had ro also increase filtering to combat that. As soon as anything got a little off balance it was swamped with noise even with more filtering. I dropped back to .2 and got away with less filtering too.

@luis09d can you drop back to .2f on mix increase and try again with pid voltage comp on? That setup seems to be running pretty well.


I successfully use a max value of .6 for MIX_THROTTLE_INCREASE_MAX along with PID_VOLTAGE_COMPENSATION without any oscillations.
This only applies to builds flying BOSS frames and canopies. Currently, I’m flying 6mm and 8.5mm, anywhere between 15k and 25k motors without untunable issues. I’ve never had to go any higher than STRONG_FILTERING. In my experience, the only issues that crop up on these builds are
1 - unbalanced props - easily remedied
2 - frame resonance coming from motors at certain RPMs. Usually, sliding the motor up the mount seems to alleviate problem although the props may creep into your image intrusively…
3 - binding/rubbing FC with frame and/or canopy. I’m filing down any unneeded material on the FC and around the mount on the frame to combat this issue.

For the most part, I haven’t messed with @NotFastEnuf’s PID settings - just set point and rates.


agree, I’m going to try with .2


Thank you very much, I’ll try it


So I decided to update my TX settings and implemented the arming channel and idle up channel with safety feature. Works as intended, however I noticed that when the quad was in LVC and flashing LEDs it refused to arm again. Bug for me or everybody else?


Do you have define STOP_LOWBATTERY on?

I have not experienced this limitation.


Just checked and it’s not an option I have on. Strange one. Easy to to reproduce on the set up


Are you getting a rapid led blink when it won’t rearm?


Nope, LVC flash is overriding it as it does with other functions.


Hmm, I’ll have to test to confirm led function, but maybe if you are still using an idle up in your tx, it could be triggering my safety feature that prevents arming when throttle isn’t low. Check your mixer output window to make sure throttle is at 0. Not sure who wins between that rapid blink and lvc.


I disabled all the safety checks on TX. Was using it fine before pulling the battery to make adjustments with Keil. After reattaching the battery and binding, arm channel won’t arm. LVC wins!


I’m really confused by this. I have not had any similar reports. Not even totally sure what you’re describing. You’re using the actual low voltage cutoff feature? I can certainly rearm after the light starts blinking. Can you test my defaults and see if this behavior persists?


Probably should’t have said LVC, I’m using #define VBATTLOW 3.6 with hysteresis 0.30. Say for instance I arm without issues on full battery before low batt value/hysteresis, I have steady lights. I thendeplete battery to 3.70v, disconnect battery and reconnect that same battery, the quad will flash low battery because it’s in the range of 3.60v to 3.90v. It will no longer arm. Does that make sense?

Tried it again with defaults on the latest fork and same result


Very strange indeed. You explanation makes sense now but the behavior doesn’t. I have never experienced such a limitation. And you’re no longer doing idle up in tx?
Maybe set up a new model? I’m stumped.


Removed any related thing in the tx and tried a new model. I guess it’s not a problem if hysteresis is set to around 0.10-0.20. Just find it strange I’m the only one experiencing it. Have you tried replicating it?


Yes and I’m able to arm all the way to a puffed destroyed lipo. I agree it’s strange. I’m flying the fork defaults. Is there anything I could change to bring out the behavior you think?

Maybe I don’t understand the low batt feature and hysteresis - if lowbatt flash is set at 3.5, and hysteresis is at .1 - does that mean I need to run down to below 3.4 to be blocked. I’m grasping here … but willing to try anything to replicate. I just know nothing related to voltage has ever stopped me from arming.


hysteresys means it turns on at one value and off 0.1 higher

the arm feature is not connected to LVC is it? Might be a code issue


How it works on silverware is that if you run the battery to low battery warning value, the led will flash. If the battery then rests while still powering the quad or comes out of voltage sag and returns to higher battery values, if hysteresis goes higher than the range it is set, the low battery warning will stop and you get steady normal led. For instance, setting it to 0.10 and low battery at 3.60 would mean that if you sag under or hit 3.60 with a punch out with old or poor batteries, the low battery warning will start. If you continue flying sedately, land the quad, or anything that allows the battery to return to a higher value than 3.70v (3.60 + 0.10 hysteresis), the low battery warning will stop. If the hysteresis is set high like 0.30 and you put a partially depleted battery of like 3.80 the low warning battery will flash. That’s how it reacts on my quads. Hoping that makes sense again and I’ve got it right.

So you could easily replicate it just by setting low battery at 3.9v and hysteresis at 0.20v, running down a battery till you get the warning. Disconnect and reconnect the battery (quad should flash low battery on reconnection), rebind and see if it arms.

Edit: silver summed it quite succinctly. :grin:


OK, this is what I was missing. I’ll just go grab a pack put of my to be disposed pile which is sitting at around 3v. What we think should happen is that it should not let me arm?