找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 温室远程多参数控制系统的国产化研究

[复制链接]
admin 发表于 2013-3-22 08:49:02 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 基于国产STC12C5A62S2的温室多参数控制系统的应用技术(包括软硬件设计),该系统通过RS-485总线与PC上位机通信,实现了低成本、多参数、远距离、多节点数据采集与控制的全部国产化。
关键词: 低成本;多参数;STC12C5A62S2;远程控制
    现代温室系统通常需要大量的控制设备。但以往的温室控制系统大都采用进口PLC单独控制系统及大量的开关控制和电闸控制,还需要工作人员在现场操作,或向控制室拉接较长的220 V电线,实时性、安全性都较差。如果采用具有采集功能的PLC,成本昂贵,不适应我国的国情[1]。为了测试国产单片机器件在现代农业装备中的应用稳定性,实现工作人员在控制室即对分散在各个温室的远端设备进行实时有效地状态控制及状态查询,本文研发了基于单片机的远程温室多参数采集及控制系统,并全部采用国产器件。经过一年的运行证明,该系统价低、可靠,完全可以应用于国产现代农业装备。
 该系统由一台PC上位机接收并控制多台远端设备控箱,通过RS-485总线串行接收数据并传送指令,传输距离最远可达1.2 km,并进行了增强串行通信协议的制定,降低了噪声干扰。一台控箱可对8路传感器采集数据并对16路控制设备进行控制。控箱中选用STC12C5A64S2型单片机,其IAP功能可在线下载Hex文件并进行调试,无需多次使用编程器。
1 系统结构及功能
 远程温室多参数控制系统的结构如图1所示。其中,PC上位机放在控制室里,各控制箱就近放置在控制设备附近。由PC上位机接收下位机的测试参数并发送控制指令,通过RS-485总线将指令串行传送给各远端设备控箱,这样就可在控制室里实现数据收集和设备控制,查询各个设备的状态。从传输距离和性价比方面考虑选用RS-485总线。RS-485为平衡线路,可实现远距离、多节点控制。本设计的重点是设备控箱,将以一台设备控箱为例介绍系统的软件和硬件设计。
   
   2 硬件设计
2.1 STC12C5A60S2系列单片机

 设计系统选用宏晶科技公司的具有IAP(In-Application Programming)功能的STC12C5A型单片机[2]。该单片机采用8051内核,单时钟/机器周期,指令代码完全兼容传统8051。工作频率范围为0~35 MHz,相当于普通8051的0~420 MHz;可根据需要选择用户应用程序空间,有8 KB、16 KB、20 KB、32 KB、40 KB、48 KB、52 KB、60 KB、62 KB供选择,本次设计选用STC12C5A62S,片上集成1280 B RAM ,通用I/O口根据封装不同有36、40、44三种,本次设计采用36口封装,I/O口复位后可设置为四种模式:(1)准双向口/弱上拉,强推挽/推挽/强上拉;(2)仅为输入/高阻;(3)开漏上拉;(4)仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20 mA;ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器;可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片烧写。时钟源可采用外部高精度晶体时钟或内部RC振荡器。有4个16位定时器。外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒;A/D转换具有10 bit精度ADC,共8路,转换速度可达250 kS/s;通用2路全双工异步串行口(UART)。它在指令系统、硬件结构和片内资源上与标准8052型单片机完全兼容,同时增大了内部程序存储Flash的容量,可达62 KB。并增加了与Flash编程相关的6个特殊功能寄存器和2个与看门狗复位有关的特殊功能寄存器[3]。对STC12C5A62S2的IAP功能采用一个通用程序编写,选用Keil公司的μVision仿真软件进行编程仿真。将生成的Hex文件直接通过RS-232串口从PC下载到单片机上运行调试。使用非常方便,缩短了开发周期,单片机系统内部结构框图如图2所示。
    20121107051928751144811.gif
   2.2 硬件系统
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 18:59 , Processed in 0.056298 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表