Vib Test version

Post Reply
KeesvR
Posts: 194
Joined: Fri May 27, 2011 6:51 pm
Location: The Netherlands

Vib Test version

Post by KeesvR »

There is a vibration test version based on V1.8, a very old version and not working with the latest sensors.

http://www.rcgroups.com/forums/showpost ... ount=16725

My question is there somebody around who can make this work with V2.2.

Thanks in advance.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

I put together a version of v2.2.
Dyn_Balanceing.zip

Only tested in Gui yet.
Use with caution!

Dynamic Motor Balanceing
Copter is Only possible to controll from GUI Not With RC.
All sensordata is disabled in Mixtable.

In the Motors Tab.
Enable RC Serial.
Press ARM button.
Motors will start in minthrottle.

Controll Throttle with the Throttle Bar.

Use the toggleButtons to enable/disable motors.
Press SetMotors to Update FC.
Motors will be DisArmed when SetMotors is executed.

Press Arm again and test.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

I have now verified the function on my Flamewheel 450 with vibration Issues.
It's easy to enable one motor at a time and chech the Graphs in gui to see the vibrations.
Just press SetMotors button to disarm motors.
When one motor is ok move on to next.

I also added the SettingsTab to this version with.
VBat.
Min/Maxthrottle
Mag Decl.
MidRC.

/Patrik

KeesvR
Posts: 194
Joined: Fri May 27, 2011 6:51 pm
Location: The Netherlands

Re: Vib Test version

Post by KeesvR »

Hi Patrik, I'm testing with this, but I can't find the toggle buttons to arm and disarm the motors I want.
I can only arm and disarm all the motors.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Hi.

You must define.
DYNBALANCE
CopterModel
Board.

On my FW450 i used this defines.
#define DYNBALANCE
#define QUADX
#define CRIUS_AIO_PRO_V1


Here's the Toggles with a OctoX defined
Image
Octo.png
(3.26 KiB) Not downloaded yet


Don't forget to reset Eeprom and calibrate Acc.

KeesvR
Posts: 194
Joined: Fri May 27, 2011 6:51 pm
Location: The Netherlands

Re: Vib Test version

Post by KeesvR »

I don't see these whit my tri copter.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Oooops I missed to make it for TRI.....

I'll Be Back soon...

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

TRI and BI is now added.

I also fund a error in Tri witch i corrected.
Use the new code For TRI.

https://multiwii.googlecode.com/svn/branches/PatrikE/Dyn_Balanceing.zip

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Any luck @KeesvR

This makes testing single motors a plaessure when you can disable
the other by a button in the gui.

Maby this is a function for official branch?

User avatar
Hamburger
Posts: 2578
Joined: Tue Mar 01, 2011 2:14 pm
Location: air
Contact:

Re: Vib Test version

Post by Hamburger »

PatrikE wrote:Maby this is a function for official branch?

+1 ; I am all for it.

Maybe turn the MWC code for this into something that needs to be compiled explicitly for vib-test only (like the esc-calibrating-version), and make it non-flyable. We would not want any glitch in the protocol interpretation between flying copter and ground station turn all but one motor off completely. So at the least the implementation of the correspondig MSPs in serial.ino should become #ifdefed.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Hamburger wrote:Maybe turn the MWC code for this into something that needs to be compiled explicitly for vib-test only (like the esc-calibrating-version), and make it non-flyable. We would not want any glitch in the protocol interpretation between flying copter and ground station turn all but one motor off completely. So at the least the implementation of the correspondig MSPs in serial.ino should become #ifdefed.


Already done!..

When VibTest is activated in config.
It can only be controlled with SerialRC
Throttle is Passed thru Mixtable with zero Acc/Gyro/Mag influence

So unless you can controll the copter with SerialRC and can fly without gyrostabilization it's Unflyable
Everything with VibTest is within #ifdefined

User avatar
Hamburger
Posts: 2578
Joined: Tue Mar 01, 2011 2:14 pm
Location: air
Contact:

Re: Vib Test version

Post by Hamburger »

perfect.
I think then it is ready for mass production - to be integrated it into _shared.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

I would like some feedbak before i launch it.
Otherwise it's ready.

KeesvR
Posts: 194
Joined: Fri May 27, 2011 6:51 pm
Location: The Netherlands

Re: Vib Test version

Post by KeesvR »

Hi Patrik, it's working perfect now, I'm very happy with it.
The only thing I like to see is the setting of the scale in the motors tab, this is not possible now.

Thank you very much.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

In order to implement this feature i need to add

Code: Select all

#define MSP_SET_MOTOR            214   //in message          PropBalance function
DynBalance is enabled in config.
It's tested and verified by KeesvR.

I also add a embryo to a settingsTab.

Code: Select all

#define MSP_MISC_CONF            121   //out message         minthrottle,maxthrottle,mincommand,midrc,Vbat,mag_decliniation Only prepared
#define MSP_SET_MISC_CONF        213   //in message


Tunable settings in Gui

Code: Select all

minthrottle
vbatlevel_warn1
vbatlevel_warn2
vbatlevel_crit
mag_decliniation // New


SettingsTab is possible to disable in config to save ~400b build size.

With SettingsTab disabled this dev only grown 8 bytes on a 328.

Hope it's ok to add this MSP's

Alexinparis
Posts: 1630
Joined: Wed Jan 19, 2011 9:07 pm

Re: Vib Test version

Post by Alexinparis »

ok, let's start with this.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Comitted to _shared.

User avatar
Gartenflieger
Posts: 65
Joined: Sat Oct 01, 2011 10:07 pm
Location: Dortmund, Germany

Re: Vib Test version

Post by Gartenflieger »

Nice to see this finally evolving into the code. I have always been too (lazy :oops: ) busy to port it to the frequently changing releases.

Quad FRITZ
Posts: 44
Joined: Wed Apr 25, 2012 11:21 pm

Re: Vib Test version

Post by Quad FRITZ »

Hello-

sorry for this question but will Ihave to disconnect all +5V wires from the ESCs then? Or use a special USB cable with a cut 5V line?
I would expect to fry the USB port when I connect my FC to the PC and connect the Lipos to power the motors at the same time (CRIUS AIO Pro without external BEC i.e. powered from the ESCs).

Thanks
Roman

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Hi Roman,

A quick Guide.

No modifications is needed to the Copter.
The software will send MINCOMMAND To Stop the Motor disabled motors.
Selecting a new motor will automaticly Disam all motors as saftey precaution.
MINTHROTTLE can be lowered in settingsTab to stop motors with throttle.

!!! Make sure the copter can't "Fly away" !!!

#1: Upload the soft with Dynbal enabled.
#2: Leave all Esc's connected without any modifications of cables.
#3: Connect the LiPo.
#4: Leave the USB cable or even better switch to BlueTooth module to get rid of loose cables around rotating props!.
#5: Start MWiiConfig and connect comport.
#6: Open Motor Tab.
#7: Press RC serial to enable the ThrottleController.
#8: Enable only one motor and press ARM.
#9: Increase throttle and observe the Graphs to se vibrations.
#10: Balance motors/Props with your favourite method.
#11: Select next motor and Repeat Step #8 to #10.

Hopefully you will have a copter with no vibrations when you're done... ;)

Cheers
Patrik

fadz
Posts: 2
Joined: Wed Apr 10, 2013 8:17 pm

Re: Vib Test version

Post by fadz »

Hi,

im new here,
but i have followed your thread.
You have done a very good job with this!

But i have one little Problem.
I want to test the Gui Version,
but i dont know how i should start it, because in the svn trunk/MultiWii_shared is only the MultiWiiConf.pde and i dont know what to do with it.
Is there any tutorial how to use or setup a developer version ?

Thanks

Alexinparis
Posts: 1630
Joined: Wed Jan 19, 2011 9:07 pm

Re: Vib Test version

Post by Alexinparis »

Hi,

some comments after reading the mods:

1) I see no reason to separate
- MSP_MISC_CONF and MSP_MISC
- MSP_SET_MISC_CONF and MSP_SET_MISC
MSP_MISC and MSP_SET_MISC can just be extended

2) about the vibtest function:
The way to set a motor is not at all the way I expected to see
MSP_MOTOR is 8 x uint16 to retrieve each motor value
MSP_SET_MOTOR should just be 8 x uint16 to set a specific motor value
and it would be up to the GUI to select the right motor (1 or several)
benefits:
- no need to use RC_SERIAL to send a throttle value
- no need to handle motorTogglesByte
- MSP_SET_MOTOR would be more generic for possible other needs

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

fadz wrote:I want to test the Gui Version,
but i dont know how i should start it, because in the svn trunk/MultiWii_shared is only the MultiWiiConf.pde and i dont know what to do with it.
Is there any tutorial how to use or setup a developer version ?

http://www.multiwii.com/forum/viewtopic.php?f=18&t=190
Note that MWii supports processing-1.5.1

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Hi Alex,

Sorry didn't think of using MSP_MISC.
I can combine them if you want.

I looked at the V1.7 earlier in the thread and used the function from there.
benefits:
All safty functions with Arm/Disarm is handled by MWii.
It's possible and easy to change the code to use Radio.( Only remove RC_SERIAL in def.h )

RC_SERIAL already existed and was easy to use.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Packing everything in MSP_MISC complicates the possibillity to isolate SettingsTab code to save space.

Quad FRITZ
Posts: 44
Joined: Wed Apr 25, 2012 11:21 pm

X8 odd mixing? Vib Test version

Post by Quad FRITZ »

Hi-

awesome SW, but I have a problem here- using it (the one by PatrikE » Thu Mar 28, 2013 9:08 pm I put together a version of v2.2. Dyn_Balanceing.zip)
on a Crius AIO Pro motor M7 is almost always on, motor M6 can not be armed at all :o
(copter works flawless with 2.2 , GPS and telemetry)

Would be great if somebody could have a look into this (bug??)

Thanks a lot
Roman

SergioC
Posts: 19
Joined: Sat Dec 22, 2012 11:33 pm

Re: Vib Test version

Post by SergioC »

which level of vibrations are acceptable for a fair/good/best copter experience?

You should explain the zoom ratio of gui graph e oscillations heights split for both acc and gyro.
I think the best would be to attach a screenshoot of the GUI graphs of a single propeller spinning and comment about.

I still have to fine balance props/motors and I've only a 10 battery flight experience :roll:

Thanks.
Sergio.

Hasi
Posts: 10
Joined: Fri May 17, 2013 9:11 am

Re: Vib Test version

Post by Hasi »

It would also be great if we could add a photoresistor with a laser or something similar to exactly measure which side of the prop/motor is heavier and display this information in the gui. What do you think?

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

Re: Vib Test version

Post by -ralf- »

Dangerous Bug ?

I have flashed the "normal" flyable version r1449.
When I arm the board, then change to Settings-Tab,
click on RC_Serial that it turns green I can control
all motors via the throttle-slider! I am not able to
control a single motor; but all at once. And there are
a lot of ugly glitches ....

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

I Have used the RC_Serial "Mode" in gui for debugging without the use of a Transmitter.
It replaces the Transmitter channels totally.

Since i don't have a transmitter handy at all time it's a nice debug function.
Perfect when setting up Airplanes and gimbals.
But as you say it has glitches.
The Gui suffers from latency because of quite a lot of requestest to MultiWii.

I made some modifications to the Gui to reduce the latency .
MultiWiiConf.zip

I don't think this ia a suitable function for mulicopters.
It should maby be removed from Multicopters in general.

If you don't enable DynBal in config you will not ba able to controll motors individually atm.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

It's possible to controll Dynamic balanceing with the trasmitter.
After #define SERIAL_RC was removed in _shared.

It is still possible to controll the trottle from Gui.
#define ALLOW_ARM_DISARM_VIA_TX_YAW
Must be enabled to be able to arm from Gui.

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

Re: Vib Test version

Post by -ralf- »

PatrikE wrote:If you don't enable DynBal in config you will not ba able to controll motors individually atm.


Sorry Patrik,

but here is the problem ......

1. I use the flyable version with //#define DYNBALANCE // (**) Dynamic balancing controlled from Gui
2. I arm the board (Crius AIOP), SBUS, Hexcopter, using the roll stick of my TX
3. I switch to Settings-Tab
4. I activate RC Serial
5. Voila .... now clicking on the Trottle-Graph top right in the GUI lets all the motors spin with heavy glitches.

EDIT: Just tested .... same with your new GUI ......

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

Serial_RC Will "Override" the signals comming from your Transmitter!
If Serial_RC is enabled Gui Will be in FULL controll over your copter.

I mmade some more adjustments to the Gui andit looks better in the Gui.
Can't test it on Hardware atm.

Use the Same Link as before.

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

Re: Vib Test version

Post by -ralf- »

Follow the steps i wrote before on hardware and you will see your code is
dangerous.

PatrikE
Posts: 1976
Joined: Tue Apr 12, 2011 6:35 pm
Location: Sweden
Contact:

Re: Vib Test version

Post by PatrikE »

The steps discribed is the result of what i explained!
Serial_RC Will "Override" the signals comming from your Transmitter!
If Serial_RC is enabled Gui Will be in FULL controll over your copter.

It's a nice feature for setting up airplanes etc.
But for Multicopters it should come with a big warning/confirmation like Eizo do in the Android App.

I will Hide the button for for now until i fix a Warning before activation.
I leave it Visible in the DynBal Tab since the user made a active choice to enable it.

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

Re: Vib Test version

Post by -ralf- »

PatrikE wrote:I will Hide the button for for now until i fix a Warning before activation.
I leave it Visible in the DynBal Tab since the user made a active choice to enable it.


I think this is a good choice ;)
Thank you

-ralf-
Posts: 215
Joined: Mon Dec 03, 2012 7:08 pm

How to stop motor spinning?

Post by -ralf- »

Hi,

I just tried to balance my motors ..... but I can't due to permanent motor spinning.
They are AMEX3536, ESC 30A Turnigy Multistar, and they all spin even no motor is selected.
How can I make the minthrottle=mincommand=900 when using dynbalance?

Frank
Posts: 16
Joined: Wed Jul 17, 2013 8:59 am

Re: Vib Test version

Post by Frank »

Hi,
I really think the new dynamic balancing tab is very useful for minimizing vibs. I´ve tested it successfully on a nanowii with hacker-style motors without any problems.

But I would love to see some numbers I could save in a spreadsheet for checking back which prop-position was the best one. Would it be possible to add some numbers to the graph like e.g. Max- and Avg-amplitudes of the sensor-outputs ?
Maybe an additional config for "motor running time in seconds" aside of "throttle" would help to make measurements even more comparable...

Just my 2 cents, unfortunately I don´t have any knowledge of java otherwise I would have loved to try implementing it myself :(

Best Regards,
Frank

agittins
Posts: 3
Joined: Sat Jul 27, 2013 4:19 pm

Re: Vib Test version

Post by agittins »

Is there a way we can make the DYNBALANCE mode safe to include in the flying code without risk of it being activated inadvertently?

I noticed that in earlier discussion it was set up to create only a non-flying build of the codebase when defined, to avoid the risk of it accidentally being turned on - which would have predictably disastrous results.

Would it be possible (by which I mean, stand a chance of ever being included in core) to have it able to be present in a flying build, but only able to be activated by serial, while motors are disarmed?

If the serial protocol is susceptible to things happening due to line noise, is there a way to make the command longer (more bytes) to reduce the probability of accidental activation? Or perhaps a two-way check or similar?

The reason I ask is that I am interested in being able to do a dynamic balance in-the-field, and being able to do it from just a bluetooth connection or perhaps a minimOSD gui without having to drag along a laptop and perform a full double-reflashing. Not only would it be more convenient to avoid flashing but a lot less error-prone as well since there is always the risk of uploading an incorrect config. Also, is eeprom corruption a risk during flashing? It seems some really scary problems (like gps crazyness) are fixed by clearing the eeprom - is it reflashing that causes this, or version changes? Anyway...

I understand that safety of this sort of feature would be a big consideration, so making sure that it is nearly impossible to activate accidentally and also ensuring all motors are deactivated when the mode is selected would both be important first steps. I think the following requirements would help ensure the risks were minimised:

  • Require #define DYNBALANCE
  • Require #define DYNBALANCE_LIVE // Warning - this enables a live, flying build with balancing enabled. Not recommended unless you know what you are doing
  • Require that motors are disarmed
  • Require a (possibly long or two-step confirmed) serial message to enter DYNBALANCE mode
  • Start DYNBALANCE mode with all motors deselected
  • Perhaps require a motor-arm stick sequence after any motor selection change

Thoughts?

Post Reply