基于AVR单片机控制步进电机正反转_第1页
基于AVR单片机控制步进电机正反转_第2页
基于AVR单片机控制步进电机正反转_第3页
基于AVR单片机控制步进电机正反转_第4页
基于AVR单片机控制步进电机正反转_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 AVR单片机课程设计 论文题目 :基于 AVR单片机的步进电机驱动器 学院: 专业 : 班级: 学号: 学生姓名 : 指导教师 : 完成时间 : 2016 年 1 月 目录 摘要 - 1 - 设计题目及其要求 - 2 - 第一章 引言 - 3 - 1.1 步进电机的定义 - 3 - 1.2 我国步进电机发展 - 3 - 1 3 步进电机的应用前景 - 3 - 第二章 步进电机控制系统 - 5 - 2.1 基本控制框图 - 5 - 2.2 步进电机的分类 - 5 - 第三章 系统的硬件设计 - 6 - 3.1 系统的基本设计思路与设计要求 - 6 - 3.2 系统的组成及其对应功能的简要概述

2、- 6 - 3.3 各模块介绍 - 6 - 第四章 电路设计 - 11 - 4.1 电路简介 - 11 - 第五章 主程序与流程图 - 13 - 5.1 流程图 - 13 - 5.2 主程序 - 14 - 5.3 程序分析 - 15 - 第六章 总结 - 17 - 摘要 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 当步进驱动器接收到一个脉冲信号, 它就驱动步进电机 按设定的方向转动一个固定的角度,称为“步距角” ,它的旋转是以固定的角度 一步一步运行的。 可以通过控制脉冲个

3、数来控制角位移量, 从而达到准确定位的 目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调 速的目的。 步进电机是一种感应电机, 它的工作原理是利用电子电路, 将直流电变成分 时供电的, 多相时序控制电流, 用这种电流为步进电机供电, 步进电机才能正常 工作,驱动器就是为步进电机分时供电的,多相时序控制器。 AVR单片机是 1997 年由 ATMEL公司研发出的 增强型内置 Flash 的 RISC(Reduced Instruction Set CPU) 精简指令集高速 8位单片机。 AVR的单片 机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用

4、电器等各个领域。 1997 年,由 Atmel 公司挪威设计中心的 A 先生和 V 先生,利 用 Atmel 公司的 Flash 新技术,共同研发出 RISC精简指令集高速 8 位单片机, 简称 AVR。 关键字: avr 单片机、步进电机、控制器 设计题目及其要求 基于 avr 单片机的步进电机控制 1、通过 avr 单片机驱动步进电机旋转 2、通过按键控制电机的正反转。 3、速度自定。 第一章 引言 1.1 步进电机的定义 步进电机又称电动机或阶跃电动机, 国外一般称为 Step motor 或 Stepping motor 等。步进电机的机理是基于最基本的电磁铁作用, 其原始模型起源于

5、1830 年至 1860 年间。1870 年前后开始以控制为目的的尝试,应用于氩弧灯的电极输 送机构中。 这被认为是最初的步进电动。 此后,在电话自动交换机中广泛使用了 步进电动机。 不久又在缺乏交流电源的船舶和飞机等独立系统中广泛使用。 20 世纪 60 年代后期,随着永磁性材料的发展,各种实用性步进电动机应运而生, 而半导体技术的发展则推进了步进电动机在众多领域的应用。在近 30 年间,步 进电动机迅速地发展并成熟起来。 从发展趋向来讲, 步进电动机已经能与直流电 动机、异步电动机,以及同步电动机并列,从而成为电动机的一种基本类型。 1.2 我国步进电机发展 我国步进电动机的研究及制造起始

6、于本世纪 50 年代后期。从 50 年代后期 到 60 年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量 产品。这些产品以多段结构三相反应式步进电动机为主。 70 年代初期,步进电 动机的生产和研究有所突破。 除反映在驱动器设计方面的长足进步外, 对反应式 步进电动机本体的设计研究发展到一个较高水平。 70 年代中期至 80 年代中期为 成品发展阶段,新品种高性能电动机不断被开发。自 80 年代中期以来,由于对 步进电动机精确模型做了大量研究工作, 各种混合式步进电动机及驱动器作为产 品广泛利用。 13 步进电机的应用前景 目前,随着电子技术、 控制技术以及电动机本体的发展和变

7、化, 传统电机分 类间的界面越来越模糊。步进电机必然会成为机电一体化元件组件的必然趋势。 由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自 动化仪表、 绘图机和计算机外围设备中得到广泛应用。 微电子学的迅速发展和微 型计算机的普及与应用, 为步进电动机的应用开辟了广阔前景, 使得以往用硬件 电路构成的庞大复杂的控制器得以用软件实现, 既降低了硬件成本又提高了控制 的灵活性, 可靠性及多功能性。 市场上有很多现成的步进电机控制机构, 但价格 都偏高。应用 SGS公司推出的 L297和 L298两芯片可方便的组成步 进电机驱动 器,并结合 Atmega16L单片机可以构成很好

8、的步进电机控制系统。 第二章 步进电机控制系统 2.1 基本控制框图 图 2.1 avr 单片机控制框图 2.2 步进电机的分类 步进电动机的种类很多, 从广义上讲, 步进电机的类型分为机械式、 电磁式 和组合式三大类型。 按结构特点电磁式步进电机可分为反应式 (VR) 、永磁式 (PM) 和混合式 (HB)三大类; 按相数分则可分为单相、 两相和多相三种。 目前使用最为 广泛的为反应式和混合式步进电机。 (1) 反应式步进电机 (Variable Reluctance ,简称 VR)反应式步进电机的转 子是由软磁材料制成的,转子中没有绕组。它的结构简单,成本低,步距角可以 做得很小,但动态性

9、能较差。反应式步进电机有单段式和多段式两种类型; (2) 永磁式步进电机 (Permanent Magnet,简称 PM)永磁式步进电机的转子是 用永磁材料制成的, 转子本身就是一个磁源。 转子的极数和定子的极数相同, 所 以一般步距角比较大。它输出转矩大,动态性能好,消耗功率小(相比反应式 ), 但启动运行频率较低,还需要正负脉冲供电; (3) 混合式步进电机 (Hybrid ,简称 HB)混合式步进电机综合了前两者的优 点。混合式与反应式相比,结构上转子加有永磁体,以提供软磁材料的工作点, 而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能, 因此该电机效 率高,电流小,发热低。因永

10、磁体的存在,该电机具有较强的反电势,其自身阻 尼作用比较好,使其在运转过程中比较平稳、噪声低、低频振动小。 第三章 系统的硬件设计 3.1 系统的基本设计思路与设计要求 本设计采用单片机 ATmega16来作为整个步进电机控制系统的运动控制核心 部件,采用了电机驱动芯片 ULN2003及其外围电路构成了整个系统的驱动部分, 再加上作为执行部件的步进电机来构成了一个基本的步进电机控制系统。 系统的 具体功能和要求如下: 1. 单片机最小系统板的设计 (采用完整 AVR实验板实现 ); 2. 实现步进电机的启停、正转、反转控制; 3. 驱动电路可提供电压为 5V,电流为 0.3A的驱动信号 ; 4

11、. 步进电机转速自己定义; 3.2 系统的组成及其对应功能的简要概述 整个系统需要单片机最小系统模块, ULN2003 控制模块、独立按键以及步 进电机本体。 单片机最小系统作为整个系统的控制核心, 它主要负责产生控制步进电机转 动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲 信号,步进电机转动的角度大小与单片机输出的脉冲数成正比步进电机转动的速 度与输出的脉冲频率成正比,而步进电机转动的的方向与输出的脉冲顺序有关。 3.3 各模块介绍 一、 ATmega16 ATmega16是基于增强的 AVR RISC结构的低功耗 8 位 CMOS微控制器。由于 其先进的指令集以及

12、单时钟周期指令执行时间, ATmega16的 数据吞吐率高达 1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。 ATmega16 AVR内 核具有丰富的指令集和 32 个通用工作寄存器。所有的寄 存器都直接与运算逻单元 (ALU) 相连接,使得一条指令可以在一个时钟周期内同 时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC 微控制器最高至 10 倍的数据吞吐率。 ATmega16有 如下特点 :16K 字节的系统内可编程 Flash( 具有同时读写的能 力,即 RWW,) 512 字节 EEPRO,M1K 字节 SRAM,32 个通用 I/O 口

13、线, 32 个通 用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比 较模式的灵活的定时器 / 计数器(T/C), 片内/外中断,可编程串行 USAR,T 有起 始条件检测器的通用串行接口, 8路 10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI 串行端口, 以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而USAR、T两线接口、 A/D 转换器、SRAM、 T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有 功能除了中断和硬件复位之外都停

14、止工作; 在省电模式下,异步定时器继续运行, 允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模 式时终止 CPU 和除了异步定时器与 ADC 以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模 块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。 ATmega16封装、引脚图及其功能说明 ATmega16最小系统 二、电机驱动电路模块 考虑要硬件设计驱动电路的方法会电路复杂, 调试不方便, 而且采用多个元 器件搭接, 成本

15、高。而直接采用集成的驱动芯片时电路稳定, 成本低,易于控制, 所以最终本设计是直接采用电机驱动芯片 ULN2003作为电机驱动部分的核心部 件。 ULN2003是一个非门电路,包含 7 个单元,但独每个单元驱动电流最大可达 350mA.资料的最后有引用电路, 9脚可以悬空。比如 1 脚输入, 16脚输出,你的 负载接在 VCC与 16脚之间,不用 9 脚。 ULN2003的作用: ULN2003是大电流驱动阵列 , 多用于单片机、智能仪表、 PLC、数字量输出卡 等控制电路中。可直接驱动继电器等负载。 ULN2003是高耐压、大电流达林顿陈列 , 由七个硅 NPN达林顿管组成。 该 电路的特点

16、如下 : ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻 , 在 5V 的工作电压下它能与 TTL和 CMOS电路 直接相连,可以直接处理原先需要标准逻 辑缓冲器。 ULN2003 是高压大电流达林顿晶体管阵列系列产品 , 具有电流增益高、 工作 电压高、温度范围宽、带负载能力强等特点 , 适应于各类要求高速大功率驱动的 系统。 ULN2003接线图 引脚 1: CPU脉冲输入端,端口对应一个信号输出端。 引脚 2: CPU脉冲输入端。 引脚 3: CPU脉冲输入端。 引脚 4:CPU脉冲输入端。 引脚 5: CPU脉冲输入端。 引脚 6: CPU脉冲输入端。 引脚 7:CPU

17、脉冲输入端。 引脚 8:接地。 引脚 9:该脚是内部 7 个续流二极管负极的公共端,各二极管的正极分别接 各达林顿管的集电极 引脚 引脚 引脚 引脚 引脚 引脚 引脚 10:脉冲信号输出端,对应 11:脉冲信号输出端,对应 12:脉冲信号输出端,对应 13:脉冲信号输出端,对应 14:脉冲信号输出端,对应 15:脉冲信号输出端,对应 16:脉冲信号输出端,对应 7 脚信号输入端。 6 脚信号输入端。 5 脚信号输入端。 4 脚信号输入端。 3 脚信号输入端。 2 脚信号输入端。 1 脚信号输入端 ULN2003 引脚图 四、步进电机 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电

18、机件。 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数, 而不受负载变化的影响, 当步进驱动器接收到一个脉冲信号, 它就驱动步进电机 按设定的方向转动一个固定的角度,称为“步距角” ,它的旋转是以固定的角度 一步一步运行的。 可以通过控制脉冲个数来控制角位移量, 从而达到准确定位的 目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调 速的目的。 步进电机是一种感应电机, 它的工作原理是利用电子电路, 将直流电变成分 时供电的, 多相时序控制电流, 用这种电流为步进电机供电, 步进电机才能正常 工作,驱动器就是为步进电机分时供电的,多相时序控制器。

19、- 10 - 4.1 电路简介 第四章 电路设计 电路采用 ATmega16的 AVR实验板外接 N2003控制模块以带动步进电机,具体操 作如下: 使用 ULN2003的 IN1IN4 接 ATmega16的 PA0PA4口、电源接到 ATmega16的电源 正负极即可, A、B、C、D按顺序接步进电机。 实物图如下: - 11 - AVR单片机 PCB图 整体电路图 - 12 - 第五章 主程序与流程图 5.1 流程图 - 13 - 5.2 主程序 #include #define uchar unsigned char #define uint unsigned int #define

20、key (PIND/ 正转 电机导通相序 D-C-B-A uchar back4=0 x01,0 x02,0 x04,0 x08;/ 反转 电机导通相序 A-B-C-D void delay(uint x) uint i,j; for(i=0;ix;i+) for(j=0;j112;j+); void with(void)/ 正转 uchar i; for(i=0;i4;i+) PORTA=comei; delay(4);/ 转速调节 void inverse(void) uchar i; for(i=0;i4;i+) PORTA=backi; delay(4);/ 转速调节 void sto

21、p(void) PORTA=0 x00; void main() DDRA=0 x0f; while(1) while(key) 顺时针转动 with(); / - 14 - while(!key) while(key) while(!key) while(key) inverse(); / 逆时针转动 while(!key) while(key) while(!key) 5.3 程序分析 一、定义步进电机正反转的电机导通步序 uchar come4 =0 x08,0 x04,0 x02,0 x01; uchar back4=0 x01,0 x02,0 x04,0 x08; 二、正转子程序 v

22、oid with(void) uchar i; for(i=0;i4;i+) PORTA=comei; delay(4); 三、反转子程序 void inverse(void) uchar i; for(i=0;i4;i+) PORTA=backi; delay(4); 四、按键控制 - 15 - while(1) while(key) with(); / 顺时针转动 while(!key) while(key) while(!key) while(key) inverse(); / 逆时针转动 while(!key) while(key) while(!key) 五、程序优缺点 这个程序的优点是: 短而精简, 采用一个独立按键控制电机的正转、 反转和 停止,容易操作。 缺点是: 独立按键控制电机正反转时按键按下的速度与间隔要 小一点,不然有可能会无法达到预期的目的。 推测是按键按下之间有干扰, 需要 加入一个消抖程序。这里就不再外加程序。 - 16 - 第六章 总结 这次的课程设计,从开始抽选题目到着手开始设计,再到最后的调试阶段, 遇到了各种各样的问题, 电机的选用、外界控制电路的选择, 以及程序的编写等, 都有着这样活着那样的问题, 而这些问题,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论