Yeah maybe waiting Is best. Lol. I’ll get it sorted pretty quickly with a board in hand. Thanks for trying the simple stuff first and getting me pointed in the right direction. At least now I know what I need to test/correct to move forward.
Following a suggestion from the MultiWii forum, Im getting direct control now
rcData[x] is passing the input values on, without any shenanigans!
Once you get something working I’d like to give it a go. No gui but Arduino still works so I can flash a sketch onto a classic.
I tried to join the multiwii forum a couple of weeks ago but couldn’t find any way to register, does it need an invite?
I have posted the question here:
Yeah I looked too and couldn’t find a way to register, found this in the FAQ:
Why can’t I register?
It is possible the website owner has banned your IP address or disallowed the username you are attempting to register. The website owner could have also disabled registration to prevent new visitors from signing up. Contact a board administrator for assistance.
I’ve received my alien board from MMW a day or two ago … thank you Benedikt! Been burning the midnight oil to get totally caught up on all other projects and today I hit the finish line! So now hacking up this firmware to whoov has my undivided attention!! I have a pair of drone junkie whoov kits waiting for assembly (I think im gonna mix the colors) and we’re off to the races!
Congratulations on your first Alienwii
AHHH. So that’s a step in the right direction then… I was attempting to use
to compensate for the -500 to 500 …Which really should have been…
Which is probably the same thing and still does funky stuff… and the answer is…
Am I following that right so far @Benedikt?
I’m up and running on a stock flash. Time for some hack-tastic hackery fun next!
I’ll find matching props and dye some clear ducts to make it “pretty” after we make it fast.
So I’ve made some progress… but I’ve also hit a few roadblocks.
For starters I’m addressing lift motors on an aux channel.
Right now I am fighting mincheck. If throttle is exactly equal to mincheck, it will arm and whoover up. If throttle is below mincheck, all controls die and lift motors return to idle or stopped depending on the state of motor_stop. We want it to be whoovering whenever it’s armed and we still want yaw control at 0 throttle. So I’m thinking I need to write in a throttle deadband at near 0 that gives us exactly mincheck value.
Next issue… when you raise throttle anything above 75% … and input yaw… the lift motors start to slow. I thought it was voltage sag at first so I unplugged the lift motors and it still does it. It’s not alot but it bugs me. I think i may have found the code responsible for that but I have not tested any changes yet to confirm.
Hopefully after those two bridges are crossed… it’s just a matter of setting minthrottle so yaw is not anemic at 0 push throttle and it’s ready to tune the yaw pid.
It already whoovers like a champ though. Just some little details that bug me. I don’t want to have to set a second idle up switch in my tx. And i tried putting arm and a tx mixed idle up on the same switch but it won’t arm - it “hears” the idle up command come in as arming is requested and won’t arm because throttle has been lifted so it has to be sequential. I just want to arm and whoov. And i don’t want my lift motors dropping rpm in corners when I’m at full throttle just because i input yaw … even if it is only a tiny drop.
Oh and I’ll add… I’m having no issues with the configurator. It was crashing when I tried to both arm and activate angle on aux 1… but I switched angle over to aux 2 and it has been behaving. I guess really I could turn angle off. I’m not using it.
OK, I’ve beaten the mincheck hangup… and solved the reduction of lift motor throttle when push throttle is raised above 75% and yaw stick receives an input.
That just leaves my personal opinion that we need better yaw authority at 0 throttle. I’m gonna put some finishing touches on it and upload a new file for community testing.
Current changelog (general summary):
- Multitype “Benedikt” has been added: this is the whoov mix
- When Benedikt multitype is selected motor outputs will be as follows
Rear motor sockets are push motors. They are linked directly to throttle and to the yaw pid stabilization
Front motor sockets are lift motors. They are linked to the pitch stick as a lift throttle. We can change this to an aux channel easily but it doesn’t really seem to matter. You can set it to a fixed value in your tx with trim or by mapping it to a knob or actively change it as you go on the pitch stick (my favorite).
- When Benedikt multitype is selected and when MOTOR_STOP is DISABLED … the whoov will whoover up right away with all sticks active as soon as you arm. Sticks will remain active and lift motors will continue to whoover even when your throttle stick is moved to zero. I recommend arming on a switch for this option and motor_stop disabled is what is set in my file below.
If MOTOR_STOP is ENABLED … all motors will stop (including lift motors) and sticks will go dead when throttle drops below MINCHECK which is currently set at 1050. This is more like how a toy fc behaves when throttle hits zero.
- When Benedikt multitype is NOT selected … all functionality of multiwii code remains unaltered. In other words… my hackery is totally dependent upon selecting multitype Benedikt. That can be renamed of course to something that indicates it’s for a whoov later…
I still have not tuned the yaw pid at all… just trying to get a baseline code that will whoov nicely. @Benedikt I know you wanted to do some testing with manual control. Now that I have unlocked/beaten a few of the quarks that were standing in the way … would you still like to revisit that? Maybe you want to try this first though … you have direct control over the lift motors… and good steering out of the push motors. Have a little fun with it first maybe while I work on your next assignment (whatever you’d like that to be). I’ll tune the pid for yaw next and try to come up with a way to increase yaw authority at low throttle values. Open to any other suggestions and deviations too.
Benedikt V1_2.zip (166.2 KB)
Im going to try this asap.
Got sidetracked by the arrival of a couple of Tellos…
Ah! I was wondering what you would think about them. Also, what are your thoughts on the fatshark 101 kit that came out a little while ago?
The Tello is a mixed bag. Flies nice, takes good pictures. Has a boat load of issues.
Im interested in the FS101, but only the quad, not the other stuff. Havent seen it in stock solo yet…
But I just came here to download my special Whoov firmware
Thanks so much, Travis. Its like xmas on this Saturday morning!
I’m away from home for the Easter weekend but I did come up with what may be some slightly better pids. If i recall it actually helped to drop yaw I term lower… About two thirds lower or so, and to bump up yaw P between 1 and 2 points. I tried adding yaw D but it only seemed to cause a wobble so I stuck with zero.
Multiwii firmware does not let I term accumulate error at all when you are at low throttle … I tested both ways in silverware and actually prefer it to keep I active at 0 throttle. We could experiment with that next … and I’d like to find a way to get better pid authority at low throttle. That’s actually quite a challenge in the way the code is structured but I think it would be worth it.
Anyway that’s what’s going through my head … but I may be trailing off in my own direction. What would you like to do next with this @Benedikt?
… and I’m glad the first official revision put a smile on your face!
Next - Id like to get some bums on seats
These little rockets are so much fun, even without improving them any bit further.
I see a lot of potential for improvement though, and I think many others will enjoy moving and observing this process hands-on.
So for those of you that like to experiment, I have put together a “Developers Edition” kit, including lots of extra hardware that the final version will not have.
Based on the feedback of this developer edition, I then want to create a final kit and final firmware version, to allow people copy this build without flashing the firmware.
Nice work guys, don’t mean to hijack the thread but just a note following @Benedikt s video, today I found out that the beta 65s 7mm frame does fit in the standard motor mounts in the kit, a little tight but with the benefits of prop guards and swappable 7mm motors.
That sounds like a great idea!!! This developers kit is the perfect opportunity for someone interested in whooving on custom whoover software to get into the scene. Building betaflight from scratch if you want to edit code is beyond complicated. Silverware is a bit easier but still not straightforward and requires special flash tools. The alien board really is the easiest software to edit and flash that I have worked with yet! I’m glad you started this project @Benedikt !