模拟量转换为PWM输出
低频扬声器驱动模块
AD\Test\2025\September\AudioPWMF103.SchDoc
D:\zhuoqing\window\ARM\Keil\STM32\Test\2025\September\AudioPWMF103\Core\Src\main.c
01 PWM音频输出
一、背景介绍
为了测试一些震动传感器的特性。 需要制作一个低频扬声器驱动功率模块。 这样可以带动待测传感器运动。 下面,准备利用手边的电机驱动模块来制作驱动电路。

二、电路设计
设计基于STM32F103为核心的电路, 输入两路模拟信号经过偏置电路之后连接到单片机的AD输入。 PWM根据采集到的模拟信号的大小输出不同占空比的PWM, 连接到外部的电机驱动模块。 设计单面PCB, 一分钟之后得到测试电路板, 电路板焊接清洗之后进行调试。

三、软件编程
设置单片机PWM的中断, 打开PWM定时器更新中断。 在每一次PWM更新中断的时候, 读取ADC的输入, 根据输入的数值改变PWM的占空比。 在这里需要说明的是, 需要开启定时器的时候打开中断, 这样才能够使能中断子程序。 然后开启通道1和通道2 的PWM输出。 在中断服务程序中, 读取ADC数值, 获得平均值之后, 设置PWM的CCR寄存器。 由于 PWM周期 也是 4096 , 所以正好将 ADC的数值转换至对应PWM的占空比。


使用DG1062产生一个1Hz的正弦波, 输入到第一个通道。 可以看到输出的PWM波形的占空比随着输入信号的变化而改变。 至此, 单片机的软件调试正常了。


▲ 图1.3.1 输出PWM信号波形
后面, 将单片机的PWM波形引入一个电机驱动模块, 这样可以产生大的输出功率。 驱动一个小型扬声器, 这样可以产生较大距离的震动输出。

※ 总 结 ※
本文记录了驱动扬声器运动的功率模块的制作过程。 通过外部信号源输出不同频率,不同幅度的震荡信号, 由该模块进行采集之后产生PWM信号, 频率为 15kHz, 最后通过一个电机驱动模块完成功率放大, 驱动低频扬声器输出机械震动。

● 相关图表链接:
更多推荐
所有评论(0)