【Hardware】【手機震動馬達】

這裏所說的手機馬達,主要是指應用到手機上的震動小馬達,其主要作用便是讓手機產生震動效果。

常用的手機震動馬達有三種:

1.圓柱形震動馬達
2.扁平鈕釦式震動馬達
3.線性馬達

其中扁平馬達尺寸規格如下:(直徑+厚度,如08表示直徑爲8MM,27表示厚度爲2.7MM):
0827、0830、0834 1020、1027、1030、1034 1227、1234

圓柱馬達尺寸規格如下:(長x寬x高):
11x4.5x3.4mm ; 11x4.3x4.5mm ; 12x4.5x4.5mm ;13x4.4x4.5mm

我們以常用的1027(直徑10mm,厚度2.7mm)扁平馬達爲例,其爆炸圖如下:


直流電流通過電刷和換向器之間的滑動接觸使得電流流入線圈。通電線圈在定子組件形成的永久磁場中切割磁力線產生電磁力,進而推動轉子發生轉動:

由於轉子上安裝了一質量偏心的振子,轉子質量的重心偏離軸的中心,轉子在轉動過程中重心不停的變動,故而產生了震動:

TB上很多店銷售扁平手機馬達,實物如下:

其參數:

額定電壓: 3.0V DC
使用電壓範圍: 2.5~4.0V DC
旋轉方向: 任意方向
使用環境: -20℃~+60℃
保存環境: -30℃~+70℃
額定轉速: 12000±2500RPM Min
額定電流: 70mA Max
起動電流: 90mA Max
起動電壓: 2.3V DC Max


在實際應用中,我們通過MCU的GPIO管腳(MOTOR_CTRL)來控制外部MOS管,進而驅動該震動馬達,參考電路如下:

MOTOR_CTRL = High, 馬達轉動
MOTOR_CTRL = Low, 馬達停止

實現 循環震動1.5s、停止0.5s,示例代碼如下:

	int cnt = 0;
	 
	gpio_pad_select_gpio(23);
	gpio_set_direction(23, GPIO_MODE_OUTPUT);
	
    while(1) 
	{
        printf("cnts: %d\n", cnt++);
		printf("set GPIO23: 1	\n");
		gpio_set_level(23, 1);
        vTaskDelay(1500 / portTICK_RATE_MS);
		
		printf("set GPIO23: 0	\n");
        gpio_set_level(23, 0);
		vTaskDelay(500 / portTICK_RATE_MS);
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章