0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

电子设计 来源:郭婷 作者:电子设计 2018-12-13 08:35 次阅读

1 引言

自动控制原理是国内高校自动化专业最重要的一门专业课,这门专业课的理论性非常强,光靠课堂教学达不到理想的教学效果,因此各个高校都开设自动控制原理实验,通过实验教学环节加深学生对理论知识的理解,将课堂教学知识转化为实际应用知识,同时培养学生对自动控制原理这门课程的兴趣。然而国内教学仪器企业销售的自动控制原理实验平台不但操作复杂,而且价格昂贵,从而导致高校实验教学开放程度不高,降低了实验教学效果,继而影响到自动控制原理的学习。针对此种现象,设计了一种简易自动制原理实验平台,该系统主要包括电源、基于单片机AT89S52信号发生器模块、基本实验环节模块、控制系统环节模块、数据采集模块等模块。其中,数据采集模块通过ATmega16 单片机将采集到的实验数据,送到PC机上的LabVIEW 虚拟软件平台进行显示或者储存。经过实验证明系统相对于传统高校自动控制原理实验平台具有操作方便和价格低等优点,适合在高校实验室推广的价值。

2 简易自动控制原理实验系统介绍

简易自动控制原理实验系统结构图如图1 所示。其中电源输入为市电220V ~ 50Hz 交流电输入,通过电源模块后可为整个系统提供各种所需电压,电压规格包括± 12V,+ 5V 等。信号发生器提供实验环节所需要的输入信号,其中包括阶跃信号和频率范围为0 - 100KHz 正弦波、方波、三脚波的信号源。模拟环节包括基本实验环节模块和控制系统模块。数据采集模块的功能是将实验环节模块输出的模拟量数字化并通过RS232 串行通信将其送入PC 机进行处理,其中还包括电平转换模块,其作用是将输入信号转换为0 - 5V范围内,从而能够采集数据。PC 机安装上位机软件,用于接收下位机传送的数据并进行处理和显示,同时上位机将指令传给下位机,用于调节下位机数据采集的速率和通道。

实验平台总体思想采用分模块设计方法,首先将各分模块分别设计和调试,再将其各模块之间进行集成设计和联立调试。采用该设计方法能使设计过程简单并且能提高设计效率。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图1 系统原理框图

2. 1 信号发生器电路设计

信号发生器电路如图2 所示,其中主控芯片AT89S52通过键盘和液晶电路接收来自用户对所需信号的频率及幅度。当用户设置主控芯片后,引脚控制DDS 芯片AD9833 就会产生相应的信号,其信号由LM741电路放大后经U7 输出端口输出。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图2 信号发生器电路原理

2. 2 数据采集电路和多通道采集电路设计

ATmega16 单片机是美国Atmel 公司生产的基于增强的AVR RISC 结构的低功耗8 位CMOS 微控制器。ATmega16 单片机资源非常丰富、性价比高而且在工业生产中应用非常广泛。ATmega16 单片机除了具有其他同类型单片机共有的特性外,还独具有8 路10 位具有可选差分输入级可编程增益的ADC 及可编程异步串行接口的内部资源。系统正是利用ATmega16 的8 路10 位可编程增益的逐次比较型ADC 及可编程异步串行接口的内部资源,从而简化了电路设计的难度及编程难度。数据采集电路如图2 所示,ATmega16只需结合简单的电平转换、晶振电路和复位电路就可以达到系统的设计需求。图3 电路中模拟信号通过八路模拟输入的任意端口输入即可,通过单片机内部程序控制,将输入模拟量转化为数字量。单片机再通过串行接口传输给PC 机,系统的通信是通过串行发送引脚TXD 和串行接收引脚RXD 连接串行通信接口电路实现数据的串行传送与接收。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图3 采样电路原理图

由于ATmega16 内部ADC 为八选一数据通道,在具体实现某路数据采集时就必须更改多工选择寄存器ADMUX 的数值。为能随时更改通道,本设计采用主从方式,通过上位机发送给ATmega16 的数值来改变通道。同时,在串行接口接收中断后,通过接收的数值的编码也可用来改变ADC 相邻两次转换之间的延时值,从而达到改变转换速率的效果。本系统采用0 - 7 为通道选项,当数据大于7 时为更改采样速率值。当数据更改操作完成后程序立即返回主程序,此时ADC 转换由新的参数运行。

2. 3 下位机软件设计

下位机软件包括信号发生器软件和数据采集软件两部分。信号发生器采用AT89S52 型单片机加AD9833 型的DDS 芯片构成,软件编程使用环境为Keil uVision 4.数据采集模块采用ATmega16 型单片机构成,软件编程使用环境为AVR GCC 和AVR studio 4.下位机软件设计的关键是能使程序能即时完成数据的接收和发送,同时保证数据的准确,为此,系统采用中断响应的方式完成串行数据接收,同时完成ADC 转换以及数据的发送。下位机程序分为主程序、串行接收中断和ADC 转换完成中断三部分,其流程图如图4 所示。在主程序中主要完成串口和ADC 寄存器的初始化,初始化完成后启动片内ADC 的第一次转换,随即系统进入等待中断状态,若接收到停止信号,系统马上停止。当系统响应到串行接收数据中断,通过接收的数值对ADC 转换的通道和采集速度进行相应的修改,当修改完成后立即返回主程序。当ADC 每次转换完成相应标志位置位,程序跳转到ADC 转换并完成中断运行。此时系统读取转换的数值并处理,随即通过串口将该数据发送给上位机。当串口数据发送完成后起动延时; 另外当延时完成后,系统将ADC 转换起动标志位置位,然后进行下一次转换。下位机程序运行的整个过程中,系统通过中断方式完成,具有响应及时、提高单片机处理内部和外部事件能力的优点。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图4 下位机程序流程图

2. 4 上位机前面板设计

系统采用LabVIEW 开发平台制作上位机软件,即在PC 机上设计出虚拟示波器。系统虚拟示波器上位机软件界面如图5 所示。从图5 可知,上位机具有串口参数调节、数据波形显示、数据存储、数据回放、以及采样通道及速率选择等功能。虚拟示波器在波形显示过程中,用户可根据个人喜好对曲线颜色、数据采集速率和通道等参数的进行设置。同时在实验过程中,可以点击波形存储按钮对接收到的数据以TXT 或其他格式的文件存储在PC 机硬盘或其他外部磁盘中。用户可根据需要随时通过数据回放按钮选择文件查看数据波形或者将数据文件提供给Matlab 和Exel 等数据处理软件进行分析处理,使用非常灵活方便。

图5 上位机前面板界面图

3 实验结果及分析

系统设计完成后,对典型二阶震荡环节进行实验,实验系统模拟电路连接如图6 所示。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图6 二阶振荡环节模拟电路图

图6 所示模拟电路的拉氏运算电路如图7 所示。

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

图7 二阶振荡环节拉氏运算电路

将图7 所示电路进行频域分析有:

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

式1 中参数为R1 = R2 = R3 = R7 = R8 = 200K,R4 = 10K,R5 = R6 = 100K,C1 = 1uF,C2 = 10uF; 对上式进行拉氏变换可得出系统输出响应函数为:

基于AT89S52与ATmega16单片机的简易自动控制原理实验系统设计

在MATLAB 中进行仿真,可以得到其阶跃响应曲线,如如图8 所示:

图8 二阶振荡环节阶跃作用下输出仿真波形

图9 为简易自动控制原理实验系统二阶振荡环节在单位阶跃作用下的输出波形,通过对比可知实验波形与图8 所示的仿真波形基本一致,说明实验系统能很好的实现自动控制原理实验功能,达到设计目的。

图9 二阶振荡环节在阶跃信号作用输出波形图

4 结束语

一种简易的自动控制原理实验平台由双单片机AT89S52、ATmega16、LM741 等硬件电路和下位机系统及由LabVIEW 开发的上位机软件构成。系统充分利用AT89S52 和ATmega16 单片机软硬件资源,方便快捷地实现信号产生和数据采集,PC 机通过LabVIEW 开发平台方便的进行数据采集、监控、分析、处理、存储和打印输出。该实验系统具有电路简单、使用灵活方便和扩展性强等特点,可以广泛地应用于高校自动控制原理实验室,方便学生开展实验,从而有效地降低实验成本和节约实验室资源。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43971

    浏览量

    620797
  • 数据采集
    +关注

    关注

    38

    文章

    4515

    浏览量

    112313
  • 信号发生器
    +关注

    关注

    28

    文章

    1276

    浏览量

    107768
收藏 人收藏

    评论

    相关推荐

    基于AT89S52单片机的程控滤波器设计

    AT89S52单片机作为控制核心,设计一个高性能的程控滤波器。放大电路采用由单片机AT89S52、DAC0832和集成运放组成的程控放大电
    发表于 05-13 09:05

    AT89S52单片机封装

    AT89S52单片机的封装
    发表于 07-01 14:05

    基于单片机AT89S52的直流电机PWM调速控制系统

    `基于单片机AT89S52的直流电机PWM调速控制系统 `
    发表于 08-15 17:11

    at89s52单片机和AT24C16存储芯片的搭建电路

    求高手指教at89s52单片机和AT24C16存储芯片的搭建电路模块
    发表于 05-07 19:13

    基于单片机AT89S52的直流电机PWM调速控制系统资料下载

    基于单片机AT89S52的直流电机PWM调速控制系统 基于单片机AT89S52的直流电机PWM调速控制系
    发表于 07-19 05:43

    基于AT89S52单片机的液晶显示屏接口设计

    T89S52 为众多嵌入式控制应用系统提供高灵活、高性价比的解决方案。1. 2 AT89S52 管脚排列AT89S52
    发表于 06-04 05:00

    Atmega16单片机实用程序Atmega16单片机实用程序

    Atmega16单片机实用程序Atmega16单片机实用程序/************************************************/************
    发表于 07-13 09:14

    如何用AT89S52单片机控制彩灯图形及继电器?

    如何用AT89S52单片机控制彩灯图形及继电器?
    发表于 10-08 06:46

    AT89S52单片机的基本特征有哪些

    AT89S52单片机的内部结构是由哪些部分组成的?AT89S52单片机的基本特征有哪些?
    发表于 10-21 08:52

    国产单片机有兼容AT89S52的吗?

    国产单片机有兼容AT89S52的吗?
    发表于 02-25 10:24

    基于AT89S52单片机的学校电铃自动控制

    摘要:目前学校的铃声除了周一到周五正常上课时间铃响之外,周末休息时间电铃也在响,影响了老师同学的休息。通过AT89S52单片机实现对学校电铃的自动控制,周一到周五按作息
    发表于 09-14 21:22 215次下载

    at89s52单片机引脚图,at89s52引脚说明

    本文为您介绍at89s52单片机引脚图及引脚说明,at89S52特点及其功能。at89S52,高性能的8位单片机
    发表于 04-29 22:04 7.7w次阅读
    <b class='flag-5'>at89s52</b><b class='flag-5'>单片机</b>引脚图,<b class='flag-5'>at89s52</b>引脚说明

    基于AT89S52单片机的智能窗帘的设计_王林艳

    基于单片机的光控自动窗帘的控制,基于at89s52
    发表于 04-14 16:26 50次下载

    基于单片机AT89S52简易自动控制原理实验研究

    本文设计了一种简易自动控制原理实验平台,该系统主要包括电源、基于单片机AT89S52的信号发生器
    发表于 09-07 16:15 16次下载
    基于<b class='flag-5'>单片机</b><b class='flag-5'>AT89S52</b><b class='flag-5'>简易</b><b class='flag-5'>自动控制</b>原理<b class='flag-5'>实验</b>研究

    ATmega16单片机教程之ATmega16单片机定时器的分析与设计应用概述

    本文档的主要内容详细介绍的是ATmega16单片机教程之ATmega16单片机定时器的分析与设计应用概述主要内容包括了:1、单片机定时器的基
    发表于 12-07 08:00 13次下载
    <b class='flag-5'>ATmega16</b><b class='flag-5'>单片机</b>教程之<b class='flag-5'>ATmega16</b><b class='flag-5'>单片机</b>定时器的分析与设计应用概述