Subversion Repositories Projects

Rev

Rev 694 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
694 FredericG 1
[[BR]]
2
[[BR]]
3
attachment:VibTestBanner_small.jpg
4
[[BR]]
5
[[BR]]
6
[[BR]]
641 FredericG 7
[[TableOfContents(2)]]
8
 
9
= What is the VibrationTest Tool? =
694 FredericG 10
The tool '''evaluates the vibration generated by the motors''' using the MK build-in sensors, so no additional hardware is needed.
641 FredericG 11
 
694 FredericG 12
The VibrationTest works with 1.2 and 1.3 FC boards but unfortunately does not work in combination with ME boards without a hardware patch.
13
[[BR]][[BR]]
14
The tool can be used to '''balance props, balance motor/prop assemblies''', experimenting with different motor-mounts and so on. As the tool only uses the sensors on the MK FlightControl board, no extra hardware is required.
15
 
16
As the tool can follow the vibrations caused by the prop, it is possible to '''deduce the motor RPM''' at a given speed value. This allows checking if a ESC/motor assembly performs as expected.
17
 
18
For Aerial Photography, it would perhaps be possible to attach a second FC board to a camera to '''visualize the vibrations the camera is exposed to'''. However, this is under investigation if this produces usable results.
19
 
20
 
21
[[BR]]
22
 
23
= Why is it important to reduce vibrations? =
24
The FlightControl sensors pickup the vibrations and this deteriorates performance; the new FC ME comes with vibration dampers in order to reduce the vibrations transferred to the FC.
25
 
641 FredericG 26
Reducing vibration is very important, especially for Aerial Photography or Video. Vibrations result in blurry footage. Some claim that high frequency vibrations can be picked up by the Optical Image Stabilization lens assembly which is incorporated in almost all recent cameras. The OIS is not designed for these vibrations and makes thing worse, even when you switch the OIS feature off in the camera menu.
27
 
28
Propellers can be balanced the traditional way. However it was discovered that also the motors need balancing. One way to accomplish this is let a small unbalance in the prop compensate the motor unbalance, so the orientation of the prop is important (see [http://www.rcgroups.com/forums/showpost.php?p=12832508&postcount=228 this post]). Looking at the vibraions of a running motor allows balancing the prop/motor assembly as a whole.
29
 
694 FredericG 30
[[BR]]
31
 
641 FredericG 32
= How does it work? =
33
The standard FlightControl program samples all sensors periodically and provides a command to read the latest sample from all sensors. The MKTool uses this command to generate graphs of the analog values. In a first approach the VibrationTest used this standard command to monitor vibrations. The problem is that this mechanism only allows to sample the values 30 times a second. The actual shape of the signals cannot be determined and one can only hope to catch the peak values. In order to get reliable results the values need to be monitored for a long time (a minute for example).
34
 
35
This new approach is based on dedicated FlightControl software providing a new command. The new command instructs the FC to sample one of the sensors as fast as possible and store the info in its internal memory. Afterwards the recorded data can be read to analysis. This allows to grab a reliable signal in a very short time. This approach can capture about 11000 samples a second, 500 times more than the MKTool can.
36
 
37
This is an example of the signal measured by the Roll-ACC sensor:
694 FredericG 38
[[BR]]
641 FredericG 39
[[Anchor(SampleSignalJpg)]]
40
attachment:test.jpg
41
 
694 FredericG 42
[[BR]][[BR]]
641 FredericG 43
= Current Project status =
694 FredericG 44
/!\ ~+'''Version 1.2 is available'''+~
641 FredericG 45
[[BR]][[BR]]
46
At the time of writing, the tool was tested in combination with:
47
 * PC/Windows XP and Vista
48
 * FC 1.2 and FC 1.3
694 FredericG 49
 * /!\ '''The Tool does not seem to work well in combination with FC ME without hardware modification.'''
50
[[BR]]
51
 
641 FredericG 52
Theoretically the tool should also run on MAC and Linux.
53
[[BR]][[BR]]
694 FredericG 54
Features/fixes in the pipeline
55
 * Tool to help measuring RPM
56
 * Measurement parameters in different dialog -> more room for results
57
 * Configurable sampling-rate -> sampling over a longer time is needed is some cases
58
 * Allow to connect two FC boards for measurement of camera vibrations
59
 * Integrated backup and restore of flight settings
60
 * Integrated installing and restore of FC code
641 FredericG 61
[[BR]][[BR]]
62
{i} [http://forum.mikrokopter.de/topic-11446.html MK Forum thread for discussions]
63
[[BR]]
64
{i} [[MailTo(frederic AT rc-flight DOT be)]]
65
 
694 FredericG 66
 
67
[[BR]][[BR]][[BR]]
68
[[Anchor(Install)]]
641 FredericG 69
= How do I install the tool? =
70
The tool is written in programming language called [http://en.wikipedia.org/wiki/Python_(programming_language) Python].
71
 
642 FredericG 72
The most logic way to run the tool is to install support for Python on your PC (if you do not have it already) and the Python libraries the tool depends on.
73
Python is also available for Linux and MAC; the tool should also run on these platforms, but I have never tried it.
641 FredericG 74
 
75
If you do not feel like installing Python, a version that is compiled to a windows executable is provided.
76
 
77
So, you have two options.
78
 
79
[[Anchor(InstallPython)]]
694 FredericG 80
== Option 1: Install Python and required libraries ==
641 FredericG 81
For a Windows machine I propose you install:
82
 
83
 * [http://www.activestate.com/activepython/ ActivePython for Windows] Press the big "ActivePython Download Now" button.
84
 * [http://sourceforge.net/projects/pyserial/files/ PySerial (support for serial port access)] Select "pyserial-2.5-rc1.win32.exe" on that page.
642 FredericG 85
 * [http://www.wxpython.org/download.php wxPython wxWidgets for Python] Select the the win32-unicode version for Python 2.6
86
 * [http://sourceforge.net/projects/numpy/ NumPy, the fundamental package needed for scientific computing with Python]
694 FredericG 87
Once you have Python support on your PC, unzip [http://www.rc-flight.be/VibrationTest/VibrationTest_1_2.zip VibrationTest_1_2.zip] to a directory on your PC.
641 FredericG 88
 
89
== Option 2: Get the compiled version ==
694 FredericG 90
unzip [http://www.rc-flight.be/VibrationTest/VibrationTestExe_1_2.zip VibrationTestExe_1_2.zip] to a directory on your PC
641 FredericG 91
 
92
 
694 FredericG 93
[[BR]][[BR]][[BR]]
641 FredericG 94
= How do I use the tool? =
95
== Prepare your MK ==
96
 
97
=== Secure your MK ===
98
I use luggage straps to secure my MK to the table while it is still able to vibrate:
99
 
100
attachment:mk1InTest.jpg
101
 
694 FredericG 102
[[BR]][[BR]]
103
 
104
/!\ '''For MKs with bigger motors I have found that it is increasingly important to make sure that the straps do not vibrate too much and stay out of the propwach as much as possible''' Using some soft materials to isolate the straps from the frame and to minimize the strap vibrations improve the quality of the measurements, see picture below.
105
 
106
attachment:mk2InTest.jpg
107
[[BR]]
108
Later in this page it will be explained how the quality of the measurements can be checked.
109
 
110
[[BR]]
111
[[Anchor(InstallFCSoftware)]]
641 FredericG 112
=== Installing the FlightControl software ===
113
The VibrationTest tool only works in combination with a special version of the FlightControl software. It must be flashed in the FC board before using the test and '''you need to reinstall your regular software version afterwards'''. This just takes a few minutes. Switching the software is done the usual way, using the MKTool.
114
 
115
You will find the required hex file in the same directory with the VibrationTest tool.
116
 
117
/!\ '''The FC code for the VibrationTest is based 0.74d but is not fit for flying! Before flying, you will need to reinstall your initial FC code. When the version you use for flying is 0.74d, your settings should be preserved. In combination with other versions, it might not be the case. It is a good idea to backup yout settings to PC (via the MKTool) before installing the VibrationTest FC code. '''
118
 
119
After insatlling the FC code for the VibrationTest, the LC-Display in the MKTool will look like this:
120
 
694 FredericG 121
[[Anchor(InstallFCSoftwareJpg)]]
641 FredericG 122
attachment:LCDisplay.jpg
123
 
694 FredericG 124
It is normal that a there is a warning for a missing BL-Ctrl. When you have 4 motors for example, it should complain that it did not find motor 5.
125
 
126
 
642 FredericG 127
== Starting the VibrationTest tool ==
128
In the directory where you unzipped the tool, dubbleclick VibrationTestGui.py (in case of the Python version) or VibrationTestGui.exe
641 FredericG 129
 
642 FredericG 130
== Using the VibrationTest tool ==
694 FredericG 131
[[BR]]
642 FredericG 132
[[Vimeo(6948282)]]
694 FredericG 133
[[BR]][[BR]]
134
[[Vimeo(7670919)]]
135
[[BR]]
641 FredericG 136
 
694 FredericG 137
== Checking the reliability/accuracy of the results ==
138
Before you start, it is good to check the reliability of the test and setup.
139
 
140
You should alway start with a sweep and look at different sensors. If the vibrations is rather constant over motor-speed, the combination might be well balanced or you might not be measuring what you are hoping to measure. In this case, sticking some tape to the prop should should unbalance it and you should see a difference.
141
[[BR]]
142
You can have a look at the recorded signals, the filtered signals and perhaps the spectrum.
143
The picture below shows an example of (raw) a signal of good quality:
144
 
145
attachment:GoodSignal.jpg
146
 
147
[[BR]]
148
The signal below is regular but goes slowly up and down. This is not a big problem as this will be filtered out later; this is still good:
149
 
150
attachment:MediumSignal.jpg
151
 
152
[[BR]]
153
The signal in the next picture is of low quality. Propably other components than the motor are vibrating:
154
 
155
attachment:BasSignal.jpg
156
 
157
[[BR]]
158
[[BR]]
159
If the signals seem ok, you can repeat the sweep multiple times, using one of the sensors. Each time you should get similar results. Results will never be 100% the same.
160
 
161
Another test you should do, is let the tool measure multiple times at the same speed; for example "10*100,10*200". The measurement at the same speed should report the about the same amount of vibrations.
162
 
163
The figure below shows the result of such test with a "Roxxy 2824-34 / EPP1045 / 3s / Standard ESC" combination. All but the green line are from the Nick sensor. The black line are vibrations measured at speeds 130 and 185. The other lines are sweeps. This does not look too bad.
164
 
165
attachment:acuracy1.jpg
166
 
167
[[BR]]
168
(!) When the results are disappointing, one should experiment with the way the MK is attached. One could fix the MK more firmly to the desk or on the contrary allow more movement. One should also and make sure nothing else but the MK can vibrate.
169
 
170
It is also possible that the filter parameters might not be optimal for your setup. In the figure below I have almost disabled the filter and switched to "pp" measurement:
171
 
172
attachment:acuracy2.jpg
173
 
174
[[BR]]
175
This is another example of such a test (Turnigy 2836-750 / APC 12x3.8 / 4s / TowerPro ESC):
176
 
177
attachment:acuracy3.jpg
178
 
179
[[BR]][[BR]]
180
= Examples =
181
 
182
== Balancing example: Roxxy 2824-34 / EPP1045 / 3s / Standard ESC ==
642 FredericG 183
[[Vimeo(7011506)]]
641 FredericG 184
 
694 FredericG 185
[[BR]]
186
== Effect of prop position, Roxxy 2824-34 / EPP1045 3s / Standard ESC ==
187
The importance of the position of the propeller relative to the motor was first reported by RCGroups member "Old Man Mike", see [http://www.rcgroups.com/forums/showpost.php?p=12832508&postcount=228 this post]. My tool also shows this effect. However, I observed that sometimes rotating the prop did not produce significant variations...
188
 
189
I discovered that when I first balance the prop as good as I can using the VibrationTest, rotating the prop produced very little difference.
190
 
191
I come to the conclusion that I need to deliberately unbalance the prop a bit in order to find the "sweet spot". I also observed that when I unbalance the prop by sticking some tape on one side of the prop the vibrations peak while they go trough a minimum when I stick some tape to the other side.
192
I think this supports the theory that the slightly unbalanced prop can compensate for unbalances in the motor.
193
[[BR]][[BR]]
194
attachment:StudyRotation.jpg
195
[[BR]][[BR]]
196
On the X-asis the rotation of the prop in steps of 60 degrees. The red line is with a prop that I balanced before (needs some tape opposite to the prop size-markers). The green line shows vibrations when I attach an additional strip of tape (so unbalancing it). The blue line shows what happens when I attach tape to the other side (where the markers are).
197
 
198
== Balancing example: Turnigy 2836-750 / APC 12x3.8 / 4s / TowerPro ESC ==
199
[[BR]]
200
attachment:Mk2BalancingExample1.jpg
201
[[BR]]
202
The red line is the initial balancing. The prop seemed best balanced with no additional tape.[[BR]]
203
The green line are the measurement while rotating the prop (steps of 45 degrees)[[BR]]
204
The blue line is the re-balancing, due to the repositioning of the prop the results are better. The first 3 measurements showed that no tape produced the best results. In the last 3 measurements of the blue line, I experimented with smaller strips and this produced the best result.
205
 
206
[[Anchor(MECaps)]]
207
== Influence of ME ACC capacitors ==
208
[[BR]]
209
This example shows why the VibrationTest does not work in combination with FlightControl ME boards.
210
ME boards have bigger capacitors on the ACC lines and these suppress the signal we are interested in. 1.3 boards have 0.1 uF capacitors while ME has 1 uF capacitors.
211
[[BR]][[BR]]
212
To be sure that the issue was due to these capacitors I replaced one of the capacitors and performed some measurements. The first picture below shows the raw signal without capacitor (0uF). The next picture shows the signal with a 0.1uF capacitor, so this corresponds with the capacitor used on 1.3 boards. For the last picture a 1uF capacitor (so the normal value for an ME board) was installed. As you can see the signal is completely suppressed...
213
[[BR]][[BR]]
214
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0uF.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0uF.jpg, width=300)]]
215
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0d1uF.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0d1uF.jpg, width=300)]]
216
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-1uF.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-1uF.jpg, width=300)]]
217
[[BR]][[BR]][[BR]]
218
The pictures below show the spectra of the same signals. As you can see, the 0.1uF cap already filters a lot but leaves the vibration signal visible.
219
[[BR]] [[BR]]
220
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0uF-spectrum.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0uF-spectrum.jpg, width=300)]]
221
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0d1uF-spectrum.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-0d1uF-spectrum.jpg, width=300)]]
222
[[ImageLink(http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-1uF-spectrum.jpg, http://www.rc-flight.be/VibrationTest/Images/ME-Acc-Cap-1uF-spectrum.jpg, width=300)]]
223
 
224
[[BR]][[BR]]
225
[[Anchor(Changelog)]]
226
= Changelog =
227
||'''Version'''||'''Date'''||'''Changes'''||
228
||1.2||17/11/2009||- Ability to measure Gyro sigals[[BR]]- Tool to measure RPM||
229
||1.0||24/10/2009||= 0.9 RC4||
230
||0.9 RC4||21/10/2009||- FC code: ignore mixing table so that all motors always work[[BR]]||
231
||0.9 RC3||17/10/2009||- Fixed limitation of 4 motors (not tested)[[BR]]- More parameter checking and clear error reporting[[BR]]- Support to connect to NC[[BR]]- Fixed exception at start of measurement||
232
 
233
[[BR]][[BR]]
234
= Older versions =
235
 
236
 * 1.0
237
[http://www.rc-flight.be/VibrationTest/VibrationTest_1_0.zip VibrationTest_1_0.zip][[BR]]
238
[http://www.rc-flight.be/VibrationTest/VibrationTestExe_1_0.zip VibrationTestExe_1_0.zip][[BR]]
239
 
240
[[BR]][[BR]]
641 FredericG 241
= Links =
694 FredericG 242
 
243
=== VibrationTest related ===
244
 * [http://svn.mikrokopter.de/mikrowebsvn/listing.php?repname=Projects&path=/VibrationTest/#_VibrationTest_ VibrationTest Project in Subversion]
641 FredericG 245
 * [http://forum.mikrokopter.de/topic-11446.html MK Forum thread for discussions]
694 FredericG 246
 * Mail FredericG: [[MailTo(frederic AT rc-flight DOT be)]]
247
 
248
=== Related Threads ===
249
 * [http://forum.mikrokopter.de/topic-7794-1.html Thread: Vibrationsdämpfung der Antriebsmotoren]
250
 * [http://forum.mikrokopter.de/topic-post106888.html Thread: Tilt servo play => Vibrations]
251
 * [http://www.mk-fr.info/forum/index.php/topic,812.msg12038.html Thread: Equilibrage des Hélices RC (French)]
252
 * [http://www.vimeo.com/4257366 Video: Is the Optical Image Stabilization of the FX35 causing problems?]
253
 * [http://www.rcgroups.com/forums/showthread.php?t=807347 Thread: Multikopter (mikrokopter, UAVP, x-ufo-3rd, etc) AP pictures]
254
 
255
=== Related Projects ===
641 FredericG 256
 * [http://www.rcgroups.com/forums/showthread.php?t=1006721 Old Man Mike "Test Fixture Evaluates Motors/Props/ESCs for Quadcopter Performance"]
694 FredericG 257
 
258
=== Used Libraries and Tools ===
259
 * [http://www.python.org/ Python]
260
 * [http://www.wxpython.org/ wxPython]
261
 * [http://wxglade.sourceforge.net/ wxGlade]
262
 * [http://numpy.scipy.org/ NumPy]
263
 * [http://www.py2exe.org/ py2exe]
264
 
265
=== Technical references ===
266
 * [http://en.wikipedia.org/wiki/Sampling_(signal_processing) Sampling]
267
 * [http://en.wikipedia.org/wiki/Fourier_analysis Fourier Analysis]
268
 
641 FredericG 269
[[BR]]
270
 
694 FredericG 271
[[AttachList]]
641 FredericG 272
 
273
----
694 FredericG 274
 . KategorieTools KategorieProjekte KategorieEnglish KategorieAnleitung