(iphone)x线性马达驱动电路

博主分享了从淘宝购得的iPhone线性马达拆解过程,揭示其工作原理:利用两个线圈和永磁体的电磁相互作用实现震动。通过H桥电路控制正负极切换驱动。文章还介绍了自制的mos管解决方案和使用DRV8837DSGR芯片的可能性。

0x01:简介

        有个项目刚好需要用到震动马达的,为了手感更好所以选用了线性马达,但baidu了很久都没发现什么有人折腾这个东西的,记录一下

0x02:拆解

        我这是在taobao购买的:

 一个 iphone6s,一个iphone6 的线性马达。

买回来直接上电电流很大,是不会震动的,网上也没找到拆解的文章,为了搞清楚内部构造和工作原理,只能拆解了分析了,

这里拆解的是 iphone6的线性马达:

 拆完发现也就是由两个线圈,我猜原理是,电流通过线圈产生磁,配合震动块上的永磁,来回不停的运动,达到震动的效果。

那为了使其工作就需要,来回不停的切换两个电极之间的正负。

0x02:电路图

其实这里就是需要使用 H桥,通过不断切换 线性马达 两个接口的 正负,我这里主要用的是mos管搭建的一个,也可以直接使用 H桥芯片例如:DRV8837DSGR 之类的,这个芯片我也测了一下,没问题,更少的元器件。

P3:电源接口,我用的是 3.3V,在停止震动时,应断开电源

P5: PWM控制输入,用于启动震动,我只用的是 1000HZ,50%占空比的pwm

M1、M2:线性马达接口

随便记录一下

### 使用STM32驱动线性马达 对于使用STM32来驱动线性马达,通常涉及到几个关键组件和技术。由于单片机自身的IO口功率不足以直接驱动较大负载如电机,因此需要额外的驱动电路或模块辅助完成这一过程[^1]。 #### 选择合适的驱动芯片 针对线性马达的选择应考虑其工作电流、电压范围等因素,并据此挑选适合的H桥或其他形式的驱动IC。这些器件能够放大来自微控制器的小信号至足以操作执行机构的程度。 #### 编写控制程序 编写用于生成适当脉宽调制(PWM)波形以调节速度和方向的应用软件至关重要。下面给出了一段基于HAL库实现简单PWM输出的例子: ```c #include "stm32f1xx_hal.h" TIM_HandleTypeDef htim3; void MX_TIM3_Init(void) { __HAL_RCC_TIM3_CLK_ENABLE(); TIM_OC_InitTypeDef sConfigOC; htim3.Instance = TIM3; htim3.Init.Prescaler = 83; // 设置预分频值,假设系统时钟72MHz,则此配置下频率约为1kHz htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 999; // 自动重装载寄存器ARR设置最大计数值为999(即周期T=1ms),则占空比D=(CCR/ARR)*100% HAL_TIM_PWM_Init(&htim3); sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 499; // 初始设定中间位置对应的比较匹配值CCRx sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; HAL_TIM_PWM_ConfigChannel(&htim3,&sConfigOC,TIM_CHANNEL_1); } // 设定角度函数,参数angle取值区间[0~180] void Servo_SetAngle(uint16_t angle){ uint16_t CCRx = (uint16_t)((float)(angle / 180.0 * 999)); __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,CCRx); } ``` 上述代码片段展示了初始化定时器以及定义改变伺服角度的方法。需要注意的是实际应用中还需根据具体型号调整参数并加入必要的保护措施防止过载损坏设备。 #### 连接硬件线路 连接时需注意区分电源供电部分与信号传输路径分开布置以免干扰;同时确保接地良好接触可靠减少噪声影响性能表现。标准PWM舵机会配备三根导线分别负责Vcc(+5V),GND(-),Signal(signal)[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值