基于AVR单片机和LabVIEW的丝杆步进电机运动控制系统

基于AVR单片机和LabVIEW的丝杆步进电机运动控制系统
基于AVR单片机和LabVIEW的丝杆步进电机运动控制系统

基于A VR单片机和LabVIEW的丝杆步进电机运动控制系统

A VR单片机为核心的嵌入式系统,配备专用步进电机驱动器实现对丝杆步进电机运动的控制工作,LabVIEW软件构建虚拟仪器系统并创建友好交互界面。单片机和LabVIEW之间确定串口通信规则,使LabVIEW能够发送相应字符串到单片机从而实现对丝杆步进电机启停、运动方向、运动步数的直接控制,并能够读取电机相关运动状态。文章设计的丝杆电机运动控制系统具有工作稳定,易于操作和可移植性强的特点。

标签:单片机;LabVIEW;步进电机;串口通信

1 概述

丝杆步进电机,又称线性步进电机,由于其特殊的机械机构和工作机理,在日常实验研究及工业生产等相关领域发挥着越来越大的作用。随着技术的不断发展创新,对于丝杆步进电机运动的控制方法已经不仅仅只限于单种技术的使用,而是多技术混合,结合各自的独特优势来实现最优化的系统设计。本系统以A VR 单片机为核心搭建硬件工作电路,LabVIEW软件创建虚拟仪器系统,解决了步进电机工作噪声较大,控制操作不便等问题。

2 系统组成

系统主要由装有LabVIEW软件的计算机,A VR单片机、电机驱动器和丝杆步进电机组成,系统组成框图如图1所示。

其中本系统中选用美国国家仪器(NI)公司研制开发的2014版LabVIEW 软件,LabVIEW是一种图形化的编程语言的开发环境,可以方便地建立自己的虚拟仪器,利用其编写的上位机程序控制下位机;下位机选用ATMEL公司中8位系列单片机的ATmega128系列单片机,该款单片机稳定性极高,功耗也很低,单片机与计算机之间通过USB线连接;电机驱动器选用TB6600型号的两相式步进电机驱动器,可实现正反转控制,通过3位拨码开关选择7档细分控制,3位拨码快关选择8档电流控制,能达到低振动、小噪声、高速度的效果;丝杆步进电机选用机身长度40mm,相电流1.7A,保持转矩43N·cm,导程8mm的42丝杆步进电机。

3 系统功能实现

本系统是一种丝杆步进电机运动控制系统,最终可通过LabVIEW直接发送控制丝杆步进电机启停、运动方向以及运动步数的命令,并能读取电机相关运动状态。要完成上述功能需要单片机硬件控制电机、单片机与LabVIEW串口通信和LabVIEW状态机三个基本功能的实现。

3.1 单片机硬件控制电机

51单片机控制的步进电机C语言程序

我上周刚做的这个实验成功拉,给你参考一下吧这可是我当时辛辛苦苦编出来的啊,不过我用的是L298驱动的和ULN2003一样,你把它换成2003就行拉 #include unsigned char code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf 9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00}; unsigned char temp,temp_old; unsigned char key; unsigned char i,j,k,m,s; void delay(int i) { for(m=i;m>0;m--) for(j=250;j>0;j--) for(k=10;k>0;k--); } void saomiao() { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--)

for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=4; break; } temp=P3;

temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } } } P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp)

基于51单片机的步进电机控制-设计报告(说明书)及源程序

南京XX大学 指导老师:张X 课程设计基于51单片机的步进电机控制 机械电子工程学院 测控技术与仪器 XXXXX Xxx 2012年1年4日

步进电机控制系统 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启 动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算

基于单片机的步进电机控制系统的设计_毕业设计

本科毕业设计 基于单片机的步进电机控制系统的设计

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD显示模块、步进电机驱动模块、位置检测模块共5个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、位置采集模块。 本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使用。关键词:单片机步进电机液晶显示键盘驱动

Design of the Stepping Motor Control System Based on SCM Qiu Haizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China) Abstract:With the development of automatic control system and the requirements of high-precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes, motor driver handler, the display module, position acquisition module. This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance; Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable ; Display the running distance and the actual running distance, which is more convenient for the operator to use. Key words: SCM stepper LCD keyboard driver

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

基于单片机的步进电机控制系统

编号: 综合智能电子 实训 (论文)说明书题目: 院(系):使用科技学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 2010年 1 月 6 日

目录 引言 第1章简介 1.1 步进电机 第2章步进电机原理 2.1 步进电机的工作原理 2.1.1结构及基本原理 2.1.2 电机的步进顺序 第3章系统的硬件设计 3.1 系统设计方案 3.2 主从机硬件部件介绍 3.2.1A T89S51简介 3.2.2 TGI2864E简介 3.2.3MAX485 串行通信 3.2.4TIP122 3.2.5 MOC70T2 3.3 LCD显示电路设计 3.4 电机驱动模块设计 第4章系统的软件实现 4.1 系统软件主流程图 4.2 系统初始化流程图 4.3 部分子程序 第五章总结 致谢 参考文献 摘要:本文使用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的使用实例。

关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真 In this paper, microcontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, the stepper motor control system application examples.

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

基于单片机的步进电机控制器 毕业设计论文

基于单片机的步进电机控制器毕业设计论文 目录 第1章绪论 (3) 1.1引言 (3) 1.2步进电机常见的控制方案与驱动技术简介 (5) 1.2.1常见的步进电机控制方案 (5) 1.2.2步进电机驱动技术 (7) 1.3本文研究的内容 (9) 第2章步进电机概述 (10) 2.1步进电机的分类 (10) 2.2步进电机的工作原理 (11) 2.2.1结构及基本原理 (11) 2.2.2两相电机的步进顺序 (11) 2.3 步进电机的工作特点 (14) 2.4本章小结 (16) 第3章系统的硬件设计 (17) 3.1系统设计方案 (17) 3.1.1系统的方案简述与设计要求 (17) 3.1.2系统的组成及其对应功能简述 (17) 3.2单片机最小系统 (19) 1

3.2.1AT89S51简介 (19) 3.2.2单片机最小系统设计 (24) 3.2.3单片机端口分配及功能 (25) 3.3串口通信模块 (25) 3.4数码管显示电路设计 (26) 3.4.1共阳数码管简介 (26) 3.4.2共阳数码管电路图 (27) 3.5电机驱动模块设计 (28) 3.5.1L298简介 (28) 3.5.2电机驱动电路设计 (29) 3.6驱动电流检测模块设计 (31) 3.6.1OP07芯片简介 (31) 3.6.2ADC0804芯片简介 (33) 3.6.3电流检测模块电路图 (36) 3.7独立按键电路设计 (37) 3.8本章小结 (37) 第4章系统的软件实现 (38) 4.1系统软件主流程图 (38) 4.2系统初始化流程图 (39) 4.3按键子程序 (40) 结论 (44) 2

基于单片机的步进电机驱动控制

基于单片机的步进电机驱动控制 一、步进电机概述 1.步进电机的定义 步进电机指的是以数字脉冲信号作为电机线或教位移的控制信号,并以数字脉冲频率对电机的转速进行控制的动力控制系统。 在负载正常范围的情况下,步进电机的运行状态只和数字脉冲发生器提供的信号的频率和脉冲占空比有关,一般情况下,电机的状态不受负载的影响。电机的运行角度只和每次所给予的脉冲信号强度有关,而电机的运行速度也只和脉冲信号的频率有直接关 系。这种采用弱点控制强电的控制方式使得步进电机在速度、位移等控制领域有着普通电机不能比拟的优势。 2.驱动控制系统框图 步进电机控制系统有着精确控制、运行稳定的特性,这一其他电机不能比拟的优势使得步进电机得到了广泛的应用。而一般对步进电机控制系统的驱动必须要包含脉冲信 号发生部分,功放部分和驱动控制部分等几个模块电路,我们根据这些通过的模块电路,可将步进电机控制系统的通用框图绘制如下: 在上图的步进电机驱动控制系统方框图中,控制步进电机运行状态的脉冲信号一 般由集成芯片产生,可以是单片机、等智能芯片,也可以是一般的数字电路集成芯片。信号分配环节则要根据步进电机的型号来选择,如四相步进电机有四相四拍和四相 八拍种信号分配的方式;两相步进电机有两相四拍和八拍等脉冲加载形式。功放部分 在驱动环节上显得尤为重要。动态平均电流是步进电机转矩大小的决定因素,前提条件 是电机的速度。电机力矩与平均电流成正比,驱动系统对电机的反电势消弱越多,则平 均电流就越大。 我们一般可以用恒压和恒压串电阻的方法来驱动,或者在条件允许的情况下我们可以用高低压驱动、恒流和细分数等方法来驱动实际的应用过程种,多采用数字集成驱 动芯片作为步进电机的驱动手段。 二、现阶段国内外步进电机驱动的常用方式 1.变频器控制方式 使用变频器对步进电机进行驱动控制时,可以很好的解决步进电机在启动和停止时 容易失步的问题,提高了系统的控制精度。但是变频器的应用成本较高,结构和操作也 比较复杂,无形中提高步进电机的控制难度。 2.PLC控制方式 使用ABB、西门子、欧姆龙等国际知名生产制造商研发的系列产品可以 实现对步进电机的理想化控制,但是基于核心的步进电机控制系统成本高昂,且 难以实现精确控制,在本系统中不太适合。 3.单片机控制方式 随着嵌入式系统在工业控制领域中的广泛应用,以单片机特别是系列单片机 作为控制核心的步进电机控制电路在生产生活领域得到了普及,单片机有着大规模数字

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.360docs.net/doc/6d11555885.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

基于51单片机的步进电机控制-

基于51单片机的步进电机控制 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启动、 停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场;

51单片机控制步进电机程序及硬件电路图

#include static unsigned int count; //计数 static int step_index; //步进索引数,值为0-7 static bit turn; //步进电机转动方向 static bit stop_flag; //步进电机停止标志 static int speedlevel; //步进电机转速参数,数值越大速度越慢,最小值为1,速度最快static int spcount; //步进电机转速参数计数 void delay(unsigned int endcount); //延时函数,延时为endcount*0.5毫秒 void gorun(); //步进电机控制步进函数 void main(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0; P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0; EA = 1; //允许CPU中断 TMOD = 0x11; //设定时器0和1为16位模式1 ET0 = 1; //定时器0中断允许 TH0 = 0xFE;

TL0 = 0x0C; //设定时每隔0.5ms中断一次TR0 = 1; //开始计数 turn = 0; speedlevel = 2; delay(10000); speedlevel = 1; do{ speedlevel = 2; delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0; }while(1); } //定时器0中断处理 void timeint(void) interrupt 1 { TH0=0xFE; TL0=0x0C; //设定时每隔0.5ms中断一次count++; spcount--; if(spcount<=0) { spcount = speedlevel; gorun(); } } void delay(unsigned int endcount) { count=0; do{}while(count

单片机课程设计-单片机控制步进电机

课程设计报告 题目单片机控制步进电机 课程名称单片机原理及接口技术 院部名称 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 课程设计学时 指导教师高峰 金陵科技学院教务处制 【注:根据课程设计大纲第四项具体要求撰写课程设计报告】

目录 1设计任务和要求 (3) 2设计思路 (4) 3系统硬件设计 (5) 3.1 硬件电路的工作原理 (5) 3.2步进电机模块 (5) 3.3控制模块 (6) 3.4主要元件介绍: (6) 4软件编程 (11) 5 调试过程与结果 (20) 5.1正转结果显示: (20) 5.1.1正转加速: (21) 5.1.2正转减速: (21) 6 总结与体会 (24) 7 参考资料 (26) 8 附录 (26)

1设计任务和要求 单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系统设计并最终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。最终形成一篇符合规范的设计说明书,并参加综合实践答辩,为后期的毕业设计做好准备。 本次设计考核的能力主要有: 1)专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电 气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅 助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、组态技术、现场总线技术、伺服电机等课程。 2)项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT汇报与 口头表达能力。 3)电气与自动化系统的设计与实际应用能力。 要求完成的工作量包括: 1)现场仿真演示效果。 2)学生结合课题进行PPT演讲与答辩。 3)学生上交课题要求的各类设计技术文档。

基于单片机AT89C52的步进电机的控制器设计

2012届毕业生毕业设计说明书 题目:基于单片机的步进电机的控制器设计 院系名称:信息科学与工程学院 专业班级:电子信息科学与技术 学生姓名:学号: 指导教师:教师职称: 2012年月日

毕业设计中文摘要 摘要 步进电机控制方式的实现有多种,可以采用电子电路控制,PLC控制和单片机控制的方式。近些年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测的更新,用单片机控制步进电机显得更加灵活和方便。本设计是用AT89C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C语言编程设计来进行步进电机的控制。通过人手动按开关实现步进电机的启动与停止。此外此系统还添加了步进电机的正转反转,加速及减速,屏幕显示功能。同时本文也通过了proteus软件的仿真,在仿真结果过能看出近似真实的效果。 关键词:步进电机单片机控制 AT89C52 proteus仿真

毕业设计外文摘要 Title The design of the control system of Step—motor Abstract Stepper motor control can be achieved in different ways, can be used early analog circuits, digital circuits or a combination of analog and digital circuit means. With the rapid development of science and technology in recent years, the application of SCM is a growing, while traditional control test drive rapid updates. This paper describes a core component of the AT89C52, as the signal generated by logic control and microcontroller technology and assembly language programming designed stepper motor control system, Start and stop of the stepping motor to handle the switch manually by people. In addition, this system also adds a stepper motor forward reverse, acceleration and deceleration, the screen display. Meanwhile, through software simulation in proteus, too can be seen that the approximation of the true effect of the simulation results. Keywords stepper motor microcontroller AT89C52 proteus simulation

51单片机驱动步进电机的方法(详解)

51单片机驱动步进电机的方法2019.02 这款步进电机的驱动电压12V,步进角为7.5度. 一圈360 度, 需要48 个脉冲完成!!! 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。 采用51驱动ULN2003的方法进行驱动。 ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。 ;****************************************************************************** ;*************************步进电机的驱动*************************************** ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19

;--------------------------------------------------------------------------------- ; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!! ; 本步进电机步进角为7.5度. 一圈360 度, 需要48 个脉冲完成!!! ;--------------------------------------------------------------------------------- ; A组线圈对应P2.4 ; B组线圈对应P2.5 ; C组线圈对应P2.6 ; D组线圈对应P2.7 ; 正转次序: AB组--BC组--CD组--DA组(即一个脉冲,正转7.5 度) ;---------------------------------------------------------------------------------- ;----------------------------正转-------------------------- ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R3,#144 正转3 圈共144 脉冲 START: MOV R0,#00H START1: MOV P2,#00H MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START 对A 的判断,当A = 0 时则转到START MOV P2,A LCALL DELAY INC R0 DJNZ R3,START1 MOV P2,#00H LCALL DELAY1 ;-----------------------------反转------------------------ MOV R3,#144 反转一圈共144 个脉冲 START2: MOV P2,#00H

单片机驱动步进电机程序代码

单片机驱动步进电机程序 代码 This manuscript was revised by the office on December 10, 2020.

/******************************************************** 实现功能:正转程序 使用芯片:AT89S52 晶振:11.0592MHZ 编译环境:Keil 作者: 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! ********************************************************/ #include //库文件 #define uchar unsigned char //字符型宏定义 #define uint unsigned int //整型宏定义 uchar tcnt; //定时器计数初值定义 uint sec; //速度值定义 uchar buf[11]; uchar bai,shi,ge; /********************控制位定义*************************/ sbit shi_neng=P1^0; // 使能控制位 sbit fang_shi=P1^1; // 工作方式控制位 sbit fang_xiang=P1^2;// 旋转方向控制位 sbit mai_chong=P1^3; // 脉冲控制位 /********************延时函数***************************/ void delay1ms(uchar z) { uchar x,y; for(x=0;x

相关文档
最新文档