基于单片机的垃圾称重计费控制系统

发布者:温馨小筑最新更新时间:2012-10-09 来源: 21ic 关键字:单片机  垃圾称重  计费控制系统 手机看文章 扫描二维码
随时随地手机看文章

   由于我国现有的垃圾收费标准偏低,政府每年都要投入很大一部分资金来贴补垃圾处理企业。垃圾收费制度改革后,不但可以弥补政府和企业投入,还能督促居民加强垃圾的减量和资源化意识,促进垃圾减量化、资源化、无害化。

    许多发达国家已经实行了垃圾计量收费,日本、韩国以及美国的经验是按照垃圾袋计算费用,居民多扔垃圾多买袋就多花钱;另外的形式是直接按照垃圾重量计费,多倾倒一桶垃圾就多花一定的费用,可以避免按户或按人头收费的“一刀切”做法。

    本文设计了一种基于单片机的垃圾称重计费控制系统。与其他控制系统相比,单片机系统具有体积小巧、成本低廉等优势。

    1 系统要求和主控制器的选择

    系统工作原理如下:垃圾箱由3个不同的箱体组成,分别收集厨余垃圾(箱1)、纸张和塑料等可回收垃圾(箱2)以及其他不可回收垃圾(箱3)。每个箱体顶部安装大小合适的投入门,底部安装一个称重台。住户准备投放垃圾时,拿出充值卡,当卡内余额充足时,可以打开箱1、箱2或箱3,进行垃圾投放。其中箱1和箱3按照称重减费,箱2按照称重加费。为防止不同类别的垃圾投错,可以将各个箱的投入门做得各不相同,例如纸张投入箱控制门应当做成扁平口,只允许纸张或报纸杂志投入。控制系统硬件结构如图1所示。

   

    与其他控制器相比,单片机具有体积小巧、价格低廉以及性价比高等优点,因此本控制系统选用目前应用最多的AT89 S51单片机做为主控制器,可以方便地与射频电路、显示电路、通信电路、A/D转换电路接口连接,构成完整的控制系统。

    2 IC卡及读卡电路

    非接触式IC卡又称射频卡,与接触式IC卡相比,解决了无源和免接触的问题,具有可靠性高、操作方便的优点,本设计中选用目前流行的Mifare1卡, 控制器内的专用读卡芯片连接的天线线圈不断向外发射一组13.56 MHz固定频率的电磁波, Mifare1卡靠近时,卡内的LC串联谐振电路产生共振,使电容充电产生电荷,当电容充电达到2 V时,该电容作为电源为卡上的电路提供工作电压,将卡内数据发射出去或接收控制器内的数据并予以保存[1]。

    MFRC500是应用于13.56 MHz的非接触式通信高集成度读卡芯片,集成了13.56 MHz下所有类型的被动非接触通信方式和协议,支持Mifare1卡,与AT89S51的接口电路如图2所示。根据系统要求,相应部分的控制程序需要实现的功能如下[2]:

   

    (1)无刷卡时,系统处于等待状态;当有刷卡时,识别卡内信息,包括用户信息、卡内余额以及系统内部的存储区域,并调用显示程序。

    (2)支付方式可选充值和记账。本设计采用充值方式,对厨余垃圾和不可回收垃圾进行扣费,而纸张、塑料垃圾可以向卡内充值。[page]

    3 称重模块和显示模块的设计

    (1)称重传感器的选择

    电子计价秤、平台称等场合适合选用铝合金悬臂梁式传感器,由弯曲引起的形变,在弯曲面集中的区域上下两面粘贴应变计,形成全桥的测量电路。图3为CYT-204系列悬臂梁称重传感器,选择量程为0~0.1 T,精度高,漂移低;选择输出0~5 V, 易于和单片机接口; 尺寸为130 mm×32 mm×32 mm,安装方便[3]。

   

    (2)A/D转换电路和显示电路的设计

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。采用串行输入结构,能够节省单片机I/O资源,且具有接口简单、价格适中、分辨率较高等特点,在仪器仪表中有较为广泛的应用,因此在本系统中采用TLC2543作A/D转换元件。

    控制系统常用的显示器件有LED显示器和LCD显示器,其中LCD除了可以显示数字之外还可以显示字符,因此本设计选用目前非常通用的LCD1602显示模块进行称重结果的显示。

    显示控制程序实现用户信息的显示,包括姓名、门牌号码和卡内余额。当用户按下箱体选择按钮,垃圾重量计费装置打开相应的投入门,用户投放垃圾完毕后,根据投放垃圾的种类和重量,卡内余额可以增加或扣减并进行显示。

    4 存储模块和通信模块的设计

    AT24C08是ATMEL公司的EEPROM存储器,它的接线极为简单,只需要2根信号线;其存储容量为1 KB, 1个存储模块可以储存几百个用户的信息,与单片机的接口电路如图4所示。

   

    对每个住户的垃圾投放情况进行统计,需要将系统内存储的住户垃圾投放信息读出。单片机的串行通信接口可以扩展为USB接口、RS232接口和GPRS接口等。本系统内AT89S51的串行接口只有1个,考虑到系统的方便性,在本设计中采用USB口扩展。

    5 投入门控制模块的设计

    ZYT系列永磁直流电动机采用铁氧体永久磁铁激磁系封闭自冷式。作为小功率直流电动机,可在各种装置中用作驱动元件。本系统中采用ZYT系列永磁直流电动机控制垃圾箱投入门的打开和关闭。

    L298N芯片是步进电机和直流电机的驱动芯片,很容易实现电机的正反转,本设计中选择Multiwatt15封装,易于实验室焊接。L298N芯片的引角图如图5所示。该芯片可接收标准TTL逻辑电平信号VSS, VSS可接4.5 V~7 V电压; 4脚VS接电源电压, VS电压范围VIH为2.5 V~46 V。输出电流可达2.5 A,可驱动电感性负载;1脚和15脚下发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1和OUT2以及OUT3和OUT4之间可分别接电动机。输入信号端IN1接高电平、IN2接低电平,电机1正转;反之,电机1反转。输入信号端IN3接高电平、IN4接低电平,电机2正转;反之,电机2反转。因为不需要调速,调速端A、B可以直接接+5 V。本装置中,有3个投入门需要控制,因此需要2片L298N,占用单片机6个I/O口。另外L298N对每个电动机都有使能控制端EnA和EnB,3个投入门需要3根单片机I/O口线,如果它们为低电平,则电机不会转动。

   

    考虑到一片AT89S51的I/O口有限,且本系统需要的I/O口线较多,所以选用1片AT89C2051来控制投入门电动机动作的正反转。AT89C2051可以接收选择投入门的按键的信号;它是24引脚的CPU芯片,体积小,节省空间。投入门是否动作由系统中的主CPU AT89S51的一根口线和这片AT89C2051一根I/O口线相连作为信号线来决定。如果用户卡余额不足,则AT89S51的这根I/O口线输出高电平,与AT89C2051相连的I/O口线也为高电平,禁止所有投入门动作,AT89S51的芯片如图6所示。

   

[page]

    6 系统软件的设计

    根据系统功能要求,AT89S51系统主程序框如图7所示。AT892051系统程序框图较为简单,主要是根据用户选卡内余额是否充足,由主AT89S51芯片发送信号决定是否开门,再根据用户选择的投入门按键打开相应的投入门,等待用户投放垃圾完毕后再关闭投入门。

   

    利用单片机来构建垃圾分类计量设备的控制系统,其成本低廉、体积小巧、易于安装,可以大规模推广使用。

关键字:单片机  垃圾称重  计费控制系统 引用地址:基于单片机的垃圾称重计费控制系统

上一篇:浅谈基于51单片机的反汇编要点
下一篇:51单片机在PWM程序控制LED灯中的应用

推荐阅读最新更新时间:2024-03-16 13:09

51单片机实现单键重复按键检测
/***************************************************************************** Copyright: 2013-07-27.version1.0 File name: key.c Description: 自己做的单键识别实现重复按键功能 Author: Version: version1.0 Date: 2013.7.27 History: 无 *******************************************************/ #include reg51.h sbit key=P0^0; int num=0; /**
[单片机]
PIC单片机双机异步通信程序
pic单片机双机异步通信(dhd0) 1 单片机PIC1编程(发送部分) #include /*该程序实现单片机双机异步通信功能,该程序是发送部分*/ unsigned char tran ; /*定义一个数组存储发送数据*/ unsigned char k,data; /*定义通用寄存器*/ cONST char table ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80, 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff}; /*不带小数点的显示段码表*/ /*SPI显示初始化子程序*/ void S
[单片机]
51单片机C语言教程(二) 认识51单片机
上一课我们的第一个项目完成了,可能有懂C语言的朋友会说, 这和PC机上的C语言没有多大的区别呀 。的确没有太大的区别,C语言只是一种程序语言的统称,针对不同的处理器相关的C语言都会有一些细节的改变。编写PC机的C程序时,如要对硬件编程你就必须对硬件要有一定的认识,51 单片机 编程就更是如此,因它的开发应用是不可与硬件脱节的,所以我们先要来初步认识一下51苾片的结构和引脚功能。MSC51架构的芯片种类很多,具体特点和功能不尽相同(在以后编写的附录中会加入常用的一些51芯片的资料列表),在此后的教程中就以Atmel公司的AT89C51和AT89C2051为中心对象来进行学习,两者是AT89系列的典型代表,在爱好者中使用相当的多,应用
[单片机]
51<font color='red'>单片机</font>C语言教程(二) 认识51<font color='red'>单片机</font>
AVR单片机(学习ing)—(十)、ATMEGA16的同步串行接口SPI—03
十、ATMEGA16的同步串行接口SPI 十—(03)、ATMEGA16的同步串行接口SPI的串行通讯实验—通过效率最高的中断法~~ 然后就是程序了~~ IAR10_2_M.c //------------------------------------------------------------------------------ //这是ATMEGA16作为主机发送的文件 //主机每隔1s发送数组的一个数据给从机,从机收到后则发送自己的数组的一个数据给主机,这样实现数组内容的交换 //数组的内容在主机和从机的数码管上显示 #include ioavr.h #include intrinsics.h #includ
[单片机]
AVR<font color='red'>单片机</font>(学习ing)—(十)、ATMEGA16的同步串行接口SPI—03
ARM单片机汇编指令使用一
目录: 1、ldr/str/mov指令 1)LDR指令 2)STR和LDRB指令 3)MOV指令 4)使用示例 2、movs指令 3、LDM表示装载,STM表示存储 4、teq指令 5、使用tst来检查是否设置了特定的位 6、'^'的理解 7、spsr_cxsf,cpsr_cxsf的理解 8、cpsr的理解 9、指令后缀和条件判断 10、B、BL、BX、BLX 和 BXJ指令的区别 1)B 指令 2)BL 指令 3)BLX 指令 4)BX 指令和BXJ指令 5)总结 -------------------------------------------- 说明: ARM单片机汇编指令使用一 ARM
[单片机]
ARM<font color='red'>单片机</font>汇编指令使用一
51单片机四位数码管4个LED灯4个按键实现多种功能
任务描述:用89C51单片机实现如下功能: 初始状态为数码管显示2020,四个灯灭。 1、电路有四个控制按键,四个灯,四个数码管; 2、按键1,按下,,第一个数码管开始从0-9递增,同时第一个灯亮; 3、按键2,按下,第二个数码管开始从0-9显示偶数,同时四个灯的偶数灯亮(即2、4个灯亮); 4、按键3,按下,第三个数码管从0-9显示奇数,同时四个灯的奇数灯亮(即1、3个灯亮); 5、按键4,按下,恢复到初始状态 硬件电路图 元件清单 C语言程序 #include reg51.h unsigned char tube1 ={0x5b,0x3f,0x5b,0x3f};//数码管初始状态2020 字符码 unsigned
[单片机]
51<font color='red'>单片机</font>四位数码管4个LED灯4个按键实现多种功能
51单片机——LED发光二极管、蜂鸣器C语言入门编程
最近在哔站学完了51单片机,准备复习的时候却发现找不到比较适合自己的一些资料,所以就想自己总结一个适合已入门学者基于51单片机的资料。 接下来将参考江科大的代码风格根据普中51单片机开发攻略在A2开发板编写程序。 LED发光二极管: 长脚为正,短脚为负。由原理图可以知道,LED的正极都接了VCC,我们需要控制的引脚就约等于LED的负极,只需给低电平,LED两端有电压差就会点亮。(低电平点亮) 1.点亮第一个LED:P2_0亮 #include REGX52.H void main() { while(1) { P2_0=0; } } 2.LED闪烁:P2_0以1S为周期
[单片机]
51<font color='red'>单片机</font>——LED发光二极管、蜂鸣器C语言入门编程
基于单片机的函数发生器的设计
1 引言 在自动控制系统设计及调试过程中,不同频率的正弦波、三角波和方波常作为信号源,应用十分方便。过去常由分立元件及集成运放构成振荡器,后来出现的ICL8038其最高频率仅能达到100kHz。而MAX038芯片性能更好,最高频率可达20MHz,且三种波形由同一端输出。单片机控制品质卓越,基于单片机的函数发生器运行可靠,操作方便。 2 高频信号发生器芯片MAX038简介 MAXIM公司生产的MAX038芯片是一种高频精密的函数发生器,可产生三角波、锯齿波、正弦波、方波及脉冲波,且频率及占空比的控制可独立进行。 Lin管脚电流范围在10~400μA时电路获得最佳工作性能。输出波形的选择由逻辑地址引脚A0和A1的组合来决定:
[工业控制]
基于<font color='red'>单片机</font>的函数发生器的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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