Unterschiede zwischen den Revisionen 7 und 8
Revision 7 vom 28.08.2009 14:37
Größe: 664
Autor: fredericg
Kommentar:
Revision 8 vom 29.08.2009 20:05
Größe: 6749
Autor: FredericG
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 6: Zeile 6:
This is an example of the signall measured by the Roll-ACC sensor: This is an example of the signal measured by the Roll-ACC sensor:
Zeile 18: Zeile 18:

== The command line parameters ==
{{{
VibrationTest.py COMPORT MOTORS SPEEDS CHANNELS [-m MINSPEED] [-s NBSAMPLES] [-n NAME] [-d FILENAME] [-v]
 COMPORT Serial port to use. e.g. COM4
 MOTORS Motors to activate during test. Multiple motors can be used at the same time. e.g. 1,2,3,4
 SPEEDS Indicates at what speeds the motors need to be tested.
                   Format 1: e.g. 50,110,140 Tests at speeds 50, 110 and 140
                   Format 2: e.g. 100-200:50 Tests at speeds 100, 150 and 200
 CHANNELS Channels to monitor. e.g. 5,6,7
                   Channel 0 = GyroYaw
                   Channel 1 = GyroRoll
                   Channel 2 = GyroNick
                   Channel 3 = Pressure
                   Channel 4 = Batt
                   Channel 5 = AccTop
                   Channel 6 = AccRoll
                   Channel 7 = AccNick
 -m MINSPEED Minimum speed of the motor(s)
 -s NBSAMPLES Number of samples
 -n NAME Name of the test
 -d FILENAME File to which the measured values will be logged in
 -v Verbose
}}}



== General procudure ==

== Example 1 ==

Finding what sensor provides best information at what speed:
{{{
VibrationTest.py COM5 3 100-200:20 6,7

      Speed=100 U=11.3V Channel=AccRoll Min=492 Max=505 pp= 13 **
      Speed=100 U=11.3V Channel=AccNick Min=498 Max=507 pp= 9 *

      Speed=120 U=11.3V Channel=AccRoll Min=489 Max=503 pp= 14 **
      Speed=120 U=11.3V Channel=AccNick Min=497 Max=507 pp= 10 **

      Speed=140 U=11.2V Channel=AccRoll Min=469 Max=519 pp= 50 **********
      Speed=140 U=11.2V Channel=AccNick Min=495 Max=508 pp= 13 **

      Speed=160 U=11.1V Channel=AccRoll Min=478 Max=517 pp= 39 *******
      Speed=160 U=11.1V Channel=AccNick Min=493 Max=511 pp= 18 ***

      Speed=180 U=10.9V Channel=AccRoll Min=479 Max=511 pp= 32 ******
      Speed=180 U=10.9V Channel=AccNick Min=493 Max=514 pp= 21 ****

      Speed=200 U=10.7V Channel=AccRoll Min=479 Max=515 pp= 36 *******
      Speed=200 U=10.7V Channel=AccNick Min=493 Max=513 pp= 20 ****


VibrationTest.py COM5 3 130-160:10 6
      Speed=130 U=11.1V Channel=AccRoll Min=484 Max=511 pp= 27 *****
      Speed=140 U=11.1V Channel=AccRoll Min=469 Max=524 pp= 55 ***********
      Speed=150 U=11.1V Channel=AccRoll Min=475 Max=520 pp= 45 *********
      Speed=160 U=11.1V Channel=AccRoll Min=479 Max=518 pp= 39 *******
}}}
So, lets concentrate on channel 6 at speed 140.

Now, the preliminary balancing of the prop:
{{{
VibrationTest.py COM5 3 140 6 -d motor3.txt -n 0s0
  0s0 Speed=140 U=11.0V Channel=AccRoll Min=470 Max=521 pp= 51 **********

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s0
  1s0 Speed=140 U=11.0V Channel=AccRoll Min=482 Max=513 pp= 31 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s0
  2s0 Speed=140 U=11.0V Channel=AccRoll Min=475 Max=520 pp= 45 *********
}}}
For now, 1 sticker seems best.

Now, lets rotate the prop:
{{{
VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s0

  1s0 Speed=140 U=10.9V Channel=AccRoll Min=481 Max=513 pp= 32 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s60

 1s60 Speed=140 U=10.9V Channel=AccRoll Min=480 Max=512 pp= 32 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s120

1s120 Speed=140 U=10.9V Channel=AccRoll Min=477 Max=514 pp= 37 *******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll Min=482 Max=509 pp= 27 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s240

1s240 Speed=140 U=10.9V Channel=AccRoll Min=482 Max=510 pp= 28 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s300

1s300 Speed=140 U=10.9V Channel=AccRoll Min=482 Max=514 pp= 32 ******

VibrationTest.py COM5 3 140 6,6,6 -d motor3.txt -n 1s360

1s360 Speed=140 U=10.9V Channel=AccRoll Min=482 Max=515 pp= 33 ******
}}}

Rotating the prop by 180 degrees produces best results, now lets try to balance the prop again:
{{{
VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll Min=483 Max=509 pp= 26 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 0s180

0s180 Speed=140 U=10.9V Channel=AccRoll Min=472 Max=519 pp= 47 *********

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll Min=483 Max=510 pp= 27 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s180

2s180 Speed=140 U=10.9V Channel=AccRoll Min=489 Max=508 pp= 19 ***

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 3s180

3s180 Speed=140 U=10.9V Channel=AccRoll Min=483 Max=512 pp= 29 *****
}}}

So, 2 stickers is best
{{{
VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s180

2s180 Speed=140 U=10.9V Channel=AccRoll Min=488 Max=508 pp= 20 ****

VibrationTest.py COM5 3 140 6,6,6 -d motor3.txt -n end

  end Speed=140 U=10.8V Channel=AccRoll Min=487 Max=510 pp= 23 ****
}}}

Now, we can perform a sweep in order to compare with the starting-point:
{{{
VibrationTest.py COM5 3 100-200:20 6,7

       Speed=100 U=11.1V Channel=AccRoll Min=493 Max=501 pp= 8 *
       Speed=100 U=11.1V Channel=AccNick Min=499 Max=507 pp= 8 *

       Speed=120 U=11.1V Channel=AccRoll Min=489 Max=507 pp= 18 ***
       Speed=120 U=11.1V Channel=AccNick Min=497 Max=508 pp= 11 **

       Speed=140 U=11.0V Channel=AccRoll Min=489 Max=507 pp= 18 ***
       Speed=140 U=11.0V Channel=AccNick Min=498 Max=509 pp= 11 **

       Speed=160 U=10.9V Channel=AccRoll Min=482 Max=508 pp= 26 *****
       Speed=160 U=10.9V Channel=AccNick Min=496 Max=510 pp= 14 **

       Speed=180 U=10.7V Channel=AccRoll Min=489 Max=505 pp= 16 ***
       Speed=180 U=10.7V Channel=AccNick Min=495 Max=508 pp= 13 **

       Speed=200 U=10.6V Channel=AccRoll Min=482 Max=508 pp= 26 *****
       Speed=200 U=10.6V Channel=AccNick Min=491 Max=509 pp= 18 ***
}}}

TableOfContents

What is the VibrationTest Tool?

The tool measures the vibration generated by the motors using the MK build-in sensors. This allows to balance motor/prop assemblies and to experiment with different motor-mounts.

This is an example of the signal measured by the Roll-ACC sensor:

attachment:test.jpg

Current status

The current implementation is very basic, it is a "command-line" tool without any graphical user-interface.

I am still experimenting and working on the first version of the tool.

How do I install the tool?

How do I use it?

The command line parameters

VibrationTest.py COMPORT MOTORS SPEEDS CHANNELS [-m MINSPEED] [-s NBSAMPLES] [-n NAME] [-d FILENAME] [-v]
 COMPORT         Serial port to use. e.g. COM4
 MOTORS          Motors to activate during test. Multiple motors can be used at the same time. e.g. 1,2,3,4
 SPEEDS          Indicates at what speeds the motors need to be tested.
                   Format 1:  e.g. 50,110,140            Tests at speeds 50, 110 and 140
                   Format 2:  e.g. 100-200:50            Tests at speeds 100, 150 and 200
 CHANNELS        Channels to monitor. e.g. 5,6,7
                   Channel 0 = GyroYaw
                   Channel 1 = GyroRoll
                   Channel 2 = GyroNick
                   Channel 3 = Pressure
                   Channel 4 = Batt
                   Channel 5 = AccTop
                   Channel 6 = AccRoll
                   Channel 7 = AccNick
 -m MINSPEED     Minimum speed of the motor(s)
 -s NBSAMPLES    Number of samples
 -n NAME         Name of the test
 -d FILENAME     File to which the measured values will be logged in
 -v              Verbose

General procudure

Example 1

Finding what sensor provides best information at what speed:

VibrationTest.py COM5 3 100-200:20 6,7

      Speed=100 U=11.3V Channel=AccRoll    Min=492 Max=505 pp= 13 **
      Speed=100 U=11.3V Channel=AccNick    Min=498 Max=507 pp=  9 *

      Speed=120 U=11.3V Channel=AccRoll    Min=489 Max=503 pp= 14 **
      Speed=120 U=11.3V Channel=AccNick    Min=497 Max=507 pp= 10 **

      Speed=140 U=11.2V Channel=AccRoll    Min=469 Max=519 pp= 50 **********
      Speed=140 U=11.2V Channel=AccNick    Min=495 Max=508 pp= 13 **

      Speed=160 U=11.1V Channel=AccRoll    Min=478 Max=517 pp= 39 *******
      Speed=160 U=11.1V Channel=AccNick    Min=493 Max=511 pp= 18 ***

      Speed=180 U=10.9V Channel=AccRoll    Min=479 Max=511 pp= 32 ******
      Speed=180 U=10.9V Channel=AccNick    Min=493 Max=514 pp= 21 ****

      Speed=200 U=10.7V Channel=AccRoll    Min=479 Max=515 pp= 36 *******
      Speed=200 U=10.7V Channel=AccNick    Min=493 Max=513 pp= 20 ****


VibrationTest.py COM5 3 130-160:10 6
      Speed=130 U=11.1V Channel=AccRoll    Min=484 Max=511 pp= 27 *****
      Speed=140 U=11.1V Channel=AccRoll    Min=469 Max=524 pp= 55 ***********
      Speed=150 U=11.1V Channel=AccRoll    Min=475 Max=520 pp= 45 *********
      Speed=160 U=11.1V Channel=AccRoll    Min=479 Max=518 pp= 39 *******

So, lets concentrate on channel 6 at speed 140.

Now, the preliminary balancing of the prop:

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 0s0
  0s0 Speed=140 U=11.0V Channel=AccRoll    Min=470 Max=521 pp= 51 **********

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s0
  1s0 Speed=140 U=11.0V Channel=AccRoll    Min=482 Max=513 pp= 31 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s0
  2s0 Speed=140 U=11.0V Channel=AccRoll    Min=475 Max=520 pp= 45 *********

For now, 1 sticker seems best.

Now, lets rotate the prop:

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s0

  1s0 Speed=140 U=10.9V Channel=AccRoll    Min=481 Max=513 pp= 32 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s60

 1s60 Speed=140 U=10.9V Channel=AccRoll    Min=480 Max=512 pp= 32 ******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s120

1s120 Speed=140 U=10.9V Channel=AccRoll    Min=477 Max=514 pp= 37 *******

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll    Min=482 Max=509 pp= 27 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s240

1s240 Speed=140 U=10.9V Channel=AccRoll    Min=482 Max=510 pp= 28 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s300

1s300 Speed=140 U=10.9V Channel=AccRoll    Min=482 Max=514 pp= 32 ******

VibrationTest.py COM5 3 140 6,6,6 -d motor3.txt -n 1s360

1s360 Speed=140 U=10.9V Channel=AccRoll    Min=482 Max=515 pp= 33 ******

Rotating the prop by 180 degrees produces best results, now lets try to balance the prop again:

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll    Min=483 Max=509 pp= 26 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 0s180

0s180 Speed=140 U=10.9V Channel=AccRoll    Min=472 Max=519 pp= 47 *********

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 1s180

1s180 Speed=140 U=10.9V Channel=AccRoll    Min=483 Max=510 pp= 27 *****

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s180

2s180 Speed=140 U=10.9V Channel=AccRoll    Min=489 Max=508 pp= 19 ***

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 3s180

3s180 Speed=140 U=10.9V Channel=AccRoll    Min=483 Max=512 pp= 29 *****

So, 2 stickers is best

VibrationTest.py COM5 3 140 6 -d motor3.txt -n 2s180

2s180 Speed=140 U=10.9V Channel=AccRoll    Min=488 Max=508 pp= 20 ****

VibrationTest.py COM5 3 140 6,6,6 -d motor3.txt -n end

  end Speed=140 U=10.8V Channel=AccRoll    Min=487 Max=510 pp= 23 ****

Now, we can perform a sweep in order to compare with the starting-point:

VibrationTest.py COM5 3 100-200:20 6,7

       Speed=100 U=11.1V Channel=AccRoll    Min=493 Max=501 pp=  8 *
       Speed=100 U=11.1V Channel=AccNick    Min=499 Max=507 pp=  8 *

       Speed=120 U=11.1V Channel=AccRoll    Min=489 Max=507 pp= 18 ***
       Speed=120 U=11.1V Channel=AccNick    Min=497 Max=508 pp= 11 **

       Speed=140 U=11.0V Channel=AccRoll    Min=489 Max=507 pp= 18 ***
       Speed=140 U=11.0V Channel=AccNick    Min=498 Max=509 pp= 11 **

       Speed=160 U=10.9V Channel=AccRoll    Min=482 Max=508 pp= 26 *****
       Speed=160 U=10.9V Channel=AccNick    Min=496 Max=510 pp= 14 **

       Speed=180 U=10.7V Channel=AccRoll    Min=489 Max=505 pp= 16 ***
       Speed=180 U=10.7V Channel=AccNick    Min=495 Max=508 pp= 13 **

       Speed=200 U=10.6V Channel=AccRoll    Min=482 Max=508 pp= 26 *****
       Speed=200 U=10.6V Channel=AccNick    Min=491 Max=509 pp= 18 ***

/!\ ToDo: Almost everything :)

BR

AttachList