9932|25

168

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

以前做的一个板子 原理简单 但是没有调试成功 请大家讨论下 [复制链接]

这个板子原理简单 程序思想也不难 但是做出板子却是没有实现功能 很是恼火啊 呵呵 请大家帮忙看一下吧
一 首先说明这个板子的用途:
    车间有12台电机,每一台可以接出一路信号,运行时 有24V直流电 若出现故障 则没有电压输出。板子的作用就是检测出这16路信号的有无从而能实现在线检测电机的运行状态。
二 再说设计思想
   注:因为做板子的目的主要还是为了学习,所以就考虑的稍微复杂了点

   1   设计使用外部看门狗电路 芯片使用5054
      2   复位电路考虑3种模式:上电复位,手动复位和看门狗复位
   3  为节约IO口(事实上针对这个板子IO是够用的) 使用两个模拟开关4051  采集16路信号
      4  信号采集部分使用TLP521-4 四路介入的光耦4个
   5  信号的传输采用485传输
   6上位机暂时使用串口助手
  软件设计思想:
     软件部分思想较简单,每个模拟开关可以采集八路信号 两个就可以采集16路了 同时采集后把两个八位数放到两个数组里 比如uchar a b;然后发送(发送程序可以间隔一定时间发送 也可以判断数组变化再发送)

三  源程序(附在后面)

四  硬件连接(附件)

调试过程中出现的问题:
    485线路是没有问题的,但是传输上去的数据不能反映输入端的状态(调试时输入端人为接入或断开24V或者12V电压)
    程序这一块 大家可以先忽略外部看门狗芯片的应用。
这个程序是
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define        max 0x99
#define stateseg 0x20
uchar sendf,num;
uint count0,count,forpath=0x00,backpath=0x00;
uchar data1,data2;
sbit lowp=P0^0;
sbit highp=P0^1;
sbit rx485=P3^0;
sbit tx485=P3^1;
sbit con485=P2^7;
sbit cs=P1^0;
sbit si=P1^1;
sbit so=P1^2;
sbit sck=P1^3;
////////////////////////
void check()
{
    uchar count1;
    for(count1=0;count1<8;count1++)
        {
          P2=count1;                                ///选择要检测的通道
          _nop_();
          _nop_();
          forpath=forpath>>1;
          backpath=backpath>>1;
          if(lowp==1)
          forpath=forpath|0x80;
          _nop_();
          if(highp==1)
          backpath=backpath|0x80;
          _nop_();

        }

}

void timer_inti(void)
{
  TMOD=0X01;
  TH0= 0xB1;
  TL0=0XE0;         ////定时20ms
  EA=1;//总中断
  ET0=1;//
  TR0=1;

}
void delay(uint z)//延时子程序 1ms
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

void timer0(void) interrupt 1
{

         TH0=0xB1;
         TL0=0XE0;
         sendf=1; ////延时20ms发送标志位置1
         num++;

}
void dsend(uchar senddat)//数据发送子程序
{
        con485=1;
        _nop_();
        SBUF=senddat; //send the date
        while(TI==0);
        TI=0;
}
void main()
{      timer_inti();
while(1)
{     
         while(sendf==1)
           { check();//开始采集16路信号
                sendf=0;//置零 为下一次采集做准备
           }                
        dsend(forpath);
        delay(2);
        dsend(backpath);
        delay(2);
        sendf=0;
        TR0=1;
}
}

原理图.pdf

34.98 KB, 下载次数: 56

include.doc

39 KB, 下载次数: 15

此帖出自单片机论坛

最新回复

高手啊!学习了。  详情 回复 发表于 2012-6-15 19:23
点赞 关注
 

回复
举报

168

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
另外 调试过程中 7805烧掉了:Q
此帖出自单片机论坛

点评

12V转5V 如果电流挺大的话,7805发热会很厉害,可以在中间加个7809,12V转9V再转5V,本人菜鸟。  详情 回复 发表于 2012-6-15 19:18
 
 

回复

537

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
看原理图没有那么大的功耗,7805烧了是不是有哪些地方调试的过程中短接了?
此帖出自单片机论坛
 
 
 

回复

2万

帖子

71

TA的资源

管理员

4
 
原帖由 zl_felix 于 2010-3-15 17:04 发表
另外 调试过程中 7805烧掉了:Q


先说说你的分析 :)
此帖出自单片机论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 

。。。。。。。。。

嗯,烧掉了
此帖出自单片机论坛
 
 
 

回复

1673

帖子

0

TA的资源

五彩晶圆(中级)

6
 
原帖由 murray 于 2010-3-15 20:35 发表
看原理图没有那么大的功耗,7805烧了是不是有哪些地方调试的过程中短接了?


同意

电路没问题啊
此帖出自单片机论坛
 
个人签名要把目标订的实现起来辛苦一点!
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

7
 
C5,C6都为104???用万用表测下你的5V对地的阻抗,电路中有短路的地方,可能是二及管或什么元件焊错了,

建议你重新焊块板子,先把7805和那4个电容接上去,先测试电源。
然后再把其他元件逐个加上去,每加一个元件,就测试下电源,当电源出现故障的时候,必定是上次添加的那个元件。

把电源调好以后,再调通CPU。
此帖出自单片机论坛

点评

高手啊!学习了。:victory:  详情 回复 发表于 2012-6-15 19:23
 
 
 

回复

168

帖子

0

TA的资源

纯净的硅(初级)

8
 

多谢大家的回复

我当时调试结果就是  485模块正常  单片机最小系统正常
问题就是传上去的数据不能反映输入端的情况。现在就是想请大家帮忙分析下电路图有没有什么地方不对,还有 我的模拟开关1405用的是否正确:(
此帖出自单片机论坛
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

9
 
把3K的电阻改成510欧,

不管你的MC14051正确与否,你可以测试下光藕输入输出信号,
在光藕前DIN1加个5V的电压,16脚变为0,把4051的A,B,C打到0,再看X是否为0,
同理,把DIN1的电压撤掉,再检查下16脚变为0,X的电压是否为0,

不是很简单吗?

顺藤摸瓜而已!
此帖出自单片机论坛
 
 
 

回复

394

帖子

0

TA的资源

一粒金砂(高级)

10
 
就是检测有无16V 信号啥?建议用电压比较器,将16V信号先降个压,比较一下就ok啦
此帖出自单片机论坛
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

11
 
原帖由 pepsi360 于 2010-3-16 11:36 发表
就是检测有无16V 信号啥?建议用电压比较器,将16V信号先降个压,比较一下就ok啦


16V在哪里??
此帖出自单片机论坛
 
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

12
 
看看,为什么会烧呢...............
此帖出自单片机论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

13
 
不用调了。典型的干扰问题
你做个PLC比较可靠
此帖出自单片机论坛
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

14
 
干扰在哪里?
此帖出自单片机论坛
 
 
 

回复

2771

帖子

0

TA的资源

裸片初长成(中级)

15
 
原帖由 leang521 于 2010-3-16 15:25 发表
不用调了。典型的干扰问题
你做个PLC比较可靠

PLC成本不便宜
此帖出自单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

16
 
那么多电机,穿入工频电路,到系统VCC,
这种工业环境干扰很剧烈,如果没这方面经验还是用PLC好点,
此帖出自单片机论坛
 
 
 

回复

6366

帖子

4917

TA的资源

版主

17
 
呵呵,这个用PLC就花部着吧
此帖出自单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

18
 
有便宜的,几百块
此帖出自单片机论坛
 
 
 

回复

168

帖子

0

TA的资源

纯净的硅(初级)

19
 

回复 16楼 leang521 的帖子

此帖出自单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

20
 
en ,恩,咋了
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表