基于单片机STC89C52的直流电机PWM调速控制系统
基于STC89C52的步进电机调速系统
目录摘要 (3)一课程设计目的 (4)二系统简介 (5)2.1 步进电机工作原理简介 (5)2.2 步进电动机的励磁方式 (5)2.2.1 二相励磁 (6)2.2.2 一-二相励磁 (6)2.3 步进电机基本参数 (7)2.4 闭环PID控制原理 (8)三方案选择 (8)3.1 控制器的选择 (8)3.2 显示器的选择方案 (8)3.3 转速信号采集方案 (8)3.4 电机驱动芯片的选择 (9)四硬件总体设计 (9)4.1 系统原理框图 (9)4.2 系统电路原理图 (9)五软件总体设计 (10)六功能模块介绍 (11)6.1硬件模块 (11)6.1.1 STC89C52RC型单片机最小系统 (11)6.1.2 ULN2003APG驱动电路 (11)6.1.3 74HC14E (12)6.1.4 测速模块 (12)6.1.5 显示电路 (13)6.2软件模块 (14)6.2.1 LCD显示模块 (14)6.2.2 键盘电机模块 (16)6.2.3 PWM模块 (17)6.2.4 测速模块 (18)七验证与测试 (19)7.1验证 (19)7.2测试 (19)7.3 运行结果 (20)八小组分工...................................................................................错误!未定义书签。
九设计中的问题...........................................................................错误!未定义书签。
十参考文献. (22)附录 (23)1. 完整程序 (23)2.原理图、仿真图、PCB图 (32)摘要步进电机是一种将电脉冲信号转换成相应的角位移或线位移的电磁机械装置,属于输出与输入脉冲对应的增量驱动元件。
它具有步进数可控,运行平稳,价格便宜等优点,广泛应用于数控机床、机器人控制、绘图仪、石英钟表等数字控制和自动控制系统中。
基于51单片机STC89C52RC的直流电机软件PWM控制的基本原理
基于51单片机STC89C52RC 的直流电机软件PWM 控制的基本原理电机驱动芯片L293D 介绍:在这里直流电机的控制采用L293D 芯片。
L293D 是一款单片集成的高电压、高电流、4通道电机驱动,设计用于连接标准DTL 或TTL 逻辑电平,驱动电感负载(诸如继电线圈、DC 和步进电机)和开关功率晶体管等等。
L293D 有4个通道,每个电机需要用到2个通道,以实现电机的正反转。
为了简化为双桥应用,L293D 每个通道对(IN1与IN2为1对;IN3与IN4为1对)都配备了一个使能输入端(IN1与IN2对应使能端EN1;IN3与IN4对应使能端EN2)。
L293D 具有如下特性:1、L293D 每个通道的电流输出能力达600 mA2、L293D 每个通道的峰值输出电流达1.2 A (非重复)3、便于使能4、L293D具有过温保护5、逻辑“0”输入电压高达1.5 V(高抗噪性)6、内置箝位二极管直流电机PWM调速基本原理:在脉宽调制(PWM)控制直流电机转速的情况下,电源并非连续地向直流电机供电,而是在一个特定的频率下为直流电机提供电能。
利用不同占空比的PWM调速方波信号,调节对直流电机的通断电,能起到对直流电机调速作用。
这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上。
这样,改变L293D始能端EN1和EN2上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了直流电机转速。
软件PWM调速实例介绍:通过执行软件延时交替改变EN1输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
用到了IN1与IN2通道对,对应的直流电机接到OUT1和OUT2上。
/********************直流电机PWM调速******************* * 处理器:STC89C52RC* 开发环境:KEIL* 名称:PWM调速*******************************************************/#include<reg51.h>//电机驱动芯片L293D输入IO口sbit IN1=P1^3;sbit IN2=P1^4;sbit EN1=P1^2;//注意:对应的直流电机接到OUT1和OUT2上。
基于STC单片机的直流电机调速系统设计
毕业设计(论文)题目:姓名:专业:学院:继续教育学院学习形式:助学单位:指导教师:2014年7月毕业设计(论文)说明书题目院别:专业:班级:设计人:指导教师:毕业设计(论文)任务书一、题目:二、基础数据三、内容要求:1. 说明部分:2. 计算部分:3. 绘图部分:四、发给日期:年月日五、要求完成日期:年月日指导教师:系主任:年月日基于STC单片机的直流调速系统设计摘要本文介绍一种基于STC89C52单片机控制的PWM直流电机脉宽调速系统。
系统以廉价的STC89C52单片机为控制核心,以直流电机为控制对象。
从系统的角度出发,对电路进行总体方案论证设计,确定电路各个的功能模块之间的功能衔接和接口设置,详细分析了各个模块的方案论证和参数设置。
整个系统利用52单片机的定时器产生1K左右的PWM脉冲,通过快速光耦6N137实现控制单元与驱动单元的强弱电隔离,采用4个9013和2个9012构成的H桥电路实现对直流电机的调速,用光电编码盘完成测速功能。
关键词:STC89C52;PWM;光耦隔离;光电编码盘Design of DC speed control system based on STC singlechip microcomputerAbstractWith the development of science and technology, automatic control system has been widely used and development in all walks of life, which the application of the automatic speed control system plays a particularly important role. DC motor as AC motor as the structure is simple, cheap, easy to manufacture, easy to maintain, but it has a good start, braking performance, it is appropriate in a wide range of smooth speed, DC speed control system is still automatically speed control system in the main form. Motor control from simple to complex, and mature into the mainstream. With the development of power electronics technology, the switching speed is faster, easier to control the full-controlled power devices MOSFET and IGBT become mainstream, pulse width modulation technology showed a greater superiority: the main circuit line is simple, need to use the power components ; switching frequency, current continuous, harmonic, motor loss and fever are small; good low-speed performance, high-speed stability, and thus a wide speed range; rapid system response performance, dynamic immunityThe design of the 89C52 MCU as the core, using the C programming language to control, using MCU internal timer adjustable rectangular wave. Start and stop the keyboard as an input to control the DC motor speed and direction, the measurement of the speed of the motor, working principle and mathematical model of the DC motor and pulse width modulation (PWM) control principles and H-bridge circuit design, based on the basic principles of design a driver circuit, a PWM technique to control the motor, the purpose of calculation of the duty cycle to achieve precise speed control the photoelectric tube as well as the code disk to measure the speed of the motor to prevent the motor stall instead burn. Speed measured by four digital tube display.Keywords: STC89C52;PWM;Optocoupler isolation;photoelectric coded disk目录摘要 (I)Abstract (II)1前言 ................................................................................................................................................... I V1.1数字直流调速的意义............................................................................................................ I V1.2研究现状综述........................................................................................................................ I V1.2.1电气传动的发展现状同时 (V)1.2.2微处理器控制直流电机发展现状 (V)2系统总体方案论证 ........................................................................................................................... I X2.1系统方案比较与选择............................................................................................................ I X2.2系统方案描述........................................................................................................................ I X 3硬件电路的模块设计. (X)3.1驱动电路方案论证设计 (X)3.1.1驱动电路方案、参数描述........................................................... 错误!未定义书签。
毕业设计(论文)基于单片机的pwm直流调速系统设计
基于单片机的PWM直流调速系统设计摘要随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位。
基于单片机的直流电机调速系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响。
其控制软件能够进行逻辑判断和复杂运算。
系统的稳定性好,可靠性高。
直流电动机具有优良的起、制动性能,宜于在广泛范围内平滑调速。
在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。
本设计是基于单片机控制的PWM直流电机调速系统,系统以AT89C52单片机为核心,以2A、1000r/min小直流电机为控制对象,以L298N为H桥驱动芯片实现速度、电流反馈双闭环。
采用PID控制算法,调节PWM占空比从而控制电机两端电压,以达到调速的目的。
用4*3键盘输入有关控制信号及参数,可以实现电机的启制动、正反转、速度调节。
并在4位LED上实时显示输入参数及动态转速。
关键词:单片机、直流电机、PWM、PIDBased on SCM PWM dc speed control system designAbstractWith the progress of The Times and the development of science and technology, motor speed system in agricultural production, transportation and daily life plays a more and more important role in motor speed, therefore, the research has positive significance. For a long time, have been widely applied in dc motor control system, and has been inhabited areas in speed dominant. Based on SCM dc motor speed control system of high degree of standardization of hardware circuit, low cost, and the temperature drift. Device, The control software to logic and complex operation. The system has good stability and reliability. Dc motor with excellent, braking performance, and in a wide range smooth speed. In the mill, mine machine, excavator, metal cutting machine, paper machine, high-level elevator is widely used in the fields.The design is based on single chip microcomputer control system of dc motor control PWM, by AT89C52 singlechip system, and 1000r/min small double-a dc motor to control, L298N H bridge to drive chip realize speed, double loop current feedback. PID control algorithm, regulate and control PWM occupies emptiescompared to achieve both voltage motor speed. Use 4 * 3 keyboard input signal and the relevant control parameters, can realize the rev brake motor speed regulation, and positive &negative. And in four LED on real-time display input parameters and dynamic speed.Keywords:monolithic integrated circuits, a direct motor,PWM,PID目录基于单片机的PWM直流调速系统设计 (I)摘要 (I)Abstract (II)第一章绪论 (1)1.1课题背景 (1)1.2课题功能 (1)第二章系统硬件电路的设计 (2)2.1 系统总体设计 (2)2.1.1 系统总体设计框图 (2)2.1.2单片机的选择及其简介 (2)2.1.3 其他芯片简介 (6)2.2 PWM信号发生电路设计 (18)2.2.1 PWM的基本原理 (18)2.2.2 PWM信号发生电路设计 (20)2.2.3 H桥芯片的工作原理 (21)2.3 主电路设计 (24)2.4 转速和电流的测量 (24)2.5 AD转换 (26)2.6显示与键盘电路 (26)第三章系统软件程序的设计 (27)3.1 PID控制算法原理及流程图 (27)3.2 系统部分程序的设计 (29)3.2.1 单片机资源分配 (29)3.2.2 程序流程图 (30)结论 (32)参考文献 (34)附录................................................................................................ 错误!未定义书签。
基于89C52的双极性PWM直流电机调速程序
/**********************************************************************本实验是基于普中科技的开发板设计直流电动机双极性PWM调速实验。
*设计要求:k1控制电机正转,k2控制电机反转,k3控制电机加*速,k4控制电机减速,k5控制电机停止。
数码管显示电机转向,*速度。
实验所用电机为12V。
自带增量式光电编码器。
*电机正转时占空比>50%,且占空比越大,转速越快。
反转时占空比<50%,*且占空比越小,转速越快。
反转时数码管示数越小,转速越快。
**********************************************************************/#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit BRA=P2^5; // 刹车,接LM18200的BRA端//sbit DIR=P2^6; // 转向,不用接sbit PWM=P2^7; // 调速,接LM18200的DIR端,LM18200的PWM端口接+5V电源sbit k1=P1^0; //正转sbit k2=P1^1; //反转sbit k3=P1^2; //加速sbit k4=P1^3; //减速sbit k5=P1^4; //停止sbit ls138a=P2^2;sbit ls138b=P2^3;sbit ls138c=P2^4;uchar flag; //方向标志位uchar speed=50; //初始转速uint quan_num; //圈数,本实验中不用测圈数//uint pwm_on=50;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,// 0 1 2 3 40x6d,0x7d,0x07,0x7f,0x6f,0x40};// 5 6 7 8 9 -void delay(uint x){uchar i;while(x--){for(i=0;i<110;i++);}}/***************************************************************** 名称:init()* 功能:初始化函数,设置串口,定时器0,定时器1* 输入:无* 输出:无****************************************************************/void init(){TMOD=0x01;//定时器0工作在模式1,产生PWM波TH0=0xff; //定时100usTL0=0xa4;// IT0=1; //IT0=0低电平触发,IT0=1下降沿触发TR0=1; //开定时器0ET0=1; //开定时器0中断EA=1; //开总中断// IP=0x02;}/**************************************************************** * 名称:display()* 功能:显示子函数,显示圈数,转速和转向* 输入:圈数,转速,转向* 输出:无****************************************************************/ /*void display_sum(uint num) //圈数显示{P0=table[num%1000/100]; //显示圈数百位ls138a=1;ls138b=0;ls138c=1;delay(1);P0=table[num%100/10]; //显示圈数十位ls138a=0;ls138b=1;ls138c=1;delay(1);P0=table[num%10]; //显示圈数个位ls138a=1;ls138b=1;ls138c=1;delay(1);}*/void display_speed(uchar num) //转速显示{P0=table[num%100/10]; //显示转速十位ls138a=1;ls138b=1;ls138c=0;delay(1);P0=table[num%10]; //显示转速个位ls138a=0;ls138b=0;ls138c=1;delay(1);}void display_dir(uchar num) //方向显示{P0=table[num];ls138a=0;ls138b=1;ls138c=0;delay(1);}/**************************************************************** * 名称:dispose()* 功能:正反转加减速子函数* 输入:无* 输出:正转转速范围55-95r/min,反转转速范围5-45r/min****************************************************************/ void dispose() //按键处理{if(k5==0) //停止{// EX0=0; //关外部中断0BRA=1; //刹车}if(k1==0) //正转,转向显示0{// EX0=1; //开外部中断0BRA=0; //关刹车speed=70;PWM=1; //开电机flag=0; //电机正转标志}while(k1==0); //等待按键松开if(k2==0) //反转,转向显示1{// EX0=1; //开外部中断0BRA=0; //关刹车speed=30;PWM=1; //开电机flag=1; //电机反转标志}while(k2==0); //等待按键松开if(k3==0){delay(10);if(k3==0) //加速{if(speed>50) //正转0加速{speed=speed+5;if(speed==100){speed=95;}}if(speed<50) //反转1加速,示数越小,占空比越大,转速越快{speed=speed-5;if(speed==0){speed=5;}}}}while(k3==0); //等待按键松开if(k4==0) //减速{delay(10);if(k4==0){if(speed>50) //正转0减速{speed=speed-5;if(speed==50){speed=55;}}if(speed<50) //反转1减速,示数越大,占空比越小,转速越慢{speed=speed+5;if(speed==50){speed=45;}}}}while(k4==0);//等待按键松开}void main(){init();PWM=0;//关电机BRA=0;//关电机刹车while(1){dispose(); //按键处理display_speed(speed); //显示速度// display_sum(quan_num); //显示圈数display_dir(flag); //显示转向}}/**************************************************************** * 名称:timer0()* 功能:定时器0子函数,产生PWM波* 输入:无* 输出:无****************************************************************/ void timer0()interrupt 1 //PWM频率为1/(100us*100)=10k Hz{uchar count;TH0=0xff; //100usTL0=0xa4;if(count==speed){PWM=0; //关电}count++;if(count>=100){count=0;if(speed!=0)//如果时间是0,保持原来状态PWM=1; //开电}}/**************************************************************** * 名称:int0()* 功能:外部中断0子函数* 输入:脉冲* 输出:电机旋转圈数****************************************************************/ /*void int0() interrupt 0{uint a;if(++a>=512) //记每圈的脉冲数{a=0;quan_num++;if(quan_num>=999){quan_num=0;}}}*/。
基于AT89C52单片机的直流电机调速系统的设计
基于AT89C52单片机的直流电机调速系统的设计摘要:本设计以AT89C52单片机为控制核心,利用数模转换器DAC0832将单片机输出数字信号转换为电压值来实现对直流电机转速的调节和档位设置。
直流电机转速与档位的设置通过数码管显示来实现。
该系统具有调速精度高和调试简单的特点。
关键词:直流电机单片机转速调节DAC0832DC Motor Speed Control System based on MCU(Department of Electronic Information,Northeastern University at QinhuangdaoQinhuangdao hebei 066004,China)Abstract: The design for the control of AT89C52 microcontroller core, microcontroller output by digital to analog converter DAC0832 will convert digital signals to achieve the voltage regulation of DC motor speed and gear settings. DC motor speed and gear settings to achieve through the digital display. The system has high accuracy and easy adjustment, speed control features.Key Words: DC Motor MCU Speed control DAC0832引言:直流电机具有良好的调速性能因此在在日常生活中被广泛使用。
而随着科学水平的提高,直流电机转速的精确程度,反应速度等主要性能也越来越引起人们的重视。
本文以AT89C52单片机为核心控制器,通过DAC0832为数模转换芯片将单片机输出端数字信号转化为直流电机的电压值,从而达到简单方便,调节精度高,低功耗的特点。
89C52单片机直流电机控制器设计
89C52单片机直流电机控制器设计【摘要】本论文介绍了基于89C52单片机的小功率直流电机控制系统。
该系统主要功能为:设定直流电机的转速和转向,通过光电开关对电机测速,将测得的转速值反馈给单片机,单片机经PI运算后输出PWM信号控制电机运转。
实际测试结果表明该系统的转速误差范围小(〒20圈/分),调整时间短,转速设定方便快捷,显示直观清楚。
本文还对此系统的性能指标进行了分析。
【关键词】直流电机,PWM,PID1.前言由于单片机具有体积小、集成度高、运算速度快、运行可靠、应用灵活、价格低廉以及面向控制等特点,因此在工业控制、数据采集、智能仪器仪表、智能化设备和各种家用电器等领域得到广泛的应用,而且发展非常迅猛。
随着单片机应用技术水平不断提高,目前单片机的应用领域已经遍及几乎所有的领域。
现在国内外工业上对电机的调速基本已经不再使用模拟调速,而采用数字调速系统,而数字调速系统大部分都是用单片机来进行控制,数字调速系统具有控制精确度高,非常稳定,受环境影响小,效率高等优点,所以在国内外的使用越来越广泛。
与交流电动机相比,直流电机结构复杂、成本高、运行维护困难,但是直流电机具有良好的调速性能、较大的启动转矩和过载能力强等许多优点,因此在许多行业仍大量应用。
近年来,直流电动机的机构和控制方式都发生了很大的变化。
随着计算机进入控制领域以及新型的电力电子功率元器件的不断出现,采用全控型的开关功率元件进行脉宽调制(Pulse Width Modulation,简称PWM)已成为直流电机新的调速方式。
这种调速方法具有开关频率高、低速运行稳定、动态性能良好、效率高等优点,更重要的是这种控速方式很容易在单片机控制系统中实现,因此具有很好的发展前景[1]。
1.1 有关技术简介1.1.1 PWM控制[1]PWM(Pulse Width Modulation)——脉冲宽度调制,简称脉宽调制,是一种最初用语无线电通信的信号调制技术,后来在控制领域中(比如电机调速)也得到了很好的应用,于是形成了独特的PWM控制技术。
STC89C52单片机直流电机的设计
摘要近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流电机具有优良的调速特性:调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,满足生产过程自动化系统各种不同的特殊要求。
本系统以STC89C52单片机为核心,通过内部定时器产生PWM波形,控制LN298大功率H桥路驱动直流电机已达到控制转速的目的。
通过数码管将速度等级显示出来,此外分别从主控制芯片的选择、显示电路的比较与选择、电机调速控制模块、电源电路与电机驱动电路四个方面进一步确定系统的总体设计方案,最后通过数码管LED显示程序设计以及电机控制子程序完成实验步骤,并在结论部分对系统调试过程中的常见的故障分析和注意事项做出了摘要说明,具有一定的理论和实际意义。
关键词:STC89C52;双向可逆控制系统;PWM调速;目录绪论 (1)1系统总体方案 (3)1.1 主控制芯片的选择 (3)1.2 显示电路的比较与选择 (4)1.3 电机调速控制模块 (4)1.4 电源电路与电机驱动电路 (4)2系统硬件方案设计 (5)2.1 系统总电路框图设计 (5)3.2 系统模块电路设计及原理 (5)3.2.1单片机最小系统设计 (5)3.2.2直流电机的调速设计 (8)3.2.3 测速发电机 (9)3.2.4 数码管显示电路设计 (9)3.2.5 L298N驱动电路设计 (11)3.2.6 按键电路电路设计 (13)3系统的软件设计 (15)3.1 系统的整体程序流程图 (15)4.2 数码管LED显示程序设计 (15)4.3 电机控制子程序 (16)5系统调试 (18)5.1 常见的故障分析 (18)5.2 系统调试注意事项 (18)结论 (18)参考文献 (19)附录一硬件原理图 (21)附录二程序源代码 (22)致谢 (24)绪论(1)课题研究的背景近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流电机具有优良的调速特性:调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,满足生产过程自动化系统各种不同的特殊要求。
基于单片机AT89S52的直流电机PWM调速控制系统
基于单片机AT89S52的直流电机PWM调速控制系统一、背景介绍在工业自动化控制中,直流电机的使用非常广泛。
为了满足生产需要,直流电机往往需要精确的调速控制。
而基于单片机AT89S52的直流电机PWM调速控制系统,能够进行精确的调速控制,能够满足不同领域生产的需求。
二、系统的工作原理基于单片机AT89S52的直流电机PWM调速控制系统,是通过单片机的输出比较器和计数器,生成PWM信号,对直流电机进行调速控制。
系统的工作流程如下: 1. 将单片机的一个IO口设置为输出端口,将PWM信号输出至直流电机控制器。
2. 单片机通过PWM的工作状态,实现对直流电机的调速控制。
3. 接收外部信号,如光电传感器等外部元件信号,与单片机实现互动控制。
三、系统的硬件结构基于单片机AT89S52的直流电机PWM调速控制系统,主要由以下硬件构成:1. 单片机:AT89S52单片机。
2. 驱动芯片:L293D电机驱动芯片,能够带动2个直流或步进电机。
3. 直流电机:具有恒定转速输出的直流电机。
4. 供电模块:通过电源模块将工作电压稳定输出,以保证整个系统的稳定性。
四、系统的软件设计在基于单片机AT89S52的直流电机PWM调速控制系统中,需要进行相应的软件设计,以实现对硬件的完备控制。
### 1. 硬件方面的编写初始化单片机及端口、占用模式、管脚监听、中断响应等基本操作。
2. 软件方面的实现1.通过控制器计数器以及方波控制直流电机的执行速度。
2.利用定时器产生PWM波控制直流电机的状态。
3.通过IO控制输出、接收外部信号。
3. 控制程序的实现检测输出端口,通过输入数据产生PWM波,通过PWM波控制电离子的转速。
五、系统的应用场景基于单片机AT89S52的直流电机PWM调速控制系统,可广泛应用于以下场景: 1. 机床设备制造领域,能够对机床电机的转速进行精确控制。
2. 汽车制造领域,能够对汽车电动马达的转速进行精确控制,从而提升汽车驾驶体验。
基于STC89C52单片机的直流脉冲(PWM)调速及旋转方向控制系统设计讲解
rotates for each winding supplies electrical energy. Energized rotor winding and the stator
1.2.3电机驱动电路的设计.............................................................................................. 8
2系统软件设计............................................................................................................................. 9
.
摘要随着时代的进步和科技的发展 电机调速系统在工农业生产、交通运输以及日常
生活中起着越来越重要的作用。直流电机是通过两个磁场的相互作用而发生旋转的。
定子通过永磁体或受激励电磁铁产生一个固定磁场 转子由一系列绕组和导磁材料构
成 电流通过每个绕组时都会产生磁场。对有刷直流电机而言 转子上的换向器和定
子上的电刷在电机旋转时为每个绕组供给电能。通电转子绕组与定子磁体有相反的极
the current, and the. For the DC motor control is a challenge, because must be at work
during changing the speed of DC motor. The DC motor is the efficient operation of most
STC89C52单片机控制直流电机设计
本人呈交的毕业论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业论文的研究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。本毕业论文的知识产权归属于培养单位。
3主控制模块的设计
3.1 89C52
89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C52是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图2.1 7805管脚图
2.2
整个电源供电模块由一片7805和4个电容构成。这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2为输入端滤波电容,C3、C4为输出端滤波电容。如图2.2所示,7805的1脚接正9V的输入,2脚接地,3脚为输出。在1脚和2脚间接两个滤波电容。3脚和2脚间也接两个滤波电容。
针对直流电机运行环境恶劣、干扰严重的特点,从系统的硬件设计、软件设计等多方面进行抗干扰的综合考虑,并利用多种软件和硬件技术来提高和改善系统的抗干扰能力,有效地提高了系统的可靠性和实用性。运行结果表明,系统实现了电机的高精度多速度控制,达到了性能指标要求。
基于STC89C52单片机无刷直流电动机控制系统设计
运动控制系统课程设计说明书题目:基于单片机的无刷直流电动机控制系统设计专业班级:电气自动化 02班学号:13姓名:孔令上指导教师:文小玲王振成绩:2013年6月21日至7月2日基于单片机的无刷直流电动机控制系统设计Design of brushless DCmotor control system onsingle-chip microcontroller学生姓名: 孔令上指导教师: 文小玲王振课程设计量化评分标准?答辩记录摘要电动机作为机电能量的转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活之中。
传统的直流电动机均采用电刷, 以机械方法进行换向, 存在着相对的机械摩擦, 由此带来了噪声、火花、无线电干扰以及寿命短等致命弱点, 制造成本高及维修困难等缺点,因而大大地限制了它的应用范围。
永磁无刷直流电动机是近年随着电力电子器件及新型永磁材料发展而迅速成熟起来的一种新型机电一体化电机,它具有以下特点: 1.无刷直流电动机的转子采用高磁能积的稀土磁钢作为转子磁钢, 其转动惯量比鼠笼转子要小, 所以对于给定的转矩能够响应得更快, 控制特性更好。
2.无刷直流电动机的效率比感应电动机高。
因为在感应电机运行时, 转子上不会产生铜损和铁损。
3.在相同容量下, 无刷直流电动机的体积相对要比感应电机小, 重量轻。
4.无刷直流电机的噪音小。
5.无刷直流电机调速方便, 灵活, 范围广。
在分析无刷直流电动机(BLDCM)数学模型的基础之上,提出了一种新型的无刷直流电机控制系统建模仿真方法。
在Matlab/Simulink环境之下,利用无刷电机关键词:无刷直流电动机;电刷;换向器;单片机AbstractMotor as electromechanical energy conversion devices, and their use has spread invarious fields of national economy and people in their daily life. Traditional DC motor brushes, mechanical method of commutation, there is a relatively mechanical friction, which bring about the fatal weakness of noise, sparks, radio interference, and short life, manufacturing high cost and maintenance difficulties and shortcomings. thus greatly limiting its scope of application. The permanent magnet brushless DC motor is rapidly maturing in recent years with the development of power electronic devices and new permanent magnetic materials up a new the mechatronics motor, it has the following characteristics:1. The rotor of the brushless DC motor with high energy product rare earth magnet as the rotor magnet, the squirrel cage rotor inertia ratio is smaller, so for a given torque can respond faster to control features better.2. The efficiency of the brushless DC motor is higher than the induction the induction motor is running, the rotor does not produce the copper loss and iron loss.3. In the same capacity, the volume of the brushless DC motor is relatively better than the induction motor is small, light weight.4. Brushless DC motor noise. 5 Brushless DC motor speed convenient, flexible, and a wide rangePermanent magnet brushless DC motor controller structure has many forms, the initial complex analogue to the recently digital microcontroller as the core, but the new motor control ASIC, brushless DC motor speed control device design a great convenience, integrated analog control chip controlling function, the protection function, stable performance, simple system composed of the peripheral circuits required, and strong anti-jamming capability, especially suitable for volume controller, the performance requirements higher occasions. Advantages of a dedicated control chip of course, but often are expensive. In the occasion of some control accuracy is not high, you need to be able to have a working stability, price and relatively low-cost controller. This design is based on market demand.Keywords:HCCI;Chemical Kinetics;Numerical Simulation;DME;目录摘要............................................................................................................错误!未定义书签。
89C52单片机控制PWM调速电路实现小功率直流电机的转速
89C52单片机控制PWM调速电路实现小功率直流电机的转速调节,并要将其实时转速用LED 管显示出来。
而本系统必须符合以下几点要求:(1) 在(1000—5500)转/分内对直流电机进行任意调速,最小调速级差为1转/分。
(2)电机能在所设速度下稳定运转,运转速度与设定速度之差小于±20转/分。
(3)电机启动和加减80%额定负载时,其转速能迅速回到设定值,转速超调±5%内。
(4)利用按键和LED数码管设置速度,设置方便,快捷。
(5)利用LED数码管实时显示电机速度。
(6)电机能进行正反转控制。
控制方面,本设计是采用定时器控制I/O口输出PWM信号驱动斩波电路控制电机运转和调速;利用单片机外部中断引脚的捕获功能、电机同轴带缺口的圆盘、光电耦合器来测量转速;并将测得转速和设定转速进行PI运算后输出,实现闭环控制;转向调节则是用的桥式电路。
显示是利用8位LED数码管,用按键进行设定。
下面简单介绍下硬件组成和一些软件原理:一、硬件电路。
1、单片机选用的是STC的89C52,20MHz晶振。
2、显示部分比较简单,用的8位7段数码管同时显示设定速度和实时速度。
采用74LS164串行移位输出,只占用单片机3个I/O口,刷新频率100Hz。
3、PWM驱动电路。
使用了9012和8050两个三极管来驱动,相信网上很多的,也不用我多说,只是别忘了加上续流二极管和两个三极管之间的限流电阻就是。
4、测速电路。
测速电路用的是光耦测量转动圆盘引起的脉冲宽度,从而可得单片机的实时速度,精度很高,可达千分之一。
用的是外部中断的。
好像是捕获模式,忘记了~呵呵!5、转向调节电路。
转向调节,由于是后来加上去的,所以就没有使用单片机控制,直接用硬件实现,但其实原理是一样的。
原理是利用开关控制继电器,然后控制桥路对电机实施转向控制。
另外用一个同轴电机按正反方向接2个LED用来指示方向。
PS:因为这是小功率电机,所以就算没有制动电路,强制转向,也不会对电机造成损坏。
基于单片机的直流电机PWM调速系统_毕业论文 精品推荐
学校代码: 11059学号:0905074010Hefei University毕业论文(设计)BACHELOR DISS ERT A TIO N论文题目:基于单片机的直流电机PWM调速系统学位类别:工学学士学科专业:自动化作者姓名:马明全导师姓名:台德艺完成时间:2013年5月25日单片机控制的PWM直流电机调速系统设计中文摘要脉宽调制(PWM)具有调速精度高,响应速度快,调速范围宽和损耗低的特点,逐渐成为直流电机控制的主流技术,并获得了广泛应用。
本系统采用STC89C52单片机作为系统的中央处理器,采用红外光电耦合器测量电动机的转速,用矩阵键盘实现直流电机的速度设定及启动、停止、方向和加减速度的控制,采用QC12864液晶显示屏幕实现电机实时转速、设定转速及转动状态的显示。
经测试:系统稳定、灵活,调速范围为500-2000转/每分,PWM波调整步长为1,对应的电机转速的调整步长为10r/min。
关键词: 直流电机; 调速;STC89C52;PWMThe Design of PWM Controlled DC Motor Speed Control System BasedOn Single ChipABSTRACTPulse Width Modulation (PWM) with high precision speed control,, fast response, wide speed range and low loss characteristics, has become the mainstream technology to DC motor control ,and access to a wide range of applications.The system used STC89C52 microcontroller as the system's central processor, using infrared optocouplers to measure the motor speed, when Matrix keyboard DC motor speed setting and start, stop, direction and control of acceleration and deceleration, using QC12864 LCD screen to achieve real-time speed of the motor, set the speed and rotational state of the display. Tested: the system Stable, flexible, speed range of 500-2000rev/minute, PWM wave adjustment in steps of 1, the corresponding adjustment of the motor speed in steps of 10rev/minute.Keyword: DC Motor; governor; STC89C52; PWM目录第一章前言 (1)1.1课题选择的背景 (1)1.2课题选择的意义 (1)1.3国内外发展现状 (2)1.4PWM变频调速发展前景 (3)1.5课题研究内容及目标 (3)1.6本章小结 (3)第二章系统总体方案设计 (4)2.1设计的任务和要求 (4)2.2系统分析与选择 (4)2.2.1 控制器模块 (4)2.2.2 显示模块的分析与选择 (4)2.2.3 测速传感器的分析与选择 (4)2.2.4 PWM实现方案论证 (5)2.2.5 键盘的方案分析与选择 (6)2.2.6 输入输出通道的分析 (7)2.2.7 驱动模块的分析与选择 (7)2.3系统硬件组成及各模块功能 (7)2.4本章小结 (9)第三章系统硬件设计 (10)3.1CPU主控制模块 (10)3.2电源电路 (12)3.3H桥驱动电路 (13)3.4键盘部分 (14)3.5电机测速电路的设计 (15)3.6显示模块 (15)3.7整体电路设计 (17)3.8本章小结 (17)第四章系统软件设计 (18)4.1主程序 (18)4.2键盘扫描子程序 (19)4.3PWM信号发生程序 (21)4.4测速子程序 (22)4.5显示子程序 (23)4.6本章小结 (24)第五章系统调试与分析 (25)5.1软件调试 (25)5.2仿真软件调试 (26)5.3硬件调试 (29)5.4调试故障及原因分析 (29)5.5本章小结 (30)总结 (31)参考文献 (32)致谢 (33)附录 (34)附录A系统原理图 (34)附录B系统实物图 (35)附录C部分程序 (36)第一章前言1.1 课题选择的背景直流电机是最常见的一种电机,它已经广泛应用于交通、化工、航空、机械等领域中。
基于单片机的直流电机控制系统设计
基于单片机的直流电机控制系统设计一、设计目标设计一个基于单片机的直流电机控制系统,能够实现对直流电机的速度和方向的控制。
二、设计方案1.硬件设计(1)电源电路:通过适配器将交流电转换为直流电以供系统使用。
(2)单片机选择:选择一款适合该应用的单片机,如STC89C52系列。
(3)直流电机驱动电路:使用H桥驱动电路来控制直流电机的速度和方向。
(4)编码器:使用编码器来进行速度反馈,可以根据反馈信号来调整电机的转速。
2.软件设计(1)系统初始化:对单片机进行初始化配置,包括IO口的设置、定时器的配置等。
(2)速度控制算法:设计一个控制算法,根据期望速度和实际速度的差距来调整PWM波的占空比,从而控制电机转速。
(3)方向控制算法:设计一个方向控制算法,通过改变H桥电路的输入信号来改变电机的转向。
(4)编码器反馈处理:读取编码器的信号,计算出实际速度,并与期望速度进行比较。
(5)用户接口设计:可以通过按键或者外部PWM输入调节期望速度和方向,实现用户对电机的控制。
三、系统实现1.硬件实现根据硬件设计方案,按照电路原理图进行电路连接和焊接。
确保电源电路正常工作,单片机可以正常工作,H桥驱动电路可以正常控制电机的转向和速度。
连接编码器并确保能够正常读取速度反馈信号。
2.软件实现(1)编写单片机初始化程序,进行必要的配置。
(2)编写速度控制算法,根据期望速度和实际速度的差距来调整PWM波的占空比。
(3)编写方向控制算法,根据用户输入的方向来改变H桥电路的输入信号。
(4)编写编码器反馈处理程序,读取编码器的信号并计算实际速度。
(5)编写用户接口程序,可以通过按键或者外部PWM输入来调节期望速度和方向。
四、系统测试与优化1.对系统进行功能测试,确保可以通过用户接口控制电机的转向和速度。
2.对编码器反馈进行测试,验证实际速度计算的准确性。
3.对速度和方向控制进行测试,确保系统能够按照期望速度和方向进行控制。
4.如果发现问题,对系统进行优化和修改,改进算法和调整参数。
毕业设计:基于STC89C52单片机的步进电机控制系统设计与实现
唐山学院毕业设计设计题目:基于STC89C52单片机的步进电机控制系统设计与实现系别:信息工程系班级:姓名:指导教师:2013年6月10 日基于单片机的步进电机控制系统设计与实现摘要步进电机是一种纯粹的数字控制电动机,是一种受电脉冲信号控制的无刷式直流电动机,是现代定位驱动装置的核心,广泛应用在机械、电力、纺织、电子、仪表、印刷以及航空航天、船舶、兵器等国防工业等领域。
基于单片机的步进电机控制系统具有稳定度高、成本低、控制方便、应用范围广等特点。
本系统是由STC89C52单片机核心处理模块,遥控器命令输入模块,ULN2003及28BYJ-48步进电机组成的电机模块,12864液晶输出模块共同组成的基于单片机的步进电机控制系统。
本设计以载波为38KHZ的红外遥控器作为用户的控制端,它的功能是把用户的命令转换为红外信号。
红外信号由TL1838接收,它可以将光信号转换为电信号,并将其发送给微控制器STC89C52。
STC89C52对电信号进行相应处理即可获得用户所发出的指令,并依此来控制28BYJ48型四相八拍电机并以12864液晶作为当前状态的显示器。
用户可以对步进电机进行加速、减速、正转、反转的控制。
本步进电机控制系统具有精度高、运行稳定、控制方便、维护简单、应用范围广等特点。
关键词:STC89C52 12864液晶步进电机红外遥控Design and Implementation of Stepper Motor Control System Based on MCUAbstractStepper motor is a kind of pure digital control motor and brushless dc motor controlled by electric pulse signal type. Stepper motor is the core of the modern orientation drive, widely used in machinery, electric power, textile, electronics, instruments, printing and aerospace, ships, weapons, and other areas of the defense industry, etc. The characteristics of the stepping motor control system based on single chip microcomputer include high stability, low cost, convenient control and wide application , etc.The stepper motor control system consists of core processor using the single chip processor, command input control module using IR remote control , display module using 12864 LCD and 28BYJ48 stepping motor module which using ULN2003 as driver.The infrared remote control with carrier for 38 KHZ is used as the control end of the user, which can convert the users’ commands into the infrared signal. The TL1838 can receive the infrared signal and convert it into electrical signal, which input to tSTC89C52.The MCU can obtain instructions of users by processing the incoming signal and control stepping motor of the 28BYJ48 type, the current status can be shown by 12864 LCD. Users could control acceleration, deceleration, forward, inversion for the stepping motor. The features of the control system of stepper motor includes high precision, stable running, convenient control and simple maintenance and wide application, etc.Key word:MCU; 12864 LCD; Stepper Motor; Infrared remote control目录1 引言 (1)2 总体设计方案 (2)2.1系统设计原理 (2)2.2总体设计框图 (2)3系统硬件模块的组成 (3)3.1单片机控制模块 (3)3.1.1 STC89C52主要结构 (3)3.1.2 STC89C52功能特性描述 (3)3.1.3 时钟电路 (6)错误!未定义书签。
课程设计--基于AT89C52的PWM直流电机调速系统设计(含全套资料)
目录摘要 (2)1 设计工作分析 (3)1.1 国内外发展概况 (3)1.2 本文的主要工作 (4)2 直流调速系统概述 (4)2.1直流电机的工作原理 (5)2.2直流电机的调速方法 (6)2.3 H桥电机驱动的概述 (9)3 系统的硬件设计 (10)3.1系统设计方案论证 (10)3.2系统硬件电路设计 (11)3.3系统各模块设计 (12)3.3.1 时钟电路 (12)3.3.2 复位电路 (13)3.3.3 稳压电源电路 (14)3.3.4信号输入电路 (15)3.3.4电机PWM驱动模块的电路 (17)4 系统的软件设计 (18)4.1 单片机选择 (18)4.2系统软件设计分析 (19)5 单片机系统综合调试 (22)5.1 PROTEUS设计与仿真平台 (22)5.2 PROTEUS设计与单片机传统开发过程比较 (23)5.3 仿真结果与分析 (24)6 结束语 (26)参考文献 (27)附录 (28)附录A 程序清单 (28)附录B设计任务分配 (36)摘要在如今的现实生活中,自动化控制系统已在各行各业得到广泛的应用和发展,其中自动调速系统的应用则起着尤为重要的作用。
虽然直流电机不如交流电机那样结构简单、价格便宜、制造方便、容易维护,但是它具有良好的起、制动性能,宜于在广泛的范围内平滑调速,所以直流调速系统至今仍是自动调速系统中的主要形式。
现在电动机的控制从简单走向复杂,并逐渐成熟成为主流。
其应用领域极为广泛,例如:军事和宇航方面的雷达天线、火炮瞄准、惯性导航等的控制;工业方面的数控机床、工业机器人、印刷机械等设备的控制;计算机外围设备和办公设备中的打印机、传真机、复印机、扫描仪等的控制;音像设备和家用电器中的录音机、数码相机、洗衣机、空调等的控制。
随着电力电子技术的发展,开关速度更快、控制更容易的全控型功率器件MOSFET 和IGBT成为主流,脉宽调制技术表现出较大的优越性:主电路线路简单,需要用的功率元件少;开关频率高,电流容易连续,谐波少,电机损耗和发热都较小;低速性能好,稳速精度高,因而调速范围宽;系统快速响应性能好,动态抗扰能力强;主电路元件工作在开关状态,导通损耗小,装置效率较高;近年来,微型计算机技术发展速度飞快,以计算机为主导的信息技术作为一崭新的生产力,正向社会的各个领域渗透,直流调速系统向数字化方向发展成为趋势。
15、基于某单片机STC89C52地直流电机PWM调速控制系统
第一章:前言Pwm 电机调速原理对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端EN1 和EN2 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
(2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。
这就要用到STC89C52 的在PWM 模式下的计数器1,具体内容可参考相关书籍。
51 单片机PWM 程序产生两个PWM,要求两个PWM 波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256,PWM 这个功能在PIC 单片机上就有,但是如果你就要用51 单片机的话,也是可以的,但是比较的麻烦.可以用定时器T0 来控制频率,定时器T1 来控制占空比:大致的的编程思路是这样的:T0 定时器中断是让一个I0 口输出高电平,在这个定时器T0 的中断当中起动定时器T1,而这个T1 是让IO 口输出低电平,这样改变定时器T0 的初值就可以改变频率,改变定时器T1 的初值就可以改变占空比。
1.1 前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过 PWM 方式控制直流电机调速的方法就应运而生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章:前言Pwm 电机调速原理对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端EN1 和EN2 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
(2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。
这就要用到STC89C52的在PWM模式下的计数器1,具体内容可参考相关书籍。
51 单片机PWM 程序产生两个PWM,要求两个PWM 波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256,PWM 这个功能在PIC 单片机上就有,但是如果你就要用51 单片机的话,也是可以的,但是比较的麻烦.可以用定时器T0来控制频率,定时器T1 来控制占空比:大致的的编程思路是这样的:T0 定时器中断是让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1 是让IO 口输出低电平,这样改变定时器T0 的初值就可以改变频率,改变定时器T1 的初值就可以改变占空比。
前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过 PWM 方式控制直流电机调速的方法就应运而生。
采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。
而用PWM 技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。
并且 PWM 调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。
随着我国经济和文化事业的发展,在很多场合,都要求有直流电机 PWM 调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。
本设计任务:任务: 单片机为控制核心的直流电机PWM 调速控制系统设计的主要内容以及技术参数:功能主要包括:1) 直流电机的正转;2) 直流电机的反转;3) 直流电机的加速;4) 直流电机的减速;5) 直流电机的转速在数码管上显示;6) 直流电机的启动;7) 直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。
数码管显示按键控制单片机PWM 电机驱动键盘向单片机输入相应控制指令,由单片机通过与其中一口输出与转速相应的PWM 脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动H 型桥式电动机控制电路,实现电动机转向与转速的控制。
电动机的运转状态通过数码管显示出来。
电动机所处速度级以速度档级数显示。
正转时最高位显示“三” ,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。
每次电动机启动后开始显示,停止时数码管显示出“0000”。
1、系统的硬件电路设计与分析电动机PWM 驱动模块的电路设计与实现具体电路见下图。
本电路采用的是基于PWM 原理的H 型桥式驱动电路。
PWM 电路由复合体管组成H 型桥式电路构成,四部分晶体管以对角组合分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。
4 个二极管在电路中起防止晶体管产生反向电压的保护作用,防止电动机两端的电流和晶体管上的电流过大的保护作用。
在实验中的控制系统电压统一为 5v 电源,因此若复合管基极由控制系统直接控制,则控制电压最高为 5V,再加上三极管本身压降,加到电动机两端的电压就只有 4V 左右,严重减弱了电动机的驱动力。
基于上述考虑,我们运用了TLP521-2 光耦集成块,将控制部分与电动机的驱动部分隔离开来。
输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接12V 电源驱动。
这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。
在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。
脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。
经实验发现,当电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在 10Hz 以下,电动机转动有明显跳动现象。
而具体采用的频率可根据个别电动机性能在此范围内调节。
通过 P10 输入高电平信号,P11 输入低电平,电机正转;通过P10 输入低电平信号,P11 输入高电平,电机反转;P10、P11 同时为高电平或低电平时,电机不转。
通过对信号占空比的调整来对电机转速进行调节。
2、系统的软件设计本系统编程部分工作采用KELI-C51 语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM 脉宽控制和数码管显示等部分的设计。
单片机资源分配如下表:①PWM 脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:/*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。
要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少一定的占空比。
③显示子程序:利用数组方式定义显示缓存区,缓存区有8 位,分别存放各个数码管要显示的值。
④定时中断处理程序:采用定时方式1,因为单片机使用12M 晶振,可产生最高约为的延时。
对定时器置初值 B1E0H 可定时 20ms,即系统时钟精度可达。
当20ms 定时时间到,定时器溢出则响应该定时中断处理程序,完成对定时器的再次赋值,并对全局变量time 加1,这样,通过变量time 可计算出系统的运行时间。
3、软件设计中的特点:对于电机的启停,在PWM 控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速度,停止则由于当前速度逐渐降至零。
这样有利于保护电机。
键盘处理上采用中断方式,不必使程序对键盘反复扫描,提高了程序的效率。
第三章:系统硬件电路设计第四章:系统功能调试3、输出波形如下:4、加速分5 档,波形依次如下:5、减速分5 档,波形如下:第五章:程序/************头文件*********/#include<>#include<>#include <>/************************** //********自定义变量********/#define uint unsigned int //自定义变量#define uchar unsigned charchar gw,sw,bw,qw;uchar j; //定时次数,每次20msuchar f=5; //计数的次数sbit P10=P1^0; //PWM 输出波形 1sbit P11=P1^1; //PWM 输出波形 2sbit P12=P1^2; //正反转sbit P13=P1^3; //加速sbit P14=P1^4; //减速sbit P15=P1^5; //停止sbit P16=P1^6; //启动uchar k;uchar t; //脉冲加减/**************************/*/*********控制位定义********************/uchar code smg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};// 程序存储区定义字型码表char data led[4]={0x08,0x04,0x02,0x01}; //位码uint x; //数码管显示的数值display(); //数码管显示delays(); //延时函数key();displays();/*****************************************//***************主函数********************/main (void){TMOD=0x51; //T0 方式1 定时计数T1 方式1 计数TH0=0xb1; //装入初值20MSTL0=0xe0;TH1=0x00; // 计数567TL1=0x00;TR0=1; //启动t0TR1=1; //启动t1gw=sw=bw=qw=0; //数码管初始化P0=0xc0;P2=1;while(1) //无限循环{display(); //数码管显示key();}}/*****************************************//***************数码管显示****************/display(){uchar i;gw=x%10; //求速度个位值,送到个位显示缓冲区sw=(x/10)%10; //求速度十位值,送到十位显示缓冲区bw=(x/100)%10; //求速度百位值,送到百位显示缓冲区qw=x/1000; //求速度千位值,送到千位显示缓冲区for(i=0;i<4;){P2=led[i];if(i==0) //显示个位{P0=smg[gw];delays();}else if(i==1) //显示十位{P0=smg[sw];delays();}else if(i==2) //显示百位{P0=smg[bw];delays();}else if(i==3) //显示千位{if(k==0) //正转时显示"三"{P0=0x49;delays();}else{i++; }}P0=0x71; //反转时显示"F" }}/*******************************************************//*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}/************************************************//*********t0 定时*中断函数*************/void t0() interrupt 1 using 2{TH0=0xb1; //重装t0TL0=0xe0;f--;if(k==0){if(f<t)P10=1;elseP10=0;P11=0;}else{if(f<t)P11=1;elseP11=0;P10=0;}if(f==0){ f=5;}j++;if(j==50){j=0;x=TH1*256+TL1; //t1 方式1 计数,读入计数值TH1=0x00;TL1=0x00;x++;display();}}/****************按键扫描**************/ key(){if(P12==0) //如果按下,{while(!P12) //去抖动display();k=~k;}if(P16==0) //启动{while(P16==0);IE=0x8a;}if(P13==0) //加速{while (P13==0);t++;}if(t>=5)t=5;if(P14==0) //减速{while(P14==0);t--;}if(t<1)t=1;if(P15==0) //停止{while(P15==0);EA=0;P10=0;P11=0;}}/******************************************************/。