近年来,电机调速系统在工业自动化、生产过程操纵、测控外表等领域的应用越来越深入和广泛。ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微操纵器。由于其先进的指令集以及单时钟周期指令执行时刻,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而能够减缓系统在功耗和处理速度之间的矛盾。要紧由ATmega16为核心设计由LMD18200驱动芯片,采纳232通讯协议的串行通信操纵电路构成的直流电机PWM调速操纵系统。系统要紧完成由上位机和ATmega16操纵直流电机的起动,停止和加减速等功能。文章详细介绍了本调速操纵系统的工作原理、PWM驱动接口电路和K1010光电耦合器,LMD18200驱动电路,串行通信操纵电路相应的软件设计。软件通过ICCAVR编写,然后用AVRStudio进行仿真并将编译通过的程序代码下载到ATmega16之中对系统进行操纵。
关键词:ATmega16;直流电机;PWM;LMD18200
Abstract
In recent years, the SCM application which used in the field of industrial automation, production process becomes more and more deepen and extensive.ATmega16 is a microcontroller buildup on AVR RISC configuration which is a low consume microcontroller of 8-bit CMOS.The data of ATmega16 have a high dispatcher which can reach 1MIPS/MHz for advanced instruction volum and the instruction of single clock cycle,so it can relaxed the conflict between consume and dispose speed.This design show us that a PWM speed system of DC-motor using ATmega16 is introduced in this paper. This paper elaborates on the system principle,optical Encoder, LMD18200 driving system, High Reliability Photo CouplerK1010,the DC-motor PWM digital control system,and system serial communication agreement of 232 communication. The system is mainly completed the start, stop and acceleration and decelerationn functions by which the master PC and ATmega16 control the DC motor. The article described in detail the speed control system's working principle, the PWM drive interface circuit and K1010 Optocoupler,LMD18200 drive circuit, the relative software design of the serial communication control circuit.The software is programmed through ICCAVR, then simulated by AVRStudio and the compiled code is downloaded to ATmega16 to control the system.
Key words: ATmega16; DC-motor; PWM;LMD18200
目 录
1 绪论 ...................................................................................................................................... 1
1.1 课题的背景及意义 ................................................................................................... 1 1.2 直流电机的进展 ....................................................................................................... 2 1.3 本设计完成的工作 ................................................................................................... 2 2 AVR单片机简介 ................................................................................................................. 3
2.1 单片机系统概述 ....................................................................................................... 3 2.2 ATmega16功能概述 ................................................................................................. 3 2.3 ATmega16单片机 ..................................................................................................... 5
2.3.1 ATmega16单片机的特点及特性 .................................................................. 5 2.3.2 ATmega16单片机引脚配置及说明 .............................................................. 8 2.3.3 CPU ................................................................................................................ 9 2.3.4 储备器 .......................................................................................................... 10 2.3.5 I/O口介绍 .................................................................................................... 12 2.3.6 复位电路 ...................................................................................................... 17 2.3.7 时钟电路 ...................................................................................................... 18
3 直流电机操纵系统硬件设计 ............................................................................................ 21
3.1 总体电路设计 ......................................................................................................... 21 3.2 时钟电路 ................................................................................................................. 21 3.3 系统复位电路 ......................................................................................................... 21 3.4 串行通信接口电路设计 ......................................................................................... 22
3.4.1 要紧特点 ...................................................................................................... 22 3.4.2 内部结构 ...................................................................................................... 23 3.4.3 Max232引脚图 ............................................................................................ 23 3.4.4 Max232 电路设计 ....................................................................................... 23 3.5 驱动电路 ................................................................................................................. 24
3.5.1 LMD18200芯片介绍 .................................................................................. 24 3.5.2 各引脚的功能及原理 .................................................................................. 26 3.5.3 驱动电路设计 .............................................................................................. 27 3.6 光电耦合电路 ......................................................................................................... 28 4 软件设计 .............................................................................................................................. 30
4.1 初始化程序设计 ..................................................................................................... 30
4.1.1 I/O初始化 .................................................................................................... 30 4.1.2 定时器初始化 .............................................................................................. 30 4.1.3 串口初始化 .................................................................................................. 31 4.2 主程序 ..................................................................................................................... 32 4.3 中断及转速操纵子程序 ......................................................................................... 34 4.4 串行数据传输程序 ................................................................................................. 36 4.5 ICCAVR ................................................................................................................... 37
4.5.1 开发环境ICCAVR介绍 .............................................................................. 37 4.5.2 开发及编译 .................................................................................................. 37
4.6 AVRStudio仿真 ...................................................................................................... 38
4.6.1 仿真器的特点 .............................................................................................. 38 4.6.2 连接JTAG ICE ............................................................................................ 39 4.6.3 仿真环境 ...................................................................................................... 40 4.7 ATmega16单片机操纵直流电机程序代码 ........................................................... 42 结 论 ........................................................................................................................................ 49 致 谢 ........................................................................................................................................ 50 参考文献 .................................................................................................................................. 51 附录A 英文原文 ..................................................................................................................... 52 附录B 中文翻译 ..................................................................................................................... 60 附录C 总体电路设计图..........................................................................................................67
1 绪论
1.1 课题的背景及意义
在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。不管是在工农业生产依旧在日常生活中的家用电器,都大量地使用着各种各样的电动机。因此对电动机的操纵变得越来越重要了。电动机的操纵技术的进展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动操纵技术、微机应用技术的最新进展成就。正是这些技的进步使电动机操纵技术在近二十多年内发生了翻天覆地的变化。
在各类机电系统中,由于直流电机具有良好的起动、制动和调速性能,直流调速技术已广泛运用于工业、航天领域的各个方面。直流电机由于具有速度操纵容易,启、制动性能良好,且在宽范畴内平滑调速等特点而在冶金、机械制造、轻工等工业部门中得到广泛应用。随着生产和科技的进展,一方面对电机调速系统在操纵精度、工作速度、快速启、制动及逆转性能以及在宽范畴的调速等诸方面要求越来越高;另一方面,电机操纵系统也经历了交磁放大器、磁放大器、可控离子变速器、可控硅和运算机操纵的进展历程。专门是最近几年来,随着微电子技术和运算机技术的进展及单片机的广泛应用,使调速装置向集成化、小型化和智能化方向进展。目前,最常用的直流调速技术是脉宽调制(PWM)直流调速技术,它具有调速精度高、响应速度快、调速范畴宽和耗损低等特点。
国内中小功率直流电机的调速系统大量地采纳脉冲宽度(PWM)调速技术,正在迅速地取代SCR直流调速系统。专门是单片机操纵的智能化调速系统有可能直截了当安装在电机座上而做到与电机一体化,节约了专用操纵机矩,从而使设备的可靠性、自动化程度大大提高.本文所介绍的单片机直流电机调速系统试图在机电一体化方面做些工作。
AVR单片机是基于RISC指令架构的8位单片机。RISC通过优选使用频率最高的简单指令,幸免复杂指令,采纳固定指令长度,减少指令格式和寻址方式等方法来缩短指令周期,提高处理起的运算速度。采纳这种RISC结构,使得AVR系列的单片机具备1MIPS/MHZ的高速处理能力。AVR高端产品ATmega系列的部分单片机中还集成了在线调试单元,通过JTAG即可实现在线调试和程序下载功能。这使得AVR单片机成为一种能满足多种需求的高灵活性和低成本的高速微处理器。
1.2 直流电机的进展
直流电机能够对旋转角度和转动速度进行高精度操纵。直流电机作为操纵执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化操纵系统和周密机械等领域。例如,在仪器外表,机床设备以及运算机的外围设备中(如打印机和绘图仪等),凡需要对转角进行精确操纵的情形下,使用直流电机最为理想。
随着微电子和运算机技术的进展,直流电机的需求量与日俱增,在各个国民经济领域都有应用。直流电动机是最早显现的电动机,也是最早实现条素的电动机。由于它具有良好的线性调速特性,操纵简单,效率高及优异的动态特性,长期以来一直战局着调速操纵领域的统治地位。近年来,随着交流变频电机及无刷电机的调速操纵技术的不断成熟,直流电机正面临着庞大的挑战。在多数调速操纵场合,直流电机仍是最佳选择。在本世纪初,由于资本主义列强争夺殖民地,造船工业进展专门快,同时也使得直流电动机的技术得到了长足的进步。到了80年代后,由于廉价的微型运算机以多功能的姿势显现,直流电动机的操纵方式更加灵活多样。原先的直流电机操纵系统采纳分立元件或者集成电路组成的操纵回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变操纵方案就一定要重新设计电路。运算机则通过软件来操纵直流电机,更好地挖掘出电动机的潜力。因此,用运算机操纵直流电机差不多成为了一种必定的趋势,也符合数字化的时代趋势。
现在比较常用的直流电机包括反应式直流电机、永磁式直流电机、混合式直流电机和单相式直流电机等。其中反应式直流电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现时期,反应式直流电机获得最多的应用。
1.3 本设计完成的工作
本次毕业设计是单片机操纵直流电机方面的应用。那个设计最终目的是设计出一个能够操纵直流电机旋转的系统。
本次设计要紧实现了以下几个功能:
(1) 设计两个稳压电源接口,能够接入适合单片机工作的5V电源和LMD18200使
用的12V电源。
(2) 设计一个外围驱动电路来驱动直流电机旋转。 (3) 使用上位机串口操纵直流电机转速。
最后编写软件部分,将程序输入单片机并运行系统,使系统工作。
2 AVR单片机简介
2.1 单片机系统概述
随着材料科学、工艺技术、运算机技术的进展与进步,电路系统向着集成度极高的方向进展。CPU的生产制造技术,也朝着综合性、技术性、有用性进展。如CPU的运算位数从4位、8位……到32位机的进展,运算速度从8MHz、32MHz……到1.6GHz。能够说是日新月异的进展着。其中单片机在操纵系统中的应用是越来越普遍了。单片机操纵系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业操纵机,要紧用于工业过程操纵。要进行单片机系统设计第一必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够依照系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须把握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。
2.2 ATmega16功能概述
AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced Instruction Set CPU)精简指令集高速8位单片机。AVR的单片机能够广泛应用于运算机外部设备、工业实时操纵、仪器外表、通讯设备、家用电器等各个领域。AVR的要紧特性: 高可靠性、功能强、高速度、低功耗和低价位,一直是衡量单片机性能的重要指标,也是单片机占据市场、赖以生存的必要条件。早期单片机要紧由于工艺及设计水平不高、功耗高和抗干扰性能差等缘故,因此采取稳妥方案:即采纳较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的 CMOS单片机尽管采纳提高时钟频率和缩小分频系数等措施,但这种状态并未被完全改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依旧沿袭对时钟分频的作法。AVR单片机的推出,完全打破这种旧设计格局,废止了机器周期,抛弃复杂指令运算机(CISC)追求指令完备的做法;采纳精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令差不多上如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。因此这种速度上的升跃,是以高可靠性为其后盾的。
AVR单片机硬件结构采取8位机与16位机的折中策略,即采纳局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕捉寄存器、输出比较匹配寄存器及
相应操纵逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设治理的开销,相对简化了硬件结构,降低了成本。故AVR单片机在软/硬件开销、速度、性能和成本诸多方面取得了优化平稳,是高性价比的单片机。 AVR单片机内嵌高质量的Flash程序储备器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEProm可长期储存关键数据,幸免断电丢失。片内大容量的RAM不仅能满足一样场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部 RAM。AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得I/O口资源灵活、功能强大、可充分利用。
AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10位的预分频器,可通过软件设定分频系数提供多种档次的定时时刻。AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)”更是令人耳目一新。增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时刻短,故可实现高波特率通讯。面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。
AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一样8位机中的软件抗干扰设计工作量和硬件的使用量。AVR单片机技术表达了单片机集多种器件(包括FLASH程序储备器、看门狗、EEPROM、同/异步串行口、TWI、SPI、A/D模数转换器、定时器/计数器等)和多种功能(增强可靠性的复位系统、降低功耗抗干扰的休眠模式、品种多门类全的中断系统、具输入捕捉和比较匹配输出等多样化功能的定时器/计数器、具替换功能的I/O端口……)于一身,充分表达了单片机技术的从“片自为战”向“片上系统SoC”过渡的进展方向。
总结,与其它8-bit MCU相比,AVR 8-bit MCU最大的特点是:
• 哈佛结构,具备1MIPS/MHz的高速运行处理能力;
• 超功能精简指令集(RISC),具有32个通用工作寄存器,克服了如8051 MCU采纳单一ACC进行处理造成的瓶颈现象;
• 快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号FLASH专门大,专门适用于使用高级语言进行开发;
• 作输出时与PIC的HI/LOW相同,可输出40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备10mA-20mA灌电流的能力;
• 片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳固可靠;
• 大部分AVR片上资源丰富:带E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;
• 大部分AVR除了有ISP功能外,还有IAP功能,方便升级或销毁应用程序。
2.3 ATmega16单片机
ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微操纵器。由于其先进的指令集以及单时钟周期指令执行时刻,ATmega16的数据吞吐率高达1 MIPS/MHz,从而能够缓减系统在功耗和处理速度之间的矛盾。
ATmega16 AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直截了当与算逻单元(ALU)相连接,使得一条指令能够在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,同时具有比一般的CISC微操纵器最高至10倍的数据吞吐率。
2.3.1 ATmega16单片机的特点及特性 1、特点
16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K 字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装)的ADC,具有片内振荡器的可编程看门狗定时器,
一个SPI串行端口,以及六个能够通过软件进行选择的省电模式。工作于闲暇模式时CPU停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI端口以及中断系统连续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器连续运行,承诺用户保持一个时刻基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则承诺振荡器和异步定时器连续工作。 2、产品特性
• 高性能、低功耗的8位AVR微处理器 • 先进的RISC 结构 • 131条指令
• 大多数指令执行时刻为单个时钟周期 • 32个8位通用工作寄存器 • 全静态工作
• 工作于16MHz时性能高达16MIPS • 只需两个时钟周期的硬件乘法器 • 非易失性程序和数据储备器
• 16K 字节的系统内可编程Flash,擦写寿命:10,000次
• 具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的时读写操作
• 512字节的EEPROM,擦写寿命:100,000次 • 1K字节的片内SRAM
• 能够对锁定位进行编程以实现用户程序的加密 • JTAG 接口(与IEEE 1149.1标准兼容) 符合JTAG 标准的边界扫描功能 支持扩展的片内调试功能
通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程 3、外设特点
• 两个具有独立预分频器和比较器功能的8位定时器/计数器
• 一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器 • 具有独立振荡器的实时计数器RTC • 四通道PWM
• 8路10位ADC,8个单端通道,2个具有可编程增益(1x,10x,或200x)的差分通道
• 面向字节的两线接口 • 两个可编程的串行USART
• 可工作于主机/从机模式的SPI串行接口 • 具有独立片内振荡器的可编程看门狗定时器 • 片内模拟比较器 • 专门的处理器特点
• 上电复位以及可编程的掉电检测 • 片内通过标定的RC振荡器 • 片内/片外中断源
• 6种睡眠模式:闲暇模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式 • I/O和封装
• 32个可编程的I/O口
• 40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装 • 工作电压:
ATmega16L:2.7-5.5V ATmega16:4.5-5.5V • 速度等级
0-8MHz ATmega16L 0-16MHz ATmega16
• ATmega16L在1MHz,3V,25°C时的功耗 正常模式:1.1mA 闲暇模式:0.35mA 掉电模式:<1μA
2.3.2 ATmega16单片机引脚配置及说明
图2.1 ATmega16引脚图
•VCC:数字电路的电源 •GND:地
•端口A(PA7..PA0):端口A做为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和吸取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。
•端口B(PB7..PB0):端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和吸取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。
•端口C(PC7..PC0):端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和吸取大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。假如JTAG接口使能,即使复位显现引脚PC5(TDI)、PC3(TMS)与 PC2(TCK)的上拉电阻被激活。
•端口D(PD7..PD0):端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,能够输出和吸取大电流。作为输入使用时,若内部上拉电
阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。
•RESET:复位输入引脚。连续时刻超过最小门限时刻的低电平将引起系统复位。门限时刻见P36Table15。连续时刻小于门限间的脉冲不能保证可靠复位。
•XTAL1:反向振荡放大器与片内时钟操作电路的输入端。 •XTAL2:反向振荡放大器的输出端。
•AVCC:是端口A与A/D转换器的电源。不使用ADC时,该引脚应直截了当与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。
•AREF A/D:的模拟基准输入引脚。 2.3.3 CPU
ATMEGA16 AVR内核的结构。CPU的要紧任务是保证程序的正确执行。因此它必须能够访问储备器、执行运算、操纵外设以及处理中断。
为了获得最高的性能以及并行性,AVR采纳了Harvard结构,具有独立的数据和程序总线。程序储备器里的指令通过一级流水线运行。CPU在执行一条指令的同时读取下一条指令(在本文称为预取)。那个概念实现了指令的单时钟周期运行。程序储备器是能够在线编程的FLASH。快速访问寄存器文件包括32个8位通用工作寄存器,访问时刻为一个时钟周期。从而实现了单时钟周期的ALU操作。在典型的ALU操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。
寄存器文件里有6个寄存器能够用作3个16位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还能够作为程序储备器查询表的地址指针。这些附加的功能寄存器即为16位的X、Y、Z寄存器。
ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也能够执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/无条件的跳转指令和调用指令来操纵,从而直截了当寻址整个地址空间。大多数指令长度为16位,亦即每个程序储备器地址都包含一条16位或32位的指令。
程序储备器空间分为两个区:引导程序区(Boot区)和应用程序区。这两个区都有专门的锁定位以实现读和读/写爱护。用于写应用程序区的SPM指令必须位于引导程序区。 在中断和调用子程序时返回地址的程序计数器(PC)储存于堆栈之中。堆栈位于通用
数据SRAM,因此其深度仅受限于SRAM的大小。在复位例程里用户第一要初始化堆栈指针SP。那个指针位于I/O空间,能够进行读写访问。数据SRAM能够通过5种不同的寻址模式进行访问。
AVR储备器空间为线性的平面结构。
AVR有一个灵活的中断模块。操纵寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。
I/O储备器空间包含64个能够直截了当寻址的地址,作为CPU外设的操纵寄存器、SPI,以及其他I/O功能。映射到数据空间即为寄存器文件之后的地址0x20-0x5F。 2.3.4 储备器
ATmega16的储备器。AVR结构具有两个要紧的储备器空间:数据储备器空间和程序储备器空间。此外,ATmega16还有EEPROM储备器以储存数据。这三个储备器空间都为线性的平面结构。
1、系统内可编程的Flash程序储备器
ATmega16具有16K字节的在线编程Flash,用于存放程序指令代码。因为所有的AVR指令为16位或32位,故而Flash组织成8K16位的形式。用户程序的安全性要依照Flash程序储备器的两个区:引导(Boot)程序区和应用程序区,分开来考虑。Flash储备器至少能够擦写10,000次。ATmega16的程序计数器(PC)为13位,因此能够寻址8K字的程序储备器空间。 2、SRAM数据储备器
图2.2给出了ATmega16 SRAM空间的组织结构。前1120个数据储备器包括了寄存器文件、I/O储备器及内部数据SRAM。起始的96个地址为寄存器文件与64个I/O储备器,接着是1024字节的内部数据SRAM。
数据储备器的寻址方式分为5种:直截了当寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。寄存器文件中的寄存器R26到R31为间接寻址的指针寄存器。直截了当寻址范畴可达整个数据区。
图2.2 ATmega16 SRAM 空间的组织结构
带偏移量的间接寻址模式能够寻址到由寄存器Y和Z给定的基址邻近的63个地址。
在自动预减和后加的间接寻址模式中,寄存器X、Y和Z自动增加或减少。ATmega16的全部32个通用寄存器、64个I/O寄存器及1024个字节的内部数据SRAM能够通过所有上述的寻址模式进行访问。 3、EEPROM数据储备器
ATmega16包含512字节的EEPROM 数据储备器。它是作为一个独立的数据空间而存在的,能够按字节读写。EEPROM 的寿命至少为100,000次擦除周期。EEPROM的访问由地址寄存器、数据寄存器和操纵寄存器决定。
2.3.5 I/O口介绍
作为通用数字I/O使用时,所有AVR I/O端口都具有真正的读-修改-写功能。这意味着用SBI或CBI指令改变某些管脚的方向(或者是端口电平、禁止/使能上拉电阻)时可不能无意地改变其他管脚的方向(或者是端口电平、禁止/使能上拉电阻)。输出缓冲器具有对称的驱动能力,能够输出或吸取大电流,直截了当驱动LED。所有的端口引脚都具有与电压无关的上拉电阻。并有爱护二极管与VCC和地相连,如图2.3所示。
图2.3 I/O引脚等效原理图
1、I/O引脚等效原理图
每个端口都有三个I/O储备器地址:数据寄存器 –PORTx、数据方向寄存器–DDRx和端口输入引脚–PINx。数据寄存器和数据方向寄存器为读/写寄存器,而端口输入引脚为只读寄存器。然而需要专门注意的是,对PINx寄存器某一位写入逻辑“1”将造成数据寄存器相应位的数据发生“0”与“1”的交替变化。当寄存器MCUCR的上拉禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。 2、端口配置引脚
通用数字I/O的端口引脚是与第二功能复用的。使能某些引脚的第二功能可不能阻碍其他属于同一端口的引脚用于通用数字I/O目的。每个端口引脚都具有三个寄存器位:DDxn、PORTxn和PINxn,DDxn位于DDRx寄存器,PORTxn位于PORTx寄存器,PINxn位于PINx寄存器。DDxn用来选择引脚的方向。DDxn为“1”时,Pxn配置为输出,否则配置为输入。引脚配置为输入时,若PORTxn 为“1”,上拉电阻将使能。假如需要关
闭那个上拉电阻,能够将PORTxn清零,或者将那个引脚配置为输出。复位时各引脚为高阻态,即使现在并没有时钟在运行。
当引脚配置为输出时,若PORTxn为“1”,引脚输出高电平“1”,否则输出低电平“0”。在(高阻态)三态({DDxn, PORTxn} = 0b00)输出高电平({DDxn, PORTxn} = 0b11)两种状态之间进行切换时,上拉电阻使能({DDxn, PORTxn} = 0b01)或输出低电平({DDxn,PORTxn} = 0b10)这两种模式必定会有一个发生。通常,上拉电阻使能是完全能够同意的,因为高阻环境不在意是强高电平输出依旧上拉输出。假如使用情形不是如此子,能够通过置位SFIOR寄存器的PUD来禁止所有端口的上拉电阻。在上拉输入和输出低电平之间切换也有同样的问题。用户必须选择高阻态({DDxn,PORTxn} = 0b00)或输出高电平({DDxn,PORTxn} = 0b10)作为中间步骤。 3、端口的第二功能 (1)端口A的第二功能
端口A作为ADC模拟输入的第二功能示于表2.1。假如端口A的部分引脚置为输出,当转换时不能切换,否则会阻碍转换结果。
表2.1端口A的第二功能
端口引脚 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 第二功能 ADC7 (ADC 输入通道7) ADC6 (ADC 输入通道6) ADC5 (ADC 输入通道5) ADC4 (ADC 输入通道4) ADC3 (ADC 输入通道3) ADC2 (ADC 输入通道2) ADC1 (ADC 输入通道1) ADC0 (ADC 输入通道0)
(2)端口B的第二功能
引脚配置如下: • SCK–端口B,Bit7
SCK:SPI通道的主机时钟输出,从机时钟输入端口。工作于从机模式时,不论DDB7设置如何,那个引脚都将设置为输入。工作于主机模式时,那个引脚的数据方向由DDB7操纵。设置为输入后,上拉电阻由PORTB7操纵。
• MISO–端口B,Bit6
MISO:SPI通道的主机数据输入,从机数据输出端口。工作于主机模式时,不论DDB6设置如何,那个引脚都将设置为输入。工作于从机模式时,那个引脚的数据方向由DDB6操纵。设置为输入后,上拉电阻由PORTB6操纵。
表2.2 端口B的第二功能
端口引脚 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 XCK 第二功能 SCK (SPI 总线的串行时钟) MISO (SPI 总线的主机输入/从机输出信号) MOSI (SPI 总线的主机输出/从机输入信号) SS (SPI 从机选择引脚) AIN1 (模拟比较负输入)OC0 (T/C0输出比较匹配输出) AIN0 ( 模拟比较正输入)INT2 (外部中断2输入) T1 (T/C1 外部计数器输入) T0 (T/C0 外部计数器输入) (USART 外部时钟输入/输出) • MOSI–端口B,Bit5
MOSI:SPI通道的主机数据输出,从机数据输入端口。工作于从机模式时,不论DDB5设置如何,那个引脚都将设置为输入。当工作于主机模式时,那个引脚的数据方向由DDB5操纵。设置为输入后,上拉电阻由PORTB5操纵。
• SS–端口B,Bit4
SS:从机选择输入。工作于从机模式时,不论DDB4设置如何,那个引脚都将设置为输入。当此引脚为低时SPI 被激活。工作于主机模式时,那个引脚的数据方向由DDB4操纵。设置为输入后,上拉电阻由PORTB4操纵。
• AIN1/OC0–端口B,Bit3
AIN1,模拟比较负输入。配置该引脚为输入时,切断内部上拉电阻,防止数字端口功能与模拟比较器功能相冲突。OC0,输出比较匹配输出:PB3引脚可作为T/C0比较匹配的外部输出。实现该功能时,PB3引脚必须配置为输出(设DDB3为1)。在PWM模式的定时功能中,OC0引脚作为输出。
• AIN0/INT2–端口B,Bit2
AIN0,模拟比较正输入。配置该引脚为输入时,切断内部上拉电阻,防止数字端口功能与模拟比较器功能相冲突。INT2,外部中断源2:PB2引脚作为MCU的外部中断源。
• T1–端口B,Bit1 T1,T/C1计数器源。 • T0/XCK–端口B,Bit0 T0,T/C0计数器源。
XCK,USART外部时钟。数据方向寄存器(DDB0)操纵时钟为输出(DDB0置位)依旧输入(DDB0 清零)。只有当USART工作在同步模式时,XCK引脚激活。 (3)端口C的第二功能
端口C的第二功能如表2.3。若JTAG接口使能,即使显现复位,引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻将被激活。
表2.3 端口C的第二功能
端口引脚 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 第二功能 TOSC2 ( 定时振荡器引脚2) TOSC1 ( 定时振荡器引脚1) TDI (JTAG 测试数据输入) TDO (JTAG 测试数据输出) TMS (JTAG 测试模式选择) TCK (JTAG 测试时钟) SDA ( 两线串行总线数据输入/ 输出线) SCL ( 两线串行总线时钟线) 第二功能配置如下: • TOSC2–端口C,Bit7
TOSC2,定时振荡器引脚2:当寄存器ASSR 的AS2 位置1,使能T/C2的异步时钟,引脚PC7 与端口断开,成为振荡器放大器的反向输出。在这种模式下,晶体振荡器与该引脚相联,该引脚不能作为I/O 引脚。
• TOSC1–端口C,Bit6
TOSC1,定时振荡器引脚1:当寄存器ASSR 的AS2 位置1,使能T/C2的异步时钟,引脚PC6与端口断开,成为振荡器放大器的反向输出。在这种模式下,晶体振荡器与该引脚相联,该引脚不能作为I/O引脚。
• TDI–端口C,Bit5
TDI,JTAG测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当JTAG接口使能,该引脚不能作为I/O引脚。
• TDO–端口C,Bit4
TDO,JTAG测试数据输入:串行输入数据移入指令寄存器或数据寄存器(扫描链)。当JTAG接口使能,该引脚不能作为I/O引脚。
TD0引脚在除TAP状态情形外为三态,进入移出数据状态。 • TMS–端口C,Bit3
TMS,JTAG测试模式选择:该引脚作为TAP操纵器状态工具的定位。当JTAG接口使能,该引脚不能作为I/O引脚。
• TCK–端口C,Bit2
TCK,JTAG测试时钟:JTAG工作在同步模式下。当JTAG接口使能,该引脚不能作为
I/O引脚。 • SDA–端口C,Bit1
SDA,两线串行接口数据:当寄存器TWCR的TWEN位置1使能两线串行接口,引脚PC1不与端口相联,且成为两线串行接口的串行数据I/O引脚。在该模式下,在引脚处使用窄带滤波器抑制低于50ns的输入信号,且该引脚由斜率限制的开漏驱动器驱动。当该引脚使用两线串行接口,仍可由PORTC1位操纵上拉。
• SCL–端口C,Bit0
SCL,两线串行接口时钟:当TWCR寄存器的TWEN位置1使能两线串行接口,引脚PC0未与端口连接,成为两线串行接口的串行时钟I/O引脚。在该模式下,在引脚处使用窄带滤波器抑制低于50ns的输入信号,且该引脚由斜率限制的开漏驱动器驱动。当该引脚使用两线串行接口,仍可由PORTC0位操纵上拉。 (4)端口D的第二功能
表2.4 端口D的第二功能
端口引脚 PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 第二功能 OC2 (T/C2 输出比较匹配输出) ICP1 (T/C1 输入捕捉引脚) OC1A (T/C1 输出比较A 匹配输出) OC1B (T/C1 输出比较B 匹配输出 ) INT1 ( 外部中断1 的输入) INT0 ( 外部中断0 的输入) TXD (USART 输出引脚) RXD (USART 输入引脚) 第二功能配置如下: • OC2–端口D,Bit7
OC2,T/C2输出比较匹配输出:PD7引脚作为T/C2输出比较外部输入。在该功能下引脚作为输出(DDD7置1)。在PWM模式的定时器功能中,OC2引脚作为输出。
• ICP1–端口D,Bit6
ICP1–输入捕捉引脚:PD6 作为T/C1 的输入捕捉引脚。 • OC1A–端口D,Bit5
OC1A,T/C2输出比较匹配A输出:PD5引脚作为T/C1输出比较A外部输入。在该功能下引脚作为输出(DDD5 置1)。在PWM 模式的定时器功能中,OC1A引脚作为输出。
• OC1B–端口D,Bit4
OC1B,T/C1输出比较匹配B输出:PD4引脚作为T/C1输出比较B外部输入。在该功能下引脚作为输出(DDD4置1)。在PWM模式的定时器功能中,OC1B引脚作为输出。
• INT1–端口D,Bit3
INT1,外部中断1。PD3引脚作为MCU的外部中断源。 • INT0–端口D,Bit2
INT0,外部中断0。PD2引脚作为MCU的外部中断源。 • TXD–端口D,Bit1
TXD是USART的数据发送引脚。当使能了USART的发送器后,那个引脚被强制设置为输出,现在DDD1不起作用。
• RXD–端口D,Bit0
RXD是USART的数据接收引脚。当使能了USART的接收器后,那个引脚被强制设置为输出,现在DDD0不起作用。然而PORTD0仍旧操纵上拉电阻 2.3.6 复位电路
复位时所有的I/O寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP指令,以使程序跳转到复位处理例程。假如程序永久不利用中断功能,中断向量能够由一样的程序代码所覆盖。那个处理方法同样适用于当复位向量位于应用程序区,中断向量位于Boot区—或者反过来—的时候。图2.4为复位逻辑的电路图。
复位源有效时I/O端口赶忙复位为初始值。现在不要求任何时钟处于正常运行状态。所有的复位信号消逝之后,芯片内部的一个延迟计数器被激活,将内部复位的时刻延长。这种处理方式使得在MCU正常工作之前有一定的时刻让电源达到稳固的电平。延迟计数
器的溢出时刻通过熔丝位SUT与CKSEL设定。
图2.4 复位逻辑的电路图
ATmega16有5个复位源:
(1)上电复位。电源电压低于上电复位门限VPOT时,MCU复位。
(2)外部复位。引脚RESET上的低电平连续时刻大于最小脉冲宽度时MCU复位。 (3)看门狗复位。看门狗使能同时看门狗定时器溢出时复位发生。
(4)掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限VBOT时MCU即复位。
(5)JTAG AVR复位。复位寄存器为1时MCU复位。 2.3.7 时钟电路
AVR的要紧时钟系统及其分布。这些时钟并不需要同时工作。为了降低功耗,能够通过使用不同的睡眠模式来禁止无需工作的模块的时钟。时钟系统如图2.5:
1、时钟分布
图2.5 时钟分布
(1)CPU时钟-CPU时钟与操作AVR内核的子系统相连,如通用寄存器文件、状态寄存器及储存堆栈指针的数据储备器。终止CPU时钟将使内核停止工作和运算。
(2)I/O时钟-I/O时钟用于要紧的I/O模块,如定时器/计数器、SPI和USART。I/O时钟还用于外部中断模块。要注意的是有些外部中断由异步逻辑检测,因此即使I/O时钟停止了这些中断仍旧能够得到监控。此外,USI模块的起始条件检测在没有I/O的情形下也是异步实现的,使得那个功能在任何睡眠模式下都能够正常工作。
(3)Flash时钟-FLASH时钟操纵Flash接口的操作。现在钟通常与CPU时钟同时挂起或激活。
(4)异步定时器时钟-ASY异步定时器时钟承诺异步定时器/计数器与LCD操纵器直截了当由外部32kHz时钟晶体驱动。使得此定时器/计数器即使在睡眠模式下仍旧能够为系统提供一个实时时钟。
(5)ADC时钟-ADC具有专门的时钟。如此能够在ADC工作的时候停止CPU和I/O时钟以降低数字电路产生的噪声,从而提高ADC转换精度。 2、时钟源
ATmega16芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。
本设计使用晶体振荡器:XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,如图2.6所示,那个振荡器能够使用石英晶体,也能够使用陶瓷谐振器。熔
丝位CKOPT用来选择这两种放大器模式的其中之一。当CKOPT被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过XTAL2驱动第二个时钟缓冲器的情形。而且这种模式的频率范畴比较宽。当保持CKOPT为未编程状态时,振荡器的输出信号幅度比较小。
表2.5 时钟源选择
器件时钟选择 外部晶体/陶瓷振荡器 外部低频晶振 外部RC振荡器 标定的内部RC振荡器 外部时钟 CKSEL3.0 1111-1010 1001 1000-0101 0100-0001 0000 其优点是大大降低了功耗,然而频率范畴比较窄,而且不能驱动其他时钟缓冲器。 晶体振荡器连接图
图2.6 晶体振荡器连接图
3、振荡器工作模式
振荡器能够工作于三种不同的模式,每一种都有一个优化的频率范畴。工作模式通过熔丝位CKSEL3..1来选择,如表2.6所示。
表2.6晶体振荡器工作模式
CKOPT 1 1 1 0 CKSEL3..1 101(1) 110 111 101, 110, 111
频率范畴 (MHz) 0.4 - 0.9 0.9 - 3.0 3.0 - 8.0 1.0 使用晶体时电容C1 和C2 的举荐范畴(pF) – 12 - 22 12 - 22 12 - 22 3 直流电机操纵系统硬件设计
ATmega16直流电机操纵系统硬件设计要紧包括以下几个方面的内容:接口电路,LMD18200驱动电路,串行通信接口电路,时钟电路,系统复位电路设计。
3.1 总体电路设计
直流电机操纵系统要紧是由上位机发出指令,通过串行通信电路将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。再传送至单片机上,由单片机发出操纵脉冲,操纵驱动芯片LMD18200中PWM电路的占空比,从而操纵电机正反转以及起停等动作。如附录C。
3.2 时钟电路
在ATmega16芯片内部有一个高增益方向放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳固的自激振荡器,这确实是单片机的时钟电路,如图3.1所示。
图3.1时钟电路设计
系统所采纳的晶体振荡器为12MHz(11.059MHz)足够能够与微调电容起振,满足系统所需的采样频率。
3.3 系统复位电路
任何单片机在工作之前都要进行复位,复位对单片机来说就象运算机的重新启动,是在做一些预备工作。一样来说,只要将AVR单片机的RESET引脚上加负脉冲就完成了复位。
复位差不多上通过复位电路来完成的,复位电路的实现有专门多种方法,然而从功
能上一样分为两种:一种是电源复位,即外部电路的复位电路在系统上电之后自动进行复位;另一种方法是在复位电路按键设计开关,通过按键开关动身复位电平,从而操纵单片机的复位。系统才用的是通过按键产生脉冲进行复位的按键复位电路,如图3.2。
图3.2 按键复位电路
复位之后单片机对所有的内部寄存器置为初始默认值,单片机的程序指针指向程序储备器的首地址,也确实是程序储备器的起始地址,使得单片机从头开始执行程序。
3.4 串行通信接口电路设计
Max232产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。 3.4.1 要紧特点
1、单5V电源工作
2、LinBiCMOSTM工艺技术 3、两个驱动器及两个接收器
4、±30V输入电平
5、低电源电流:典型值是8mA
6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU举荐标准V.28 7、ESD爱护大于MIL-STD-883(方法3015)标准的2000V 3.4.2 内部结构
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。15脚DNG、16脚VCC(+5v)。 3.4.3 Max232引脚图
图3.3 Max232引脚图
3.4.4 Max232 电路设计
本设计使用MAXIM公司的Max232来进行单片机TTL电平和标准DB9电平的转
换。ATmega16单片机和上位运算机之间的串行通信电路如图3.4。
图3.4 Max232电路图
3.5 驱动电路
3.5.1 LMD18200芯片介绍
LMD18200是美国国家半导体公司(NS)推出的专用于直流电动机驱动的H桥组件。同一芯片上集成有CMOS操纵电路和DMOS功率器件,利用它能够与主处理器、电机和增量型编码器构成一个完整的运动操纵系统。LMD18200广泛应用于打印机、机器人和各种自动化操纵领域。本文介绍了LMD18200芯片的结构、原理及其典型应用。 1、要紧性能
• 峰值输出电流高达6A,连续输出电流达3A; • 工作电压高达55V;
• Low RDS(ON) typically 0.3W per switch; • TTL/CMOS兼容电平的输入; • 无 “shoot-through” 电流;
• 具有温度报警和过热与短路爱护功能;
• 芯片结温达145℃,结温达170℃时,芯片关断; • 具有良好的抗干扰性。 2、典型应用
• 驱动直流电机、步机电机 • 伺服机构系统位置与转速
• 应用于机器人操纵系统 • 应用于数字操纵系统 • 应用于电脑打印机与绘图仪 3、内部结构和引脚说明
LMD18200外形结构如图3.5所示,内部电路框图3.6如图所示。它有11个引脚,采纳TO-220和双列直插式封装。
图3.5 LMD18200外形结构图
图3.6内部电路框图
3.5.2 各引脚的功能及原理
表3.1 LMD18200引脚功能表 引脚 名称 功能描述 1、11 桥臂1,2的自举输入电容连接端 H桥输出端 在脚1与脚2、脚10与脚11之间应接入10uF的自举电容 2、10 3 方向输入端 转向时,输出驱动电流方向见表1。该脚操纵输出1与输出2(脚2、10)之间电流的方向,从而操纵马达旋转的方向。 刹车时,输出驱动电流方向见表1。通过该端将马达绕组短路而使其刹车。刹车时,将该脚置逻辑高电平,并将PWM信号输入端(脚5)置逻辑高电平,3脚的逻辑状态决定于短路马达所用的器件。3脚为逻辑高电平常,H桥中2个高端晶体管导通;3脚呈逻辑低电平常,H桥中2个低端晶体管导通。脚4置逻辑高电平、脚5置逻辑低电平常,H桥中所有晶体管关断,现在,每个输出端只有专门小的偏流(1.5mA)。 4 刹车输入端 5 PWM信号输入端 PWM信号与驱动电流方向的关系见表1。该端与3脚(方向输入)如何使用,决定于PWM信号类型。 提供电流取样信号,典型值为377 µA/A。 温度报警输出,提供温度报警信号。芯片结温达145℃时,该端变为低电平;结温达170℃时,芯片关断。 6、7 8 9 电源正端与负端 电流取样输出端 温度报警输出
表3.2 LMD18200逻辑真值表
PWM H H L H H L 转向 H L × H L X 刹车 L L L H H H 实际输出驱动电流 流出1、流入2 流入1、流出2 流出1、流出2 流出1、流出2 流入1、流入2 NONE 电机工作状态 正转 反转 停止 停止 停止 LMD18200工作原理:
内部集成了四个DMOS管,组成一个标准的H型驱动桥。通过充电泵电路为上桥臂的2个开关管提供栅极操纵电压,充电泵电路由一个300kHz左右的工作频率。可在引脚1、11外接电容形成第二个充电泵电路,外接电容越大,向开关管栅极输入的电容充电速度越快,电压上升的时刻越短,工作频率能够更高。引脚2、10接直流电机电枢,正转时电流的方向应该从引脚步到引脚10;反转时电流的方向应该从引脚10到引脚2。电流检测输出引脚8能够接一个对地电阻,通过电阻来输出过流情形。内部爱护电路设置的过电流阈值为10A,当超过该值时会自动封锁输出,并周期性的自动复原输出。假如过电流连续时刻较长,过热爱护将关闭整个输出。过热信号还可通过引脚9输出,当结温达到145度时引脚9有输出信号。 3.5.3 驱动电路设计
图3.7 驱动电路图
LMD18200提供双极性驱动方式和单极性驱动方式。双极性驱动是指在一个PWM周期里,电动机电枢的电压极性呈正负变化。双极性可逆系统尽管有低速运行平稳性的优点,但也存在着电流波动大,功率损耗较大的缺点,专门是必须增加死区来幸免开关
管直通的危险,限制了开关频率的提高,因此只用于中小功率直流电动机的操纵。本文中将介绍单极性可逆驱动方式。单极性驱动方式是指在一个PWM周期内,电动机电枢只承担单极性的电压。
图3.8 单极性驱动方式下的理想波形
3.6 光电耦合电路
电力电子器件的驱动电路是电力电子主电路与操纵电路之间的接口,是电力电子操纵系统的重要环节,对整个装置的性能有专门大的阻碍。在驱动电路中还要提供操纵电路与主电路之间的电气隔离环节,这也确实是这节介绍的光电耦合电路。一样采纳光隔离或磁隔离。系统采纳光耦合器来完成。
光耦合器由发光二极管和光敏晶体管组成,封装在一个外壳内。其类型有一般,高速和高传输比三种,内部电路和差不多接法如图3.9。
图3.9 光耦合器
系统采纳高速光电耦合器K1010来完成操纵电路与主电路之间的电气隔离。K1010具有良好的光电隔离功能,其响应时刻小于1.5μs。系统光电隔离电路如图3.10所示。
图3.10 系统光电隔离电路
4 软件设计
直流电机驱动器的软件包括单片机程序,包括:初始化程序,主程序,中断及转速子程序,串行数据传输程序,ICCAVR开发,及AVRStudio仿真。
4.1 初始化程序设计
4.1.1 I/O初始化
作为通用数字I/O使用时,所有AVRI/O端口都具有真正的读-修改-写功能。ATmega16单片机上共有三组端口:端口A,端口B,端口C。系统采纳PB3和PC1作为I/O端口。其中PC1为一般I/O端口,而PB3又为OC0(T/C0输出比较匹配输出)。OC0,输出比较匹配输出:PB3引脚可作为T/C0 比较匹配的外部输出。实现该功能时,PB3引脚必须配置为输出(设DDB3为1)。在PWM模式的定时功能中,OC0引脚作为输出。
每个端口引脚都具有三个寄存器位:DDxn、PORTxn和PINxn。DDxn位于DDRx寄存器,PORTxn位于PORTx寄存器,PINxn位于PINx寄存器。下面确实是对系统所采纳的端口B和端口C进行初始化:
PORTB=(1< 求。 本系统采纳定时器0进行操纵,现在对定时器0进行初始化:OCR0=0XFF;//定时器0设初值。TCCR0=(1< •全双工操作(独立的串行接收和发送寄存器) •异步或同步操作 •主机或从机提供时钟的同步操作 •高精度的波特率发生器 •支持5,6,7,8或9个数据位和1个或2个停止位 •硬件支持的奇偶校验操作 •数据过速检测 •帧错误检测 •噪声滤波,包括错误的起始位检测,以及数字低通滤波器 •三个独立的中断:发送终止中断, 发送数据寄存器空中断,以及接收终止中断 •多处理器通讯模式 •倍速异步通讯模式 将USART分为了三个要紧部分:时钟发生器,发送器和接收器。操纵寄存器由三 个单元共享。时钟发生器包含同步逻辑,通过它将波特率发生器及为从机同步操作所使用的外部输入时钟同步起来。XCK(发送器时钟) 引脚只用于同步传输模式。发送器包括一个写缓冲器,串行移位寄存器,奇偶发生器以及处理不同的帧格式所需的操纵逻辑。写缓冲器能够保持连续发送数据而可不能在数据帧之间引入延迟。由于接收器具有时钟和数据复原单元,它是USART模块中最复杂的。复原单元用于异步数据的接收。除了复原单元,接收器还包括奇偶校验,操纵逻辑,移位寄存器和一个两级接收缓冲器UDR。接收器支持与发送器相同的帧格式,而且能够检测帧错误,数据过速和奇偶校验错误。 时钟产生逻辑为发送器和接收器产生基础时钟。USART支持4种模式的时钟:正常的异步模式,倍速的异步模式,主机同步模式,以及从机同步模式。USART操纵位UMSEL 和状态寄存器C(UCSRC)用于选择异步模式和同步模式。倍速模式(只适用于异步模式)受控于UCSRA寄存器的U2X。使用同步模式 (UMSEL=1)时,XCK的数据方向寄存器(DDR_XCK)决定时钟源是由内部产生(主机模式)依旧由外部生产(从机模式)。仅在同步模式下XCK有效。 USART的波特率寄存器UBRR 和降序计数器相连接,一起构成可编程的预分频器或波特率发生器。降序计数器对系统时钟计数,当其计数到零或UBRRL寄存器被写时,会自动装入UBRR寄存器的值。波特率的公式如下式: UBRRfosc1 (4.1) 16BAUD串口采纳UART,异步正常模式BAUD=2400,fosc=11.0592MHz,因此,UBRR=288。 设置波特率:UBRRH=0X01;UBRRL=0x1F。 UCSRB=(1< 主程序完成系统初始化,中断判定,数据检测及处理电机的PWM操纵等工作。主程序结构图如4.1。 程序开始,第一初始化I/O端口:PC1,PB3。初始化串行通信口:RXD,TXD。初始化终止后,查询上位机是否有命令发送给单片机。假如有则检查数据是否有效;假如没有,则返回上一步重新查询。假如数据不能有效使用,则向上位机返回“命令错”重新检查数据。当检查数据有效时,程序自动调用转速操纵子程序,等待中断,操纵电机转速,方向等。 图4.1主程序流程图 代码如下: //主程序开始 main(void) { unsigned char i=0; //system initialize asm (\"CLI\"); //disable glable interupt //WDT_off(); //wath dog off PORTIni(); USART_Init(); //USART initialize Timer0_Init(); //Timer0 initialize asm (\"SEI\"); //enaable glable interupt //while(1); OCR0=0X80; while(1) { USART_Transmit(0XAA); USART_Transmit(0XBB); } } 4.3 中断及转速操纵子程序 直流电动机转速的操纵方法可分为2类,即励磁操纵法与电枢电压操纵法。励磁操纵法操纵磁通,其操纵功率尽管小,但低速时受到磁饱和的限制,高速时受到换向火花和换向器结构强度的限制;而且由于励磁线圈电感较大,动态响应较差。因此常用的操纵方法是改变电枢端电压调速的电枢电压操纵法。设直流电源电压为Ud,将电枢串联一个电阻R,接到电源Ud,则电枢两端的电压Ua为: Ua=UdIaR (3.1) 明显,调剂电阻R即可改变端电压,达到调速目的。但这种传统的调压调速方法,效率低。因此,随着电力电子技术的进步,进展了许多新的电枢电压操纵方法。其中PWM(脉宽调制)是常用的一种调速方法。其差不多原理如图4.2所示,设加在电机电枢两端的矩形波的幅值电压为Ud,则电机电枢两端电压的平均值为: 图4.2 PWM波形图 UaT1T2TUd(211)Ud(21)UdT1T2T2 (3.2) 称为占空比。通过改变的值,达到调压的目的。由于0≤≤1,Ua值的范畴是-Ud~+ Ud,因而电机能够在正、反2个方向调速运转。 本设计是通过LMD18200为驱动电路,由上位机输出操纵命令操纵电机速度与转速变化。转速操纵子程序流程图如图4.3,中断程序流程图如图4.4。 图4.3 转速子程序流程图 图4.4 中断流程图 中断及转速程序: //串口接收中断函数 //中确信义:USART, Rx 终止 //中断源:USART, RXC void UART_isr(void) { unsigned char i; i=UDR; switch(i) { case forehead: PORTC=PORTC|(1< PORTC=PORTC&(!(1< OCR0=0X50; break; } case speed_mid: OCR0=0X80; break; case speed_low: OCR0=0XA0; break; case speed_zero: OCR0=0XFF; break; default: break; } 4.4 串行数据传输程序 单片机与上位运算机之间采纳Max232的串行数据传输方式。单片机采纳中断方式接收数据,而发送数据则采纳查询方式。 串行通信程序: void USART_Init(void) { UBRRH =0X01; UBRRL =0x1F; UCSRB=(1< 4.5 ICCAVR 4.5.1 开发环境ICCAVR介绍 ImageCraft公司开发的ICCAVR是使用符合ANSI标准的C语言来开发AVR系列单片机一种开发工具。ICCAVR是一个综合了编辑器,工程治理器和C编译器的集成开发环境(Integrated Development Environment,IDE)。其可在WINDOS 9x/NT/XP下工作。 ICCAVR采纳工程项目治理方式,将源文件全部组织到工程之中。文件的编辑和工程的构筑也在那个环境中完成。编译错误显示在状态窗口中,同时当用鼠标单击编译错误时,光标会自动跳转到编辑窗口中一起错误的那一行。工程治理器还能直截了当产生能够直截了当使用的Intel HEX格式文件。Intel HEX格式文件可被大多数的编程器所支持,用于下载程序到芯片中去。ICCAVR是一个32位的程序,支持长文件名。 4.5.2 开发及编译 打开软件,建立工程SYY.prj,将其储存在目标文件夹。然后右键单击SYY进行工程设置,如图4.5。 图4.5 Compiler Options窗口 建立一个新的文件SYY.C,储存在目标文件夹SYY2。然后将其添加到工程SYY中,如图4.6。 图4.6 工程窗口 然后对文件进行编译,系统会自动生成SYY.HEX文件。 4.6 AVRStudio仿真 AVR JTAG ICE是一款与ATMEL公司的JTAGICE相兼容的低价位的AVR JTAG接口是具有4线测试存取通道(TAP)的操纵器,完全符合IEEE1149.1规格要求。Atmel公司的AVR器件扩展了它的一些功能,包括能够对目标芯片进行实时在线仿真。AVROCD在芯片调试协议使用户对AVR单片机的内部资源能够进行完全的实时监控。 4.6.1 仿真器的特点 本仿真器的特点: 1、同时完全支持AVR Studio4.XX和IAR System。 2、支持所有具有JTAG接口的AVR系列单片机。 3、完全真实的实现 AVR单片机的所有的电性能。 4、能够完全实现片内的数字或模拟功能。 5、能够在程序执行过程中实现单步(step)、连续、断点、变量具有数据或程序空间断点。 6、支持汇编和高级语言(C,C++)开发。 7、能够对Flash、EEPROM、熔丝位、加密位进行编程。 8、支持仿真电压2.3~6V。 9、使用原厂AVR Studio的仿真监控程序。当有新版本时,能自动检测并自动升级,保证你的仿真器是最新版。 10、支持芯片列表:AT90CAN128,ATmega128, ATmega128L, ATmega16, ATmega162, ATmega162V, ATmega165, ATmega165V, ATmega169, ATmega169V, ATmega16L, ATmega32, ATmega323, ATmega323L, ATmega32L, ATmega64, ATmega64L。 4.6.2 连接JTAG ICE 在开始使用AVR Studio前,应将目标板、JTAG ICE和PC机先连接起来。为保证AVR Studio的正确自检,在开始使用AVR Studio前应该先进行连接。 1、将JTAG ICE连接到PC机上JTAG ICE使用标准的RS-232口。将JTAG ICE的串口线连接到PC机的一个闲暇COM端口。AVR Studio将通过COM端口自动检测端口上存在的JTAG ICE仿真器。假如有其它程序占用COM端口(例如,串口调试精灵,超级终端等),在启动AVR Studio前应先关闭这些程序。假如其它资源差不多操纵了端口(例如,Modem,IrDA等等),那么AVR Studio将不能强制操纵COM端口。 2、将JTAG ICE和目标电路板相连至少有6根线从JTAG ICE连到目标板上,包括:TCK,TDO,TDI,TMS,VTREF,GND。可选的线包括:VSUPPLY,NSRST。VSUPPLY用于通过目标板为JTAG ICE供电。NSRST用于监控目标复位线。仿真时不需要该信号。但假如应用程序在MCUCSR 中设置了JTD位,JTAG接口将无效。为使JTAG ICE对目标AVR重新编程,就需要操纵复位引脚。下面将对在目标板和JTAG ICE间的6线连接做介绍。(在下图中用实心线画出的6根) 图4.7 JTAG与AVR单片机接线图 上面的图指示出JTAG线如何与目标AVR相连。为幸免在线驱动显现竞争,建议在JTAG线和外部电路间放置串连的电阻,以保证外部电路和AVR始终工作在它们的额定电流之内。 注:要正确选择电阻的阻值,一样选取200~500欧。JTAG ICE支持几个设备同时接入JTAG链。 3、连接电源JTAG ICE电源能够由电源输入接口提供,也能够直截了当从目标板上获得。当JTAGICE同目标板连接好后就能够打开电源。 4.6.3 仿真环境 安装AVR STUDIO AVR Studio是一个面向AVR 全系列单片机的IDE环境,它包含有编辑器,汇编器,调试器和ATMEL 全系列仿真器的监控程序。将随机提供的光盘放入CD-ROM中,选取AVRStudio名目中的setup.exe文件,按照安装向导提示的步骤进行即可。 步骤1、连接系统将JTAGICE与PC及目标板连接好,依次打开目标板和JTAGICE的电源。 步骤2、启动AVR STUDIO在确认连接无误并打开电源后,启动AVRStudio。打开一个工程项目,随后AVRStudio将开始查找JTAG ICE所在的串行端口。 步骤3、设置JTAGICE选项打开AVRStudio,将会提示一WELCOME的对话框,如下图4.8所示: 图4.8 WELCOME的对话框 然后双击上图中的项目文件即可打开,如下图4.9所示: 图4.9 项目文件窗口 然后关闭项目文件,设定下载工具如图4.10: 图4.10 设定下载工具窗口 在Program页面能够烧写FLASH或者内部的EEPROM,烧写时要先选取芯片的类型DEVICE。FUSES页面能够设置融丝位。 图4.11 Fuses页面 LockBit是IAP设置位,Advanced设置芯片的标识,通讯速率选取。AUTO是编程自动操作功能。BOARD能够猎取当前仿真器的版本及目标板如图4.12所示。 图4.12 Board页面 4.7 ATmega16单片机操纵直流电机程序代码 #include //#define start 0X33 #define speed_high 0X44 #define speed_mid 0X55 #define speed_low 0X66 #define speed_zero 0X77 unsigned char UARTReceiveState; #pragma interrupt_handler UART_isr:12 //************************************************ //关闭看门狗 //*********************************************** //void WDT_off(void) //{ /* WDT 复位*/ //asm (\"WDR\"); /* 置位 WDTOE 和 WDE*/ //WDTCR |= (1< //******************************************************************************************* //端口初始化 void PORTIni(void) { //端口B配为:3定义上拉电阻和设置高电平输出 // // 3端口引脚定义方向为输出 PORTB = (1< //******************************************************** //***************************************************** //定时器0初始化函数 //**************************************************** void Timer0_Init(void) { //TCCR0=0; OCR0=0XFF; //TCNT0 = 0xF7; // 定时器0设初值 //TIMSK=0x01; // 开放定时器0 溢出中断 TCCR0=(1< //中确信义:定时器/ 计数器0 溢出 //中断源:TIMER0 OVF //**************************************************************** /*void Timer0_isr(void) { TCNT0 = 0xF7; // 定时器0设初值 }*/ //延时子程序********************************************** void delay(unsigned char k) { unsigned char i,j; for (i=0;i //串口采纳UART,异步正常模式//fosc = 11.0592 MHz,UBRR=288. ///* 设置波特率*/*********************************************************** void USART_Init(void) { UBRRH =0X01; BAUD=2400,UBRR=(fOSC/16BAUD)-1 { for (j=0;j UCSRB=(1< //**************************************************************** void USART_Transmit( unsigned char data ) { /* 等待发送缓冲器为空 */ while ( !( UCSRA & (1< //中确信义:USART, Rx 终止 //中断源:USART, RXC //**************************************************************** void UART_isr(void) { unsigned char i; i=UDR; switch(i) } { case forehead: PORTC=PORTC|(1< PORTC=PORTC&(!(1< OCR0=0X50; break; case speed_mid: OCR0=0X80; break; case speed_low: OCR0=0XA0; break; case speed_zero: OCR0=0XFF; break; default: break; } //********************************** //***************************************************************** //主程序开始 //****************************************************************** main(void) { unsigned char i=0; //system initialize asm (\"CLI\"); //disable glable interupt //WDT_off(); PORTIni(); USART_Init(); //USART initialize Timer0_Init(); asm (\"SEI\"); //enaable glable interupt //while(1); OCR0=0X80; while(1) { USART_Transmit(0XAA); USART_Transmit(0XBB); } } //Timer0 initialize //wath dog off 结 论 本系统采纳AVR单片机操纵的直流电机系统,其转动方向、转动速率能够通过上位机输入,运用程序对这些数据进行处理,由单片机发出相应的操纵信号给直流电机,增加了操纵的灵活性。运用中断方式,使系统在运行时可随时改变步进电机的运作方式,做到实时操纵。经实验验证,达到了预期的设计目的。本系统具有通用性,在使用步进电机的场合都能够使用。关于不同的直流电机,能够通过修改相应的电路及相关程序即可实现。通过AVR单片机来实现电机调整有多种途径。相关于其他用硬件或者硬软结合的方法实现对电机进行调整,采纳PWM用纯软件的方法来实现调速过程,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能,关于简易速度操纵系统的实现提供了一种有效的途径。 致 谢 通过几个月的忙碌和工作,本次毕业设计差不多接近尾声,作为一个本科生的毕业设计,由于体会的匮乏,难免有许多考虑不周全的地点,假如没有导师的督促指导,以及一起工作的同学们的支持,想要完成那个设计是难以想象的。在那个地点第一要感谢我的导师王艳梅老师。王老师平日里工作繁多,但在我做毕业设计的每个时期,从查阅资料,设计草案的确定和修改,到中期检查,后期详细设计,装配草图等整个过程中都给予了我尽心的指导。我的设计中有专门多错误,然而王老师仍旧细心地纠正论文中的错误。除了佩服王老师的专业水平外,她的治学严谨和科学研究的精神也是我永久学习的榜样,并将积极阻碍我今后的学习和工作。 其次要感谢和我一起作毕业设计的赵昶同学,年庆新同学,郭震同学。他们在本次设计中勤奋工作,克服了许多困难来完成此次毕业设计,并承担了大部分的工作量。假如没有他们的努力工作,此次设计的完成将变得专门困难。 然后还要感谢大学四年来所有的老师,为我们打下电子方面的专业知识的基础,同时还要感谢所有的同学们,正是因为有了你们的支持和鼓舞。此次毕业设计才会顺利完成。 最后感谢信息学院和我的母校—沈阳理工大学对我的大力栽培。 参考文献 [1] 陈粤初.MOTOROLA单片机及专用集成芯片应用系统设计.北京航空航天大学出版社,1994 [2] 余永权等著.单片机应用系统的功率接口技术.北京航空航天大学出版社,1993 [3] 陈汝全.有用微机与单片机操纵技术.电子科技大学出版社,1993 [3] 杜树春.单片机C语言和汇编混合编程.北京航空航天大学出版社,2006 [4] 李鸿.单片机原理及应用.湖南大学出版社,2004 [5] 张立勋.机械电子学[M].哈尔滨:哈尔滨工程大学出版社,1999 [6] 戴佳.单片机AVR语言应用程序设计.电子工业出版社,2006 [7] 刘建清.单片机技术.国防工业出版社,2006 [8] 王兆安.电力电子技术.机械工业出版社,2007 [9] 宋建国.AVR单片机原理及应用[M].北京:北京航空航天大学出版社,1998. 附录A 英文原文 SCM observes and controls the treatment of problem of interfering in the systematic design In recent years, the SCM application which used in the field of industrial automation, production process becomes more and more deepen and extensive. It is often more abominable and more complicated to observe and control the systematic working environment, the dependability, security of its application become a very outstanding problem. Also the influence and observe and control systematic dependability , the main factor of the safe operation which comes from being observed and controlled and interfered with various kinds of external electrically within the system , and systematic structural design , components and parts choice , installing , manufacturing engineering and external environment condition , etc. These factor that cause to the observe and control interference consequence that system cause display in data gathering error strengthen mainly , the state of a control does not work , the data are interfered changing , such respects as the procedure is not normal . This text will discuss the causing of the factor interfered that observes and controls interference problem and effective solution that the systematic design process should be considered First, the basic structure of observing and controlling the system Second , the collocation and the anti—jamming problem of every unit of the controlling system 1. The choice of the device of the semiconductor The semiconductor device is a anti—jamming that used most basic and also most central . And it mostly influenced the responsibility and the capability of the system. The following principles are for you while chosen. In order to make the semiconductor device meet the demand of the systematic function, one must deeply understand the electric apparatus parameter of the components. As to diode, one should consider the largest response voltage most (1) heavy to electric current, reverse current most, to pigeonhole lowering and operating frequency. (2)In order to make the semiconductor device meet the demand of the systematic dependability, one should pay attention to the influence to the period performance of temperature, choose the well stability apparatus. (3) In order to reduce the bad trouble of the connection, one should reduce the quantity of solder joint soon. Try one's best to select the integrated circuit for use, and use few discrete components and parts; Try one's best to select the extensive, very large scale integration for use, the small-scale integrated circuit in secondly. (4)Observe and control system live in external environment condition interfere seriously often, so, try one's best to select the good performance components and parts of anti-interference for use. If in order to improve the noise tolerance, can select CMOS device for use; In order to suppress the mould altogether to interfere, can select for use and measure the amplifier; In order to suppress workers to interfere frequently, can select total mark type A/D, etc. for use. (5)Consider the consumption. SCM that works in field work quick-witted can test equipment that take, because of supply power with the battery, one can select CMOS device with little consumption for use. 2. The power The basic method of the anti-interference power is as follows, adopt the exchangeable voltage stably voltage , exchangeable power wave filter , implement the shielding and isolate to the power transformer , utilize and press the quick resistance and absorb waves to well up the voltage, under the special circumstances of requiring power supply quality to be very high, can adopt the generating set or go against the becoming device and supply power , such as adopting online UPS incessant power to supply power. Adopt and divide the vertical supplying power and classifying type and supply power .Electric capacity that among power and ground of each printed circuit board to connect and decouple. Shielding measure that the power transformer is taken. Use and turn into the voltage suppressing device TVS, etc. method in wink. TVS is that a kind of circuit with high capacity and efficiency that is generally used protects the device, can absorb and is up to several kilowatts of waves to well up the power, TVS for static, interfere after excessive pressure, electric wire netting, not strike by lightning, switch striking sparks, power reverse and electrical machinery /power noise vibration protect effective particularly. 3. Analoge switch of many ways In observing and controlling the system, the accusing of amount is often several ways or dozens of ways. To the return circuit that is measured. As to the thing that when the parameter on many ways transforms A/D, D/A, often adopt public A/D, D/A changeable circuit. So one often select several—way analog switch is it accuse or examine the return circuit , A/D and D/A change thorough fare of circuit each to switch over in turn often, in order to achieve the purpose of timesharing controlling and touring. The way of the many input singles connect to the switch implement meet the amplifier or the A/D switch implement is single end and the differential method .And the anti—interference of differential method is strong . When the implement switches from one channel to another, it will turn into the phenomenon transiently and make the output end have a sudden voltage of pinnacle. In order to dispel the error that this kind of phenomenon imports, one can connect a sample keeping device circuit among converter output end and amplifier of many ways, or sample with the method that the software delaying time. The introduction of the converter of many ways often receives the pollution of different ambient noise, it is especially apt to be interfered by noise of the mould altogether. Insert mould choke altogether in many way converter input end, to suppress outside high frequency noise very much effective mould altogether that sensor introduce. The high-frequency noise that the high frequency of the converter produces while sampling, not merely influence the precision of measuring, and may make the one-chip computer out of control . Meanwhile, because one-chip computer operation is very high in speed, it is an enormous noise source to the converter of many ways. So, it should adopt the photoelectrical coupler to isolate between one-chip computer and A/D. 4. Amplifier The choice of the amplifier usually adopts the integrated amplifier of different capabilities. When the working environment of the sensor is complicated and abominable, one should choose the measurable amplifier, it have high input impedance, low output impedance, strong resist mould interfere ability, low temperature float, low to lack proper care voltage and high person who gain characteristic steadily altogether, make it used widely as the pre-amplifier in monitoring system of the faint signal. In order to prevent from mould noise scurry into system one should adopt the isolated amplifier. The isolate amplifier have linear and fine stability , the altogether—mould suppress is high , the useful circuit is simple, enlarge and gain the characteristic such as being variable. While using the resistance sensor, one can select the module 2B30/2B31 that have the function of enlarged, bestir and strained waves , it is a resistance signal adapter that have the character of high accuracy , low noise , multiple functional. 5. Sampling keep device The circuit(S/H) of sample keep device have keeping and sampling two states, its function is to keep A/D input signal when changing. The electric capacity of sample of sampling in the retaining circuit plays a very important role on the influence of the precision of the circuit. So is it good for keep the electric capacity to adopt reaction to absorb lightly and leaking little electric capacity of polystyrene of the electric current to sample, or the electric capacity of polytetrafluoroethylene (PTFE). When the circuit(S/H) of Sampling keep device is at the changeable of two states that is sampling and keeping ,it will scurry into and interfere , this is because that when entering the keeping state, the logic input signal leak electricity through printed circuit board cloth space parasitic electric capacity coupling to get analog signal input end and cause. In order to reduce this error, when printing the circuit connected up, make the walk line and simulation input end a bit farther distance as much as the logic input end, or imitate the input end to surround with the ground wire, in order to reduce the coupling of parasitic electric capacity of space and cut off leaking electricity in the thorough fare. In addition, while keeping the mode, export and change with the fluctuation of the power, so the power supply of chip should strain wave through steady voltage, add electric capacity of decoupling among the cable and ground wire in chip. 6. A/D converter A/D converter (also called ADC) changes the analog signal into digital signal, there are close relation changeable operation principle and changeable performance. The speed of the comparison type ADC conversion is relatively high, but the anti-interference ability is bad. The double total mark ADC anti-interference ability is strong, especially interfere having stronger restrain ability to the worker frequently, It has the precision of higher conversion, but the conversion speed is relatively low. The V/F type ADC has better anti-interference performance, it has very good linear degree and high-resolution too, its conversion speed is low too. It has quantied little noises that the remainder feedbacks comparing type ADC, the resolution ratio is high. ¡Æ- ¡÷Type ADC, it has characteristic that remainder feedbacks the comparative type and total mark type concurrently, the anti-interference ability is strong, the quantization noise is little, high and linear advantage that the degree is good of resolution ratio, the conversion speed is higher than total mark type ADC too.So, ¡Æ- ¡÷Type ADC is that intelligence instrument and industrial process parameter measure the prior choice controlled. 7. The host computer unit of SCM The unit of what is called host computer, that refers to regard SCM as the core, disposes the minimum system of SCM that the essential outside device formed. The host computer unit is the core of observe and control systematic, its performance quality directly influenced the whole observe and control systematic quality. The following are dispositions and anti-interference problem of the host computer unit. (1) The dependability design of the bus : The drive of collocate bus can improve the load ability of bus and can also improve the signal wave form. When the load of bus is close to the bus of load, it may influence the logic electric of load signal, sometimes mistaken operation happens, it can improve the unbalance progress by connect the I/O line, it can also improve the responsibility of the system .In addition ,it can also improve the responsibility of the bus signal transmission by setting going—up resistance on the bus propriety. (2) The collocation and anti—jamming of CMOS chip : A.The collocation of capacitance of disposed of decouple: When the figure circuit is influenced by the jumped electricity, it will bring the impedance noise, and the best measure of solute the problem is setting a suitable disposed of decouple. B. The noisy suppressed of the digital input end: It is usually according to the difference between the useful pulse signal and the useless pulse noise, adopt the measure not only guarantee the useful pulse signal and does not lose but also suppressing the useless pulse noise effectively. Usually add RC strain wave link to the cross of the digital circuit, make use of delayed time function of RC to control the influence of the noise and insert and construct the special integrated circuit of honey in the output end of RC wave filter. It is a noise tolerance of improving the input end to suppress another measure of the input noise, this through draw resistance, power is it dispose to disperse, is it supply power voltage measure to improve. C. The useless end treatment of the digital circuit: One can fix the useless input end to the high level or make the useless end and the useful signal input end parallel connection. D. The wiring of the memorizer: Data line, address line, controlling line must try one's best to be shorten, in order to reduce the electric capacity to the ground correctly. Especially the address line, every size of the lines, wiring way of line should try one's best unanimity, so as not to make the impedance difference of Line every to be too big, the wave form difference is too big while making the signal transmission course of the address reach the top, form and control the not interfering in step of information. Third, the anti-jamming measure of the software The main content of the investigation of the anti—jamming of software, first adopt the method taking software suppresses and superposes the influence of the noise in imitating the input signal, for example the technology of the digital filter; Second because of the disturb the running process will confusing, and it will lead to the disordered flying or it will fall into dead—circle, adopt the measure of make the process into order ,for example the redundancy of software, the trap of software, the watchdog ,etc. 1. The technology of digital filter The method to usually use is as follows: arithmetic average method, hit valuable method , suppress pulse arithmetic average method, one steps inertia strain wave method, procedure judge strain wave method and is strain wave method, etc. equally to push away to pass. 2. The Initialize voluntarily \"Initializing\" here refers to in every section of procedure, to expanding various kinds of functions, the port or the way, state of the device, etc. to adopt permanent or temporary establishment inside and outside the SCM. So do this merely guarantee to have the electricity or the software can realize correctly after restoring to the throne that of different ranks and initialize, before using a certain function each time in the procedure, one should establish the pattern to the control register that is responded again. Practice has proved measure this can raise system for invade interfere recover performance by oneself greatly. 3. The use of NOP One can insert in the byte NOP order of two forms after one pair of bytes order and byte 3 order, this guarantees the following order is not broken. Because procedure that \" fly arbitrarily \" have to count to operate to fall, because two empty operated existent, order of NOP, will not regard following order as and operate and count carrying out , thus make the procedure put on the right track. Insert in two NOP order to that the procedure flows into the order of playing a decisive role and some orders playing an important role to the working state of the system, can is it fly to procedure include track in rapidly arbitrarily to guarantee , guarantee correct to carry out order these. 4. The repeated perform of the important order In the back of the orders that one play an important role to the liquid process and the working state of the system, write these orders repeatedly, so as to the transducer data of the lower frequency, one should collect and compare several times, as to the order of controlling exterior equipment, it need more repeated operation to ensure the responsible of the related signals. In order to reach this purpose, one should design the important order to the scan the module, make it operate repeatedly during the process of the circular operation. 5. Add the data redundant digit In order to increase the dependability of the data transmission in the system, one can add the redundant digit to the important and lengthen data - bright distance of Chinese between the codes in order to strengthen measuring and correct wrong ability. 6. The trap of software When the process of the disordered—flying entered to the district of the non—program or the form, the adoptive redundancy order make the condition of the process not fulfilled, we can enactment a trap of software, holding up the process of disordered—flying, and point it to the appointed location, there is a process that can solute the wrong process, and make the process to the right way. 7. The technology of the watchdog When PC run away because of the interfere, it will produce the process fly, and may make procedure enter \"die circulation\" too. The technology of the redundancy order, the technology of the software trap can not make the wild process get rid of the rattrap of the “die circulation”, one usually adopt the technology of the process monitor, another saying of the technology of “watch dog”, make the process break away from the ”die circulation”. The solution is: adopt the steady impulse which provided by the unit of the timer receiving the inner time, when the timer is overflow and bring the application of the interruption, the corresponding one cut off service routine make PC is it initialize and the entourage of procedure to get back to, thus realize mandatory \" restoring to the throne softly \". At the time of procedure normal running, every software for timer zero clearing or put and counted through the regular hour (smaller than the cycle of overflowing of the timer ), the ones that can prevent from overflowing and cut off that caused are restored to the throne by mistake . 8. The protection and recovery of the data During the process of the writing procedure, as to the data of the fruit datum of nature to change by order, one can consider protecting as much as possible after each change, in order to resume in case of necessity. Computer after non—restoring to the throne by force, I/O port and special register content of SFR turn into chip dispatch from the factory settlement value sometimes, this probably causes the systematic operation confusion . So the SCM should carry out the data recovery routine at first, and make the content which was protected by the register at the controlling end resume and revert. 附录B 中文翻译 单片机测控系统设计中对干扰问题的处理 近年来,单片机在工业自动化、生产过程操纵、测控外表等领域的应用越来越深入和广泛。测控系统的工作环境往往是比较恶劣和复杂,其应用的可靠性、安全性成为一个专门突出的问题。而阻碍测控系统的可靠性、安全运行的要紧因素是来自测控系统内部和外部的各种电气干扰,以及系统结构设计、元器件选择、安装、制造工艺和和外部环境条件等。这些因素对测控系统造成的干扰后果要紧表现在数据采集误差加大、操纵状态失灵、数据受干扰发生变化、程序失常等方面。本文将针对引起干扰的因素,讨论测控系统设计过程中应考虑的干扰问题及其有效的解决方法。 一、测控系统的差不多结构组成 二、测控系统各单元配置及抗干扰问题 1.半导体器件的选择 半导体器件是微机测控系统用得最多、最基础、最核心的器件,对系统的性能和可靠性阻碍极大。选择时一样遵循下面一些原则: (1)为了使半导体器件满足系统性能要求,必须深入了解元器件的电器参数。关于二极管,应考虑最大反响电压最大正向电流、反向电流、正向压降和工作频率。 (2)为了使半导体器件满足系统可靠性要求,注意温度对期间性能的阻碍,选择温漂小稳固性好的元器件。 (3)为了降低接触不良故障,就要减少焊点数量。尽量选用集成电路,而少用分立元器件;尽量选用大规模、超大规模集成电路,其次才是中小规模集成电路。 (4)测控系统所处外部环境往往有严峻干扰,因此,尽量选用抗干扰性能好的元器件。如为了提高噪声容限,可选用CMOS器件;为了抑制共模干扰,可选用测量放大器;为了抑制工频干扰,可选用积分型A/D等 (5)考虑功耗。在野外作业的单片机智能化测试设备,由于用电池供电,可选用功耗小的CMOS器件。 2.电源 电源抗干扰的差不多方法有:采纳交流稳压器,交流电源滤波器,对电源变压器实行屏蔽和隔离,利用压敏电阻吸取浪涌电压,在要求供电质量专门高的专门情形下,可 采纳发电机组或逆变器供电,如采纳在线式UPS不间断电源供电。采纳分立式供电和分类式供电。在每块印刷电路板的电源与地之间并接去耦电容。电源变压器采取屏蔽措施。使用瞬变电压抑制器TVS等方法。TVS是普遍使用的一种高效能电路爱护器件,能吸取高达数千瓦的浪涌功率,TVS对静电、过压、电网干扰、雷击、开关打火、电源反向及电机/电源噪声振动爱护尤为有效。 3.多路模拟开关 在测控系统中,被控量与被测量的回路往往是几路或几十路。关于多路的参量进行A/D、D/A转化时,往往采纳公共的A/D、D/A转换电路。因此,常选用多路模拟开关轮番切换各被控或被测回路与A/D、D/A转换电路间的通路,以达到分时操纵和巡回检测的目的。多个输入信号经多路转换器接至放大器或A/D转换器的方法有单端法和差动接法,其中差动接法抗干扰能力强。 当多路转换器从一个通道切换到另一个通道时,要发生瞬变现象,使输出端产生短暂的尖峰电压。为了排除这种现象引入的误差,可在多路转换器输出端与放大器之间接一个采样保持器电路,或用软件延时的方法进行采样。 多路转换器的输入常常受到各种环境噪声的污染,专门易受到共模噪声的干扰。在多路转换器输入端接入共模扼流圈,对抑制外部传感器引入的高频共模噪声十分有效。转换器高频采样时产生的高频噪声,不仅阻碍测量精度,而且可能使单片机失控。同时,由于单片机运行速度专门高,它对多路转换器也是一个庞大的噪声源。因此,应在单片机与A/D之间采纳光电耦合器隔离。 4.放大器 放大器的选择一样采纳不同性能的集成放大器。在传感器工作环境复杂和恶劣时,应选择测量放大器,它具有高输入阻抗、低输出阻抗、强抗共模干扰能力、低温漂、低失调电压和高稳固增益等特点,使其在柔弱信号的监测系统中广泛用作前置放大器。为了防止共模噪声窜入系统能够采纳隔离放大器。隔离放大器具有线性和稳固性好,共模抑制比高,应用电路简单,放大增益可变等特点。在使用电阻传感器时,可选用具有放大、滤波、鼓舞功能的模块2B30/2B31,它是高精度、低噪声、功能齐全的电阻信号适配器。 5.采样保持器 采样保持器电路(S/H)具有保持和采样两种状态,其作用是保持A/D转换期间输入信号不变。采样保持电路中的采样电容对电路精度的阻碍起着十分重要的作用。因此, 采样保持电容最好采纳感应吸取小、漏电流小的聚苯乙烯电容,或者聚四氟乙烯电容。 采样保持器电路(S/H)在采样与保持两种状态转换时,会窜入干扰,这是由于在进入保持状态的同时,逻辑输入信号通过印刷电路板布线间寄生电容耦合和漏电耦合到模拟信号输入端而引起的。为了减少该误差,印刷电路布线时,使逻辑输入端的走线与模拟输入端尽可能距离远些,或者将模拟输入端用地线包围起来,以降低线间寄生电容耦合和隔断漏电通路。另外,在保持模式时,输出将随电源的波动而变化,因此,芯片的供电电源应该是通过稳压和滤波,在芯片电源线与地线间加去耦电容。 6.A/D转换器 A/D转换器(又称ADC)是将模拟信号转换成数字信号,其转换工作原理与转换性能有紧密关系。逐次比较式ADC转换速度较高,但抗干扰能力差。双积分ADC抗干扰能力强,专门是对工频干扰有较强的抑制能力,具有较高的转换精度,但转换速度较低。V/F式ADC也具有较好的抗干扰性能、专门好的线性度和高辨论率,其转换速度也低。余数反馈比较式ADC具有量化噪声小,辨论率高。∑-△式ADC,它兼有余数反馈比较式和积分式的特点,具有抗干扰能力强、量化噪声小、辨论率高和线性度好的优点,转换速度也高于积分式ADC。因此,∑-△式ADC是智能外表和工业过程参数检测操纵的优先选择。 7.单片机主机单元 所谓主机单元,是指以单片机芯片为核心,配置必要的外部器件构成的单片机最小系统。主机单元是整个测控系统的核心,其性能的好坏直截了当阻碍到整个测控系统的质量。以下是主机单元的配置与抗干扰问题。 (1)总线的可靠性设计: 配置总线驱动器可提高总线的负载能力,改善信号波形。当总线的负载接近负载总线的驱动能力时可能会阻碍总线信号的逻辑电平,有时会发生误操作,可通过连接某I/O线到数据线来改善总线的不平稳程度,提高系统的可靠性。另外,在总线上适当安装上拉电阻也可提高总线信号传输的可靠性。 (2)芯片配置与抗干扰: ①去耦电容配置: 当数字电路受到跳变电流作用时,也将产生阻抗噪声,解决问题的有效措施是设置合适的去耦电容。 ②数字输入端的噪声抑制: 通常是依照有用脉冲信号与无用脉冲噪声之间的区别,采取既保证有用脉冲信号不丢失,又有效地抑制无用脉冲噪声的措施。通常是在数字电 路的接口部位加入RC滤波环节,利用RC的延时作用来操纵噪声的阻碍,并在RC滤波器的输出端接入施蜜特型集成电路。抑制输入噪声的另一项措施是提高输入端的噪声容限,这可通过加上拉电阻、电源分散配置,以及提高供电电源电压等措施。 ③数字电路不用端的处理: 可将不使用的输入端固定在高电平上或将不使用端与有用信号输入端并联在一起。 ④储备器的布线: 数据线、地址线、操纵线要尽量缩短,以减少对地电容。专门是地址线,各条线的长短、布线方式应尽量一致,以免造成各线的阻抗差异过大,使地址信号传输过程中到达顶端时波形差异过大,形成操纵信息的非同步干扰。由于开关噪声严峻,要在电源入口处,以及每片储备芯片的Vcc 与GND之间接入去耦电容。由于负载电流大,电源线和地线要加粗走线尽量短。印制板两面的三总线互相垂直,以防止总线之间的电磁干扰。总线的始端和终端要配置合适的上拉电阻,以提高高电平噪声容限,增加储备器端口在高阻状态下抗干扰能力和削弱反射波干扰。若主机的三总线需要引出而与其他扩展板相连接,应通过三态缓冲门后再与其他扩展板相连接。如此,能够有效防止外界电磁干扰,改善波形和削弱反射干扰。 三、软件抗干扰措施 软件抗干扰技术所研究的要紧内容,其一是采取软件的方法抑制叠加在模拟输入信号上噪声的阻碍,如数字滤波技术;其二是由于干扰而使运行程序发生纷乱,导致程序乱飞或陷入死循环时,采取使程序纳入正规的措施,如软件冗余、软件陷阱、看门狗等技术。 1.数字滤波技术 通常使用的方法有:算术平均法、中值法、抑制脉冲算术平均法、一阶惯性滤波法、程序判定滤波法和递推平均滤波法等。 2.主动初始化 那个地点的“初始化”泛指在各段程序中,对单片机片内外扩展器件的各种功能、端口或者方式、状态等采取的永久性的或者临时的设置。如此不仅保证上电或复位后软件能够正确地实现各种级别的初始化,而在程序中每次使用某种功能前,都要再一次对响应的操纵寄存器设定动作模式。实践证明,这一措施能够大大提高系统关于入侵干扰的自复原性能。 3.NOP的使用 可在双字节指令和3字节指令之后插入两个单字节NOP指令,这可保证其后的指 令不被拆散。因为“乱飞”的程序即使落到操作数上,由于两个空操作指令NOP的存在,可不能将其后的指令当操作数执行,从而使程序纳入正轨。对程序流向起决定作用的指令和某些对系统工作状态起重要作用的指令之前插入两条NOP指令,可保证乱飞程序迅速纳入轨道,确保这些指令正确执行。 4.重要指令重复执行 对程序流向起决定作用的指令和某些对系统工作状态起重要作用的指令的后面,可重复写上这些指令,以确保这些指令的正确执行。关于频率较低的传感器数据,应在有效时刻内多次采集并比较,关于操纵外部设备的指令,则需要多次重复执行以确保有关信号的可靠性。为达到此目的,可把重要的指令设计成定时扫描模块,使其在整个程序的循环运行过程中反复执行。 5.添加数据冗余位 为了增加系统中数据传输的可靠性,可给重要的数据添加冗余位,延长数据—代码之间的汉明距离以增强检测和纠正错误的能力。 6.软件陷阱 当乱飞程序进入非程序区或表格区时,采纳冗余指令使程序入轨条件不满足,现在能够设定软件陷阱,拦截乱飞程序,将其迅速引向一个指定位置,在那儿有一段专门对程序出错处理的程序,使程序纳入正轨。 7.“看门狗”技术 PC受到干扰而失控,引起程序乱飞,也可能使程序进入“死循环”。指令冗余技术、软件陷阱技术不能使失控的程序摆脱“死循环”的逆境,通常采纳程序监视技术,又称“看门狗”技术,使程序脱离“死循环”。其方法是:采纳单片机内的一个定时器单元接收内部时钟提供的稳固脉冲,当定时器溢出时提出中断要求,对应的中断服务程序使PC回到初始化程序的第一行,从而实现强制性“软复位”。程序正常运行时,软件每隔一定的时刻(小于定时器的溢出周期)给定时器清零或置数,可预防溢出中断而引起的误复位。 8.数据的爱护与复原 在编写程序的过程中,关于由指令改变结果性质的数据,能够考虑在每次改变后都尽可能地爱护起来,以便必要时复原。有时运算机在强制复位后,I/O端口和专门寄存器SFR中的内容都将变成芯片出厂时的设定值,这专门有可能引起系统的运行纷乱。因此单片机在重新启动后,应当第一执行数据复原程序,把操纵端口等重要寄存器被爱护的内容复原还原。 注:J. Turner, L. Mancl, L. Aaron .Pain; Volume 121; Issue 3 :Pages 181-194 因篇幅问题不能全部显示,请点此查看更多更全内容