单片机IO口驱动电流太小了。 |
yesonjob 发表于 2015-6-1 20:01 非常感谢 |
yesonjob 发表于 2015-6-1 08:20 不会,用示波器看了 |
gaozhaohong 发表于 2015-5-30 13:03 明天试一下,谢谢,十分感谢 |
leeyeage 发表于 2015-5-30 12:58 你这个问题,我已经试验过了,无论是触发脉冲时间加长,还是出发时刻后移,效果都不变,我想问题应该不在程序上,谢谢回复 |
我在给别人做项目,其他模块程序都已经调试完,就在可控硅这卡住了,在这里拜托各位了,硬件都换了一遍,程序也调试了好几遍,就是不见效果 |
yesonjob 发表于 2015-5-29 21:47 我试了一下问题还是没有解决,但还是要谢谢你 |
用的是 bt137 单片机用的是60s2,触发用的是定时器,用示波器看触发脉冲很稳定,用万用表测只有132v,调节电压只能调节0到132v,就是找不到问题出在哪 |
今天我试验成功了,通过软件调节触发时间(导通角)可以实现调节交流电压220/185/160/130V,硬件原理图如下,实际参数也是图中所标注的,我没接电机是直接用万用表测量motor两端电压的。图中没贴出直流稳压电路部分,P1.0是单片机输出触发信号的(低电平有效),int0输出的是过零信号给单片机外部中断。 软件还需要优化一下,按键调节那里没处理好(应该是和中断有时间冲突),按键有时失灵,贴出简单的程序。 #include <reg52.h> sbit singal=P1^0; //触发信号 sbit key=P1^1; //调压的按键 char t; //调节导通角的时间 void delayms(unsigned int x) { unsigned int i,j; for(i=x;i>0;i--) { for(j=110;j>0;j--); } } void main() { EA=1; EX0=1; IT0=1; //外部中断下降沿触发 singal=1; while(1) { if(key==0) { t++; if(t==4) { t=0; } while(!key); } } } void ex0()interrupt 0 { delayms(t); singal=0; delayms(5-t); singal=1; } |
QQ图片20150601195219.png (36.24 KB, 下载次数: 319)