【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);
	}
  • 10
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android设备的马达开机振动可以通过调用系统的Vibrator类来实现。首先,我们需要获取Vibrator实例,然后使用vibrate()方法设置振动时间,使用cancel()方法关闭振动。另外,可以使用hasVibrator()方法来判断设备是否具有振动器硬件。\[1\] 在Android的框架中,默认开启振动的核心类是VibratorService.java。该类位于framework/base/services/core/java/com/android/server/目录下。在该类中,可以找到开启和关闭振动的相关实现。\[1\] 在内核中,振动功能的实现位于kernel-4.9/drivers/misc/mediatek/vibrator/mtxxxx/vibrator.c文件中。可以通过调用vibr_Enable_HW()和vibr_Disable_HW()函数来开启和关闭马达。\[2\] 在Android 10.0系统中的VibratorService.java中的hasVibrator()方法中,可以通过doVibratorExists()函数来判断是否有振动模式。可以通过设置系统属性persist.sys.support.vibration的值来控制是否开启振动模式。\[3\] 因此,如果你想在Android设备开机时进行振动,你可以在开机时调用Vibrator类的相关方法来实现。 #### 引用[.reference_title] - *1* *3* [Android 10.0 framework 默认开启振动](https://blog.csdn.net/baidu_41666295/article/details/124330727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Android 内核实现开机振动效果](https://blog.csdn.net/weixin_45023644/article/details/115314960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值