《舵机的数字化控制器设计.doc》由会员分享,可在线阅读,更多相关《舵机的数字化控制器设计.doc(55页珍藏版)》请在三一办公上搜索。
1、编号: Z74 毕业设计说明书课 题:舵机的数字化控制器设计学 院: 电子工程与自动化学院 专 业: 自动化 学生姓名: 何娇娇 学 号: 0700320202 指导老师: 赵学军 职 称: 高级工程师 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2011 年 05 月 02日摘 要在相当长的时间里,计算机作为科学工具,在科学技术的神圣殿堂里默默地工作,而工业现场的测控领域并没有得到真正的实惠,进入21世纪后,由于电子技术的迅猛发展,新型电子产品的更新换代速度越来越快,以单片机为核心构成的智能化产品具有体积小、功能强、应用面广,使用灵活、价格便宜、工作可靠等优点,目前正以前
2、所未有的速度取代着传统电子线路构成的经典系统。与单片机相结合,计算机才真正地走进寻常百姓之家,成为广大工程技术人员现代化技术革新、技术革命的有利武器。本文针对舵机数字化控制器的设计,研究其硬件电路设计、软件程序设计和关键算法。在分析舵机控制的性能要求和相关控制方法的基础上,提出了基于上位机和下位机的控制结构,通过串口通信传输数据和指令,从而实现舵机控制。本设计以ATmega8L为核心,利用模拟舵机的机械部分,其中包括小型直流电机和一个反馈可调电位器,直流电机用H桥芯片LG9110来驱动,电位器进行角度测量,通过单片机的内部A/D转换来反馈实时角度,单片机用PID算法实现角度控制,PID算法的作
3、用为减小系统的超调和静差,加快系统的响应速度。上位机通过RS232串口与单片机进行通信,舵机根据上位机所设定的角度,利用PWM信号驱动LG9110控制电动机转动,系统通过上位机来设置舵机地址、波特率、给定角度。经过实际调试验证,舵机角度在-90度+90度范围内可由上位机设定,精度为0.5度,符合设计要求。关键词:舵机;单片机;角度控制;PID;PWMAbstractFor a long time ,as the Scientific tool, computer work quietly in the sacred temple of computer Science, but the fie
4、ld of Measurement and Control in Industrial site have not been real benefits. In the 21st century, As the rapid development of electronic technology, the speed of replacement of new electronic products become faster and faster. Intelligent product ,using The MCU as the core, is small, powerful, wide
5、 range of applications, practical and flexible, cheap, reliable, etc. and it replace the classical system that composed of traditional electronic circuit with unprecedented speed in current. Combining with the MCU, the computer was really into the family of ordinary people, and become the powerful w
6、eapon of technological innovation and technological revolution for the engineers and technicians. For Design process of Digital controller of the steering gear, This article mainly Research The hardware circuit design, software design and key algorithm. On the basis of analysis of the servo control
7、performance requirements and associated control method, we proposed the control structure based on PC and lower computer, and transfering data and instructions by Serial communication, then we achieve the Servo control. This article use ATmega8 as the core, use the mechanical part of Analog Servo wh
8、ich include small DC Motor and a feedback Adjustable potentiometer, and the DC drives with H bridge chip LG9110, angle measurement with potentiometer, feed back real-time perspective with microcontrollers internal A/D conversion. SCM to achieve angle control with PID algorithm whose function are red
9、ucing the system overshoot and static error and speeding up the system response. PC communicates with the MCU with RS232 serial port. according to the perspective of PC and using PWM signals to drive LG9110, the Servo control the motor turning. System set the servo address, baud rate, given angle th
10、rough PC. After the actual debugging authentication, Servo set by PC in the range of -90 degrees to +90 degrees, Accuracy is 0.5 degrees and meet the design requirements.Key words:Servo Motor; Microcontroller; Angle control; PID; PWM目 录引言11 舵机控制系统概述21.1 舵机工作原理21.2 PID控制算法21.2.1 PID控制系统的原理和特点21.2.2 增
11、量式PID算法41.2.3 PID控制器参数的工程整定方法42 AVR单片机概述52.1 AVR单片机的优势特征52.2 ATmega8L单片机的特点62.2.1引脚说明82.2.2 A/D转换器92.2.3脉宽调制PWM原理103 串口通信123.1 串口通信的作用123.2 RS-232C接口和MAX232芯片简介123.3 MAX232芯片引脚描述及其应用123.3.1 MAX232应用电路介绍133.3.2串口模块原理图设计144 驱动芯片154.1 电机驱动芯片LG9110154.2 电机驱动芯片L293D165 硬件设计思路185.1 系统基本原理185.2 系统硬件设计195.2
12、.1 原理图说明196 系统软件设计206.1 系统主程序206.1.1主程序设计要点206.1.2主程序流程图206.1.3 PID子程序流程图226.1.4 程序设计思路226.1.5 PD子程序说明236.2 系统仿真246.3 上位机266.3.1 MSComm控件原理266.3.2上位机运行结果277 系统调试297.1 硬件调试297.2 软件调试308 结论31谢 辞32参考文献33附 录34引言 随着高新技术在测控领域中的应用,有力地促进了控制的系统化和精确化,然而,经典的反馈控制、现代控制和大系统理论在应用中遇到不少难题。首先,这些控制系统的设计和分析都是建立在精确的系统数学
13、模型的基础上的,但是各个领域对自动控制系统控制精度、响应速度、系统稳、定性与自适应能力的要求越来越高,被控对象或过程的非线性、时变性、多参数点的强烈耦合、较大的随机扰动、各种不确定性以及现场测试手段不完善等,使难以按数学方法建立被控对象的精确模型;其次,为了提高控制的性能,整个控制系统变得极其复杂,增加了设备的投资,降低了系统的可靠性。人工智能的出现和发展,促进了自动控制向更高的层次,即智能控制发展。基于单片机的智能控制系统,使得舵机等伺服系统的模块化和数字化更容易实现,极大的促进了控制精度、响应速度等控制要求的提高。舵机作为一种伺服电机属于闭环控制系统,和一般的直流电机、交流电机相比具有较高
14、的控制精度,步进电机虽然也具有一定的控制精度但仍然属于开环结构。于是舵机在机器人关节控制和航模转舵控制等需要精确控制而又没有很高载荷的系统中就显得十分经济实用,在航空航天仪器、雷达、导弹、智能自适应仪器、各种武器电子和抗恶劣环境电子等系统中也得到广泛应用。1 舵机控制系统概述1.1舵机工作原理舵机,又名伺服电机,主要是由外壳马达、减速齿轮和电位器构成。舵机主要适用于那些角度不断变化并可以保持的控制系统,比如人形机器人的手臂和腿,车模和航模的方向控制。舵机工作原理:舵机本质上是可定位的马达,它的内部包括了一个小型直流马达、一组变速齿轮组、一个反馈可调电位器和一块电子控制板。它是一个典型闭环反馈系
15、统1,减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生调整脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令调整脉冲趋于为0,从而达到使舵机精确定位的目的。简单的说就是发一个控制信号给舵机,经过电路板判断转动方向,再驱动马达开始转动,透过减速齿轮将动力传至摆臂,同时由电位器检测送回信号,判断是否已经达到指定位置。数字舵机(Digital Servo)和模拟舵机(Analog Servo)在基本的机械结构方面是完全一样的,主要由马达、减速齿轮、控制电路等组成
16、,而数字舵机和模拟舵机的最大区别则体现在控制电路上,数字舵机的控制电路比模拟舵机的多了微处理器和晶振。相对于模拟舵机,数字舵机有如下优点:首先,驱动马达的动力,可以由微处理器的程序调整,以应用于不同的应用场合,并优化舵机性能。其次,舵机马达能以更高的频率响应控制信号,而且“死区”(无响应区)变小;反应变得更快;加速和减速时也更迅速、更柔和;运转精度以及舵机锁位能力也更强。本设计就是利用模拟舵机的机械部分,运用单片机和电位器的闭环系统进行角度控制,主要用到PD控制,采用电位器进行角度检测,由单片机对其进行处理,输出PWM脉冲信号控制舵机转动到所设定的角度。即将模拟舵机改装成数字舵机,实现了舵机的
17、数字化控制。1.2 PID控制算法1.2.1 PID控制系统的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控
18、制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例控制器是在误差一旦产生就立即有控制作用,使得被控量向减小误差的方向变化,控制作用的强弱取决于比例系数的。比例控制的缺点是对于具有自平衡的性的被控对象存在静差。加大可以减小系统静差,但过大的时候,会使系统的动态性能变坏,甚至会使闭环系统不稳定。PID控制系统原理如图1.1所示。图1.1 PID控制系统原理图 (1-1) (1-2)积分控制能对误差进行记忆并积分,有利于消除静差。但它的不足之处在于积分作用具有滞后特性,存在积分饱和现象,如果积分控制作用太强会使控制的动态性能
19、变差,以至于使系统变得不稳定。比例控制器是在误差一旦产生就立即有控制作用,使得被控量向减小误差的方向变化,控制作用的强弱取决于比例系数的。比例控制的缺点是对于具有自平衡的性的被控对象存在静差。加大可以减小系统静差,但过大的时候,会使系统的动态性能变坏,甚至会使闭环系统不稳定。积分控制能对误差进行记忆并积分,有利于消除静差。但它的不足之处在于积分作用具有滞后特性,存在积分饱和现象,如果积分控制作用太强会使控制的动态性能变差,以至于使系统变得不稳定。微分控制能对误差进行微分,得出误差的变化趋势,增大微分作用可加快系统响应,使超调量减少,增加系统稳定性,缺点是对于干扰同样的敏感,使系统抑制干扰的能力
20、降低。 1.2.2 增量式PID算法 数字PID是在模拟PID算法的基础上,用差分方程式代替连续方程,所以模拟PID算法中许多行之有效的方法都可以用在数字PID运算中。数字PID两种最基本的算法为:位置型PID和增量型PID。本设计采用增量型PID。增量式PID算法的输出量为: (1-3)式中,en、en-1、en-2分别为第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分别为比例系数、积分系数和微分系数,T为采样周期1.2.3 PID控制器参数的工程整定方法主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用
21、哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下: 首先预选择一个足够短的采样周期让系统工作; 仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期; 在一定的控制度下通过公式计算得到PID控制器的参数。2 AVR单片机概述自1983年Intel公司推出8051单片机系列至今已有20年,Atmel公司把8051内核与其擅长的Flash制造技术相结合,推出了片内集成可重复擦写1000次以上Flash程序存储器、低功耗、8051内核的AT89系列单片机。改系列的典
22、型产品有AT89C51、AT89C52、AT89C1051和AT89C2051,在我国的单片机市场上占有相当大的份额,得到了广泛的使用。由于8051本身结构的先天性不足及近年来各种采用新型结构和新技术的单片机的不断涌现,现在的单片机市场百花齐放。Atmel在这种强大的市场压力下,发挥Flash存储器的技术特长,于1997年研发并推出增强型内置Flash程序存储器的精简指令集RISC的新型高速8位单片机,简称AVR单片机,可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通信设备、家用电器等各个领域。2.1 AVR单片机的优势特征单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能
23、仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选用AVR单片机呢? 简便易学,费用低廉 首先,对于非专业人员来说,选择AVR单片机的最主要原因,是进入AVR单片机开发的门槛非常低,只要会操作电脑就可以学习AVR单片机的开发。单片机初学者只需一条ISP下载线,把编辑、调试通过的软件程序直接在线写入AVR单片机,即可以开发AVR单片机系列中的各种封装的器件。AVR单片机因此在业界号称“一线打天下”。 其次,AVR单片机便于升级。AVR程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升
24、级。 再次,AVR单片机费用低廉。学习AVR单片机可使用ISP在线下载编程方式(即把PC机上编译好的程序写到单片机的程序存储器中),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有AVR单片机的开发应用,这可节省很多开发费用。程序存储器擦写可达10000次以上,不会产生报废品。 高速、低耗、保密 首先,AVR单片机是高速嵌入式单片机: AVR单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。 多累加器型,数据处理速度快。AVR单片机具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。 中断响应速度快。AVR单片机有多个固定
25、中断向量入口地址,可快速响应中断。 其次,AVR单片机耗能低。对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。有的器件最低1.8 V即可工作。 再次,AVR单片机保密性能好。它具有不可破解的位加密锁Lock Bit技术,保密位单元深藏于芯片内部,无法用电子显微镜看到。 I/O口功能强,具有A/D转换等电路 AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。工业级产品,具有大电流(灌电流)1040 mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。 AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATm
26、ega48/8/16等器件具有8路10位A/D。 部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。 AVR单片机可重设启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。 有功能强大的定时器/计数器及通讯接口 定时/计数器T/C有8位和16位,可用作比较器。计数器外部中断和PWM(也可用作D/A)用于控制输出,某些型号的AVR单片机有34个PWM,是作电机无级调速的理想器件。 AVR单片机有串行异步通讯UART接口,不占用定时器和SPI同步传输功能,因其具有高速特性,故可以工作在一般标准
27、整数频率下,而波特率可达576K。 2.2 ATmega8L单片机的特点ATmega8L是AVR高档单片机中内部接口丰富、功能齐全、性能价格比最好的品种。其主要特点如下: 高性能、低功耗的 8 位 AVR 微处理器。 先进的RISC结构。 130 条指令,大多数指令执行时间为单个时钟周期。 32 个8 位通用工作寄存器。 全静态工作。 工作于16 MHz 时性能高达16 MIPS。 只需两个时钟周期的硬件乘法器。 非易失性程序和数据存储器。 8K 字节的系统内可编程Flash 。 擦写寿命: 10,000 次。 具有独立锁定位的可选Boot 代码区。 通过片上Boot 程序实现系统内编程。 真
28、正的同时读写操作。 512 字节的EEPROM。 擦写寿命: 100,000 次。 1K 字节的片内SRAM。 可以对锁定位进行编程以实现用户程序的加密。 外设特点。 两个具有独立预分频器8 位定时器/ 计数器,其中之一有比较功能。 一个具有预分频器、比较功能和捕捉功能的16 位定时器 /计数器。 具有独立振荡器的实时计数器RTC。 三通道PWM;8路 10 位ADC。 两个可编程的串行USART。 TQFP 与MLF封装的 8 路ADC。 可工作于主机/从机模式的 SPI串行接口。 PDIP 封装的6 路 ADC。 具有独立片内振荡器的可编程看门狗定时器。 面向字节的两线接口;片内模拟比较器
29、 。 特殊的处理器特点。 上电复位以及可编程的掉电检测。 片内经过标定的RC 振荡器。 片内/片外中断源。 5种睡眠模式 : 空闲模式、 ADC 噪声抑制模式、省电模式、掉电模式及 Standby 模式。 I/O和封装。 23个可编程的I/O 口。 28引脚PDIP封装 ,32 引脚TQFP封装 ,32 引脚 MLF封装。 工作电压。 2.7-5.5V (ATmega8L)。 速度等级。 0-8 MHz (ATmega8L)。 4 Mhz时功耗 , 3V, 25C。 工作模式: 3.6 mA。 空闲模式: 1.0 mA。 掉电模式: 0.5 A。2.2.1 引脚说明ATmega8L PDIP封
30、装的引脚图如图2.1所示。图2.1 ATmega8L PDIP封装 VCC 数字电路的电源。 GND 地。 端口 B(PB7.PB0) XTAL1/XTAL2/TOSC1/TOSC2端口 B 为 8 位双向 I/O 口,具有可编程的内部上拉电阻。在复位过程中,即使系统时钟还未起振,端口 B处于高阻状态。通过时钟选择熔丝位的设置, PB6 可作为反向振荡放大器或时钟操作电路的输入端。通过时钟选择熔丝位的设置 PB7 可作为反向振荡放大器的输出端。 端口 C(PC5.PC0) 端口C为7 位双向 I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。 PC6/R
31、ESET 若 RSTDISBL 熔丝位编程,PC6作为 I/O 引脚使用。注意 PC6 的电气特性与端口C 的其他引脚不同,若 RSTDISBL 熔丝位未编程,PC6 作为复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。 端口 D(PD7.PD0) 端口D为 8 位双向 I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。 RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限时间的脉冲不能保证可靠复位。 AVCC AVCC 是A/D转
32、换器、端口C (3.0)及ADC (7.6)的电源。不使用ADC时,该引脚应直接与VCC 连接。使用ADC时应通过一个低通滤波器与VCC 连接。注意,端口C (5.4)为数字电源, VCC。 AREF A/D 的模拟基准输入引脚。 ADC7.6(TQFP 与MLF封装 ) TQFP与MLF封装的ADC7.6作为A/D转换器的模拟输入。为模拟电源 且作为10位ADC通道。2.2.2 A/D转换器特点: 10 位 精度 0.5 LSB 的非线性度 2 LSB 的绝对精度 13 - 260 s 的转换时间 最高分辨率时采样率高达15 kSPS 6 路复用的单端输入通道 2 路附加复用的单端输入通道
33、(TQFP与 MLF封装 ) 可选的左对齐ADC读数 0 - VCC 的 ADC输入电压范围 可选的2.56V ADC参考电压 连续转换或单次转换模式 ADC 转换结束中断ATmega8有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口 C 的 8 路单端输入电压进行采样。单端电压输入以 0V (GND) 为基准。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。ADC 由 AVCC 引脚单独提供电源。AVCC 与 VCC 之间的偏差不能超过 0.3V。标称值为 2.56V的基准电压,以及 AVCC,都位于器件之内。基准电压可以通过在A
34、REF引脚上加一个电容进行解耦,以更好地抑制噪声。 ADC 通过逐次逼近的方法将输入的模拟电压转换成一个 10 位的数字量。最小值代表GND,最大值代表AREF引脚上的电压再减去1 LSB。通过写ADMUX寄存器的REFSn位可以把 AVCC 或内部 2.56V 的参考电压连接到 AREF引脚。在 AREF 上外加电容可以对片内参考电压进行解耦以提高噪声抑制性能。任何 ADC 输入引脚,像 GND 及固定能隙参考电压,都可以作为 ADC 的单端输入。通过设置 ADCSRA寄存器的 ADEN 即可启动 ADC。如果要求转换结果左对齐,且最高只需 8 位的转换精度,那么只要读取 ADCH 就足够了
35、。否则要先读 ADCL,再读 ADCH,以保证数据寄存器中的内容是同一次转换的结果。一旦读出 ADCL, ADC 对数据寄存器的寻址就被阻止了。也就是说,读取 ADCL 之后,即使在读 ADCH 之前又有一次 ADC 转换结束,数据寄存器的数据也不会更新,从而保证了转换结果不丢失。 ADCH 被读出后, ADC 即可再次访问 ADCH 及 ADCL寄存器。ADC转换结束可以触发中断。即使由于转换发生在读取ADCH与ADCL之间而造成ADC无法访问数据寄存器,并因此丢失了转换数据,中断仍将触发。2.2.3脉宽调制PWM原理本系统采用内部16位定时器T1来产生两路PWM信号。16位的T/C可以实现
36、精确的程序定时(事件管理)、波形产生和信号测量。其主要特点如下: 真正的16位设计 (即允许 16 位的PWM) 2 个独立的输出比较单元 双缓冲的输出比较寄存器 一个输入捕捉单元 输入捕捉噪声抑制器 比较匹配发生时清除寄存器( 自动重载) 无干扰脉冲,相位正确的PWM 可变的PWM周期 频率发生器;外部事件计数器 4 个独立的中断源(TOV1、OCF1A、OCF1B 与 ICF1)寄存器:定时器 / 计数器 TCNT1、输出比较寄存器 OCR1A/B 与输入捕捉寄存器 ICR1 均为 16 位寄存器。访问 16 位寄存器必须通过特殊的步骤,T/C 控制寄存器 TCCR1A/B 为 8 位寄存
37、器,没有 CPU 访问的限制。双缓冲输出比较寄存器 OCR1A/B 一直与 T/C 的值做比较。波形发生器用比较结果产生PWM或在输出比较引脚OC1A/B输出可变频率的信号。比较匹配结果还可置位比较匹配标志 OCF1A/B,用来产生输出比较中断请求。在 PWM 模式下用 OCR1A 作为 TOP 值时, OCR1A 寄存器不能用作 PWM 输出。但此时 OCR1A 是双向缓冲的, TOP 值可在运行中得到改变。当需要一个固定的 TOP值时可以使用 ICR1寄存器,从而释放 OCR1A 来用作PWM输出。工作模式:工作模式 - T/C 和输出比较引脚的行为 - 由波形发生模式 (WGM13:0)
38、 及比较输出模式(COM1x1:0) 的控制位决定。比较输出模式对计数序列没有影响,而波形产生模式对计数序列则有影响。 COM1x1:0 控制 PWM 输出是否为反极性。非 PWM 模式时 COM1x1:0控制输出是否应该在比较匹配发生时置位、清零,或电平取反。本设计采用相位修正PWM 模式。相位修正 PWM 模式 (WGM13:0 = 1、 2、 3、10 或 11)为用户提供了一个获得高精度的、相位准确的 PWM 波形的方法。与相位和频率修正模式类似,此模式基于双斜坡操作。计时器重复地从 BOTTOM 计到 TOP,然后又从 TOP倒退回到 BOTTOM。在一般的比较输出模式下,当计时器往
39、 TOP 计数时若 TCNT1 与 OCR1x 匹配,OC1x 将清零为低电平;而在计时器往 BOTTOM 计数时若 TCNT1 与 OCR1x 匹配, OC1x 将置位为高电平。工作于反向比较输出时则正好相反。与单斜坡操作相比,双斜坡操作可获得的最大频率要小。但其对称特性十分适合于电机控制。相位修正 PWM 模式的 PWM 分辨率固定为 8、9 或 10 位,或由 ICR1 或 OCR1A 定义。最小分辨率为2比特(ICR1或OCR1A设为 0x0003),最大分辨率为16位(ICR1或OCR1A设为 MAX)。 PWM 分辨率位数可用下式计算:工作于相位修正 PWM 模式时,计数器的数值一
40、直累加到固定值 0x00FF、 0x01FF、0x03FF (WGM13:0 = 1、 2或3)、ICR1 (WGM13:0 = 10)或OCR1A (WGM13:0 = 11),然后改变计数方向。在一个定时器时钟里 TCNT1 值等于 TOP 值。具体的时序图为 图2.2。图中给出了当使用OCR1A或ICR1来定义TOP值时的相位修正PWM模式。图中柱状的 TCNT1 表示这是双边斜坡操作。方框图同时包含了普通的 PWM 输出以及反向 PWM输出。TCNT1 斜坡上的短水平线表示 OCR1x 和 TCNT1 的匹配比较。比较匹配后 OC1x中断标志置位。图2.2相位修正PWM模式时序图3.
41、串口通信3.1串口通信的作用系统需要接收上位机设置的角度的数据,并把下位机的数据传到上位机。因此串口模块的作用就是把单片机需要传送到上位机的数据转换成电脑的RS-232标准串口数据,以便把数据发送到上位机。3.2 RS-232C接口和MAX232芯片简介本系统串口通信模块设计采用的是MAX232芯片把单片机传来的数据转换成RS-232标准串口数据。以下对RS-232C接口和MAX232芯片做简要的介绍。RS-232C的全称是“数据终端设备(DTE) 和数据通信设备(DCE) 之间的串行二进制数据交换接口技术标准”,适合于短距离通信或带调制解调器的通信应用场合.PC机上一般都会有RS-232C接
42、口,MAX232芯片是专门为电脑的RS-232标准串口设计的一款兼容RS232标准的芯片, 其结构图如图3.1所示。该器件包含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.3 MAX232芯片引脚描述及其应用MAX232芯片引脚图如图3.1所示:图3.1 MAX232芯片引脚图本系统数据的接收和发送引脚选用的是T21N,R21N,R2OUT,T2OUT四个引脚,其中T2
43、1N、R2OUT与标准的RS-232C接口相连。负责数据把转化好的数据传送到上位机;T2OUT、R21N与单片机相连,负责接收从单片机送来的数据。 3.3.1 MAX232应用电路介绍MAX232 外围需要4个电解电容C1 、C2 、C3 、C4 ,是内部电源转换所需电容。其取值均为1F/25V。宜选用钽电容并且应尽量靠近芯片。C5为0.1F的去耦电容。如图3.2所示。但本设计均采用104电容。图3.2 MAX232应用接口电路图3.3串口模块原理图3.3.2串口模块原理图设计单片机要通过与MAX232芯片与上位机的串口相连才能与上位机通讯。单片机与上位机连接电路图如图3.3所示。本系统是通过
44、单片机的控制通过串口与PC通信来实现的,首先,串口的2,3脚与232芯片的任一路接收端和发送端相连;然后再通过对应路的发送端和接收端与单片机的对应RXD和TXD相连,再串口中断打开后发送和接收数据,实现串口异步通信。在异步传送方式中,字符是按帧格式进行发送的。异步通信的帧格式如表3.1所示。表3.1异步通信的帧格式n-1 第N个字符(一串行帧) n+1 P 10D0D1D2D3D4D5D6D7P10D0 起始位 数 据 位 校验位 停止位4.驱动芯片4.1电机驱动芯片LG9110 低静态工作电流; 宽电源电压范围:2.5V-12V; 每通道具有800mA 连续电流输出能力; 较低的饱和压降;
45、TTL/CMOS输出电平兼容,可直接连CPU; 输出内置钳位二极管,适用于感性负载; 控制和驱动集成于单片IC之中; 具备管脚高压保护功能; 工作温度:0-80。 LG9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片 IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个 TTL/CMOS 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750800mA 的持续电流,峰值电流能力可达1.52.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。管脚定义如表4.1所示。表4.1 LG9110管脚定义图4.1 LG9110管脚波形图图4.2