【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);
	}
发布了30 篇原创文章 · 获赞 12 · 访问量 8262

猜你喜欢

转载自blog.csdn.net/syjie19900426/article/details/88135368
今日推荐