两相步进电机控制系统设计.
STC系列PWM方式控制两相步进电机

1.57步进机电23HS66202.DM524 型细分型两相混合式步进机电驱动器3.STC12C5A60S2 系列单片机][程序一、二[程序一、二]通过计算机对单片机芯片的编程 ,将单片机与驱动器相连 ,从而实现对步进机电 的各种方式控制.1.根据所期望的结果编写程序,并在实验仪器上调试和验证.2.使用步近机电的工作原理与步进机电驱动器.3.学习控制步进机电转角、速度、方向的实时软件设计1.57步进机电23HS66202.DM524型细分型两相混合式步进机电驱动器,采用直流18~50V 供电,适合驱 动电压24V~50V, 电流小于4.0V,外径42~86毫米的两相混合式步进机电.此驱 动器采用交流伺服驱动器的电流环进行细分控制, 机电的转矩波动很小,低速 运行很平稳,几乎没有振动和噪音.高速时力矩也大大高于其它二相驱动器, 定位精度高.广泛合用于雕刻机、数控机床、包装机械等分辩率要求较高的设 备上.输入电流 输出电流湿 气 重小于4安培1.0A ~4.2A功耗: 80W ; 内部保险: 6A 工作温度-10~45℃; 存放温度-40℃~70℃不能结露,不能有水珠 禁止有可燃气体和导电灰尘200克〔1〕平均电流控制,两相正弦电流驱动输出〔2〕直流24~50V 供电 〔3〕光电隔离信号输入/输出〔4〕有过压、欠压、过流、相间短路保护功能 〔5〕十五档细分和自动半流功能 〔6〕八档输出相电流设置 〔7〕具有脱机命令输人端子 〔8〕高启动转速 〔9〕高速力矩大 〔10〕机电的扭矩与它的转速有关,而与机电每转的步数无关控制信号定义PLS/CW+ : PLS/CW-: DIR/CCW+: DIR/CCW-: 步进脉冲信号输入正端或者正向步进脉冲信号输入正端 步进脉冲信号输入负端或者正向步进脉冲信号输入负端步进方向信号输入正端或者反向步进脉冲信号输入正端 步进方向信号输入负端或者反向步进脉冲信号输入负端ENA+: 脱机使能复位信号输入正端 ENA- : 脱机使能复位信号输入负端输入电压 直流18~50V 输入耗度度 体 量功 温脱机使能信号有效时复位驱动器故障,禁止任何有效的脉冲,驱动器的输出功率元件被关闭, 机电无保持扭矩.控制信号连接上位机的控制信号可以高电平有效,也可以低电平有效.当高有效时,把所有控制信号的负 端连在一起作为信号地,低有效时,把所有控制信号的正端连在一起作为信号公共端. 现在以集电极开路和 PNP 输出为例 ,接口电路示意图如下: 控制器集电极开路输出图2.输入接口电路〔共阴极接法〕控制器 PNP 输出注意: VCC 值为5V 时,R 短接; VCC 值为12V 时,R 为1K,大于1/8W 电阻;VCC 值为24V 时,R 为2K,大于1/8W 电阻; R 必须接在控制器信号端.功能选择 〔用驱动器面板上的 DIP 开关实现〕 设置机电每转步数驱动器可将机电每转的步数分别设置为400、500、800、1000、1250、1600、2000、 2500 、3200 、4000 、5000 、6400 、8000 、10000 、12800步.用户可以通过驱动器 正面板上的拨码开关的 SW5、SW6、SW7、SW8位来设置驱动器的步数〔如表1〕:SW6状 态 SW7状 态 SW8状 态步数ONONON400 OF FONON800OF FONON160 0ONOF FON320 0ONOF FON640 0OF F OF FON128 00OF F OF FON256 00ONONOF F 100 0ONONOF F 200 0OF FONOF F 400 0OF FONOF F 500 0ONOF F OF F 800 0ONOF F OF F 100 00OF F OF F OF F 200 00OF F OF F OF F 250 00控制方式选择拨码开关 SW4位可设置成两种控制方式:当设置成"OFF"时,为有半流功能.当设置成"ON"时,为无半流功能. 设置输出相电流为了驱动不同扭矩的步进机电 ,用户可以通过驱动器面板上的拨码开关 SW1、 SW2 、SW3位来设置驱动器的输出相电流〔有效值〕单位安培 ,各开关位置对应 的输出电流,不同型号驱动器所对应的输出电流值不同.具体见表2.SW1 SW2 SW3PEAK RMS 输出电流<A>OF ONF SW5状态 OF FOF FOF FOF FOF FOF F OF FONONONONONONON ON ON 1.00 0.71OFF ON ON 1.46 1.04ON OFF ON 1.91 1.36OFF OFF ON 2.37 1.69ON ON OFF 2.84 2.03OFF ON OFF 3.31 2.36ON OFF OFF 3.76 2.69OFF OFF OFF 4.20 3.00半流功能半流功能是指无步进脉冲500ms 后,驱动器输出电流自动降为额定输出电流的70%,用来防止机电发热.+V、GND:连接驱动器电源+V:直流电源正级, 电源电压直流16~50V.最大电流是5A.GND:直流电源负级.A+ A- B+ B-:连接两相混合式步进机电驱动器和两相混合式步进机电的连接采用四线制, 机电绕组有并联和串联接法, 并联接法,高速性能好,但驱动器电流大<为机电绕组电流的1.73倍>,串联接法时驱动器电流等于机电绕组电流.周围要有20mm 的空间,不能放在其它发热的设备旁,要避免粉尘、油雾、腐蚀性气体,湿度太大与强振动场所.状态灯指示RUN:ERR:故障与排除绿灯,正常工作时亮.红灯,故障时亮, 机电相间短路、过压保护和欠压保护.LED 不亮机电不转,且无保持扭矩机电不转,但有保持扭矩机电转动方向错误机电扭矩太小电源接错电源电压低机电连线不对脱机使能RESET 信号有效无脉冲信号输入动力线相序接错方向信号输入不对相电流设置过小加速度太快机电堵转驱动器与机电不匹配检查电源连线提高电源电压改正机电连线使RESET 无效调整脉冲宽度与信号的电平互换任意两相连线改变方向设定正确设置相电流减小加速度值排除机械故障换合适的驱动器解决措施故障原因一个完整的步进机电控制系统应含有步进驱动器、直流电源以与控制器〔脉冲源〕 .以下为典型系统接线图:单片机 STC12C5A60S2 系列当PCA 计数值与模块的捕获/ 比较寄存器的值相匹配时, 如果TOG 位〔CCAPMn.2〕置位,模块CEXn 输出将发生翻转.当PCA 计数值与模块的捕获/ 比较寄存器的值相匹配时,如果匹配位MATn〔CCAPMn.3〕置位, CCON 寄存器的CCFn 位将被置位.CAPNn〔CCAPMn.4〕和CAPPn〔CCAPMn.5〕用来设置捕获输入的有效沿.CAPNn 位使能下降沿有效.CAPPn 位使能上升沿有效.如果两位都置位,则两种跳变沿都被使能,捕获可在两种跳变沿产生.通过置位CCAPMn 寄存器的ECOMn 位〔CCAPMn.6〕来使能比较器功能.每一个PCA 模块还对应此外两个寄存器CCAPnH 和CCAPnL.当浮现捕获或者比较时,它们用来保存16 位的计数值.当PCA 模块用在PWM 模式中时它们用来控制输出的占空比.脉宽调制<PWM Pulse Width Modulation>是一种使用程序来控制波形占空比、周期、相位波形的技术.CPS2、CPS1、CPS0:PCA 计数脉冲源选择控制位.当三者分别为0、1、0 时,选择PCA/PWM 时钟源输入为定时器0 的溢出频率. 由于定时器0 可以工作在1T 模式,所以可以达到计一个时钟就溢出,从而达到最高工作频率CPU 时钟SYSclk.通过改变定时器0 的溢出率,可以实现可调频率的PWM 输出.#include <REG51.H>#include <intrins.h>#define U8 unsigned char#define U16 unsigned intsbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^5;sbit key4=P1^6;U8 table[4]={0xea,0xf2,0xfa,0xfc};U8 table1[4]={0xfc,0xfa,0xf2,0xea};U16 timer0=0;U16 j=0;void DelayMs<U8 ms>;void PWM_clock<U8 clock>;void PWM_start<U8 module,U8 mode>;////////////////////// 延时子程序/////////////////////////////void DelayMs<U8 ms> //在11.0592M 晶振下,stc10f 系列〔单周期指令〕的ms 级延时{U16 i;while<ms-->for<i = 0; i < 850; i++>;}}////////////////////主函数入口////////////////////////////sfr AUXR sfr CCON sfr CMOD sfr CCAPM0 = 0X8E;= 0xD8; //PCA 控制寄存器= 0xD9; //PCA 模式寄存器= 0xDA; //PCA 模块0 模式寄存器// 模块0 对应P1.3/CEX0/PCA0/PWM0<STC12C5A60S2 系列>sfr CCAPM1 = 0xDB; //PCA 模块 1 模式寄存器// 模块 1 对应P1.4/CEX1/PCA1/PWM1<STC12C5A60S2 系列>sfr CL sfr CH sfr CCAP0L sfr CCAP0H sfr CCAP1L sfr CCAP1H = 0xE9; //PCA 定时寄存器低位= 0xF9; //PCA 定时寄存器高位= 0xEA; //PCA 模块0 的= 0xFA; //PCA 模块0 的= 0xEB; //PCA 模块1 的= 0xFB; //PCA 模块1 的捕获寄存器捕获寄存器捕获寄存器捕获寄存器低位高位低位高位sfr PCA_PWM0 = 0xF2; //PCA PWM 模式辅助寄存器0 sfr PCA_PWM1 = 0xF3; //PCA PWM 模式辅助寄存器1sbit CF sbit CR sbit CCF1 sbit CCF0 = 0xDF;= 0xDE;= 0xD9;= 0xD8;//PCA 计数溢出标志位//PCA 计数器运行控制位//PCA 模块1 中断标志//PCA 模块0 中断标志//* CCAPOH = CCAPOL = 0XC0; //模块0 输出//* CCAPOH = CCAPOL = 0X80; //模块0 输出//* CCAPOH = CCAPOL = 0X40; //模块0 输出void PWM_clock<U8 clock>;void PWM_start<U8 module,U8 mode>; 占空因数为25%占空因数为50% 占空因数为75%/*****************************************************************************设置PWM 时钟信号来源函数参数:Clock0: 系统时钟/12<即12 分频>;1:系统时钟/2<即2 分频>;2:定时器0 的溢出脉冲;3: ECI/P1.2<或者P4. 1>脚输入的外部时钟;4:系统时钟<即不分频> ;5:系统时钟/4<即4 分频>;6:系统时钟/6<即6 分频>;7:系统时钟/8<即8 分频>;/*****************************************************************************/ void PWM_Clock<unsigned char clock>{if<clock==2>AUXR |= 0x80;//定时器0 时钟为Fosc,即1TTMOD|=0x02; //8 位自动重装载TH0=0xe1;//TR0=1;}CMOD |= <clock<<1>;//CMOD=0x84;CL = 0;CH = 0;}void PWM_Start<U8 module,U8 R0,U8 R1>{CCAP0L = 0XFF-<R0*256/100>;CCAP0H = 0XFF-<R0*256/100>;CCAP1L = 0XFF-<R1*256/100>;CCAP1H = 0XFF-<R1*256/100>;if<module==0>CCAPM0 = 0X42; //模块0 设置为8 位PWM 输出,无中断else if<module==1>CCAPM1 = 0X42; //模块1 设置为8 位PWM 输出,无中断else if<module==2>CCAPM0 = CCAPM1 = 0X42; //模块0 和1 设置为8 位PWM 输出,无中断CR=1; //PCA 计数器开始计数}void main<>{U8 keycode=0;U8 keycode1=0;PWM_Clock<2>; // PCA/PWM 时钟源为定时器0 的溢出PWM_Start<0,20,0>;// 模块0,设置为PWM 输出,无中断,初始占空因素为25% while<1>{if<key1==0>{while<key1==0>;EA=0;TR0=1;TH0=table[keycode];keycode++;if<keycode==4>keycode=0;}DelayMs<100>;if<key3==0>{while<key3==0>;TR0=1;EA=0;TH0=table1[keycode1];keycode1++;if<keycode1==4>keycode1=0;}DelayMs<100>;if<key2==0>{while<key2==0>;EA=1;ET0=1;TR0=1;TH0=0xD1;}}}void timer<> interrupt 1{++timer0;if<timer0==256>{++j;timer0=0;}if<j==3032>{j=0;TR0=0;}}#include <REG51.H>#include <intrins.h>#define U8 unsigned char#define U16 unsigned intsbit DIR=P1^5;sbit key1=P3^0;sbit key2=P3^1;sbit key3=P3^2;sbit key4=P3^3;U16 i=0;U8 keycode=0;U8 table[4]={0xea,0xf7,0xfa,0xfe}; // 调频void DelayMs<U8 ms>;void PWM_clock<U8 clock>;void PWM_start<U8 module,U8 mode>;////////////////////// 延时子程序/////////////////////////////void DelayMs<U8 ms> //在11.0592M 晶振下,stc10f 系列〔单周期指令〕的ms 级延时{U16 i;while<ms-->{for<i = 0; i < 850; i++>;}}////////////////////主函数入口////////////////////////////sfr AUXR sfr CCON sfr CMOD sfr CCAPM0 = 0X8E;= 0xD8; //PCA 控制寄存器= 0xD9; //PCA 模式寄存器= 0xDA; //PCA 模块0 模式寄存器// 模块0 对应P1.3/CEX0/PCA0/PWM0<STC12C5A60S2 系列>sfr CCAPM1 = 0xDB; //PCA 模块 1 模式寄存器// 模块 1 对应P1.4/CEX1/PCA1/PWM1<STC12C5A60S2 系列>sfr CL= 0xE9; //PCA 定时寄存器低位sfr CH= 0xF9; //PCA 定时寄存器高位sfr CCAP0L= 0xEA; //PCA 模块0 的捕获寄存器低位sfr CCAP0H= 0xFA; //PCA 模块0 的捕获寄存器高位sfr CCAP1L= 0xEB; //PCA 模块1 的捕获寄存器低位sfr CCAP1H = 0xFB; //PCA 模块1 的捕获寄存器高位sfr PCA_PWM0 = 0xF2; //PCA PWM 模式辅助寄存器0sfr PCA_PWM1 = 0xF3; //PCA PWM 模式辅助寄存器1sbit CF= 0xDF; //PCA 计数溢出标志位sbit CR= 0xDE; //PCA 计数器运行控制位sbit CCF1= 0xD9; //PCA 模块1 中断标志sbit CCF0 sbit ECCF0 = 0xD8;= 0xDA;//PCA 模块0 中断标志sbit ECF= 0xD9;sbit PWM0 = 0xD8;//* CCAPOH = CCAPOL = 0XC0; //模块0 输出占空因数为25% //* CCAPOH = CCAPOL = 0X80; //模块0 输出占空因数为50% //* CCAPOH = CCAPOL = 0X40; //模块0 输出占空因数为75% void PWM_clock<U8 clock>;void PWM_start<U8 module,U8 mode>;void PWM_Clock<unsigned char clock>{if<clock==2>{AUXR |= 0x80;//定时器0 时钟为Fosc,即1TTMOD|=0x02; //8 位自动重装载TH0=0xe1; //设定频率}CMOD |= 0x05;//<clock<<1>;CL = 0;CH = 0;//EA=1;}void PWM_Start<U8 module,U8 R0,U8 R1>{CCAP0L = 0XFF-<R0*256/100>;CCAP0H = 0XFF-<R0*256/100>;CCAP1L = 0XFF-<R1*256/100>;CCAP1H = 0XFF-<R1*256/100>;if<module==0>CCAPM0 = 0X42; //模块0 设置为8 位PWM 输出,无中断else if<module==1>CCAPM1 = 0X42; //模块1 设置为8 位PWM 输出,无中断else if<module==2>CCAPM0 = CCAPM1 = 0X42; //模块0 和1 设置为8 位PWM 输出,无中断}void main<>{PWM_Clock<2>;PWM_Start<0,20,0>; TR0=0;EA=1;while<1>// PCA/PWM 时钟源为定时器0 的溢出// 模块0,设置为PWM 输出,无中断,初始占空因素为25%{if<key1==0>{while<!key1>TR0=1;CR=1;i=0;CH =0x9c;}if<key2==0> // 0x9c// 0x38 200步数100{EA=0;TR0=1;CR=1;while<key2==0>;TH0=table[keycode]; //调频keycode++;if<keycode==4>keycode=0;}if<key3==0> //方向{while<!key3>DIR=0;}}DelayMs<100>;}void PCA_isr<> interrupt 7{i=i+1;CH=0x9c; // 0x9c 100 步数// 0x37 200CF=0;if<i==100> //100*4 200*125{CR=0;i=0;}}首先对各寄存器设定初值,选择工作模式,使PCA 计数频率为定时器0 的溢出率, 实现可调频率的PWM 输出.设定CCAP0H 和CCAP0L 与CL 和CH 的初值,当PCA 计数器的低位CL 从0xFF 递减到0x00 过程中,若值大于CCAP0L,则输出高电平, 否则为低电平,从而调节占空比.采用定时器0 的八位自动装载,通过给TH0 赋初值,改变PWM 的输出频率,从而控制机电的转速.在同一细分的条件下,频率越大,转速越快.将各初值对应的频率制成数表,通过按键1、3 调用数表,选择对应的频率,从而实现步进机电的加减速.步进机电的转向则是通过驱动器的DIR/CCW+<步进方向信号输入正端或者反向步进脉冲信号输入正端>和DIR/CCW- 〔步进方向信号输入负端或者反向步进脉冲信号输入负端〕来控制.[程序一]通过按键2 开启定时器0 的中断,在中断中对中断次数进行控制,实现PCA 的计数功能,通过PCA 的计数值,控制步进机电的转角.在同一频率下,对不同细分进行操作.例如,在400 细分下,设置379 个脉冲使步进机电转一圈.在800 细分下,则设置2*379=758 个脉冲实现转一圈. 以此类推,所有的实验结果均满足之前的假设. [程序二]通过按键1调用PCA 中断,通过设置CH0的初值,来改变PCA 的溢出率,在中断中记录PCA 的中断次数,从而进行对转角的调节.改变初值,来实现单步、多步的控制.通过按键2使机电进行4个不同频率的调速,频率的设置通过软件设定,变频的次数也可通过软件调节.通过按键3使机电的方向改变.程序可在400~25000细分下进行机电的单步,多步控制.在实验过程中,我们发现了一些数据与理论值有出入,故在此进行说明.1.歩距角:理论值是1.8度/步,但是实际实验中单步进行时,与理论值有偏差.2.令步进机电转一圈的准确度:这一现象取决于步进机电的歩距角、程序中按键的响应时间、步进机电本身启动等因素.通过本次课程设计,对步进机电的使用有了更深刻的了解.理清了PWM 输出频率与步进机电转速,驱动器细分与机电转角等的关系.实现了对步进机电的单步、多步、加速、减速、正转、反转的控制.通过自己编程,试验了不少种可能的方式, 保留了实用的方案,最终实现了对步进机电的控制.在找到最终可用方案之前,我们不仅要找出步进机电、编写的程序自身的规律,更要找出它们的内在联系.在这个过程中,我们不仅锻炼了自身读资料、整合知识和想法、编写程序的能力,更锻炼了团队协作的能力.根据电子设计大赛的训练题目学习步进机电的控制.。
步进电机运动控制系统设计

步进电机运动控制系统设计设计时考虑到CPU在执行指令时可能受到干扰的冲击,导致程序”跑飞”或者进入”死循环”,因此,设计了看门狗电路,使用的是MAXIM公司生产的微处理系统监控集成芯片MAXI813。
本文还详细地给出了相关的硬件框图和软件流程图,并编制了该汇编程序。
步进电机最早是在1920年由英国人所开发。
1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。
以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的系统中。
在生产过程中要求自动化、省、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
随着微和技术的发展,步进电机的需求量与日俱增,在各个国民领域都有应用。
步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。
步进电机可以直接用数字信号驱动,使用非常方便。
一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。
步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。
在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。
因此非常适合于单片机控制。
步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。
步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。
传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。
步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
两相步进电机的控制及微驱动器的设计

机 ,从 而 大大 缩 小 了 驱 动 器 的外 形 尺 寸 ,使 其 可 以
利用 到微 系统 的驱 动控制 当系 统 由上 位 机 、控 制 驱 动 电路 及 步 进 电机
组 成 。具 体 的原 理 功 能框 图如 图 1 C机通 过 U B ,P S 口经芯 片 C 2 0 ( S P 1 2 U B转 U R A T的单 芯片桥 接 器 ) 转
De i n o c o- i e o sg fM r ・ v r f r Two- a e S e o o dr - ph s t p M t r
L in b ,L U Jz o g HAN Hu IL a g o I ih n ,Z G a
( co lfMeh t nc E gne n Sh o o car i n i r g,N nh n nvrt ,N nh n 3 0 ,C i ) o s ei a ca g U i sy a ca g3 0 3 ei l hn a
Ke r : se tr s ra o mu c to s CP 0 y wo ds t p mo o ; e i lc m niai n ; 21 2;A3 01 9
0 引 言
步进 电动机 能 直 接 将 数 字 脉 冲 信 号 转换 成 角 位
微 控制 器之 间 的 通信 ,利 用 V C++6 0的 M C mm . So 控 件编 程实 现 两者 之 间 的 串行 异 步 通 信 ,步 进 电机
Absr c t a t:A n fc n r lmeh d f rse t ri e in d.c n r lo d r r e tt P4 0F1 9 va kid o o to t o o t p moo s d sg e o to r e s a e s n o MS 3 4 i
两相混合式步进电机细分控制

两相混合式步进电机细分控制两相混合式步进电机细分控制是一种常用的步进电机控制技术,可以实现高精度和高速度的运动控制。
本文将介绍两相混合式步进电机的工作原理、细分控制技术以及在实际应用中的一些注意事项。
首先,我们来了解一下两相混合式步进电机的工作原理。
两相混合式步进电机由两个相位的线圈组成,每个相位有两个线圈。
当电流通过线圈时,会产生磁场,这个磁场会与电机中的永磁体相互作用,从而产生力矩,推动电机转动。
通过交替激励两个相位的线圈,可以控制电机的转动方向和步长。
在细分控制中,我们需要将一个完整的步进角度细分为更小的角度,以提高步进电机的精度和平滑性。
常见的细分控制技术有全步进、半步进和微步进。
全步进是最基本的细分控制技术,将一个完整的步进角度等分为若干个小角度。
例如,将一个360度的步进角度等分为200个小角度,每个小角度为1.8度。
全步进可以实现较高的转动精度,但在低速运动时容易产生共振和震动。
半步进是在全步进的基础上进行细分的一种技术。
它将一个完整的步进角度等分为更小的角度,并在每个小角度中交替激励两个相位的线圈。
例如,将一个360度的步进角度等分为400个小角度,每个小角度为0.9度。
半步进可以提高步进电机的转动平滑性和精度,但在高速运动时容易失步。
微步进是最高级别的细分控制技术,可以将一个完整的步进角度细分为更小的角度,并通过改变线圈电流的大小和方向来控制电机的转动。
微步进可以实现非常高的转动精度和平滑性,但同时也增加了系统复杂性和成本。
在实际应用中,我们需要根据具体需求选择合适的细分控制技术。
如果对转动精度要求较高,可以选择全步进或半步进;如果对转动平滑性要求较高,可以选择半步进或微步进。
同时,还需要注意以下几点:1. 选择合适的驱动器和控制器:不同的细分控制技术需要相应的驱动器和控制器来实现。
因此,在选择步进电机系统时,需要考虑其兼容性和可靠性。
2. 控制参数调整:在使用细分控制技术时,需要根据具体情况调整控制参数,如脉冲频率、加速度和减速度等。
两相步进电机控制系统毕业设计 精品

毕业设计(论文)基于AT89S52单片机的两相步进电机控制系统2013年6月13日基于AT89S52单片机的两相步进电机控制系统摘要本文应用AT89S52单片机、步进电机驱动芯片ULN2003A、字符型LCD液晶显示屏和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。
系统以单片机作为步进电机的控制核心,完成了步进电机的控制的硬件电路设计以及软件的设计,实现了步进电机的启停、正反转,以及转速的实时显示。
以三维工作台作为被控对象,每个方向由一个步进电机驱动相应的滚珠丝竿机械装置进而实现完成了各个坐标方向的精确运动,以此模拟实现切割机上下、前后的精确切割。
由键盘模块实时键入相应数值来控制三个坐标轴上各个步进电机的转速值、行进距离以及运行状态,并通过LCD 液晶显示屏显示各个电机对应的转速、行进距离、行进中的坐标值实时变化状态和电机运行状态以及电机运行是否到位等信息。
为满足实际运用需要,本系统以PC机作为平台,基于VB语言设计完成了一个人机交互性强的界面的上位机的实现,并通过由RS232构成的串口通信方式,实现单片机与上位机串口的双向通信运用。
在上位机系统界面上通过程序设计实现了对各个坐标方向的步进电机的远程控制操作以完成对应的各个步进电机相应的启动、急停、前进、返回等一系列动作以及相应转速值、行进坐标值的实时输入发送与接收显示,达到远程监控的效果。
关键词:步进电机,上位机,液晶显示Control system of two phase stepper motor based onAT89S52 singlechipAuthor:Mai mingjieTutor:Song aijuanAbstractBased on AT89S52 singlechip, stepper motor driver chip ULN2003A, character type LCD and keyboard array, the thesis builds a stepping motor control system integrating stepper motor controller and driver. Making the singlechip as the cybernetic core of the stepper motor, the system completes hardware circuit's design and software's design which are controlled by the stepper motor, therefore, it realizes the stepper motor's start and stop, positive inversion and revolving speed's real-time display. Three-dimensional workbench being as controlled objective, corresponding ball spiral wire rod mechanical device is driven by a stepper motor in every direction to realize the accurate motion in each coordinate direction, accordingly, it imitates the cutting machine's precise cutting of up and down, front and back. Relevant numerical value typed by the keyboard in real time controls each stepper motor's revolving speed value, travel distance and running state in three coordinate axises. Corresponding revolving speed and travel distance of each motor, coordinate figure's real-time state of change on the move, motor's running state on the move and other information are displayed by LCD. In order to meet the practical application, with the PC as the platform, the system achieves a PC of strong man-machine interactive interface. Besides, it realizes the two-way communication application of the singlechip and the PC through the serial port. On the interface of PC, the remote control operati seron is realized by the program design for each stepper motor in its coordinate direction. In this way, the system achieves the start, stop, forward, back, and aies of corresponding actions like these of each stepper motor as well as the real-time type and display of the relevant revolving speed value and coordinate value in the process so as to reach the effect of remote monitoring.Keyword: stepper motor, PC, LCD目录1 绪论 (1)1.1设计的背景及目的 (1)1.2国内外研究现状 (1)1.3论文构成及研究内容 (2)2 系统总体方案设计 (4)2.1方案的选择与论证 (4)2.1系统各部分组成及其功能简介 (6)3 系统的硬件设计 (8)3.1单片机最小系统 (8)3.1.1 AT89S52简介 (8)3.1.2 单片机最小系统设计 (13)3.1.3 单片机I/O口分配及实现的功能 (14)3.2步进电机简介 (14)3.2.1 步进电机的分类 (14)3.2.2 两相步进电机的结构及其工作原理 (15)3.3步进电机驱动模块设计 (19)3.3.1 ULN2003A简介 (19)3.3.2 电机驱动电路设计 (21)3.4串口通信模块与上位机的设计 (22)3.5LCD12864字符型液晶屏显示模块设计 (23)3.5.1 LCD12864字符型液晶屏简介 (24)3.5.2 LGM12641BS1R中KS0108控制器的指令功能说明 (25)3.5.3 LGM12641BS1R中KS0108控制器的基本编程原理 (27)3.6键盘模块设计 (30)4 系统软件设计 (33)4.1系统软件的整体设计 (33)4.2系统初始化模块设计 (34)4.3键盘输入与液晶显示程序模块 (34)4.4步进电机运行控制模块 (35)4.5上位机模块的软件设计 (36)结论 (39)致谢 (40)参考文献 (41)附录 (42)附录A (42)附录B (51)附录C (52)1 绪论1.1 设计的背景及目的步进电动机在国外通常被称为Steppingmotor、Pulse motor或Stepper servo,其应用及其发展已有约80年的历史。
两相步进电机 控制程序

两相步进电机控制程序一、初始化设置在控制步进电机之前,需要进行一些初始化设置。
这包括:1. 配置微控制器:选择适合的微控制器,并为其分配必要的资源和接口。
2. 电机参数设定:根据步进电机的规格和性能,设定合适的参数,如步进角度、驱动电流等。
3. 接口配置:配置微控制器与步进电机驱动器之间的接口,包括电源、信号线等。
二、电机驱动脉冲生成为了使步进电机按照设定的方向和步数转动,需要生成合适的驱动脉冲。
这通常通过微控制器实现,具体步骤如下:1. 确定目标位置:根据应用需求,确定步进电机需要转到的目标位置。
2. 计算步数:根据目标位置和步进电机的步进角度,计算出需要转动的步数。
3. 生成驱动脉冲:根据步数和电机的工作模式(单拍、双拍等),生成合适的驱动脉冲序列。
三、电机方向控制步进电机的方向可以通过改变驱动脉冲的顺序来控制。
一般来说,有两种方式来控制电机的方向:1. 通过改变脉冲的顺序:正向或反向发送脉冲序列,可以控制电机向正向或反向转动。
2. 通过使用不同的工作模式:一些步进电机驱动器支持不同的工作模式,如全步、半步、1/4步等。
通过选择不同的工作模式,可以改变电机的转动方向和速度。
四、电机速度调节调节步进电机的速度可以通过改变驱动脉冲的频率来实现。
一般来说,脉冲频率越高,电机转速越快。
同时,也可以通过改变工作模式来调节电机的速度。
五、电机状态监测与保护为了确保步进电机的安全运行,需要实时监测电机的状态,并进行必要的保护措施。
这包括:1. 温度监测:监测电机的温度,防止过热。
2. 电流监测:监测电机的驱动电流,防止过流。
3. 位置监测:通过编码器等传感器监测电机的实际位置,防止位置丢失或错误。
4. 故障诊断:通过分析监测数据,判断电机是否出现故障,并采取相应的处理措施。
六、异常处理与故障诊断为了提高控制程序的鲁棒性,需要设计异常处理与故障诊断机制。
这包括:1. 异常情况检测:通过分析监测数据和运行状态,检测出异常情况。
两相步进电机控制系统设计

两相步进电机控制系统设计.综合课程设计题目两相步进电机学院计信学院专业10自动化班级2班学生姓名指导教师文远熔2012 年12 月28 日两相步进电机课程设计报告步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。
控制系统通过单片机存储器、I/O 接口、中断、键盘、LED 显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。
为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。
人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。
此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。
步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
关键字: 步进电机单片机1 设计内容根据给定的任务要求选择合适的单片机和其他电子元件,进行系统硬件电路设计和软件编程,根据系统制作并调试电路板,使之实现任务要求。
两相步进电机,步距角为3度,编程实现下列功能:(1)按键,步进电机按一定速度正转。
两相步进电机控制原理

两相步进电机控制原理1.步进电机原理步进电机是一种将电脉冲信号转换为角位移的执行机构。
每个电脉冲信号对应于步进电机的一个步进角,因此步进电机可以通过接收一系列脉冲信号来精确控制其旋转角度。
步进电机按其工作原理可分为反应式、永磁式和混合式三种,其中在微特电机中应用最广泛的是混合式步进电机。
2.电机驱动方式根据不同的电源和控制方式,步进电机驱动可分为单极性驱动和双极性驱动。
单极性驱动是只给一个线圈通电,通过改变通电方向来控制步进电机的旋转方向;而双极性驱动是给两个线圈同时通电,通过改变两个线圈电流的方向和大小来控制步进电机的旋转方向和速度。
双极性驱动又可分为二二拍、四拍、八拍等多种驱动方式。
3.脉冲信号控制步进电机的旋转角度严格正比于输入脉冲的个数。
控制输入脉冲的个数就可以实现对步进电机的旋转角度进行精确控制。
为了防止步进电机失步,需要保证每个脉冲信号的宽度足够长,一般要大于6-7ms。
4.方向控制通过给步进电机驱动器输入不同的控制信号,可以改变步进电机的旋转方向。
通常情况下,控制信号需要与原脉冲信号反相,从而实现步进电机的反向旋转。
5.速度控制步进电机的旋转速度与输入脉冲的频率成正比。
通过改变输入脉冲的频率就可以实现对步进电机的旋转速度进行控制。
6.细分控制细分控制是指通过细分驱动器将步进电机的步距角进一步细分,从而减小步进电机的步距角,提高步进电机的旋转精度。
细分驱动器可以通过对输入脉冲进行不同的分配和叠加来实现细分控制。
7.防抖动控制由于步进电机采用的是开环控制系统,因此在其旋转过程中容易受到外界干扰而产生抖动现象。
为了减少抖动现象对控制系统稳定性的影响,需要进行防抖动控制。
常用的防抖动方法包括采用消抖电路、采用细分驱动器、选用质量好的编码器等。
8.系统集成与调试在完成以上各部分的设计后,需要进行系统集成和调试。
系统集成是将所有硬件和软件组合在一起,并进行调试的过程。
调试过程中需要逐步检查每个接口是否连接良好、程序运行是否正常等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)点动:按键,步进电机转过3度步距角;再按,再转过3度步距角……
(5)用1602显示屏显示转过的角度。
(6)用L298芯片驱动。
2步进电机原理
2.1步进电机原理及控制技术
步进电机一般分为永磁式(PM)、反应式(VR)和混合式(HB)3种类型。目前,二相混合式步进电机的应用最为广泛。图5为二相六线式步进电机的工作原示意图。由图可知,它有2个绕组,且每个绕组都有一个中间抽头。因此,二相步进电机也就有了6根引线。当电机中的绕组通电后,其定子磁极产生磁场,将转子吸合到相应的磁极处。若绕组在控制脉冲的作用下,通电方向使定子在顺时针方向轮流产生磁场,则电机可顺时针转动;通电方向使定子在逆时针方向轮流产生磁场,则电机可逆时针转动。控制脉冲每作用一次,通电方向就变化一次,使电机转动一步,即一个步距角。脉冲频率越高,电机转动也就越快。
本次课设所使用的二相步进电机需要采用双极性的接法。双极性则是指步进电机线圈中电流的流动方向不是单向的,即绕组线圈中的电流有时沿某一方向流动,有时按相反方向流动。步进电机的双极性驱动电路如图2-5所示它使用8个晶体管来驱动2组相位。双极性驱动电路可以同时驱动四线式或六线式的二相步进电机。对于二相六线式步进电机而言, 2个绕组的中间抽头Vdd1和Vdd2都悬空。根据步进电机的工作原理,当控制器给驱动器发出脉冲信号时,驱动器经过环形分配器和功率放大后,电机绕组通电的顺序为 ,其4个状态按顺序周而复始进行变化,电机转动;若通电时序就变为 时,电机就逆向转动。步进电机运转时,当达林顿管Q1和Q4导通时,线圈中电流方向为A→ ;当林顿管Q2和Q3导通时,线圈中电流方向为 →A。可见,步进电机线圈中的电流方向在运转过程中是不断改变的。
(4)步进电机的加减速控制
在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于leizi888 2010
惯性跟不上电信号的变化,这时就会产生堵转和失步现象。所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。加速过程有突然施加的脉冲启动频率f0。步进电机的最高启动频率(突跳频率)一般为0.1 KHz到3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。用PLC实现步进电机的加P减速控制,实践上就是控制发脉冲的频率。加速时,使脉冲频率增高,减速则相反。如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。速度从v1~v2变化,如果是线性增加,则按给定的斜率加P减速;如果是突变,则按阶梯加速处理。在此过程中要处理好两个问题:
综合课程设计
题目
两相步进电机
学院
计信学院
专业
10自动化
班级
2班
学生姓名
指导教师
文远熔
2012
年
12
月
28
日
两相步进电机课程设计报告
步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,
(1)
图4-21 二相步进电机原理图
(2)步进电机的速度控制
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调试。
(3)步进电机的起停控制
步进电机由于其电气特性,运转时会有步进感。为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。
价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
关键字:步进电机单片机
1设计内容
根据给定的任务要求选择合适的单片机和其他电子元件,进行系统硬件电路设计和软件编程,根据系统制作并调试电路板,使之:
(1)按键,步进电机按一定速度正转。
(2)按键,步进电机按一定速度反转。