|
|
|
| | | | | | | | | 还在学习阶段的要不要?
有妻版,能否介绍款8位单片机又能胜任MPPT的? |
|
|
| | | | | | | | | | | 做一般MPPT的对MCU要求不会太高,只要有带PWM外设的+ADC就能做到了。如果做四象限MPPT跟踪的,就需要PWM非常强劲了,另外如果MCU带有硬件乘法器就更好了。 |
|
|
| | | | | | | | | | | | | 多谢斑竹回复~
目前在单片机选型,做MPPT,想用8位机来做,带PWM外设的+ADC这个可以满足,就是没有硬件乘法器,直接用程序实现乘法,要花比较长的时间,但也能满足吧? |
|
|
| | | | | | | | | | | | | | | 也能实现,只要将数据预先处理一下就OK了。
pwm_1=pwmtab50_20[a]; //查到起始PWM脉宽 ,这里可以预先做一个PI数据表
pwm_1=(C*pwm_1)/PR_SR; //得到大概的占空比,比较接近实际的MPPT对应的D
PWM=(unsigned char)pwm_1; //强制类型转换成unsigned char型数据。
上面虽然是短短的三句,由于有些编译器不能直接支持查表,乘法、除法一句写完,所以用了分开写的缘故。
从上面可以看出虽然做了又乘又除可是都是在INT型数据下运行,处理还是蛮快的.
pwm_1=(C*pwm_1)/PR_SR; C为你通过其他的函数得到的是要升,要降的当前PWM的幅度,PR_SR为你的PWM的最大占空比,比如你用了8位的MCU,PWM占空比随频率的分辨率的升高而降低,我一般用8bit的PWM占空比,那就是255, 比如我要将pwm_1的幅度降低到当前的50%,我如果用pwm_1=0.5*pwm_1来做也是能实现,不过比上面的运算慢许多许多,因为在没有硬件除法,乘法器的支持下,0.5数据又只能用浮点来做,所以会非常慢。
希望对您有所启示! |
|
|
|
|
| | | | | 群名称:中国太阳能光伏逆变 群号码:76910230 群分类:电源技术
进群必须报三围[介绍自己]。非诚误加。本群以大功率数字化电源设计为主题,云集长三角地区知名的光伏逆变器设计人员及上下游企业;
|
|
|
|
|
|
| | | | | 说得太对了,一个人的力量不够啊。当初德国造原子弹,闭门造车就没造出来,相反美国吧各方面的人才聚集在一起,提前造出来了。
我的联系方式
QQ: 82101301
电话: 13466719480
周工 |
|
|
|