这个我经常用,电机调速控制,严格说这不是PWM,是
可控硅移相触发。\x0d\x0a
电路很简单,一个可控硅触发电路,一个过零检测电路,配合一段中断服务程序就能完成。\x0d\x0a\x0d\x0a不知道你应用的一些详情,简单说一下思路。\x0d\x0a可控硅触发一般使用MOC3021,相关手册上有典型电路,CPU端接一个GPIO就可以。\x0d\x0a闭环控制时过零检测不需要很精确,一般用一个双向光耦就足够,光耦输入接交流电输入,输出接CPU中断,用史密特整形一下输出信号最好。\x0d\x0a中断程序的结构分成两部分,过零中断与延时中断。\x0d\x0a过零中断做两件事,输出复位,开始延时。如果定时器有外部管脚复位启动功能,可以不要这段。\x0d\x0a延时中断做一件事,触发输出。如果定时器有触发输出功能,可以没有这段中断程序。\x0d\x0a具体的延时时间,由主程序控制,一般是根据PID的计算结果进行设置。注意,延时时间越长,输出电压越小。
单片机触发可控硅半波和全波控制如下。
1、单片机控制可控硅的触发。
2、原理结构图单片机控制可控硅触发电路中。
3、选用MCS96系列单片机中的8098型号。
4、通过单片机程序控制可控硅的触发角,达到触发与电源同步的目的。
可控硅必须检测过零信号。只有零点以后触发,才会有效。而且在下一个零点到来的时候,可控硅会自动关闭。你这个程序里面只有一句P=1,没有P=0,那么这个端口一直开启,没有关闭。负载将一直投入。不可能关闭。所以,根本不可能调压!
想要调压:1、增加一个过零检测电路。
2、每次触发以后,过一段时间必须把触发信号关闭。也可以在过零中断时,将触发信号关闭。
3、调压的大小值受过零后多长时间投入。注意10MS以内必须完成一次控制。否则控制将不正常。
评论列表(0条)