/motor_vibrometer

Measures vibrations of copter motor

Primary LanguageArduinoMIT LicenseMIT

Motor Vibrometer

Project is intended to help in dynamic balancing of copter motors with props.
There are huge of ways to measure vibrations produced by motor. Beginning from sensing it by hand, ending laser method. I suggest to use flight controller features to measure vibrations and show it in clear numbers for comparison.
Project was developed and tested on MultiWii Micro board. But should work on any Atmega328 board with MPU6050 I2C sensor.
You may use flight controller installed on your copter. But since they are (in most cases) damped, measurements will be less indicative. I advice to use separate flight controller or Arduino board with MPU6050 sensor.
Project requires i2cdevlib installed

HowTo

To measure vibrations you should follow this steps:

  1. Open sketch in Arduino
  2. Flash it into the board
  3. Attach board to bow with motor we testing with zip tie
  4. Plug motor ESC to PIN9 of board
  5. Plug power battery to ESC
  6. Plug USB cable to PC and open Arduino Port Monitor and connect it to COM port of your board
  7. Check that all cables and components are safe from prop blades.
  8. In Port Monitor, send any symbol to begin calibration process.
  9. Board should be still while calibrating.
  10. You will see something like this it Port Monitor window:
    Initializing I2C devices...
    Testing device connections...
    MPU6050 connection successful
    

    Calibrating............. Calibrations: -1251 -1109 1132 10 23 -11

    Send motor PWM number or .(dot) to start measurement:

  11. After calibration you can start measurements
  12. Send PWM timing an number to board (from 1000 to 2000), or .(dot) to use 1200. btw. I've chosen this value as most effective for measurements. Keep in ming that greater values will make your copter fly and you vill have extra vibrations in z-axis. I've found that it most convenient to put copter on table and make measured bow, with motor, outside the edge of the table./li>
  13. Vibrometer will spin up motor, and measure vibrations (6 sec. by default)
  14. After measurement you will see the results:
    Starting motor at: 1200
    Spin up...
    Measuring 5 seconds...
    ...........
    	ax	ay	az	gx	gy	gz
    Max:	228	264	424	52	50	46	
    Avg:	58	106	101	11	11	10	
    Measurements count: 2275
    
  15. As for balancing technique, I use next algorithm:
    1. measure vibrations on bare motor with prop
    2. apply zip tie on motor and run one more test
    3. move zip tie at 1/3 or turnover and measure once more
    4. move zip tie again at 1/3 and measure last time
    5. now you have 4 measurements to compare and choose the best
    6. recheck best position and remove tie
    7. don't forget tie lock position
    8. apply little pierce of metallic adhesive tape to the place of lock
    9. remeasure
    10. keep going 8-9 while vibrations are reducing
    11. you have balanced motor!!