求助,关于单片机控制scr
liunian1982013/11/13电磁炮 IP:广东
我准备做个10级由单片机控制的scr无关断线圈炮方案。其中每两级一次红外对射校准。

在第一、第二级的试验确实发现,用单片机触发优势确实很明显,一是炮管长度大大缩小;
二是调试出的速度确实比光电触发要快一点(2级光电触发我调了很久最高32.5m/s,单片机
一会就调出了33.1m/s)。
可是当我调到第三级的时候问题来了:
当我接上第三个端口的引线,我发现只要电容充电电压超过300v,一二级一旦触发,但三级不管
程序上有没有写都会被触发,而且更不管你第三级插的是单片机任何一个I/O口,一样自动触发。

难道是因为没有用光耦吗?驱动我用的是一个8050加限流电阻100欧,然后驱动scr40TPS12。下面是电路图:
DSC_2200.jpg

DSC_2196.jpg

然后是单片机程序。
还望各位大虾不吝赐教,小弟感激涕零!


#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;

}
来自:物理高能技术 / 电磁炮
16
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
大自然精灵
11年3个月前 IP:未同步
653615
我8级,输出用屏蔽线,没出现这问题,你试试
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198作者
11年3个月前 IP:未同步
653616
大自然精灵 发表于 2013-11-13 16:01
我8级,输出用屏蔽线,没出现这问题,你试试


你的驱动是怎么驱动的?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
WZB616
11年3个月前 IP:未同步
653620
单片机到三极管不加电阻????
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198作者
11年3个月前 IP:未同步
653623
本帖最后由 liunian198 于 2013-11-13 17:41 编辑

    加了电阻也不行。。。现在问题是解决了,但我还是找不出原因,
第一级线圈10层,1.8cm;第二级线圈6层,1.8cm。第三级4层,1.8cm。
  第一级第二级导通的最佳延迟大概在1.6ms,当我把这个延迟调到1.7ms以上,上面的问题
就不会出现了,但是第一第二级却没有调出最佳速度。

  或者在1.7ms以内的延迟我先导通第二个线圈再导通第一个线圈也不会出现
以上问题。费解!!!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
最高主机泡泡
11年3个月前 IP:未同步
653633
单片机用隔离驱动吧。。加一个光耦啥的。。有时候干扰之类的问题。。真的很费解
或者弄个盒子把控制部分装起来试试?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zilingzhang
11年3个月前 IP:未同步
653647
硬件上干扰什么的有可能,不过你的程序也是有些问题,那个delay函数  主程序中用到了 中断程序里面也用到了 这样会造成嵌套。就是比如主程序中正调用 delay函数 这时候中断来了 进入中断程序,中断程序中也调用了这个delay函数 就会造成嵌套,一些变量可能会有意想不到的冲突,简单的解决办法你试着把 主程序 和 中断程序的延迟函数 分开写一下 试试。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
liunian198作者
11年3个月前 IP:未同步
653676
zilingzhang 发表于 2013-11-13 21:09
硬件上干扰什么的有可能,不过你的程序也是有些问题,那个delay函数  主程序中用到了 中断程序里面也用到了 ...


谢谢你的建议,我会把程序改一下的。不过我的硬件问题也终于在刚刚被解决了,是高压地和单片机地共地干扰问题,我在单片机和高压地之间接了个1k电阻,问题就解决了!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
w1s2n3g
11年3个月前 IP:未同步
653717
想向楼主学习单片机,如果有空加我QQ330607627
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zilingzhang
11年3个月前 IP:未同步
653737
嗯 高压地和信号地之间必须隔离的。
主要是你那个 1.6ms和1.7ms 感觉好像是那个变量闹的。

问题解决了就好[s:12]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
核动力毛驴
11年3个月前 IP:未同步
654239
精度需求上去之后,LZ可以尝试使用T/C代替延时。lz的单片机应该也带
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ysf
11年2个月前 IP:未同步
657804
看了楼主的线路图  终于知道单片机 三极管 可控硅之间怎么接了  求教高压地和单片机地是什么   准备买个系统板 不会使
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
thinker
11年2个月前 IP:未同步
657827
WZB616 发表于 2013-11-13 17:00
单片机到三极管不加电阻????


严格来说应该加上电阻,但是很多时候可以忽略,没问题
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ysf
11年2个月前 IP:未同步
657838
thinker 发表于 2013-12-14 18:35
严格来说应该加上电阻,但是很多时候可以忽略,没问题


加多大电阻  单片机输出电压电流有多大
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
thinker
11年2个月前 IP:未同步
657868
看图貌似LZ用的STC89C52单片机,直接单片机引脚驱动9013,8050的没有问题,最好是拉电流。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
thinker
11年2个月前 IP:未同步
657869
看图貌似LZ用的STC89C52单片机,直接单片机引脚驱动9013,8050的没有问题,最好是拉电流。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

liunian198
进士 机友 笔友
文章
16
回复
207
学术分
0
2013/06/30注册,2个月29天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}