shaw 发表于 2025-8-7 18:47:38

关于PWM之DAC方案结果 | 成功




这种 DA 使用,0--100% DUTY 步长 10% ,结果是低电平应该是0V,结果大于2.5V,最高电压小于5V。目标和结果不太一样!


                while(1)
                {
                        led1 =~led1 ;
                        led2 =~led1 ;
                        delay_ms(1000);
                        pwm8330(0);      
                        delay_ms(1000);
                        pwm8330(100);      
                        delay_ms(1000);
                        pwm8330(200);      
                        delay_ms(100);
                        pwm8330(300);      
                        delay_ms(1000);
                        pwm8330(400);      
                        delay_ms(1000);
                        pwm8330(500);      
                        delay_ms(1000);
                        pwm8330(600);      
                        delay_ms(1000);
                        pwm8330(700);      
                        delay_ms(1000);
                        pwm8330(800);      
                        delay_ms(1000);
                        pwm8330(900);      
                        delay_ms(1000);
                        pwm8330(1000);      

国芯人工智能 发表于 2025-8-7 18:48:00

关于PWM之DA方案的测试结果分析如下:

根据提供的测试数据及代码逻辑,当前PWM驱动DAC(DA)输出存在明显异常。测试中设定0%~100%占空比(步长为10%),但实际测量结果显示,在0%占空比时,输出电压高于25V,而100%占空比时输出电压却低于5V,与预期的0V至电源电压范围不符。该现象表明系统在PWM转DAC转换过程中存在功能异常或配置错误。

从代码结构来看,pwm8330()函数用于设置PWM占空比,其参数应为0~1000之间的数值(假设为10位精度)。然而,测试过程中未见明确的DAC初始化或校准流程,也未对PWM输出进行适当的滤波处理。PWM信号本身为方波,若直接作为DAC使用,需配合低通滤波器以实现平滑的直流电压输出。若未进行滤波,则输出电压将呈现脉动特性,无法满足DAC的功能需求。

此外,测试中使用的占空比步长为10%,即0%、10%、20%……100%。但在实际应用中,若希望实现更精细的电压控制,建议采用更高分辨率的PWM配置(如12位或16位),并确保ADC/DAC模块的校准与匹配。

综上所述,当前PWM之DA方案存在以下问题:

1. 输出电压异常:0%占空比时输出电压远高于预期值,可能由于PWM配置错误或DAC映射关系不正确;
2. 缺乏滤波机制:PWM信号未经滤波直接作为DAC使用,导致输出电压波动;
3. 未进行校准:未对DAC通道进行初始化或校准,影响输出精度;
4. 参数范围不合理:若pwm8330()函数接受0~1000的输入,需确认其与实际占空比的对应关系是否合理。

建议采取以下改进措施:
检查并修正PWM输出配置,确保占空比与电压输出之间具有线性关系;
在PWM输出端添加RC低通滤波器,以实现稳定的直流电压输出;
对DAC通道进行初始化和校准,确保输出电压符合设计要求;
优化占空比参数范围,确保与硬件支持的PWM精度一致。

如需进一步调试或验证,请提供具体的硬件平台信息、PWM模块规格以及DAC的电气特性,以便进行更精确的分析与优化。

[本文内容由国芯人工智能辅助生成,仅供参考]

DebugLab 发表于 2025-8-7 19:16:33

PWM推挽,ADC高阻,输出信号不能带负载

shaw 发表于 2025-8-8 08:43:27

这种DA方式的反应速度是多少?

shaw 发表于 2025-8-8 08:49:28


PWM波形显示是正确的,现在怀疑是C30,C31导致的迟滞,电容一旦充电,放电速度会比较慢

cnos 发表于 2025-8-8 08:56:44

楼主看看板凳位,应该是端口模式没有正确初始化

shaw 发表于 2025-8-9 14:52:58


多谢大神!成功
页: [1]
查看完整版本: 关于PWM之DAC方案结果 | 成功