基于Proteus的步进电机加减速控制辅助设计方法
- 格式:pdf
- 大小:353.74 KB
- 文档页数:3
.直流电机调速资料汇总一.使用单片机来控制直流电机的变速,一般采用调节电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。
C语言代码:#include<AT89X52.h>#define uchar unsigned char#define uint unsigned intsbit K5=P1^4;sbit K6=P1^5;sbit PWM1=P1^0;sbit PWM2=P1^1;sbit FMQ=P3^6;uchar ZKB1,ZKB2;.void delaynms(uint aa){uchar bb;while(aa--){for(bb=0;bb<115;bb++) //1ms基准延时程序 {;}}}void delay500us(void){int j;for(j=0;j<57;j++){;}}void beep(void){uchar t;for(t=0;t<100;t++){delay500us();FMQ=!FMQ; //产生脉冲}FMQ=1; //关闭蜂鸣器delaynms(300);}void main(void){TR0=0; //关闭定时器0TMOD=0x01; //定时器0,工作方式1TH0=(65526-100)/256;TL0=(65526-100)%256; //100us即0.01ms中断一次 EA=1; //开总中断ET0=1; //开定时器0中断TR0=1; //启动定时器T0ZKB1=50; //占空比初值设定ZKB2=50; //占空比初值设定while(1){if(!K5){delaynms(15); //消抖if(!K5) //确定按键按下{beep();ZKB1++; //增加ZKB1ZKB2=100-ZKB1; //相应的ZKB2就减少 }}if(!K6){delaynms(15); //消抖if(!K6) //确定按键按下{beep();ZKB1--; //减少ZKB1ZKB2=100-ZKB1; //相应的ZKB2增加.}}if(ZKB1>99)ZKB1=1;if(ZKB1<1)ZKB1=99;}}void time0(void) interrupt 1{static uchar N=0;TH0=(65526-100)/256;TL0=(65526-100)%256;N++;if(N>100)N=0;if(N<=ZKB1)PWM1=0;elsePWM1=1;if(N<=ZKB2)PWM2=0;elsePWM2=1;}//显现:电机转速到最高后,也就是N为1或99时,再按一下,就变到99或1,//电机反方向旋转以最高速度二、容及要求:1、设计一个直流电机调速系统,并用单片机实现连接开关和数码显示并将其值输入直流电机调速系统。
基于Proteus 与单片机的步进电机控制设计杨 宏,李国辉(西安邮电学院 陕西西安 710061)摘 要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
采用AT 89C52单片机内部的定时器改变CP 脉冲的频率从而实现对步进电机的转速进行控制,实现了电机调速与正反转的功能,并使用EDA 软件P roteus 对设计进行了仿真,同时还设计了硬件电路。
结果表明,使用P roteus 仿真结果与硬件电路实验结果基本一致。
先采用P rot eus 仿真,再移植到相应的硬件电路,这种方式可以减小系统开发成本和周期,具有一定的推广价值。
关键词:步进电机;单片机;调速系统;Pr oteus中图分类号:T P27 文献标识码:A 文章编号:10042373X(2010)052104203Design of Control S ystem of Stepper Motor Based on Proteus and S ingle Chip MicrocomputerYANG Hong,LI Guohui(Xi c an Uni versit y of P ost and Telecommunicat i ons,Xi c an,710061,China)A bstra ct :Stepper motor is the open 2loop contr ol device changing the electrical pulse signal into angular displacement or linear displacement.The speed of stepper motor is controlled by turning the CP pulse frequency by the internal timer of AT 89C52single chip microcomputer,and its nor mal 2r everse funct ion is realized.The simulation is done by the P roteus soft 2ware of EDA,and the ha rdwar e circuit is also designed.T he r esults show that the simulation results by Proteus softwar e and the har dware exper imental results are basica lly consist ent.The simulation is used firstly by P roteus,and it is t ransplanted into the cor responding hardware cir cuit.This way can reduce system c s developing costs and cycle,and has a certain pr omoting value.Keywords :stepper motor ;single chip microcom puter;speed regulating system;Pr oteus收稿日期:2009210226基金项目:国家自然科学基金资助项目(40974078);陕西省自然科学基金资助(2007D15)0 引 言步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。
计算机控制技术课程设计报告《基于Protues的步进电机控制系统仿真设计》姓名:学号:专业:自动化(1)班授课老师:老师日期: 2013/6/20目录引言 (1)1设计电源 (1)2.四项步进电机 (1)2.1步进电机 (1)2.2步进电机的控制 (1)2.3步进电机的工作过程 (1)3电路图设计 (2)3.1AT89c52的概述 (2)3.2最小系统 (2)3.3复位电路 (2)3.4控制电路 (3)3.5电机驱动电路 (3)4程序设计 (3)4.1 主程序框图 (3)4.2 步进电机速度控制程序框图 (4)4.3 控制开关输入程序框图 (5)5结束语 (6)[参考文献] ................................ 错误!未定义书签。
附录A 源程序. (8)附录B (10)引言通过控制AT89c52芯片,实现对四相步进电机的转动控制。
具体功能主要是控制电机正转、反转、加速与减速。
具体工作过程是:给作品通电后,步进电机按照预先设置的转速和转动方式转动。
调整正反转按钮,步进电机实现正反转切换;按下加速开关,步进电机转速加快;按下减速开关时,电机转速减慢。
实现设计具体用到的仪器:AT89C52芯片、开关单元、四项步进电机等。
实现设计具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路[1]。
1设计电源AT89C51单片机需要的电源是5v直流电源,我们所用的电是220V50H Z,这要需要交流电源220V 转换5V直流电源,利用变压器的原理220v进行降压,单片机控制系统以及外围芯片供电采用7805系列三端稳压器件,通过全波整流,然后进行滤波,然后进行滤波稳压,使用电容滤去交流,电路如图1.1所示。
图1.1 电源设计图2 四项步进电机2.1步进电机步进电机是一种将电脉冲转化为角位移的执行机构。
电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角[2]。
proteus中的步进电机有两种,六线制(MOTOR-STEPPER)和四线制(MOTOR-BISTEPPER),六线制的左右中间两根线接电源,任然剩下四根,但的顺序和四线制的不同,见下图。
注意a,b,c,d的顺序在实际情况中,单片机是不能直接拖动步进电机的,需用ULN2003这样的器件两个步进电机都是四相电机。
如果用四拍:那么P2输出的(顺时针)顺序就是:0x03,0x06,0x0c,0x09a 1 0 0 1b 1 1 0 0c 0 1 1 0d 0 0 1 1如果用八拍:那么P2输出的(顺时针)顺序就是:0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09a 1 1 0 0 0 0 0 1b 0 1 1 1 0 0 0 0c 0 0 0 1 1 1 0 0d 0 0 0 0 0 1 1 1给一个测试八拍的仿真程序:1.#include<reg52.h>2.3.main(){4.while(1){5.unsigned int i,j,k;6.for(k=0;k<255;k++){7.for(i=0;i<75;i++)8.for(j=0;j<255;j++);9.P2=0x01;10.for(i=0;i<75;i++)11.for(j=0;j<255;j++);12.P2=0x03;13. for(i=0;i<75;i++)14.for(j=0;j<255;j++);15.P2=0x02;16.17. for(i=0;i<75;i++)18.for(j=0;j<255;j++);19.P2=0x06;20.for(i=0;i<75;i++)21.for(j=0;j<255;j++);22.P2=0x04;23.for(i=0;i<75;i++)24.for(j=0;j<255;j++);25.P2=0x0c;26. for(i=0;i<75;i++)27.for(j=0;j<255;j++);28.P2=0x08;29.30. for(i=0;i<75;i++)31.for(j=0;j<255;j++);32.P2=0x09;33.34.35.}36. }37.}。
基于单片机和PROTUES 控制电机应用电路设计1 直流电机应用电路设计1.直流电机及驱动芯片元件 元件名称 类/子类 描述 直流电机 MOTOR-DC Electromechanical 驱动芯片 L298 Analog ICs/Miscellaneous2.直流电机控制PROTUES 电路3.直流电机驱动程序设计#include <AT89X52.H>sbit cw_cw=P1^1;sbit cw_ccw=P1^0;sbit pwm=P1^4;sbit FZ=P2^0;sbit FF=P2^1;unsigned char n,n1,n2,n3,n4; void delay(unsigned int m); void Timer0_init(void);void main(){n=20;n1=3;n2=n-n1;n3=n1;n4=n2;Timer0_init();while(1){if(FZ==0){cw_cw=1;cw_ccw=0;}elseif(FF==0){cw_cw=0;cw_ccw=1;}}}void delay(unsigned int m){while(--m);}void Timer0_Interrupt(void) interrupt 1 {TH0=0xdf;TL0=0x06;if( pwm==1){n3--;if(n3==0){n3=n1;pwm=0;n4=n2;}}else{n4--;if(n4==0){n4=n2;pwm=1;n3=n1;}}}void Timer0_init(void){TH0=0xdf;TL0=0x06;TMOD=0x01;IE=0x82;TR0=1;}2 步进电机应用电路设计1.PROTUES元件(1)步进电机元件元件名称类/子类描述单极性步Electromechanical 6线制进电机MOTOR-STEPPER(2)步进电机驱动电路元件名称 元件 类/子类 描述 步进电机驱动电路 ULN2003 Anaiog ICs/MiscellaneousULN2003是高耐压、大电流达林顿阵列,由七个硅NPN 达林顿管组成。
本科毕业设计基于proteus的步进电机智能控制系统的设计所在学院机械与工程学院专业名称机械设计制造及其自动化申请学士学位所属学科工学摘要步进电机就是将电脉冲信号转化为线位移或角位移的开环控制元件。
当在不超载的情况下,电动机的转速快慢与停止的位置只取决于脉冲信号的频率与脉冲数,而不受负载变化而变化。
步进电机广泛应用于各种自动控制系统中。
本次设计以STC89C51单片机为核心,设计步进电机智能控制系统。
通过按键实现步进电机正转,反转,加速,减速,并使用LED数码管显示电机的转动速度。
结果表明,该系统可以实现需求。
本设计是采用STC89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。
根据不同的需要我们可以有十个不同档位速度的选择,并可以实现正反转。
为了更显人性化,我们加上了一个数码管显示,显示步进电机的运行状态。
关键词:STC89C51,LED,步进电机,ULN2003ABSTRACTStepper motor is the electrical pulse signal is changed to angular displacement or linear displacement of the open-loop control components, in is not overloaded, the motor speed, and stop location depends only on the pulse signal frequency and pulse number, regardless of load changes, is widely used in automatic control system. The design STC89S51 microcontroller as the core, design of stepper motor control, through the keys to achieve step stepper motor positive rotation, on the contrary, acceleration, deceleration, and use the LED display of the motor speed.This design is the use of STC89C51 microcontroller to control the stepping motor, temporal side through the I/O port output wave as the control signal of step motor, the signal through the chip ULN2003 to drive the stepper motor.According to different needs, we can have ten different gear speed selection, and the realization of positive inversion. In order to be more humanized, we added a digital display, display the operating state of the stepping motor.Key words: STC89S51;LED;stepping motor;ULN2003目录第一章引言 (1)1.1 步进电机及其发展 (1)1.2 步进电机在我国的发展应用及前景 (1)1.3 设计研究内容 (2)第二章步进电机控制总系统设计 (3)2.1 系统框架 (3)2.2 单片机的选择 (3)2.3 步进电机的选择 (3)2.4 电机驱动的选择 (4)第三章系统硬件电路设计 (4)3.1系统硬件总电路构成 (4)3.2 步进电机系统 (4)3.2.1 步进电机的原理 (5)3.2.2 步进电机的特点 (5)3.3 单片机系统 (6)3.3.1 单片机的引脚功能 (6)3.3.2 主要特性 (7)3.3.3 I/O口引脚 (9)3.3.4 振荡器特性 (9)3.4 键盘控制电路 (10)3.5 数码管驱动显示电路 (10)3.6 步进电机驱动电路 (11)第四章控制系统软件分析与设计 (12)4.1 主程序流程图 (13)4.2 读按键子程序流程图 (13)4.3 按键处理子程序流程图 (14)4.4 电机控制中断程序流程图 (15)第五章系统调试与改进 (17)第六章总结 (18)附录A (19)附录B (20)附录C (21)参考文献 (28)致谢 (29)第一章引言1.1 步进电机及其发展步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。