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

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

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

Advantages and Disadvantages

Advantages

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

Disadvantages

  • 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

Microcontroller

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

Wiring with a Raspberry Pi Pico

  • 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

 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

--submitted on uni2work--