基于串口通信的步进电机调速系统设计-精品
串口电机的单片机调速程序
串口电机的单片机调速程序串口电机是一种常见的电机类型,具有快速反应、单向转动、精度高等特点,因此被广泛应用于自动化控制、机器人控制等领域。
在实际应用中,需要通过单片机对串口电机进行调速,实现更加精准的控制。
本文将介绍串口电机的单片机调速程序,希望对广大读者有所启发和帮助。
一、串口电机的工作原理串口电机的基本工作原理是通过串口通信方式传递指令来控制电机的转速和方向。
具体来说,电机的速度和方向由输入的指令决定,指令中包含有具体的速度和方向信息,通过串口通信传递给电机控制器进行处理,最终控制电机的转速和方向。
二、单片机调速程序的设计流程1.硬件连接首先需要将单片机与串口电机连接,具体连接方式根据电机型号和单片机型号不同而异,一般需要连接引脚和电源等。
连接完成后,需要在单片机上配置串口通信参数,包括波特率、数据位、停止位等。
2.初始化程序初始化程序是单片机控制串口电机的第一步,需要设置串口通信模块,包括波特率、数据位、停止位,同时还需要设置单片机的输出口,将其设置为控制电机的输出口。
初始化程序的主要作用是将单片机和串口电机之间的通信配置好,为后续的操作打下基础。
3.读取输入指令在此步骤中,单片机需要接收外部传来的指令,并进行解析和处理。
一般情况下,指令包括控制电机转速和方向的信息,需要进行提取和分离。
在读取指令的同时,需要判断指令是否有效,否则不进行下一步处理。
4.转速控制功能实现转速控制功能是单片机调速程序的核心功能,需要根据外部输入的指令,控制电机的转速。
一般情况下,转速控制函数包括速度模式、位置模式、加速度和减速度控制等多种模式,根据具体需求选择不同的模式。
5.调试程序完成程序的编写后,需要进行测试和调试,确认程序能够实现预期的控制效果。
在调试过程中,需要注意单片机和串口电机之间的通信是否正常,指令是否能够正确解析和控制电机的转速和方向等问题。
三、总结本文介绍了串口电机的单片机调速程序的设计流程,涵盖了硬件连接、初始化程序、读取输入指令、转速控制功能实现和调试程序等多个方面。
基于单片机控制的步进电机调速系统的设计
前言步进电机最早是在1920年由英国人所开发。
1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。
以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。
在生产过程中要求自动化、省人力、效率高的机器中。
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。
步进电机可以直接用数字信号驱动,使用非常方便。
一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。
步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。
在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。
因此非常适合于单片机控制。
步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。
步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。
传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
第一张步进电机概述1.1步进电机的特点一般步进电机的特点有以下三个特点:(1)一般步进电机的精度为步进角的3-5%,且不累积。
(2)步进电机的力矩会随转速的升高而下降。
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。
在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。
串口控制步进机
串口控制步进电机方向和转速一、项目目标:单片机1 单片机2发送机不断扫描独立按键,当判断到某键按下,通过串口发送控制代码给接收机,接收机收到信号,判断相应的代码,并执行相应的动作(正转,反转,加速,停止),同时显示步进机的延时速度。
二、硬件设计1键盘模块设计步进电机控制系统具有正转、反转、加速和停止4个功能,采用独立键盘使得程序简单,电路易实现。
这4个按键分别接到P2口的P2.0,P2.1,P2.2和P2.3引脚,为正转按键,反转按键,加速按键,和停止按键。
如下图所示。
2步进电机驱动模块设计由于步进电机的功率较大,步进电机驱动电路设计采用高电压、大电流的ULN2003A.芯片,P1口的P1.0、P1.1、P1.2和P1.3四个引脚通过步进电机驱动电路分别接在步进电机的A、B、C、D。
如下图所示。
8显示模块设计显示模块采用7段共阳数码管显示,数码管的段选依次为P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7,同时P0口需安装上拉电阻。
数码管的位选依次为P2口的P2.4、P2.5、P2.6、P2.7。
如下图所示。
电路图:三、程序设计单片机1 单片机2C语言程序:(1)发送机程序:#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit key0=P2^0;sbit key1=P2^1;sbit key2=P2^2;sbit key3=P2^3;//独立按键定义void delay()//消抖子程序{uchar a;for(a=0;a<200;a++);}void trans()//代码发送子程序{key0=1;if(key0==0);delay();if(key0==0) { SBUF=0x00;while(!TI);TI=0;}while(!key0);key1=1;if(key1==0);delay();if(key1==0) {SBUF=0xff;while(!TI);TI=0;}while(!key1);key2=1;if(key2==0);delay();if(key2==0) {SBUF=0xfe;while(!TI);TI=0;}while(!key2);key3=1;if(key3==0);delay();if(key3==0) { SBUF=0xfd;while(!TI);TI=0;}while(!key3);}void main(){TMOD=0x20;//选择工作方式为T1:工作方式2 自动重装初值8位计数器TH1=0xE7;TL1=0xE7;//设置波特率为625bpsTR1=1;//开T1中断IE=0X90;//开串口中断,开总中断IP=0X02;//设置串口中断为高优先级0x10//设置T0中断为高优先级0X02SCON=0X40;//设置串口为方式1,不允许串口接收while(1){trans();}}(2)接收机程序#include<reg52.h>//头文件unsigned char step[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//步进机工作方式为四相八拍unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xa4,0x8e,0xbf};//0-9加Z,F,----显示void delay()//延时子程序{unsigned char i,o;for(o=0;o<20;o++)for(i=0;i<200;i++);}void delayc()//长延时{unsigned char i,o;for(o=0;o<250;o++)for(i=0;i<250;i++);}unsigned char k,zhi,getzhi;unsigned int temp,aa,l; //定义变量void xianshi();void main(){TMOD=0X20; //工作方式2TH1=0XE7;TL1=0XE7; //设置波特率为625bpsTR1=1; //开T1中断IE=0X90;//开总中断,开串口SCON=0X50;//设置串口工作方式1 ,允许串口接收temp=300;//设置初始变量while(1){aa=temp;if(zhi==1){for(k=0;k<8;k++){P1=step[k];for(l=0;l<aa;l++);}}//当接收到0x00时执行正转if(zhi==3){for(k=0;k<8;k++){P1=step[8-k];for(l=0;l<aa;l++);}}//当接收到0xff时执行反转if(zhi==5){P1=0XFF;}//停止延时时间根据接收到0xfe的次数每次加20;满3000,清零xianshi();//显示}}void xianshi()//显示子程序{P2=0X80;P0=table[temp%10];//个位delay();P2=0X40;P0=table[temp/10%10];//十位delay();P2=0X20;P0=table[temp/100%10];//百位delay();P2=0X10;P0=table[temp/1000];//千位delay();}void recevied() interrupt 4 //接收程序{if(RI==1){RI=0;getzhi=SBUF;if(getzhi==0x00){P0=table[10];P2=0x8f;delayc();zhi=1;}//接收到0x00数码管显示Z,赋值执行正转if(getzhi==0xff){P0=table[11];P2=0x8f;delayc();zhi=3;}//接收到0xff数码管显示F,赋值执行反转if(getzhi==0xfe){temp=temp+30;if(temp==3000){temp=0;}}//接收到0xfe,每接收到一次,延时加30,加到3000重新赋值if(getzhi==0xfd){P0=table[12];P2=0xff;delayc();zhi=5;}//接收到0xfd数码管显示----,赋值执行停止}}四、调试1、按设计的电路图接线,启动KEIL3分别建立两个工程项目,把相应程序拷贝进去,设置好参数,编译。
串口通信控制电机方法
串口通信控制电机方法串口通信控制电机通常涉及将控制命令通过串口发送到与电机控制相关的设备,这可能是一个微控制器、单片机或专用的电机控制器。
以下是一般的步骤和考虑事项:1. 选择串口通信协议:定义好串口通信的协议,包括数据帧格式、命令结构、起始和停止位等。
常见的串口通信协议包括UART,RS-232,RS-485等。
确保发送和接收端都按照相同的协议进行配置。
2. 编写控制程序:在电机控制设备上编写一个程序,该程序能够接收串口数据并解析控制命令。
这可能需要使用编程语言(例如C、C++、Python等),具体取决于你的控制设备。
3. 定义控制命令:定义一套控制命令,这些命令将触发电机的不同操作,例如启动、停止、改变速度或方向等。
确保这些命令在协议中有清晰的表示,并且控制设备能够正确地解释它们。
4. 串口通信设置:在控制设备和电机之间设置串口通信。
这可能包括波特率、数据位、停止位等参数的配置。
确保这些设置在发送和接收端是一致的。
5. 实现控制逻辑:在控制程序中实现电机的控制逻辑。
这可能包括使用PWM信号来调整电机的速度,控制电机的方向,处理启动和停止命令等。
6. 错误处理:考虑在串口通信中的错误处理机制。
例如,校验和检查、超时处理等。
这可以提高系统的稳定性和容错性。
7. 测试和调试:在实际的硬件上进行测试,并进行调试。
确保串口通信稳定,控制命令被正确解释,电机能够按预期进行操作。
请注意,具体的实现可能会因电机类型、控制器型号、编程语言和硬件平台而异。
在实际的项目中,你可能还需要查阅电机和控制器的技术文档以获取更详细的信息。
步进电机速度控制系统设计
目录1 总体方案的确定 (1)1.1 对步进电机的分析 (1)1.2 电机的控制方案 (2)1.3 控制算法的方案 (3)1.4 串口通讯的模拟 (3)2 硬件的设计与实现 (4)2.1 微处理器的选择 (4)2.2 控制电路的实现 (4)2.3 键盘和显示电路 (6)3 软件的设计与实现 (7)3.1 控制信号输入程序 (7)3.2 步进电机控制程序设计 (8)3.3 程序分析及说明 (10)4 系统的仿真与调试 (11)4.1 程序的调试 (11)4.2 串口通信的调试 (11)4.3 调试结果及分析 (12)5 设计总结 (13)参考文献 (14)附录 (15)步进电机速度控制系统设计1 总体方案的确定系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU的逻辑计算输出控制信息,让步进电机按要求转动。
由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。
此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。
1.1 对步进电机的分析步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。
在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。
步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。
很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。
因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。
步进电机的工作就是步进转动。
在一般的步进电机工作中,其电源都是采用单极性的直流电源。
要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。
通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。
基才串口通信的直流电机PID调速系统设计
cnrleua o WM s nlsr l ota dteu pr ahn o u i t nt aheeteoj t edt n yi T e o t glt nP i a,e a p r aaaa s . or i g i s h m ao o v h cv l sh
( 南 科技 大 学 信 息 工程 学 院 ,四 川 绵 阳 6 10 ) 西 2 0 0 摘 要 : 了 实现 对 直 流 电机 快 速 、 为 准确 调 速 的要 求 , 出 了一 种 基 于 串 口通 信 的 直 流 电机 PD 调 速 系统 设 计 方 案 。 提 I 并
实现 系统 的 软 硬件 设 计 。采 用按 键 、 L D 显 示屏 等 人 机 交互 工具 进 行 参 数 设 置 及 显 示 . 过 PD控 制 器 闭环 反 馈 控 OE 通 I
(n r ai n i e oe e Suh et n esyo c n eadTc nl y, a y g6 10 , h a I om t nE gn r lg , o t s U i ri f o e C l w v t fS i c n eh o g Mi a 2 0 0 C i ) e o n n n
第2 O卷 第 1 9期
V0 . 0 1 2
No 1 .9
电子设 计工 程
E e to i e i n En i e r g l cr n c D sg gn e i n
21 0 2年 l 0月
0c . t 201 2
基于串口通信的直流电机 P D调速 系统设计 I
曾伟钦 ,徐 东升 ,冉 志勇
制调 节 P WM 信 号 , 口与 上 位 机 通 信 实现 对 数 据 的 客观 分 析 。测 试 结 果 表 明 , 系统 具 有 运 行 稳 定 、 速 准 确 、 应 串 该 调 响 时间 短 等 特 点 . 到 了 系统 设 计 要 求 。 达
一种基于步进电机调速系统的设计
一种基于步进电机调速系统的设计【摘要】设计一种以单片机为控制器的步进电机调速系统,具有速度测量和控制功能,能够显示和设定电机转速。
采用C语言编程,利用控制理论知识,设计软件控制算法,实现了电机调速的稳定工作。
【关键词】步进电机;调速;算法1.引言步进电机是将电脉冲信号转变为角位移或线位移的控制驱动装置,能够快速启停、精确步进,是自动控制系统中主要控制器件之一。
其工作特点是通过输入脉冲信号来进行控制,电机的转速只受脉冲信号作用,不受负载变化的影响,所以通过控制脉冲的频率,可以方便地控制电机的速度和加速度,实现调速的目的。
随着信息技术的发展,许多先进的理论得到推广和应用,步进电机通过细分驱动技术,可以减小转动的步距角,提高运行的稳定性,降低噪声,显著改善动态性能。
在控制系统对电机工作的应用特性要求越来越高的形势下,步进电机以其过载性好、控制方便、可靠性高的优点,将得到更广泛的应用。
掌握更多的步进电机控制技术,对运动控制系统的设计有着非常重要的意义。
2.系统设计方案系统设计以STC89C52RC单片机为控制器,通过I/O接口输出控制信号,利用驱动器L298N产生控制脉冲,实现对电机工作的控制。
利用按键输入设定电机转速,通过单片机定时器对控制脉冲计数计时,测定电机转速,并通过LCD12232液晶实时显示。
系统的调速根据控制理论知识设计控制方法,通过编程语言实现,在设定速度改变后,控制器按照控制算法,输出相应的控制信号,使电机转速迅速达到设定值,实现自动控制快速、精确、稳定的要求。
主要电路有单片机控制电路、电机驱动电路、按键输入电路和液晶显示电路。
系统整体方框图如图1所示:图1 系统整体方框图3.电机转速的检测步进电机的工作是随着控制脉冲的输入,按照相应的步距角转动。
以四相八拍式步进电机为例,电机的正常工作是按照四个相序,以八个节拍的控制脉冲为一个循环。
步距角为0.9o,则一个脉冲循环过程转过的角度为,使步进电机转过一圈的脉冲循环次数,所以对步进电机转速的测量可以对控制脉冲计数,通过单片机定时器计时,测定转动一圈脉冲数量的时间,转换为相应时间转动圈数。
基于单片机控制的步进电机调速系统的设计
基于单片机控制的步进电机调速系统的设计步进电机是一种常用的电机类型,它通常用来实现精确定位和控制运动。
步进电机的控制需要一个精确的调速系统来确保稳定的运行和准确的位置控制。
本文将基于单片机控制的步进电机调速系统进行设计。
首先,我们需要选择合适的硬件以及编程平台。
本设计选择使用Arduino Uno作为单片机控制器,它具有易用性和强大的控制功能。
步进电机选择了NEMA 17型号,它具有较高的分辨率和扭矩输出。
接下来,进行电路设计与连接。
将步进电机的四个线圈连接到单片机的GPIO引脚上,并使用电流驱动模块控制电机的供电。
通过连接外部电源,电流驱动器将为步进电机提供稳定的电流,以确保电机能够正常工作。
在编程方面,首先需要编写初始化代码,配置单片机的GPIO引脚以及串口通信功能。
然后,可以使用Arduino提供的步进电机库来控制电机的旋转。
该库提供了简单的命令来控制步进电机的转动方向和转速。
为了设计调速系统,我们可以使用一个旋转编码器来实时监测电机的转速。
旋转编码器将会测量电机的转动次数,从而计算出电机的转速。
在单片机的程序中,我们可以设置一个目标转速,并根据旋转编码器的数据来调整电机的驱动频率。
为了实现平滑的调速过程,我们可以使用PID控制算法来调整电机的驱动频率。
PID控制算法是一种经典的反馈控制算法,它可以根据目标值和实际值之间的差异来调整控制信号。
通过不断地比较电机的实际速度与目标速度,PID控制算法可以动态地调整电机的驱动频率,以达到稳定的调速效果。
最后,我们可以设计一个用户界面来设置目标速度和监控电机的运行状态。
通过串口通信功能,单片机可以与上位机进行数据交互,用户可以通过上位机发送指令来设置目标速度,并且可以实时监测电机的转速和运行状态。
总结起来,基于单片机控制的步进电机调速系统设计需要进行硬件选择与连接、软件编程以及用户界面设计。
通过合理地选择硬件和软件方案,以及使用PID控制算法,我们可以实现一个稳定且准确的步进电机调速系统。
单片机串口通信控制步进电机
单片机串口通信控制步进电机这是一个来自单片机开发板的源程序,原理图的下载地址:51hei/f/ks51.pdf下面是源代码:/*************************************************************************************************** * @file main.c * @author xr * @date 2014 年3月18 日20:00:03 * @note 步进电机的参数:减速比:1:64 步进角:5.625/64启动频率:>=550 启动时间最小:1.08ms * @brief 串口通信控制步进电机单片机STC89C52RC MCU 晶振11.0592MHZ************************************************************************************************* */#includetypedef unsigned int uint;typedef unsigned char uchar;typedef unsigned long ulong; //步进电机八拍模式相值编码A-AB-B-BC-C-CD-D-DAuchar code table[] ={0xE, 0xC, 0xD, 0x9, 0xB, 0x3, 0x7, 0x6};uint tmp = 0;bit dir = 0;ulong beats = 0;//拍数uchar angle = 0;//圈数void timer0_Config();void motor_Config(ulong angle);void Uart_Config(uint baud);void main(){timer0_Config();//启动时间设定为2msUart_Config(9600);while (1) {switch (angle){case 2:{motor_Config(2*360);angle = 0;break;}case 3:{motor_Config(3*360);angle = 0;break;}case 4:{motor_Config(4*360);angle = 0;break;}case 5:{motor_Config(5*360);angle = 0;break;}case 6:{motor_Config(6*360);angle = 0;break;}case 7:{motor_Config(7*360);angle = 0;break;}case 8:{motor_Config(8*360);angle = 0;break;}case 9:{P1 |= 0x0F;beats = 0;angle = 0;break;}default:break;}}}tips:感谢大家的阅读,本文由我司收集整编。
基于单片机的电机交流调速系统设计
山东协和学院工学院,山东济南 2501091总体设计方案1.1 研究思路与研究内容以STM32F103C8T6为处理器完成逆变过程的计算与控制及其对脉冲芯片的输出,驱动芯片采用IR2104驱动,逆变部分采用6路MOS管组成的三相全桥逆变电路。
通过STM32中PWM模式调用定时器使其按照正弦规律变化改变占空比输出SPWM波形,通过驱动三路IR2104驱动芯片去驱动6路MOS管组成的三相全桥逆变电路,再通过三路LC低通滤波器将开关高频信号滤除,输出低频信号,可以通过改变输出的正弦波频率完成对电机的预期速度的控制,使得电机转速以期望值输出。
1.2. 变频调速方法与改变极对数进行调速的方法相比较,另一种方法为去改变电机输入的电源频率对电机进行调速。
此种方法的原理为:改变输入频率f,当频率f越高时候电机转速越快,通常有两种变频的方式分别为:交直交变频和交交变频两种方式。
这种调速方法与之前的改变极对数进行调速的方法相比较具有可行性高的优点,因为输入电源的频率可以通过逆变器进行调节,调节之后达到人们所预设的效果之后,再作为输入将其输入进电机,可以控制电机输入的电源频率,从而完成输入电源频率的可控。
通过控制其频率的输入电机的转速同时可以被控制,而与其相比改变电机的极对数就显得相当的困难,由于电机在出厂时候极对数已经确认难以去人工改变,所以这种方法显示较为刻板,不如去改变电源频率更为方便快捷,因此在未来的电机调速发展趋势上是还以效率更高、更易操作的变频调速为主流。
本设计采用变频调速,所有的机械调速都是都是基于电机操作实现的。
从总体上看,电机分为交流、直流两种电机。
因为直流电机调速容易实现,可靠性高,故之前电机调速主流为直流电机进行调速。
但直流电机与其对应的也有其特有的缺点:因为使用的直流电源供电,其滑环和碳刷易损坏需要定期更换新器件,故在实际应用中带来不少麻烦,而且定期更换元器件所带来的成本比较高,因此进一步改进电机调速是人们所追求的。
串行通信键控步进电机系统
键控步进电机系统
一实验目的
1. 熟悉A VR-atmega128单片机串口通信功能;
2. 掌握步进电机控制方法。
3. 初步掌握GCC的一般编程技巧。
4. 掌握A VR单片机中断、时钟的设置方法。
二实验内容::
本试验通过微机串行口和ATmega128-100试验系统进行通信,达到控制步进电机的目的。
在PC机的超级终端中,按照界面的提示,可以控制电机的正转,逆转;正转和逆转时都可以达到六级固定转速的调速;同时,可以给定任意的小于1000的参数来控制电机的正逆转速;在本试验中,若需要让步进电机在一定的时间后开始工作,则可以设置24小时内的任意时间,同时在TEXT_LCD显示,当时间倒计时到00:00:00时,电机开始转。
三硬件原理
串行通信模块:
USART 框图
TEXT-LCD显示模块:
步进电机模块:
四程序流程
说明:流程图中带有标号①的箭头连接在一起,带有标号②的箭头连接在一起。
接收和发送中断服务程序:
以下是溢出中断0和3的中断服务程序,二者的差别就在于将其中的电机转动转换为电机正转和反转就可以了。
基于单片机的步进电机调速系统毕业设计
摘要步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。
本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的方法。
该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。
关键词:步进电机;脉宽调制;驱动机构;单片机;转动AbstractThe open-loop system which is composed by step-motor is simple, cheap and very practical, so there are very wide range of applications in printers and other office automation equipment and various control devices, and many other fields.This article describes one design of step-motor system based on microcontroller.The program of the preparation of a motor , reverse, speed up, slow down, stop is written by compile language. The above functions are realized through the microcontroller, motor driver chip ULN2004 and correspond key , and the work state of stepper motor is diaplayed through the light-emitting diode. This article introduces the principle of stepper motor and single-chip microcomputer, the system hardware circuit, the program components, while software and hardware for the debugging, at the same time introduces the problems which are appeared in the debugging process and the solutions of the problems . The design has the advantages of clear , high reliability, strong stability, etc.,and the above-mentioned functions are realized through the debugging.Key Words:Stepper motor; Pulse-width modulated; driving mechanism; singlechip; rotation目录第1章绪论 (1)1.1 课题研究的目的和意义 (1)1.2 国内外研究概况 (1)1.3 论文的主要研究内容 (2)第2章步进电机与单片机简介 (3)2.1 步进电机介绍 (3)2.2 步进电机驱动系统介绍 (7)2.3 单片机原理 (9)2.4 ULN2803原理 (17)2.5 晶体振荡器 (19)2.6 发光二极管 (21)第 3 章系统整体硬件结构 (22)3.1 系统框图 (22)3.2 电源部分 (22)3.3 按键部分 (23)3.4 驱动部分 (24)3.5 显示部分 (25)第4章系统软件设计 (27)4.1 系统开发软硬件环境 (27)4.2 系统主程序 (27)4.3 查键部分 (27)4.4 前进部分 (28)4.5 后退部分 (29)4.6 加速部分 (30)4.7 减速部分 (31)第 5 章系统的调试与检测 (32)5.1 程序编译时的错误与解决方法 (32)5.2 LM7812输出电压错误与解决方法 (32)5.3 步进电机转动错误及解决方法 (32)结论 (33)参考文献 (34)致谢 (35)附录 (36)本次毕业设计选用的步进电机是四相步进电机,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管显示。
基于单片机的步进电机控制系统及串行通信设计
振荡器及时钟电路。系统中,单片机的主要作用是 接收键盘设定值,显示转动速度,同时还具有串行通 信功能。当单片机发出脉冲信号的同时,PC机进行 接收,以便对信号进行处理。单片机通过P1.0口提 供控制步进电机的时序脉冲,以控制步进电机的运 行。系统采用软件来完成脉冲分配,就可根据系统 应用的需要,方便灵活地改变步进电机的控制方式。
3
l一上唇口开度板;2—堰板微调节杆;3一集团控制联接座;4一传感器;5一固定支架 图4传感器在堰板上的安装示意图
防腐、防潮、防干扰,无需技术维护,故适应各种环 境,控制精度高,调节功能可靠等优点。
实施对造纸机网前箱堰板的调节控制,达到造纸生 产中理想的堰板唇口开度,满足生产工艺的条件和
3结语
控制要求,保证纸品的生产质量。
。
3.学位论文 李海波 单片机对步进电机三相六拍指数规律升降速的并行控制 2003
该文根据步进电机的动力学方程和矩-频特性曲线建立系统的数学模型,采用指数规律的升降速算法,对升降速的过程进行离散处理,用定时器控制发 出脉冲的时间间隔,采用查表和计算相结合的方法实现了步进电机的升降速过程的控制.该系统采用单片机为核心对步进电机进行并行控制.系统的软件设 计由C51语言编程来实现,系统由十一个模块构成,各个模块完成特定的功能.用单片机仿真系统,对该系统的软、硬件进行了调试.该文还设计了检测系统 用于对步进电机转速和步数的检测.最后,该系统可以实现以下功能:在显示器的提示下,由键盘输入运行的步数和稳定运行的速度;由各个功能键控制系统 的运行,按启动键后,步进电机按照输入的步数进行走步;如在运行期间按停止键,则步进电机停止运行.研究表明,采用指数规律的升降速曲线将大大地提 高微机控制步进电机的最高工作频率,大大缩短所需的升降速时间.
用串行口控制步进电机两维运动系统
用串行口控制步进电机两维运动系统2009-5-13 10:00:00王继业供稿摘要:本文介绍了一种通过微机的串行口控制两维坐标定位系统的新方法。
该方法不需要MCU,可以方便的通过改变串口的波特率来改变步进电机的运行速度,可以通过RS232串口中控制Modem状态的输入、输出信号来控制运动的方向和读入不同的位置信息。
该方法使用逻辑电路实现控制功能,比用MCU 的方法不仅简单,省却了编程的麻烦,而且提高了可靠性。
关键词:串行口;步进电机;运动控制Abstract: a new method about the two-dimension coordinate contral system by the serial port of the personal-computer is introduce d. this method is convenient for changing the motion speed of the step motor through chaning the baud rate of the serial port, and cont raling the motion direction and getting the position information of the motor by contraling the input or output signal of the Modem state in the RS232 serial port. This new method using logic circult to realising the contraling function is more simple, so there is no need of programming, and can improve the reliability.Keywords: serial port、step moter、motion control1. 引言步进电机是一种将电脉冲转化为角位移的执行机构。
基才串口通信的直流电机PID调速系统设计
基才串口通信的直流电机PID调速系统设计曾伟钦;徐东升;冉志勇【期刊名称】《电子设计工程》【年(卷),期】2012(020)019【摘要】为了实现对直流电机快速、准确调速的要求,提出了一种基于串口通信的直流电机PID调速系统设计方案,并实现系统的软硬件设计。
采用按键、OLED 显示屏等人机交互工具进行参数设置及显示,通过PID控制器闭环反馈控制调节PWM信号,串口与上位机通信实现对数据的客观分析。
测试结果表明,该系统具有运行稳定、调速准确、响应时间短等特点.达到了系统设计要求。
%In order to realize the rapid and accurate to dc motor speed requirements, put forward based on the serial communication PID control system of de motor design, the design of the software and hardware system. The buttons, OLED screen man-machine interactive tools such as the parameters set and display, through the PID controller close-loop feedback control regulation PWM signal, serial ports and the upper machine communication to achieve the objective data analysis. The test results show that the system has stable operation, speed, accurate short response time and other characteristics, reached the system design requirements.【总页数】4页(P126-128,131)【作者】曾伟钦;徐东升;冉志勇【作者单位】西南科技大学信息工程学院,四川绵阳621000;西南科技大学信息工程学院,四川绵阳621000;西南科技大学信息工程学院,四川绵阳621000【正文语种】中文【中图分类】TP273【相关文献】1.直流电机调速系统设计及PID参数整定 [J], 周阳;周美娇;殷弋2.基于模糊PID控制的直流电机调速系统设计 [J], 王赫;刘松斌;王梦谦3.直流电机神经元PID调速系统设计与仿真 [J], 周晓华;蓝会立;张银;李振强4.基于自调整因子模糊PID直流电机调速系统设计 [J], 印武春;罗建;王力超;刘丙友5.基于增量式PID算法的直流电机调速系统设计 [J], 赵鑫亮因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:基于串口通信的步进电机调速系统设计基于串口通信的步进电机调速系统设计摘要本设计方案中采用基于串口通信的AT89C51型单片机内部的定时器改变CP脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。
在实验室和工业应用中,串口是计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。
在VC++6.0的环境下,编写使用C语言,串口通信程序,由单片机控制的步进电动机的转速。
当由单片机控制的步进电动机的转速的工作数据由串口传到计算机时,操作人员能够实时监控其工作状态,工作数据,根据情况,并能更改其工作参数。
这样,就使得控制步进电机的转速。
而电机的转速取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角,所以步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。
关键词:步进电机调速;单片机;串口通信;VC++The stepper motor speed control system based onserial communicationAbstractThe design of serial communication based on AT89C51 single-chip microcomputer-based timer to change the internal pulse frequency of CP in order to achieve the speed of stepper motor control with the positive realization of motor function.In the laboratory and industry field, the computer serial port and external serial device data transmission between the channels, as a result of user-friendly serial communication lines, so a wide range of applications.In VC + +6.0 environment, prepared using the C language, serial communication procedures by the single-chip microcomputer to control the speed of the stepper motor. When controlled by the single-chip stepper motor speed the work of the serial data transmitted by the computer, the operator can work in real-time monitoring of its status, the work of data, depending on the circumstances and can change its operating parameters. This allows control of stepper motor speed. Depends on the speed of the electrical pulse frequency and pulse number, and not subject to the impact of changes in load, that is, to add an electrical pulse signal, a step motor is turned away from the angle, the stepper motor is a pulse on each rotation of a fixed point of view so that you can control the stepper motor through a pulse to pulse the next time interval to change the pulse frequency, the length of delay to a specific angle in order to change control of stepper motor speed, the stepper motor in order to achieve Speed.Keywords: Stepper motor; Singlechip; Serial communication; V isual C++目录摘要 (I)Abstract (II)目录 ...................................................................................................................................... I II 第一章概述 (1)1.1开发背景及发展趋势 (1)1.2功能要求及功能实现概述 (2)第二章系统结构的实现与步进电机的驱动 (3)2.1整体硬件结构 (3)2.2系统硬件电路设计 (3)2.2.1硬件的基本组成 (3)2.2.2电路图 (3)2.2.2.1晶振电路 (4)2.2.2.2光电隔离器 (5)2.2.2.3 MAX232的介绍 (6)2.2.3 PCB板的生成 (6)2.3步进电机的结构特点 (7)2.3.1反应式步进电机的结构 (7)2.3.2 反应式步进电机的工作原理 (8)2.3.3 反应式步进电机的步进方式 (9)2.3.4 步进电动机的主要性能指标 (10)2.3.5步进电动机的运行特性 (11)2.3.6步进电机的选型 (13)2.4步进电机驱动电路 (14)2.4.1单电压驱动 (14)2.4.2 双电压驱动 (15)2.4.3 斩波驱动 (16)2.4.4 细分驱动 (17)2.4.5 集成电路驱动 (17)2.5 基于单片机的步进电机调速 (18)2.5.1 AT89C51单片机简介 (18)2.5.2步进电机调速 (22)2.5.2.1步进电机的正反转 (23)2.5.2.2步进电机的加减速 (25)第三章GUI设计 (26)3.1Visual C++ (26)3.2步进电机速度控制界面设计 (27)第四章通信模式 (31)4.1基本原理 (31)4.2单片机的串行通信 (31)4.2.1串口接收数据 (34)4.2.2通信协议 (36)第五章结束语 (37)附录A (39)附录B (40)附录C (41)第一章概述1.1开发背景及发展趋势计算机串口编程在通信软件中有着十分广泛的应用,如电话,传真,视频控制等。
一般情况下,涉及到远程通信,自动控制的行业,通常也会涉及到串口通信技术。
工业控制领域经常涉及到串行通信问题。
为了实现微机和单片机之间的数据交换,人们用各种不同方法实现串行通信,如DOS下采用C语言。
但在Windows环境下却存在一些困难和不足。
在Windows操作系统已经占据统治地位的情况下开发Windows 环境下串行通信技术就显得日益重要。
在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。
计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。
实际工作中利用串口完成通信任务的时候非常之多。
本设计是在WINDOWS XP操作系统下,设计自己的通信协议,借助VC++6.0编程环境,使用C语言,实现串口通信,控制步进电机的调速系统。
步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。
步进电机经环形分配器、功率放大器使励磁绕组按照顺序轮流接通直流电源。
由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。
步进电机的旋转同时与相数、分配数、转子齿轮数有关。
步进电机和普通电机的区别主要就在于其脉冲驱动的形式,正是这个特点,步进电机可以和现代的数字控制技术相结合。
步进电机在控制精度、速度变化范围、低速性能方面比传统的闭环控制直流伺服电动机有较好的性能。
步进电机的控制精度随着发展在不断提高,而且在很多场合可以发挥其结构简单、可靠性高和成本低的特点。
近年来,随着微电子技术、电力电子技术和计算机技术的发展,数控系统的采用,促进了步进电动机的发展,使步进电动机在机械、电子、纺织、轻工、化工、石油、邮电、冶金、文教和卫生等行业,特别是在数控机床上获得越来越广泛的应用,由于步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,被认为是理想的数控机床执行元件。
早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。
随着步进电动机技术的发展,步进电动机已经能够单独在系统上进行使用,成为了不可替代的执行元件。
比如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动机可以同时完成两个工作,其一是传递转矩,其二是传递信息。
步进电机也可以作为数控蜗杆砂轮磨边机同步系统的驱动电动机。
除了在数控机床上的应用,步进电机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱动器的马达,也可以应用在工业器材,工业生产装备,复印件,速印机,银行自动柜员机和绘图仪中。
1.2功能要求及功能实现概述设计适合的串口通信协议,用C语言编写程序,使得计算机能够定时从串口获得数据,按照自己的协议,并按照信息发送到各个Dialog。
再由程序将数据正确的分配给每一个控件。
当操作人员看见异常的数据,或希望更改工作参数时,可以通过程序把新的更改后的数据通过串口发送给单片机进行步进电机的调速。
由功能要求分析出总体设计方案。
整个系统可以分为三块:(1)界面设计;(2)基于单片机的硬件系统设计。
(3)串口通信协议设计;第二章系统结构的实现与步进电机的驱动2.1整体硬件结构步进电机的调速与驱动如图2.1所示,主要包括脉冲信号发生、脉冲分配和功率驱动三大部分。