找回密码
 立即注册
查看: 94|回复: 6

求助pwm控制方案

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-30 09:10:49
已绑定手机

1

主题

14

回帖

83

积分

注册会员

积分
83
发表于 2025-4-6 10:56:43 | 显示全部楼层 |阅读模式
目前一个项目,需要两个dac输出控制,用两路pwm模拟。
正交编码器输入,还有一路音频输出。
32G的pwm功能能够同时完成吗?
模拟输出静态电压值就可以。音
频输出有参考电路吗?求助大神。

回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-6 10:58:00 | 显示全部楼层
针对您提出的PWM控制方案需求,以下是一些专业建议和分析:

1. PWM模拟DAC输出
使用PWM模拟DAC输出是一种常见的低成本解决方案。PWM信号的占空比可以通过低通滤波器转换为模拟电压。对于两路DAC输出,您需要两路独立的PWM信号。

实现步骤:
PWM生成:确保您的微控制器(如32G系列)能够生成两路独立的PWM信号。PWM的频率和分辨率是关键参数。较高的频率可以减少滤波器的设计复杂度,而较高的分辨率可以提高模拟电压的精度。
低通滤波器:设计一个简单的RC低通滤波器,将PWM信号转换为平滑的模拟电压。滤波器的截止频率应远低于PWM频率,以确保有效滤除高频成分。
静态电压值:通过调整PWM的占空比,可以实现所需的静态电压值。例如,如果PWM的占空比为50%,则输出电压为PWM高电平电压的一半。

2. 正交编码器输入
正交编码器通常用于测量旋转或线性位移。它输出两路相位差90度的方波信号,通过解码这两路信号可以确定运动的方向和速度。

实现步骤:
信号捕获:使用微控制器的定时器或专用编码器接口模块捕获正交编码器的A相和B相信号。
解码算法:编写解码算法,根据A相和B相的变化顺序判断运动方向,并根据脉冲计数计算位移或速度。
中断处理:为了提高响应速度,建议使用中断处理编码器信号的变化。

3. 音频输出
音频输出通常需要DAC或PWM信号经过适当的滤波和放大。

参考电路:
PWM音频输出:如果使用PWM生成音频信号,需要设计一个低通滤波器以去除高频成分。滤波器的截止频率应设置为音频信号的最高频率(通常为20kHz)。
DAC音频输出:如果使用DAC生成音频信号,可以直接连接到一个音频放大器。常见的音频放大器电路包括运算放大器(如LM386)或专用音频放大器芯片。
参考电路:可以参考以下电路设计:
PWM音频输出:PWM信号 → RC低通滤波器 → 音频放大器 → 扬声器。
DAC音频输出:DAC输出 → 音频放大器 → 扬声器。

4. 32G微控制器的能力
32G系列微控制器通常具有多路PWM输出、定时器捕获功能和DAC输出。具体能否同时完成上述任务,取决于以下因素:
PWM通道数量:确保有足够数量的PWM通道用于DAC模拟和音频输出。
定时器资源:正交编码器输入需要占用定时器资源,确保有足够的定时器可用。
处理能力:确保微控制器的处理能力足够处理所有任务,特别是在高频率PWM和实时编码器解码的情况下。

结论
在32G微控制器上,通过合理配置PWM通道、定时器和DAC资源,可以同时实现两路PWM模拟DAC输出、正交编码器输入和音频输出。建议详细查阅微控制器的数据手册,确保资源分配合理,并进行实际测试以验证方案的可行性。

希望这些建议对您的项目有所帮助。如有进一步问题,欢迎继续讨论。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-6 11:11:36 | 显示全部楼层
您的DAC要求很明确,PWM模拟输出静态电压就可以
但音频输出要求不明确,对音质有何要求,还有采样率和时长
要求高可以用I2S,注意32G12K系列无I2S
截图202504061112597008.jpg
建议使用AI8051U,可以参考实验箱和开山斧(开发板)例程
https://www.stcaimcu.com/data/download/DemoCode/AI8051U-DEMO-CODE-V1.2.zip
https://www.stcaimcu.com/thread-10686-1-1.html
https://www.stcaimcu.com/thread-11618-1-1.html
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-30 09:10:49
已绑定手机

1

主题

14

回帖

83

积分

注册会员

积分
83
发表于 2025-4-6 11:15:12 | 显示全部楼层
Debu*** 发表于 2025-4-6 11:11
您的DAC要求很明确,PWM模拟输出静态电压就可以
但音频输出要求不明确,对音质有何要求,还有采样率和时长 ...

音频要求不高,就是开机的水滴声,几秒钟就可以,还有报警的滴滴声。我用PWMA的两路输出控制占空比,控制DAC。还能用PWMA的输入捕获检测正交编码器吗。PWMB想用来控制喇叭。从来没接触过喇叭的控制,以前都是蜂鸣器。

点评

音频文件体积较大,为了容量大可以考虑32G12K128 可以使用ADPCM压缩,参考梁工的ADPCM例程 https://www.stcaimcu.com/thread-10641-1-1.html  详情 回复 发表于 2025-4-6 11:23
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-6 11:23:12 | 显示全部楼层
wyfw*** 发表于 2025-4-6 11:15
音频要求不高,就是开机的水滴声,几秒钟就可以,还有报警的滴滴声。我用PWMA的两路输出控制占空比,控制 ...

音频文件体积较大,为了容量大可以考虑32G12K128
可以使用PWM播放音频,PWM工作在超声波频率,用PCM调制占空比
可以使用ADPCM压缩,参考梁工的ADPCM例程
https://www.stcaimcu.com/thread-10641-1-1.html
https://www.stcaimcu.com/thread-5633-1-1.html


DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-4-6 12:08:25 | 显示全部楼层
直接使用  AI8051U 来解决
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-04-30 09:10:49
已绑定手机

1

主题

14

回帖

83

积分

注册会员

积分
83
发表于 2025-4-6 14:30:43 | 显示全部楼层
神*** 发表于 2025-4-6 12:08
直接使用  AI8051U 来解决

我就是看您那个奢香夫人的帖子,在研究怎么播放音频。
现在还没搞通播放音频的整个流程,有教程吗。
我去看看ai8051U的资料。
顺便问一下,8052啥时候能出?
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:26 , Processed in 0.202774 second(s), 89 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表