梁工 发表于 2024-10-29 17:22:24

AI8051U-LQFP48PWMA-3个相位差120度的PWM互补输出P2口-匹配输出0或1。
先别修改程序, 直接下载"Objects"里的"pwm.hex"测试, 下载时选择主频24MHz.
MCU主频24MHz, PWM时钟24分频, 时间的分辨率为1us. 死区为0.5us.

PWM1通道工作于PWM模式1, PWM2、PWM3工作于匹配输出模式. 输出PWM周期3ms.
通道1输出: P2.0, PWMA1P输出, P2.1, PWMA1N输出
通道2输出: P2.2, PWMA2P输出, P2.3, PWMA2N输出,PWMA2相对PWMA1滞后120度相位.
通道3输出: P2.4, PWMA3P输出, P2.5, PWMA3N输出,PWMA3相对PWMA1滞后240度相位.

如有需要, 用户自行修改成别的IO输出.

三相PWM-黄色0度-蓝色120度:



三相PWM-黄色0度-蓝色240度:



完整工程源码:



深山老妖 发表于 2024-10-30 19:19:02

本帖最后由 深山老妖 于 2024-10-31 19:05 编辑

梁工 发表于 2024-10-29 17:22
AI8051U-LQFP48PWMA-3个相位差120度的PWM互补输出P2口-匹配输出0或1。

先别修改程序, 直接下载"Objects" ...
现在的问题是,PWM在120M的工作频率下,输出的PWM频率为100K,输出信号会有无规律的干扰问题,如下图



梁工 发表于 2024-10-30 21:31:24

深山老妖 发表于 2024-10-30 19:19
现在的问题是,PWM在120M的工作频率下,输出的PWM频率为100K,输出信号会有无规律的干扰问题,如下图




用数字示波器抓波形我看看。

深山老妖 发表于 2024-10-31 00:41:23

梁工 发表于 2024-10-30 21:31
用数字示波器抓波形我看看。

手里的示波器太LOW了,抓不出来,可以肯定的是,信号确实有问题。

社区闲人 发表于 2024-10-31 08:36:18

逆变器必须使用外部晶振,例如30M即可。
PWM的工作频率同系统频率,不用上120M的工作频率。
PWM使用高级定时器即可。

深山老妖 发表于 2024-10-31 11:39:25

社区闲人 发表于 2024-10-31 08:36
逆变器必须使用外部晶振,例如30M即可。
PWM的工作频率同系统频率,不用上120M的工作频率。
PWM使用高级定 ...

本来就是用的外部晶振,32.768K的,用内部锁频,锁频到40.09M,用于系统时钟,再把40.09M倍频到120.27M,供给PWM,这些频率参数,都是在芯片的参数范围之内。

社区闲人 发表于 2024-10-31 15:27:46

用32.768K的外部晶振, 用内部锁频,锁频到40.09M,用于系统时钟 . 频率稳定度为+-0.5%,这样的指标太低。
我用12M的外部晶振,通过PLL倍频到32M用于系统时钟,

深山老妖 发表于 2024-10-31 19:08:44

结贴结贴,是自己的粗心大意引起的问题,本来应该把测量点放在电平转换芯片的输出脚,为了方便,把测量点选择在了输入光耦的引脚上,由于光耦的压降在1.2V左右,造成了逻辑分析仪检测的状态处于不稳定的状态(其实检测电平是可以设置的,设置一下也不会出现这样的问题),没有注意,所以一直调不出来,现在直接测量电平缓冲芯片的输出脚,发现信号非常的稳定漂亮。

彭育宽 发表于 2024-11-28 20:29:49

梁工 发表于 2024-10-29 17:14
AI8051UPWMA-P2口输出3相互补SPWM变频驱动:

先别修改程序, 直接下载"Objects"里的"pwm.hex"测试, 下载时 ...

大师能不能出个电路原理图我也没有调试成功!

xiaobaoXu 发表于 2024-12-9 17:53:47

梁工 发表于 2024-10-29 17:14
AI8051UPWMA-P2口输出3相互补SPWM变频驱动:

先别修改程序, 直接下载"Objects"里的"pwm.hex"测试, 下载时 ...

怎样能改变输出电压的大小,例程只能改变频率
页: 1 [2] 3 4
查看完整版本: 出个AI8051U的PWM例程 | 3相互补SPWM变频驱动,PWMA-3个相位差120度的PWM互补输出