本技术涉及马达驱动,尤其涉及一种线性马达的控制方法及电子设备。
背景技术:
1、目前,为了提高用户在使用电子设备时的使用体验,当用户对终端执行某些操作时,终端可以通过振动的方式对用户进行提示。例如用户在使用终端玩游戏时,终端可在用户进行预设操作时进行振动,以给用户触觉反馈,使用户沉浸式体验。其中,终端的振动是通过安装于该终端中的马达的振动来实现的。
2、现有技术中,一些第三方应用存在振动需求时,可调用操作系统提供的通用振动接口向马达驱动发送振动请求,以使马达驱动输出额定频率、额定电压的驱动电压持续驱动马达振动。在驱动电压的作用下,马达的振动强度随时间逐渐增大至最大强度并保持最大强度持续振动。对于某些极短的振动而言,线性马达的振动强度还未达到最大就需要停止振动,使得用户感觉整机振动较弱。同时,在需要停止马达振动时则停止输出驱动电压,这使得马达停止振动是依靠马达自身衰减,这会导致马达的刹车阶段较长,用户感觉终端振动较为拖沓松散。
技术实现思路
1、本技术实施例提供一种线性马达的控制方法及电子设备,可以在线性马达的振动时长较小时使线性马达快速启动、快速停止,使线性马达具有清晰的振感。
2、为达到上述目的,本技术的实施例采用如下技术方案:
3、第一方面,本技术提供一种线性马达的控制方法,应用于包括线性马达的电子设备,方法包括:接收用户触发线性马达振动的第一振动事件;在第一振动事件对应的振动时长小于或等于预设的第一时长的情况下,控制线性马达以第一振动波形振动,第一振动波形对应第一启动时间及第一停止时间,第一启动时间小于第二启动时间,第一停止时间小于第二停止时间;其中,第一启动时间为线性马达以第一振动波形振动时从开始振动的时刻到达到第一振动波形的最大振幅的时刻所需的时间,第一停止时间为线性马达以第一振动波形振动时从达到第一振动波形的最大振幅的时刻到停止振动的时刻所需的时间;第二启动时间为线性马达以第二振动波形振动时从开始振动的时刻到达到第二振动波形的最大振幅的时刻所需的时间,第二停止时间为线性马达以第二振动波形振动时从达到第二振动波形的最大振幅的时刻到停止振动的时刻所需的时间,第二振动波形为线性马达在第一驱动电压作用下的振动波形,第一驱动电压的输出频率为线性马达的谐振频率,第一驱动电压的输出时间为振动时长。本技术实施例通过缩短线性马达的启动时间和停止时间,可给用户带来强烈且紧凑的振感,既能有效提醒用户,又能提升用户的振动体验。
4、在第一方面提供的一种实现方式中,控制线性马达以第一振动波形振动,包括:根据振动时长及线性马达的类型生成振动描述数据,振动描述数据用于描述第一振动波形;根据振动描述数据控制线性马达以第一振动波形振动。也就是说,通过将振动时长转换为一个具备完整振动描述的振动描述数据,并根据该振动描述数据生成一个能使线性马达快速启动和快速停止的电压波形,以此使得马达能够快速启动以及快速停止振动,给用户带来强烈且紧凑的振感,既能有效提醒用户,又能提升用户的振动体验。
5、在第一方面提供的一种实现方式中,振动描述数据包括锐度、振动类型及事件持续时间;若线性马达为第一类型,振动类型为稳态振动类型、锐度为预设的第一数值且事件持续时间为振动时长;若线性马达为第二类型且振动时长小于或等于预设的第二时长,振动类型为瞬态振动类型、锐度为第二数值且事件持续时间为预设的第二时长,第二数值与振动时长呈负相关,预设的第二时长小于预设的第一时长。其中,第一类型可以为x轴线性马达,第二类型为z轴线性马达,考虑到不同类型的线性马达的振动波形有所区别,适应性调整振动描述数据使其与线性马达的类型匹配,可以缩短不同类型的线性马达的启动时间和停止时间,使不同类型的线性马达均能够有清晰的振感。
6、在第一方面提供的一种实现方式中,根据振动时长及线性马达的类型生成振动描述数据,包括:若第一振动事件对应的振动时长小于或等于预设的第一时长,将振动描述数据的事件持续时间设置为振动时长,将振动描述数据的锐度设置为预设的第一数值,以及将振动描述数据的振动类型设置为稳态振动类型;判断线性马达是否为第二类型且振动时长是否小于或等于预设的第二时长;若线性马达为第二类型且振动时长小于或等于预设的第二时长,将振动描述数据的事件持续时间调整为预设的第二时长,将振动描述数据的锐度调整为第二数值,以及将振动描述数据的振动类型调整为瞬态振动类型,预设的第二时长小于预设的第一时长,第二数值与振动时长呈负相关。
7、在第一方面提供的一种实现方式中,第一振动事件包括以下各项之一:接收到用户解锁电子设备的操作、接收到用户在线支付的操作、接收到用户录入人脸的操作、接收到用户释放技能的操作、或者接收到用户下拉聊天界面的操作。
8、在第一方面提供的一种实现方式中,电子设备还包括振动芯片,电子设备中部署有第一应用、振动服务、振动硬件抽象层hal及振动算法库;在第一振动事件对应的振动时长小于或等于预设的第一时长的情况下,控制线性马达以第一振动波形振动,包括:响应于第一振动事件,第一应用向振动服务发送振动请求,振动请求包括振动参数,振动参数包括振动时长;振动服务向振动hal发送振动请求;在振动参数指示振动接口为第一接口的情况下,振动hal根据振动时长及线性马达的类型生成振动描述数据,振动描述数据用于描述第一振动波形;振动hal向振动算法库发送振动描述数据;振动算法库根据振动描述数据生成电压驱动波形数据,并向振动hal发送电压驱动波形数据,电压驱动波形数据用于描述第一振动波形对应的驱动电压;振动hal向振动芯片发送电压驱动波形数据;振动芯片根据电压驱动波形数据向线性马达输出驱动电压,以使线性马达以第一振动波形振动。
9、在第一方面提供的一种实现方式中,振动hal根据振动时长及线性马达的类型生成振动描述数据,包括:振动hal判断振动时长是否小于或等于预设的第一时长;若振动时长小于或等于预设的第一时长,振动hal将振动描述数据的事件持续时间设置为振动时长,将振动描述数据的锐度设置为预设的第一数值,以及将振动描述数据的振动类型设置为稳态振动类型;振动hal判断线性马达是否为第二类型以及振动时长是否小于或等于预设的第二时长;若线性马达为第二类型且振动时长小于或等于预设的第二时长,振动hal将振动描述数据的事件持续时间调整为预设的第二时长,将振动描述数据的锐度调整为第二数值,以及将振动描述数据的振动类型调整为瞬态振动类型,预设的第二时长小于预设的第一时长,第二数值与振动时长呈负相关。
10、在第一方面提供的一种实现方式中,振动hal根据振动时长及线性马达的类型生成振动描述数据,还包括:若线性马达为第一类型或振动时长大于预设的第二时长,振动hal保持振动描述数据不变。
11、第二方面,本技术还提供了一种电子设备,电子设备包括:存储器、一个或多个处理器、振动芯片和线性马达;存储器、振动芯片与处理器耦合,振动芯片与线性马达连接;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行第一方面中任一实施方式的方法。
12、第三方面,本技术还提供了一种计算机可读存储介质,包括计算机指令;当计算机指令在电子设备上运行时,使得电子设备执行第一方面中任一实施方式的方法。
13、第四方面,本技术提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如第一方面及其任一种可能的设计方式的方法。
14、第五方面,本技术提供一种芯片系统,该芯片系统包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。上述芯片系统可以应用于包括通信模块和存储器的电子设备。该接口电路用于从电子设备的存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,电子设备可以执行如第一方面及其任一种可能的设计方式的方法。
15、其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。