- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AVR单片机的通用控制板
摘要:本文主要从单片机应用技术的角度出发,探讨单片机通用控制板的硬件构成、pbc布线要点;并详细讲述软件开发过程以及相同控制板之间通信与数据交换的实现原理。并列举部分应用实例。
关键词:avr 单片机 硬件构成 软件开发 应用实例
中图分类号:tp368 文献标识码:a 文章编号:1007-9416(2012)02-0109-01
随着单片机技术的不断发展和芯片成本的不断降低,单片机技术应用于电气系统控制系统、各类工业自动化控制、家电产品已经屡见不鲜。对于一些控制过程简单、输入输出节点不多,模拟量输入输出精度要求不高的场所,如果用plc又感觉大材小用且成本难以控制。这时候如果采用单片机控制显然具备明显的优势。不同的控制系统要求不同控制逻辑来实现,但其硬件构成基本类似,只是软件构成区别较大而已。因此,按照一般的控制要求构建出通用的控制板,在根据不同的控制要求编写控制软件是完全可行的。实际上现在广泛应用于自动控制领域的plc就是基于这一理论诞生出来的。只是其控制精度更高、配套产品更成熟化、软件编写平台更人性化而已。
1、通用控制板的硬件构成
本文所讲述的通用控制板选用atmel公司生产的作为主控芯片,该芯片具有简便易学,开发成本低廉的特点,同时由于现在大都采用c语言编程,其编程方式简便易学。atmega16 单片机功能强大、性价比高。具备32个真正意义的双向i/o,具有大电流(灌电流)10~40 ma,可直接驱动可控硅scr或继电器,节省了外围驱动器件。atmega16avr单片机内带模拟比较器,具有8路10位a/d,i/o口可用作a/d转换,可组成廉价的a/d转换器。同时串口通信、看门狗电路、e2rom等一应俱全。目前,avr已被广泛用于空调控制板、打印机控制板、智能电表、智能手电筒、led控制屏、医疗设备、gps等系统中。
通用控制板设置8路开关量输入、4路模拟量输入;8路开关量输出,每路开关量输出均采用继电器输出(常开、常闭各一组);一路红外接收电路。具备485通信和232通信端口,可以实现控制板与pc以及控制板与控制板之间的通信和数据交换,以便实现上位机控制和远程多板联控。以下简要叙述各功能模块的构成。
开关量输入电路模块采用光耦pc817实现输入端与控制板的隔离,同时为了能直观的观察开关量的输入状态,在输入端设置了led指示(输入端低电平是点亮),输入端采用+12v独立电源驱动,以减少输入电路对单片机的干扰。对该电源的要求是+12v稳压、输出电流大于1a。
模拟量输入使用atmega16的pa0~pa3四个引脚,最大输入电压5v,为简化电路ad转换所需的基准电源直接采用单片机的+5v电源,为保护单片机输入端不会因模拟输入端电压过高而损坏, pa0~pa3设置了5.1v的稳压管及相应的限流电阻组成的保护电路。为便于与不同传感器相连接,输入端设置了接地和上拉电阻跳线。实际应用是可根据需要设置跳线。
开关量输出采用pc817光耦隔离控制板与输出端,由单片机的pc0~pc7驱动相应的光耦,再由光耦驱动9013的基极,9012的集电极驱动输出继电器。输出端电源采用+12v独立电源驱动,减少输出电路对单片机的干扰。输出电源要求+12v稳压、输出电流大于1a。输入电源与输出电源可以采用同一组电源。
串口通信电路采用max485和max232实现485通信和rs232通信,由于atmega16只有一个硬件串口通信,所以对于同一个控制板485通信和232通信不能同时使用,而是采用拨码开关进行切换。
单片机电源采用+5v稳压独立电源,输出电流要求大于1a,在电路设计是应做好电源的滤波。
2、pcb的布线要点
在进行控制板的pcb布线时应注意一下几点:(1)输入输出应该分布在控制板的两边,电源的输入端点和通信端口分布在控制板的另外两边;(2)电源走线应适当加宽,靠近芯片的电源输入端点应增设滤波电容;(3)单片机的编程端口尽量靠近芯片;(4)单片机晶振走线尽量缩短;输入端与单片机、输出端与单片机之间应采用加宽的地线隔离;(5)pcb采用双面覆铜板,对于单片机部分的pcb空白部位采用覆铜接地,以增强单片机的屏蔽。
3、软件开发
本控制板的程序采用icc软件编写,编写完成后通过单片机的编程端口写入单片机。编程工作主要涉及端口定义、功能模块的初始化(通信初始化、ad转换初始化、输入输出初始化等),先按照avr的编程要求编写各功能模块。在具体应用时再根据不同的要求修改各功能模块。如果想使用上位机控制还需要编写相应的上位机控制软件,上位机控制软件可采用vb或vc编写,编写时一定要注意控制板的波特率的设定值,上位机的波特率与控制板的波特率一定要一致,否则无法正常通信。
控制板通信模块软件的编写一定要考虑通信数据的校验
文档评论(0)