我准备做个10级由单片机控制的scr无关断线圈炮方案。其中每两级一次红外对射校准。
在第一、第二级的试验确实发现,用单片机触发优势确实很明显,一是炮管长度大大缩小;
二是调试出的速度确实比光电触发要快一点(2级光电触发我调了很久最高32.5m/s,单片机
一会就调出了33.1m/s)。
可是当我调到第三级的时候问题来了:
当我接上第三个端口的引线,我发现只要电容充电电压超过300v,一二级一旦触发,但三级不管
程序上有没有写都会被触发,而且更不管你第三级插的是单片机任何一个I/O口,一样自动触发。
难道是因为没有用光耦吗?驱动我用的是一个8050加限流电阻100欧,然后驱动scr40TPS12。下面是电路图:
然后是单片机程序。
还望各位大虾不吝赐教,小弟感激涕零!
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
void delay (uint);
void main()
{
EA=1;//开总中断
EX0=1;//开外部中断0
IT0=0;
P2=0x00;
P1=0x00;
delay(5000);
}
void delay( uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=1;y>0;y--);
}
void zd0() interrupt 0 //不用声明
{
EX0=0;
D1=1;
delay(76);
D2=1;
delay(43);
D3=1
delay(5000);
D1=0;
D2=0;
D3=0;
delay(5000);
//if(L3==1)
// {
// delay(100);
// D4=1;
// }
EX0=1;
}
200字以内,仅用于支线交流,主线讨论请采用回复功能。