Team12 Vibration Motor

From Sketching with Hardware at LMU Wiki
Revision as of 18:15, 19 October 2022 by 138.246.3.183 (talk) (Created page with "= Coin Vibration Motor = The coin vibration motor (in our case the TC-9193500) is an Eccentric Rotating Mass vibration motor (ERM). An ERM uses a small unbalanced mass on a DC...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Coin Vibration Motor[edit]

The coin vibration motor (in our case the TC-9193500) is an Eccentric Rotating Mass vibration motor (ERM). An ERM uses a small unbalanced mass on a DC motor. The rotation of the mass creates a force that translates to vibrations.

Technical Specifications[edit]

  • shape: coin format
  • size: 10 x 2,7 mm
  • operating voltage: 3V

Advantages and Disadvantages[edit]

Advantages[edit]

  • small size
  • simple to use and easy to control
  • translates to a wide range of vibration amplitudes and frequencies to match any application

Disadvantages[edit]

  • its amplitude is tied geometrically to the frequency and the speed, so it is not possible to alter the amplitude and frequency independently

How to get it to work[edit]

Microcontroller[edit]

Use a microcontroller of choice. In our example below we use the Raspberry Pi Pico.

Wiring with a Raspberry Pi Pico[edit]

  • If necessary, solder cable ends to jumper cables
  • Connect the black cable to GND
  • Connect the red cable to GPIO
  • Be careful not to connect the two cables to prevent short circuits

Code Example[edit]

 1 # import modules
 2 from machine import Pin,PWM
 3 from time import sleep_ms
 4 
 5 # connect red to GPIO3 and black to GND
 6 vib = PWM(Pin(3))
 7 vib.freq(1000)
 8 
 9 # for a duty cycle with 16 bit define the maximal possible value 
10 max_value = 65535
11 
12 # for soft vibrations 30000 is a still visible value
13 min_value = 30000
14 
15 # example vibration rhythm
16 # play with the sleep_ms values to change the rhythm of the vibration
17 # play with the duty_u16 value to define the intensity of vibration
18 while True:
19     vib.duty_u16(max_value)
20     sleep_ms(1000)
21     vib.duty_u16(min_value)
22     sleep_ms(1000)

Instructional Video[edit]

--submitted on uni2work--