08通信何琛毕业论文.doc
《08通信何琛毕业论文.doc》由会员分享,可在线阅读,更多相关《08通信何琛毕业论文.doc(25页珍藏版)》请在三一办公上搜索。
1、科技学院2011届本科毕业论文基于Arduino的步进电机的控制设计专 业: 通 信 工 程 指导教师: 周 骅 学生姓名: 何 琛 学生学号: 082004110499 中国贵州贵阳2012年5月目录摘要IIIAbstractIV第一章 绪论11.1设计背景及意义11.2 现状和发展趋势21.3 设计内容及目标2第二章 采用技术简介32.1 Arduino概述32.1.1 Arduino的特色32.1.2 Arduino语言基本结构42.1.3 开发一个项目的基本流程42.2 Arduino Duemilanove简介52.3 EasyDriver简介62.4 步进电机简介72.5 步进电机
2、的工作原理82.5.1.电机固有步距角82.5.2步进电机的相数82.5.3 保持转矩(HOLDING TORQUE)82.5.4 DETENT TORQUE:9第三章 控制步进电机设计103.1 方案论证103.2 系统总体结构103.3 系统设计使用芯片123.4 系统工作原理133.5 步进电机控制程序133.6 系统设计实体图163.7 实验问题及解决16第四章 总结与展望184.1 总结184.2 展望18参考文献19致谢20基于Arduino的步进电机控制系统摘要近年来随着科学技术的不断提高,arduino的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。随着国民经济的快
3、速发展,有很多平台可以控制步进电机,目前的步进电机控系统大多采用PLC控制器或8051单片机来控制。PLC控制器是一款可编程逻辑控制器,它工作环境要求低,操作简单,稳定性也比较好,但是它的成本很高。而8051单片机虽然成本较低,灵活性很好,但是8051单片机的工作环境要求较高,操作起来也复杂得多。在本设计介绍了Arduino控制步进电机的系统。在科技高速发展的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。步进电机是机电控制中常用的一种执行机构,其原理是通过对它的每相线圈中的电流和顺序切换来使步进电机转动。本系统的硬件组成主要有:Arduino Duemilanove微控制器板、Ea
4、syDriver驱动、12V直流电源和电脑。本设计用EasyDriver驱动与Arduino Duemilanove微控制器板、12V直流外接电源连接,并用Arduino Duemilanove微控制器板与电脑连接,用程序控制步进电机实现转向、转速等控制。本设计具有结构简单、可靠性强、操作简单、程序设计简便和实用性强等特点,具有较高的通用性和应用推广价值。关键词:Arduino; EasyDriver;步进电机Based on the Arduino stepping motor control systemAbstractIn recent years, with the science a
5、nd technology unceasing enhancement, the application of the arduino is continuously to the deepening, and push the traditional control test rapidly updated. Along with the rapid economic development, there are many platform can control the stepping motor, the current step electric system equipped mo
6、st PLC controller is used to control or the single chip microcomputer 8051. PLC controller is a programmable logic controller, it working environment low demand, simple operation, and stability are relatively good, but its very expensive. And the single chip microcomputer 8051 although cost is low,
7、flexibility is good, but the single chip microcomputer 8051 work environment of the demand is higher, operate up also is much more complicated.In this design introduced the Arduino control the step motor system. The high speed of development in science and technology today, motor has been the modern
8、ization of production and life plays a very important role. Stepping motor is mechanical and electrical control of a common actuators, its principle is to it through of each phase is the current coil switch and order to make stepping motor rotation. This system hardware mainly has: Arduino Duemilano
9、ve micro controller board, EasyDriver drive, 12 V dc power and computer. This design with EasyDriver drive and Arduino Duemilanove micro controller board, 12 V dc external power supply connection, and Arduino Duemilanove micro controller board connected with the computer, with process control steppi
10、ng motor rotation speed control to realize,. This design is simple in structure, reliability, simple operation, convenient and practical program design characteristics, it is of high popularization value universality and application.Keywords: Arduino; EasyDriver; Stepping motor第一章 绪论1.1设计背景及意义在科技飞速发
11、展的今天,出现了各种嵌入式硬件平台,而Arduino是一款相对价格不高、易于使用的嵌入式硬件平台。Arduino是一块基于开放源代码的USB接口Simple i/o接口板,包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道,并且具有使用类似Java,C语言的IDE集成开发环境。包括硬件和软件在内的整个平台是完全开源的,并且使用的是松散地基于C/C+的语言。Arduino是为希望尝试创建交互式物理对象的实践者、喜欢创造发明的人构建的。Arduino可以作为一块Atmegaxx8系列单片机开发板使用,可以连接多种电子元件外设,其中就有步进电机。步进电机是一种将电脉冲信
12、号转换成相应的角位移或线位移的电磁机械装置,是一种输出与输入数字脉冲对应的增量驱动元件,具有快速启动和停止的能力。当负荷不超过步进电机所提供的动态转矩值时,它就可能在一瞬间实现启动和停止。它的步矩角和转速不受电压波动和负载变化的影响,也不受环境条件(如温度、气压、冲击和振动等)的影响,仅与脉冲频率有关。它每转1 周步数都事固定的,在不丢步的情况下运行,它的步距误差不会长期积累。正是因为步进电机具备上述优点,它已经被广泛地用于自动控制系统中作为执行元件。随着科学技术的不断提高,有很多平台可以控制步进电机,目前的步进电机控系统大多采用PLC控制器或8051单片机来控制。PLC控制器是一款可编程逻辑
13、控制器,它工作环境要求低,操作简单,稳定性也比较好,但是它的成本很高。而8051单片机虽然成本较低,灵活性很好,但是8051单片机的工作环境要求较高,操作起来也复杂得多。而Arduino的开发板不仅成本较低,而且灵活性很好,同时它操作也很简单,因为它有一个简单的开发环境,底层的函数不用自己写,已经有集成的函数可以直接调用。因此开发和研制利用arduino的开发板来控制步进电机的控制系统是十分必要的。本文是以Arduino作为主系统控制步进电机转的圈数以及控制电机的启动和停止、正反转。 1.2 现状和发展趋势在科技飞速发展的今天,出现了各种嵌入式硬件平台,而Arduino是一款相对价格不高、易于
14、使用的嵌入式硬件平台。Arduino是一块基于开放源代码的USB接口Simple i/o接口板,包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道,并且具有使用类似Java,C语言的IDE集成开发环境。包括硬件和软件在内的整个平台是完全开源的,并且使用的是松散地基于C/C+的语言。Arduino是为希望尝试创建交互式物理对象的实践者、喜欢创造发明的人构建的。Arduino可以作为一块Atmegaxx8系列单片机开发板使用,可以连接多种电子元件外设,其中就有步进电机。步进电机是一种将电脉冲信号转换成相应的角位移或线位移的电磁机械装置,是一种输出与输入数字脉冲对应的增
15、量驱动元件,具有快速启动和停止的能力。当负荷不超过步进电机所提供的动态转矩值时,它就可能在一瞬间实现启动和停止。它的步矩角和转速不受电压波动和负载变化的影响,也不受环境条件(如温度、气压、冲击和振动等)的影响,仅与脉冲频率有关。它每转1 周步数都事固定的,在不丢步的情况下运行,它的步距误差不会长期积累。正是因为步进电机具备上述优点,它已经被广泛地用于自动控制系统中作为执行元件。1.3 设计内容及目标本设计是以Arduino作为主系统控制步进电机转的圈数以及控制电机的启动和停止、正反转。使得系统达到对步进电机的启动、停止、正转、反转和运行距离的控制。随着科学技术的不断提高,目前有很多平台可以作为
16、驱动控制步进电机,目前的步进电机控制系统大多采用PLC控制器或8051单片机来控制。PLC控制器是一款可编程逻辑控制器,它工作环境要求低,操作简单,稳定性也比较好,但是它的成本很高。而8051单片机虽然成本较低,灵活性很好,但是8051单片机的工作环境要求较高,操作起来也复杂得多。而Arduino的开发板不仅成本较低,而且灵活性很好,同时它操作也很简单,可以说它是集8051单片机和plc控制器的优点于一身的开发平台。它有一个简单的开发环境,底层的函数不用自己写,已经有集成的函数可以直接调用。因此开发和研制利用arduino的开发板来控制步进电机的控制系统是十分必要的。第二章 采用技术简介2.1
17、 Arduino概述“Arduino”源自11世纪北意大利国王的名字。这个开发项目最早是由Massimo Banzi、Daviod Cuartielles、David Mellis和 Nichoals Zambetti等人发起,目前已经有许多不同版本。Arduino是一块基与开放原始代码的Simple i/o 平台,它具有使用类似java,C 语言的语言开发环境。可以使用Arduino语言与Flash或Processing等软件,作出互动作品。Arduino 能够使用开发完成的电子元件例如Switch或Sensors 或其他控制器、步进电机、LED、红外传感器或其他输出裝置。不仅如此,Ardu
18、ino还能够独立运作成为一个可以跟软件沟通的平台,例如说:flash、processing、Max/MSP、VVVV 或其他互动软件Arduino所有的软件与硬件资源都可以在网络上找到,而且它基于开放源码的概念,让我们可以以Arduino为基础,扩展各种硬件。Arduino的结构如图2.1所示。图2.1 Arduino结构图2.1.1 Arduino的特色1、开放源代码的电路图设计,程序开发接口和编程软件免费下载,也可依照自己的需求进行修改。2、使用低价格的微处理控制器(ATmega128或ATMEGA8)。不需使用外接电源,可以直接采用USB接口供电。当然也可以使用外部9VDC输入。3、Ar
19、duino支持ISP在线烧板,可以将新的“bootloader”烧入ATmega8或ATmega128芯片。有了bootloader之后,可以通过USB线更新固件。4、可依据官方网站提供的Eagle格式PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制。可简单地与传感器或各式各样的电子元件连接(例如:红外线、蓝牙、超音波、光敏电阻、热敏电阻、步进电机、伺服马达等)。5、支持多种互动程序,如:Flash、PD、Max/Msp、Processing、VVVV、C/C+等。6、应用方面,利用Arduino可以突破以往只能使用键盘、鼠标、CCD等输入的装置的互动内容,能够更简单地达
20、成单人或多人游戏互动。2.1.2 Arduino语言基本结构Arduino语言是建立在C/C+基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些寄存器参数设置等都函数化了,不用我们去了解它的底层,可以直接调用。 Arduino中最基本的两个结构:void setup()和void loop()。void setup()用以初始化变量,引脚模式,调用库函数等。在运行过程中仅调用一次,即在最开始的开启阶段或者在重启阶段被调用。void loop()用于在setup被创建之后,连续执行该函数内的语句。即写在loop函数中的元素会被重复性的执行,以实现程序的
21、状态改变与回应,从而动态的控制Arduino板。2.1.3 Arduino的基本参数1.微控制器核心:AVRmega168-20PU(处理速度可20MIPS)2.外部输入电压:7V12V(建议)3.工作电压:+5V4.外部输入电压(极值):+6VVin20V5.数字信号 I/O 接口:14个(其中有6个PWM输出口)6.模拟信号输入接口:6个7.DC I/O 接口电流:40 mA8.Flash 容量:16 KB (其他 2K 用bootloader)9.SRAM 静态存储容量:1KB10.EEPROM 存储容量:512 bytes11.时钟频率:16MHz2.1.4 Arduino开发环境的安
22、装于使用1.准备 Arduion 板和 USB 线2.下载软件环境下载完毕后,解压缩.3. USB 线将电脑和 Arduino 板连接起来.可以发现绿灯闪烁4. 安装驱动程序(1)进入新的硬件向导;(2)选择“是”,点击下一步;(3)选择“从列表或指定位置安装”,点击下一步;(4)选择“在这些位置上搜索最佳驱动程序”“在搜索中包括这个位置”指定目录:刚解压缩软件目录下的driversFTDI USB Drivers(比如:D:arduinoarduino-0021 driversFTDI USB Drivers),点击下一步;(5)点击“完成”;5.直接双击编译软件Arduino;6.选择“F
23、ileExamples任意一个”7.选择“ToolsBoard对应的Arduino板”8.选择“ToolsSerial Port对应的端口”9.选择“Verify”,软件自动查错10.对程序中的错误进行修改11.循环执行910,直到显示无错误12.选择“Upioad”,软件将程序烧入Arduino板中自动运行2.2 Arduino Duemilanove简介Arduino Duemilanove是基于ATmega168 ( datasheet ) 或 ATmega328 ( datasheet )上的一个微控制器板。它有14个数字输入/输出引脚(其中有6个引脚用于PWM输出),6个模拟输入、1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 通信 毕业论文

链接地址:https://www.31ppt.com/p-4194639.html