手机振动的原因是什么意思

今天一个机友突然问我一个问题:“手机那么薄,靠什么振动?”

诶,这个问题有点意思~

手机振动器

手机振动器由电动机和凸轮组成~

利用凸轮(偏心装置)在手机内旋转,从而产生的震动。

拆过发动机老铁会发现,凸轮有点类似发动机平衡块。都是产生振动,只不过发动机是抵消振动,而手机是产生振动~

随着手机越做越薄,手机振动器也是越做越小~

有的甚至做成纽扣形式~

无论做的再小,原理万变不理其中,老铁们,你们看明白了吗~

1工作原理

2手机马达使手机震动的原因

3软件控制实现

4模块介绍

5模块init函数

6如何控制vibrator

工作原理

马达外部为工程塑料制成的外壳,内部除了外盒外,还有一个微小的直流电动机,驱动偏心轮转动。此外还有一块很简单的集成电路,用以控制启动和停止电动机的运转。当手机设为“振动”状态时,控制电路接通。马达轴上面有一个偏心轮,当马达转动的时候,偏心轮的圆心质点不在电机的转心上,使得马达处于不断的失去平衡状态,由于惯性作用引起震动。

手机马达使手机震动的原因

(1)由金属棒的偏心转动造成。

由于金属棒在所在的密封金属盒内高速转动,通通过摩擦力引起金属盒的内部空气也做剧烈运动。从而引起整个密封的金属盒振动,进而带动整个手机产生振动。有上述计算可知,金属棒做高速转动的能量所占份额很大,故此原因为手机产生振动的主因。

(2)由重心不稳造成。

由于震动马达的转动轴上所连的金属棒并不是按几何对称的方式布置的,故震动马达的转动轴会沿质心所在的方向转过一个偏角。故造成金属棒实际上并不是在水平面内转动的。在转动中,质心所在的位置会随金属棒位置改变而改变,故金属棒转动平面也是与水平面呈一定的夹角不断变化的。这种质心在一定的空间范围内不断变化的运动必将造成这个物体的位置移动。当变化较小且十分频繁时,即在宏观上表现为振动。

软件控制实现

控制原理:对马达输入端电压大小调整,控制马达振动强度(电压越高马达振动强度越大),电压为0则关闭马达振动,通过设置定时器的参数,来控制马达震动的持续时间。

模块介绍

采用spmi_driver_register总线模型实现模块的挂载

模块init函数

首先通过spmi_driver_register注册驱动,注册成功后进入qpnp_vibrator_probe函数,在这里面,首先通过spmi_get_resource获取vibratorbaseaddress,接着通过qpnp_vib_parse_dt(vib)获取DTS里面配置的驱动电压和最长震动时间的参数,接着通过qpnp_vibrator_config(vib)设置vibrator的寄存器参数,然后初始化工作队列、定时器、设置定时器的回调函数,再接着是设置获取震动剩余时间的回调函数,以及使能vibrator的回调函数,最后通过android的TimedOutput驱动框架来为上层提供控制的接口。drivers/staging/android/目录timed_output.h中定义timed_output_dev结构体,其中包含enable和get_time这两个函数指针,实现结构体后,使用timed_output_dev_register()和timed_output_dev_unregister()函数注册和注销即可。TimedOutput驱动程序框架将为每个设备在/sys/class/timed_output/目录中建立一个子目录,设备子目录中的enable文件就是设备的控制文件。读enable文件表示获得剩余时间,写这个文件表示根据时间振动。TimedOutput驱动的设备调试,通过sys文件系统即可

如何控制vibrator

由上面的介绍知道,利用android的TimedOutput驱动程序框架,在路劲/sys/class/timed_output/vibrator下,为上层提供了开启震动的接口enable,该接口需要接受振动时间作为参数,代码如下:

通过enable写入震动持续时间参数,然后调用驱动里面的qpnp_vib_enable,在这个函数里面,如果写入的参数是0,那么表示是关闭震动,如果写入的参数是大于0的,那么就设置定时器,然后调用工作队列,在工作队列里面调用qpnp_vib_set(vib,vib-state),去开启定时器,这样,我们的手机就可以震动了。

本文来自“这条河叫时光”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/101634.html

上一篇 2023-03-27 00:30:02
下一篇 2023-03-26 23:00:03

相关推荐

  • 苹果手机主板序列号(苹果手机主板序列号以什么字母开头)

    苹果手机怎么从主板分辨颜色白色黑色如果仅从主板是不能区分手机颜色的!但是单单区分8G和16G或32G还是可以看主板的,16G主板上方的屏蔽罩是黑色的,8G的则是白色的!还有就是可以看主板上的硬盘,8G与16G、32G都是可以看的出来,颜色无从区分!不过如果可以开机的话,只要连

    2023-10-01 20:48:31
    289
  • 战区2为什么会闪退(战区为什么老是闪退)

    为什么战区2闪退原因分析。  电脑配置  1、很多玩家在进行游戏时,可能会因为电脑配置不足导致出现闪退的问题。  2、因此玩家在进行游戏之前,需要检查一下电脑的配置是否足够。  3、下面给大家提供一些配置推荐来进行参考。  显卡驱动  1、如果玩家的显卡驱动没

    2023-10-01 07:41:51
    364
  • 魅蓝手机死机解决方法(手机白屏死机解决方法)

    魅蓝5手机经常不能开机解决办法:方法一1、前往魅族官网下载最新版固件;2、长按电源键以及音量加键,手机震动后松手;3、此时将手机连接到电脑,会识别出一个存储盘,将固件复制到存储盘里,点击升级就可以正常使用了。方法二携带手机、发票和保修卡,到当地的魅族授权服务体

    2023-09-23 11:00:49
    245
  • vivo手机换了主板后会怎样(vivo手机主板换了手机会变快吗)(vivo手机换了屏幕指纹不能用怎么回事)

    vivo手机主板换了手机会变快吗这个是不一定会变快的。正常来说手机的主板是没有人去修的,因为修主板的费用很高,而且修好之后质量并不一定好,很多主板并不是虚,而是直接更换了一块新的,因为维修人员不一定会修,他就建议你换一块新的新的主板价格很高,所以还不如直接买块

    2023-09-08 09:21:22
    725