基于PIC16F877单片机的电子秤包装机控制系统

发布者:真诚相伴最新更新时间:2011-10-28 关键字:PIC16F877  电子秤包装机 手机看文章 扫描二维码
随时随地手机看文章

  包装机系统可用于粉末东颗粒物料(如水泥、化肥、粮食等)的定时包装,自动化程度、计量精度要求越来越高。针对用户的要求,本系统设计了一种基于PIC16F877单片机控制的电子秤水泥包装机控制系统。

  控制系统包括调零、调满、设定粗细流阈值、插袋、喂料、压袋、推包、破袋处理等控制功能。另外,对检测的质量进行数码显示,对状态采用LED指示。同时还完成了与上位机的通信,可以实时观测质量变化及控制状态的情况,并在硬件和软件上分别采用了抗干扰措施和系统保护措施。本系统硬件结构简单,运行稳定可靠,软硬兼备,具有完善的控制功能和抗干扰能力。

  1 控制器工作原理

  电子秤是包装机的一个独立的控制部件,安装在包装机电控箱内,从包装箱观察窗可以看到电子秤的质量显示和状态LED指示。其控制系统由检测电路、控制电路、设定显示电路及与上位机的通信电路等几部分组成。控制器原理框图如图1所示。

控制器原理框图

  系统经过调零调满后,发出插袋信号。当检测到包准备好信号时开始喂料,此时粗细阈一起打开,CPU根据由荷重传感器检测的质量信号,与由按键设定输入的粗细阈流值进行比较判断,先后控制关闭粗细阈。再由检测的推包位置到和皮带脉冲到信号,发出推包控制信号。另外,阈值设定和与上位机的通信在软件中通过中断来控制实现。物料的质量由数码管实时显示。

  2 硬件电路设计

  根据系统的控制功能,并结合包装机机械构件的工作原理,在软件设计过程中,应力求硬件结构简单,控制可靠。软硬协调,相得益彰。以下将对控制系统的CPU选择及检测部分、控制部分、显示与阈值设定部分及串行通信部分的设计进行介绍。

  2.1 CPU的选择

  用户要求包装质量精度比较高,即要求水漏质量的测量具有很高的精度,这就要求系统的A/D转换精度比较高。另外,在喂料过程中采用粗流细流两种方式,CPU 需对粗流细流阈的设定值有掉电保护作用。美国Microship公司的PIC16F877单片机能满足系统的这些要求。PIC16F877内含10位的 A/D转换器,价格便宜,外围接口电路简单,转换精度高,对本系统而言控制精度可达0.05kg。这带有256字节的电何擦写的EEPROM存储器。每次工作粗流细流阈值的设定值可以从EEPROM中读出以前写入的设定值,或重新按键设定并写入EEPROM以备下次使用。另外PIC16F877有8K× 14bit的FLASH存储器,386×8bit的数据SRAM及同步串行模块。充足的资源可供以后开发改进。看门狗可以对软件运行出错提供保护功能。 RISC(精简指令集计算机)指令易学易用。

  2.2 检测电路

  检测部分主要介绍模拟输入电路和状态检测电路两部分,电路如图2所示。

检测电路

  CPU的RA0、RA1、RA5为内部A/D转换器的输入,分别外接调零、调满、质量检测电路,RA2、RA3连接外部参考电压。电位器RW1、RW2用于电子秤的标定,定时检查标定,以免影响精度。另外,质量的测量主要从测量精度出发,荷重传感器输出电压(0~5mV)经放大电路产生0~5V电压,放大电路的微分环节是为了确保动态垢过程中质量测量的精度,用作动态校正。电位器RW5可以调节满值。放大电路如图3所示。

放大电路

  包装机系统的工作是个顺序的过程,需要检测一系列的状态信号。单片机的RE0、RE1、RE2口作为由电子秤外部产生的包准备好、推包位置、皮带脉冲到状态信号的检测口。各种检测回路中接有发交二极管,指示状态检测情况。

  2.3 显示与阈值设定电路

  显示电路在喂料时用于显示物料质量,在阀值设定时用于显示设定值。阈值设定由按键设定来实现,电路如图4所示。

显示电路

  物料质量是不断变化的,要求可以时刻观测质量的值,且精度可达到0.05kg。采用4个数码管显示,单片机的D口输出8位二进制显示值经电阻送到数码管数据线。另外RB口的RB1、RB2、RB3、RB4经反相驱动器ULN2003分别驱动4个数码管,作为片选信号。显示时考虑到视觉暂存现象,每次显示通过软件延时200ms,使显示得以正常工作。

  按键设定电路中,按键S3按下时,粗流设定开始,再按下时,细流设定开始,再按下就设定退出;按键S2、S1进行设定值加减,并且每次按键按下都有对应的设定值通过数码管显示。如此工作完成对粗细流阈值的设定工作。

  2.4 控制电路

  本系统完成的控制有压袋、推包、喂料、粗流下料等,分别由单片机双向I/O端口的RC0、RC1、RC2和RC3输出控制。单片机输出的控制信号经过三极管放大、光耦隔离、又一级三极管放大,分别驱动控制继电器K1、K2、K3和K4,使其按照控制的要求通电或断电,继而产生压袋、粗流下料、喂料、推包等相应的控制动作;同时,在继电器开关回路中,接有发光二极管,用以显示控制状态。此控制电路中的光耦隔离,增加了系统的抗干扰性,也起到了保护作用。单片机的控制电路如图5所示。

 

单片机的控制电路

  2.5 串行通信电路

  本系统还要完成与上位机串行通信的功能。上位机为工控机,用来监测各种状态。设置单片机的串行通信接口SC1为可以与工控机进行通信的全双工异步系统。 SCI是一种利用RC6、RC7两个引脚作为通信线的二进制串行通信接口。把RC6和RC7分别设置成串行通信接口的发送/时钟(TX/CK)线和接收/ 数据(RX/DT)线,并把单片机的串行通信接口设置为从动方式,由上位控制发送、接收。单片机通过响应中断来实现与上位机的通信,其串行通信电路如图6 所示。

串行通信电路

  串行通信接口(SCI)异步工作方式由以下重要部件组成:波特率发生器(BRG)、采样电路、异步接收器、异步发送器。8位的BRG用来驱动来自振荡器的时钟产生标准的波特率频率。接收线RX(RC7)上的数据通过1个三中取二检测电路对其采样3次,以决定RX(RC7)引脚上的电平是高电平还是低电平。 SCI的发送器和接收器在功能上是独立的,但它们所用的数据格式和波特率是相同的。串行通信接口采用标准的不归零(NRZ)格式,即1位起始位、8位数据位和1位停止位。SCI接收和发送顺序是从最低位(LSB)开始的。

  3 软件设计

  在软件设计中,既综合了系统的功能、性能要求及硬件电路,又考虑了软件的易维护性。采用模块化结构,并尽量做到模块的独立性,减少模块之间的交叠。整个软件设计由主程序、各个功能子程序、中断服务程序组成。下面介绍主程序的设计及中断服务程序的设计。

  3.1 主程序设计

  根据系统的工作原理,主程序由初始化、数据采集和处理、调零、调满、读设定值、显示及检测各种状态位和控制各种状态等几部分组成。程序执行行中不循环检测各种状态位,并执行各种相关的子程序,完成控制任务。主程序流程如图7所示。

主程序流程

  3.2 中断服务程序设计

  在此系统程序设计中,中断程序的设计是个难点。其中按键设定阈值产生外部中断,另外与上位机的通信也采用中方式实现,还有同部的定时中断。考虑到多种中断,存在中断优先级的问题,选用的PIC16F877单片机的中断功能有其独立特性,即它只有一个中断入口地址0004h。每种中断都要由此进入中断程序,因此中断程序开始现场保存垢,要进行各种中断村污位的顺序检测和判断。当判断到中断标志位时,转到相应的中断服务子程序中。根据检测标志位的顺序,可以人为地定义中断优先级。先判断的优先级就高。本系统根据实际情况,定义串行通信中断优先级最高,其次为定时中断,然后是按键设定外部中断,如图8所示。

中断服务程序

  另外,中断存在嵌套问题。由于中断入口地址只有一个,因此,当出现中断嵌套时,各级中断返回的地址正确与否是很关键的。由调试过程,总结出要处理好每次中断的现场保护和恢复现场是很重要的,并要注意其中的换页位置。

  该系统结构简单,运行稳定可靠,控制精度高,具有完善的保护功能;可继承性好,并为以后的技术改进留有一定的资源;成本低廉,经用户试和反应良好。

关键字:PIC16F877  电子秤包装机 引用地址:基于PIC16F877单片机的电子秤包装机控制系统

上一篇:Microchip 推出小体积、低成本全新PIC32单片机
下一篇:超声波测距系统中单片机的应用

推荐阅读最新更新时间:2024-03-16 12:44

基于PIC16F877单片机的多功能电子时钟
一、功能实现 本设计主要实现实时时钟显示,时间可调;实时温度显示,并具有超限报警功能,输出显示采用LCD1602。 二、仿真图 基于proteus的仿真 三、主程序 #include lian_pic.h #include DHT11.h #include ds1302.h #include key.h #include lcd12864.h #include control.h __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN); //HS振荡,禁止看门狗,低压编程关闭,启动延时定时器 void Basic_Io_Init(void) { ADCON1=0x06; //PORTA,PORTE
[单片机]
基于<font color='red'>PIC16F877</font>单片机的多功能电子时钟
PIC16F877 I/O口特色
1.PORTA 总共有6个位(RA0~RA5),PORTA端口模块有3个特殊的寄存器:端口数据寄存器PORTA,端口方向控制寄存器TRISA,A/D转换控制寄存器ADCIN1;PORTA端口各引脚的所复合的功能相同,各引脚的内部结构也不一致。对三个寄存器的设置可控制PORTA端口作为数字I/O端口的应用,而系统重置后,PORTA自动成为模拟输入状态,可读取模拟输入讯号; PORTB 是8位宽度的数字I/O端口(RB0~RB7),一般只有RB6和RB7两个引脚存在复用功能,它们在芯片编程烧写和在线调试时,RB6作为编程串行时钟引脚PGC,RB7作为编程串行数据引脚PGM,这是一种特殊模式的功能复用类型,它不可能出现在芯片正常工作时。P
[单片机]
PIC16F877定时器2的中断方式调试
PIC16F877单片机定时器2使用中断方式调试程序如下: #include pic.h #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { /* if(intnum==5000) { intnum=0; RD0=!RD0; }*/ } } void init() { TRISD = 0x00; //设置PORTD为输出低电平 PORTD = 0x00; // /* I
[单片机]
pic16f877连接LCD1602液晶显示
//#include picme1687x.h #include pic.h #define uchar unsigned char #define rs RC0 #define rw RC1 #define en RC2 #define data PORTD const uchar tab = Welcometo Earth! ; void delay(uchar y) { uchar x; for(;y 0;y--) for(x=110;x 0;x--); } void check_busy() { uchar temp; do { data=
[单片机]
<font color='red'>pic16f877</font>连接LCD1602液晶显示
基于nRF24L01和PIC16F877无线数据传输系统设计
  引言   在工业控制现场, 常常需要采集大量的现场数据, 如温度、湿度、气压等, 并将这些数据传输到主机进行处理,由主机根据处理的结果, 将控制信号传输给现场执行模块进行各种操作。可以看出数据从采集设备到处理终端,监测控制指令从处理终端到采集设备,均需经过传输过程这一重要环节。当数据采集点处于运动状态,或者所处的环境不允许铺设电缆,采集设备必须与终端设备分离,此时只能通过无线方式进行数据传输。基于此,本文设计了一个无线数据传输系统,它应用Microchip公司的PIC16F877单片机控制Nordic公司的无线数字传输芯片nRF24L01 ,通过无线方式进行数据双向传输。实验结果证明:该系统使用灵活、成本低廉,可方便地嵌入到
[单片机]
基于nRF24L01和<font color='red'>PIC16F877</font>无线数据传输系统设计
一种基于单片机电压采样的功率因数在线检测
  1.引言   功率因数是交流电路中的重要参数,是衡量电力系统是否经济运行的一个重要指标,也是供电线路在线监测系统的重要检测量,在功率因数补偿系统中需对其进行实时测量。因此设计出结构简单、检测精度高的功率因数在线检测电路十分必要。而功率因数的测量一般都要对被测电路的电压、电流进行采样,然后进行处理提取功率因数信号,通常由电压、电流取样电路、整形电路、同步周期测量、相位测量等组成,其缺点是结构较复杂,检修困难,有时会出现功率因数的测量精度不高的问题。为此,作者基于电压采样,经单片机软件进行分析、计算可得出被测电路的功率因数,通过显示电路显示出功率因数的大小,并由通信接口电路将被测功率因数进行远距离传输。这样既简化功率因数测量电路
[单片机]
PIC单片机的端口RB中断的设计思路及电路设计
1. 设计思路   本例利用PIC16F877的RB端口中断设计一个抢答器,该抢答器可供不多于4个参赛队或者个人的抢答比赛场合使用。   每个参赛队的座位前安装1只抢答按钮开关和1个信号灯。主持人的座位前安装1只复原按钮开关、1只蜂呜器和1个抢答器工作状态指示灯。   每当主持人发出允许抢答的命令之后,哪个队先按下座位J的按钮开关,该座位的信号灯就先被点亮, 司时封锁其他按钮开关的活动,并且熄灭主掎人座位阝的状态指小灯和发出3声类似于电话振铃的提示声,以声明此次抢答动作已经完成。   在主持人确认后,按下“复原”按钮,状态指示灯重新点亮,并且同时发出“笛、笛”声,为下一次的抢答做好准备。   2.电路设计   电路原理
[单片机]
PIC单片机的端口RB中断的设计思路及电路设计
基于PIC16F877单片机的电子秤包装机控制系统
    摘要: 基于单片微处理器PIC16F877研制成功了六嘴回转式电子秤水泥包装机的智能控制器,给出控制系统的硬件电路和软件的设计思想,并阐述了控制器的工作原理。该控制器设计的高精度是本系统的重要性能。中断嵌套是设计软件中的难点。本系统还成功实现了与上位机的通信。     关键词: PIC单片机 A/D转换 中断 通信 包装机系统可用于粉末东颗粒物料(如水泥、化肥、粮食等)的定时包装,自动化程度、计量精度要求越来越高。针对用户的要求,本系统设计了一种基于PIC16F877单片机控制的电子秤水泥包装机控制系统。 控制系统包括调零、调满、设定粗细流阈值、插袋、喂料、压袋、推包、破袋处理等控制功能。另外,对检
[传感技术]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved