两种方法利用两个定时器分别控制不同电平的时间,但占用了51的几乎全部定时器,并且计算起来比较麻烦,要计算两个定时器的值,占空比的计算也相对困难。
另一个方法是利用一个定时来模拟生成其频率和占空比都是可调的PWM,主要为: 例如模拟生成频率1KHZ和占空比是50%的PWM,首先将它分成的100份(也可以是更高的精度),控制这单独的每一份,来组成整个周期的PWM,1KHZ的T是1MS,分成100份,每一份的时间是0.01ms (10us),采用t0的16位工作方式,10us的数值C是10(12M晶振),初始值TH0=(65536-(C=10))/256,TL0=(65536-(C=10))%256,在此时,我们设置一个变量i,来表示份数.50%占空比,让前面的50份为高,即是i=50,后50份为低。50i=100,.当I100时,为0. 上面的就完成的频率1KHZ和占空比是50%的PWM,我们可以总结为定时器的C确定PWM的周期,q为占空比。
你调试一下看看 也就是两个周期
可以用定时器T0来控制频率,定时器T1来控制占空比,T0定时器中断是让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1是让IO口输出低电平,这样改变定时器T0的初值就可以改变频率,改变定时器T1的初值就可以改变占空比。
一种情况,对于电阻,直流电机来说,有占空比虽然从微观来说是波,但从宏观来说,就相当于将输入电压打个折扣再输出,输入5伏,占空比是50%,那么输出就是2。5伏,一般来说,直流电机的转速是和其输入电压成正比的。
还有种情况,就是通过连续改变PWM的占空比,将直流电切成大小不一,有规律的波形,宏观上形成不同频率的正弦波,这就叫斩波。通过斩波可以产生任意频率的交流电,而交流电机的转速只跟交流电的频率相关,如果是同步电机是严格相关的,异步电机则要根据其设计特性和负载的不同略有差别。
简单理解的说:占空比越大,电机转速越快,但是他们之间并不是正比关系,比较复杂吧,只能说是:正相关 的关系。
没有公式,如果你想得知你的电机转速,不是通过公式计算出来的,而是应该利用测速装置检测出来的。
转速与PWM信号之间没有公式,因为关系非常复杂。
给你提供给一个思路:利用51定时器产生us级别的中断,然后设置两个变量,一个是pwm周期,也就是你说的1/10khz,另一个是占空比变量,让占空比变量的值是周期寄存器值的一半就可以了这样就是50%占空比的方波,等到你要改占空比或者频率的时候只要改这两个变量就行
可以用两级中断来实现,该方法可实现精确占空比与频率的调整。。。
大致思想是:
1.在定时器T0中开定时器T1,并使pwm=1,
2.在定时器T1中关掉T1,即TR1=0;并使pwm=0;
注:t0控制频率(周期),t1控制占空比(高电平时间),你只要装载相应的定时器初值即可。很实用的哦
现在有很多型号的单片机带有PWM功能,如STC系列的单片机大多带PWM功能,可以控制具有PWM功能的ⅠO口设置成PWM输出,占空此可以根据需要设置,也可以根据需要随时改变占空比。
单片机怎么改变电机的占空比的介绍就聊到这里吧,感谢您花时间阅读,谢谢。
本文标签:单片机怎么改变电机的占空比