论文名称:基于单片机的直流伺服电机测速系统设计
学科专业:
申请人:
指导老师:
摘要
在工程实践中,经常会遇到各种需要测量电机转速的场合,例如在发动机、电动机、机床主轴等旋转设备的实验运转和控制中,常需要分时或连续测量、显示其转速及瞬时速度。当前主要流行的测速方法有霍尔测速、磁电式测速和光电编码测速等,但是霍尔测速不仅价格相对较高,而且信号杂波大,需要额外的滤波电路开销;而磁电式测速容易受外界环境干扰,因此不适合用于强电磁干扰的工业环境,本系统采用光电编码测试进行速度伺服系统设计。
为了能精确地测量转速,且保证测量的实时性,本文提出了一种基于单片机的直流伺服电机测速系统设计方案。该系统通过定时器模拟PWM控制电机转速,采用外部中断的边沿触发功能捕获测速脉冲,并以此分析计算出电机转速,然后显示到LED数码管上面;此外,为了达到更精确的电机控制,设计的串行通信方案,通过PC机下传指令改变PWM输出占空比,以此控制电机转速。系统软件在Keil C51集成开发环境中采用C语言编写,并在Proteus软件中搭建电路,仿真验证了方案的可行性。
关键词:测速;单片机;直流伺服电机;串行通信
ABSTRACT
目录
摘要1
ABSTRACT2
目录3
第一章绪论5
1.1 课题研究意义5
1.2 国内外发展现状5
1.3 论文组织6
第二章系统方案设计7
2.1 硬件设计方案7
2.2 软件设计方案8
第三章硬件设计9
3.1硬件框图设计9
3.2主控制器模块9
3.2.1 控制器芯片选型9
3.2.2 最小系统设计10
3.3与PC机通信模块11
3.4电机驱动模块13
3.4.1 引脚排列13
3.4.2 L298N电路原理图13
3.5电机测速模块14
3.6LED显示模块15
3.7本章小结16
第四章软件设计17
4.1 软件框架17
4.2 电机控制18
4.3 LED显示20
4.4 RS232串口通信21
4.5本章小结22
第五章系统测试23
5.1 电机测试23
5.2 串行通信测试25
5.3 本章小结28
第六章结论29
6.1 已完成工作29
6.2 后续工作29
致谢31
参考文献32
附录33
第一章前言
1.1
课题研究意义电机测速在工程实际应用中必不可少,当前的电机测速主要分为直接法和间接法。直接法即直接观测机械或者电机的机械运动,测量特定时间内机械旋转的圈数,从而测出机械运动的转速。间接法即由于机械转动导致其他物理量变化,测量这些物理量的变化与转速的关系来得到转速。当然,电机测速方法
还可以分为轮轴测速方法和非轮轴测速方法,其中轮轴测速运用发电机和光电变换原理,而非轮轴测速采用多普勒雷达和加速度计。
随着微型计算机的广泛应用,单片机技术的日新月异,特别是高性能单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法,使得许多控制功能及算法可以采用软件技术来完成,使系统能达到更高的性能。在工农业生产和工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的实验、运转和控制中,常需要测量和显示其转速。测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号。讫今为止,已在现代汽车上广泛应用的霍尔器件有:在分电器上作信号传感器、ABS系统中的速度传感器、汽车速度表和里程表、液体物理量检测器、各种用电负载的电流检测及工作状态诊断、发动机转速及曲轴角度传感器、各种开关等等。
1.2 国内外发展现状
目前见到的许多关于直流电机的测速与控制类文献中,以研究无刷直流电机较多,采用电涡流式传感器,磁电式传感器,光电式传感器作为测速电机的重要元件。霍尔传感器的电机测速装置由单片机控制,能够做出使电机加速,减速的动作,还能够精确测速电机的转速,来控制电机的工作情况等多种功能。因此,霍尔传感器的电机测速装置可以看成简单的“计数器”,可广泛的应用于工厂电机的工作监控,汽车行驶速度显示,温室机器人的精密控制等技术领域,也可应用于复杂恶劣的航天航空工作环境,具有良好的民用和军用应用前景,
从发展趋势上看,总体的研究方向是提出质量更精确的测速方案,以及在考虑在复杂的环境中工作也能保持性能的稳定性。更加广泛的应用国民的生活生产中去。在研究方法上,有的采用软件仿真,从理论作深入的研究;有的通过实践总结提出一些具有使用价值的实践方法。
1.3 论文组织
本文提出一种基于单片机的无刷直流电机速度伺服系统设计方案,并在Proteus软件中仿真验证了方案的可行性。针对该方案的具体实施方法,本文完成了以下工作:
<1)提出了一种无刷直流电机测速方案。即通过增量式光电编码器测量电机转速,并采用单片机的外部中断管脚捕获光电编码器的输出脉冲,通过分析计算单位时间内脉冲个数确定电机转速。
<2)完成了系统的软硬件设计。硬件设计通过Protues软件搭建电路连接图,软件通过Keil C51集成开发环境编写PWM、串行通信、电机驱动、电机测速及LED显示等各级模块驱动程序。
<3)仿真验证了方案的可行性。在Protues软件中通过LED数码管显示所测转速与实际转速误差在3%以内;此外,通过VPSD软件虚拟串口对,模拟串行通信实现了PC机对电机转速的控制。
论文具体章节安排如下:
第一章,介绍了本课题的研究背景、意义及相关国内外发展现状。
第二章,分硬件和软件两部分介绍了系统的总体设计方案。
第三章,详细叙述了系统硬件设计的原理、方案及方法。
第四章,详细叙述了系统软件设计的流程。
第五章,在Protues中搭建仿真平台,对系统方案进行了测试和分析。
第六章,总结课题的研究工作,并指出了存在的问题和进一步的研究方向。
第二章系统方案设计
2.1硬件设计方案
本系统设计的是一个无刷直流电机测速装置,该系统由主控模块 成。通过微控制器产生PWM及电机驱动模块控制电机转动,然后通过电机测速模块测得当前电机转速,并显示到LED显示器上。PC机控制模块可以用于调节电机转速。系统方案设计框图如图2-1所示。 MCU LED显示 电机驱动电机 PC机 控制 电机测速 图2- 1 系统方案设计框图 <1)系统控制模块的核心部件采用AT89C51单片机,用于控制电机的顺时针、逆时针转动,同时通过测速模块采集电机转速等信息并显示到LED数码管上。此外,还可通过串行口接收PC机下传的指令,改变电机转速。 <2)LED显示模块用于显示当前电机的转速信息,考虑到所使用电机转速不大,每分钟转动圈速在1000以内,因此通过4位7段LED数码管进行显示。 <3)电机驱动模块可采用专用直流电机驱动芯片,通过单片机的I/O口来控制电机驱动芯片的控制信号,从而达到控制直流电机的目的。也可采用H型桥式驱动电路,这种驱动电路可以很方便地实现直流电机的四象限运动,分别对应正转、正转和制动、反转、反转和制动。经分析,专用直流电机驱动芯片电路规模较小,且容易使用单片机来控制,完全可以实现预期的功能,成本相对较低。因此采用L298N来控制小车的运行。 2.2软件设计方案 软件设计非常重要,它是系统的中枢,影响着整个系统性能的优劣。本系统软件设计方案是以上述硬件电路为基础的,包括电机控制模块、电机测速模块、串口通信模块及LED显示模块的程序设计与实现。程序设计采用C语言编写,编程环境是集成Keil C51编译器的集成编译环境。语音导航小车设计的软件设计结构框图如图2-2所示。 基于单片机的无刷直流电机测速系统软件框图 电机驱动模块 电机测速模块 LED显示模块 串口通信模块 电机顺时针转动程序 电机逆时针转动程序 电机测速程序 LED显示程序 串行口通信程序图2- 2 系统软件设计框图 电机驱动模块程序的设计实现了对电机转动方式和转动速度的控制;电机测速子程序的设计实现了对电机实际转速的采集,并通过液晶显示子程序将采集后分析计算的实际转速显示出来;串行口通信程序通过与PC机接入,实现对电机转速的上行控制。 软件的设计应尽量采用函数化、模块化,便于主函数的调用,便于系统调试。具体设计过程及详细内容见第四章。 第三章硬件设计 1.1 硬件框图设计本文选用AT89C51单片机作为系统的主控制器,用L298N电机驱动芯片驱动直流电机转动,用外部中断1捕获电机转动圈速的脉冲,然后交给主控制器分析计算得到当前电机转速,并通过4位7段数码管显示出当前转速。此外,一个按键通过外部中断0控制电机转动方向,且PC机通过串行通信控制电机转动速度。系统硬件框图如图3-1所示。 图3- 1 硬件设计框图 3.2主控制器模块 主控制器模块是系统硬件设计的核心,本节通过控制芯片选型和搭建最小系统两部分阐述。 3.2.1 控制器芯片选型 3.2.2 最小系统设计 3.3与PC机通信模块 RS-232是美国电子工业协会EIA 3.4电机驱动模块 电机的驱动采用双向PWM脉宽调制方式控制。采用这种控制方式可以方便地实现电机的正反转和转速变化。驱动芯片采用L298N,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含两个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,在6~46V的电压下,可以提供2A的额定电流。L298N还有过热自动关断功能,并有反馈电流检测功能。 3.4.1引脚排列 引脚排列如图3-4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电机。5、7、10、12脚接输入控制电平,控制电机的正反转,利用单片机产生PWM信号接到ENA、ENB控制使能端,控制电机的转速和停转。 图3- 2 L298N实物图 3.4.2L298N电路原理图 由于小车电机为7.2V,故L298N的VSS接7.2V电源。由单片机直接输出两路PWM驱动L298N,改变PWM调制脉冲占空比,可以实现精确调速。脉冲频率对电机转速有影响,脉冲频率高、连续性好,但带负载能力差;脉冲频率低则反之。为了保证L298N的正常工作,加装了片外续流二极管。图3-5所示为电机驱动L298N电路原理图。 图3- 3 电机驱动L298N原理图 3.5电机测速模块 一般情况下电机均采用光电编码器测速。光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,是目前应用最多的传感器。一般的光电编码器主要由光栅盘和光电探测装置组成。在伺服系统中,由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转.经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号。通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。此外,为判断旋转方向,码盘还可提供相位相差90°的2个通道的光码输出,根据双通道光码的状态变化确定电机的转向。根据检测原理,编码器可分为光学式、磁式、感应式和电容式。根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式3种。 由于本文采用Proteus软件对整体设计进行仿真,因此在Proteus中采用带转速编码输出的电机模型进行仿真,该类电机在Proteus软件中的关键字为MOTOR-ENCODER。该模型采用增量式旋转编码测试电机转速,并提供两路具有90°相位差的编码脉冲,可利用其中任何一个实现对转速的检测。电机模型下面实时显示了当前的转速信息,单位为圈/分钟。此外,为方便测速,可通过电机属性窗口的Pulses per Revolution选项设置电机每转动一圈输出的脉冲 数。 3.6LED显示模块 LED又称为数码管,它主要由7段发光二极管组成的不同组合,可以显示a~g为数字和字符显示段,h段为小数点显示,通过a~g为7个发光段的不同组合,可以显示0~9和A~F共16个数字和字母。LED可以分为共阴极和共阳极两种结构。共阴极结构即把8个发光二极管阴极连在一起。这种装入数码管中显示字形的数据称字形码,又称段选码。 点亮LED显示器有两种方式:一是静态显示:二是动态显示。所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定的导通或截止。如图3-6所示为4位静态LED显示电路。该电路每一位可单独显示。只要在要显示的那位段选线上保持段选电平,该位就能保持显示相应的显示字符。这种电路的优点是:在同一瞬间可以显示不同的字符;但缺点就是占用端口资源较多。从下图可以看出,每位LED显示器需要单独占用8根端口线,因而,在数据较多时不采用此中设计,而是采用动态显示方式。 图3- 4 LED静态显示电路 +5V 图3- 5 LED动态显示电路 所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描方式一位一位地轮流点亮各位显示器。如下图3-7所示为4位LED动态显示电路。本设计用到的是LED显示器动态显示方式。 3.7本章小结 本章详细讲述了基于单片机的无刷直流电机速度伺服系统的硬件设计方案。系统选择低成本的AT89C51单片机做为微控制器,通过L298N驱动芯片驱动直流电机,并采用光电编码器进行电机测速,LED数码管采用动态显示方式显示当前所测得的电机转速,最后通过RS232与上层PC机通信,实时接收PC机下传的PWM占空比设定值,以控制电机转动速度。整体的硬件设计在保证系统可靠运行的前提下,以最小化硬件成本为目标进行规划。 第四章软件设计 4.1 软件框架 基于单片机的无刷直流电机速度伺服系统软件主要由主程序体和中断服务程序两部分组成,如图4-1所示。主程序体先进行初始化,然后判断相应标志位确定电机的转动方向,最后计算并显示电机转速值,电机转速单位为圈/分钟。其中:初始化程序包含定时器初始化、外部中断初始化及变量初始化等,初始化定时器0工作于方式一,用于产生PWM驱动电机转速,定时器1工作于方式二,为串行通信提供9600bps的波特率,串行通信初始化为无奇偶校验位、8位数据位、1位停止位和允许接收中断的工作模式,外部中断0和外部中断1均初始化为边沿触发,分别用于捕获按键和电机转速脉冲;初始化之后判断并驱动电机程序、电机转动与计算程序组成了主程序的主循环体。此外,中断服务程序分别完成相应的中断响应功能,外部中断0的中断服务程序用于改变转向标志位的状态,外部中断1的中断服务子程序用于捕获电机的转速脉 冲,串行口的中断服务子程序用于接收并设定PC 机下传的PWM 占空比,而定时器0的中断服务子程序完成技术初值的重新装载,并生产相应占空比的PWM 波,用于控制电机转动。 图4- 1 系统软件框架 4.2 电机控制 电机控制子程序包括PWM <脉宽调制)函数、前进函数和后退函数等部分组成,用于控制小车的运行方式及运行速度。 利用软件产生PWM 信号的基本思想是:单片机上电后,定时器T0初始化后开始计时,产生定时器溢出中断后,计数值加1,当计数值达到基准时间时,清计数寄存器。当计数值小于预定占空比值时,输出高电平,反之,则输出低电平。可以通过调整预定占空比值,控制输出高低电平时间<即PWM 脉冲的占空比),进而控制电机的转动速度。 例如:设PWM 脉冲的周期为1s ,则100个10ms 的时间片段为一个周期。假设要求占空比为90%,则I/O 口在一个周期的前90ms 输出为高电平,而在这个周期的后10ms 输出为低电平,则在此I/O 口输出占空比为90%的PWM 。PWM 脉冲模拟程序如清单4.1所示。 程序清单4.1 PWM 脉冲模拟 void Init(> //定时器0初始化 { TMOD=0x01。 //定时器0工作在方式1 ET0=1。 // 开定时器0中断 TR0=1。 //开定时器0 EA=1。 //开中断 PWM = 1。//开始输出高电平 } void time_0(> interrupt 1 //定时器0中断服务子函数 { TH0 = (65536 - 10000>/256。 //10ms计数初值赋值 TL0 = (65536 - 10000>%256。 dida++。 //计数变量加一 if(dida >= DutyCycle> PWM = 0。 //电平转换 else PWM = 1。 if(dida == 100> //计数变量超出则清零 { dida = 0。 MotorSpeed = MotorPluse。//统计脉冲 MotorPluse = 0。 } } 通过控制L298N两个输入口的的高低电平来编写电机的顺时针和逆时针转动程序,假设IN1=1,IN2=0电机顺时针转动,则IN1=0,IN2=1电机逆时针转动。其逻辑功能如表4-1所示,转动控制程序如清单4.2所示。 表4-1 L298N的逻辑功能 ENA(ENB> IN1 H H L 顺时针 H L H 逆时针 H 同IN2(IN4>同IN1(IN3> 快速停止 L X X停止程序清单4.2 电机的顺时针和逆时针转动函数 void TurnClock(> { R = 1。 L = 0。 } void TurnAntiClock(> { R = 0。 L = 1。 } 选择电机的顺时针或逆时针转动是通过一个按键实现的,该按键接入单片机的外部中断0,当外部中断0检测到一个边沿跳变后即进入中断服务子函数,在中断服务子函数中改变电子转动方向标志位的状态,这样一来便可以在主程序中通过该标志位的状态判断电机转动方向。电机转向控制的程序如清单4.3所示。 程序清单4.3电机转向控制 void Init(> { IT0 = 1。//边沿触发方式 EX0 = 1。 //允许外部中断0触发 EA = 1。 } void main(> { Init(>。 while(1> { if(Flag> TurnAntiClock(>。 else TurnClock(>。 } } void Ex0(> interrupt 0 //外部中断0中断服务函数 { Flag = !Flag。 //改变标志位状态 } 综上所示,电机控制部分由Flag标志位控制电机的转动方向、PWM控制电 机的转动速度,而外部中断0的按键和定时器0分别改变Flag标志位的状态及生成PWM。 4.3 LED显示 第三章已经提及,本系统的LED采用动态方式显示,即四位数码管共用一套段选接口,通过位选选中点亮的位。仿真采用共阴极数码管,P1为段选接口,P2^7 ~ P2^4分别为个位、十位、百位和千位的位选编码。由于人眼的视觉停留,保持不同位显示之间的短暂延时,即可给视觉带来同时显示的效果,本系统在不同位显示之间延时1ms以达到此效果。LED数码管显示程序如清单4.4所示。 程序清单4.4 LED数码管显示 void delay(uint i> //延时1ms子程序 { uint j。 for(i。 i > 0。 i--> for(j = 110。 j > 0。 j-->。 } void LEDDisplay(> { P1 = table[MotorSpeed / 100]。 P2 &= ~0x20。 delay(1>。 P2 |= 0xf0。 P1 = table[MotorSpeed % 100 / 10]。 P2 &= ~0x40。 delay(1>。 P2 |= 0xf0。 P1 = table[MotorSpeed % 10]。 P2 &= ~0x80。 delay(1>。 P2 |= 0xf0。 } 4.4 RS232串口通信 串行口程序的设计主要是配置UART的工作模式和编写串行口中断服务子函数。配置寄存器TMOD的定时器1工作方式和定时器1的计数初值TH1、TL1等可以设定串口通信的波特率;配置寄存器SCON可以设定串口通信的奇偶校验方式、数据位和停止位等参数。在数据收发方面,本系统通过中断方式接收上层PC机下传的PWM占空比指令,通过判定寄存器RI的状态判断是否为接收中断。串行口控制程序如清单4.5所示。 程序清单4.5 串行口控制 void Init(> { TMOD = 0x21。//TMR1 工作于方式2 TH1 = 0xfd。 TL1 = 0xfd。 //波特率为9600 SCON = 0x50。 //方式1,10位可变波特率,允许接收 TR1 = 1。 //启动T1 ES = 1。 //允许串行中断 EA = 1。 } void Serial_ISR(void> interrupt 4 //串行口中断服务子函数 { EA = 0。 if(RI> { RI = 0。 DutyCycle = SBUF。 } EA = 1。 } 4.5本章小结 本章首先叙述了本文软件设计的框架,并给出了相应的程序流程图,然后分模块详细阐述了电机控制、LED显示和RS232串口通信等的程序设计思路和 具体实施方案,并给出了对应的程序清单。 第五章系统测试 本章拟在Proteus软件中仿真分析系统的性能。在该软件中,MCS-51单片机的关键字为AT89C51,电机驱动芯片L298N的关键字为L298,编码电机的关键字为MOTOR-ENCODER,4位7段数码管的关键字为7SEG-MPX4-CA,9针串口的搜索关键字为COMPIM,单位按钮的关键字为BUTTON。按照所设计的方案搭建硬件电路如图5-1所示,下面主要分别就电机和串行通信两部分进行性能测试分析。 图5- 1 Proteus硬件连接电路 5.1 电机测试 本文 3.5节已经提及,电机测速过程中的每转脉冲数可在属性窗口设置。在Proteus中双击电机模型即可进入其属性设置界面,在该界面可轻松的设置所仿真电机的额定电压、线圈电阻、线圈电感、空载转速、负载率和每转的脉冲数等参数。在本文的仿真过程中,电机各参数的设定如表5-1所示。 由第4章软件设计可知,外部中断1用于捕获测速模块获得的脉冲,定时器0每10ms产生一次中断,每中断100轮刷新一次电机编码脉冲MotorSpeed 的值,那么MotorSpeed即表征了MCU每秒捕获的脉冲个数。由表5-1可知,电机每转动一圈产生60个脉冲,那么MotorSpeed / 60则为电机每秒转动的圈数,也就是说,MotorSpeed / 60×60 = MotorSpeed为电机每分钟转动的圈速,即MotorSpeed为测速单元得到的电机实际转速。将该值显示到LED数码管上如图5-2所示。图中电机模块下面显示了PWM占空比为90%时,电机的实际转速值为63.2 r/min,而测试单击测得的转速值为65 r/min,光电编码测量值的误差率小于3%。 图5- 2 仿真结果 5.2 串行通信测试 串行通信用于PC机通过下传PWM占空比的值给单片机,以此控制电机的转速。仿真测试串行通信需通过VSPD软件虚拟出一对串口,分别与Proteus 中的串口和PC机绑定。串口绑定需在Keil集成开发环境与Proteus软件中同时进行,具体操作按如下步骤执行。 Step1:打开VSPD软件,新建一对虚拟串口COM2和COM4<由于作者主机已有物理端口COM1和COM3,因此虚拟的串口对为COM2与COM4),本系统将COM2与单片机绑定,COM4与PC机<用串口调试助手代替)绑定,进行单片机与PC机的通信。 Step2:在Keil中将生成的程序与COM2绑定。在Keil集成开发环境的菜单栏单击Debug->Start/Stop Debug Session,然后点确定进入Debug模式,在左下角的COMMAND窗口中输入“MODE COM2 9600,0,8,1[回车]”和“ASSIGN COM2 直流电机转速控制公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N] 直流电机转速控制 课程设计 姓名: 学号: 班级: 目录 1.直流电机转速控制方案设计 (2) 设计要求 (2) 设计框图 (2) 2.直流电机转速控制硬件设计 (3) 主要器件功能 (3) 硬件原理图 (6) 3.直流电机转速控制软件设计 (7) 4.调试 (8) 硬件测试 (8) 软件调试……………………………………………………………(11 1.直流电机转速控制方案设计 设计要求 通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。 1、用按键1控制旋转方向,实现正转和反转。 2、电机的设定转速与电机的实际转速在数码管上显示。 3、旋转速度可实时改变。 设计框图 本课题中测量控制电路组成框图如下所示: 图1 2.直流电机转速控制硬件设计 主要器件功能 1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。 图2 板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。POWER 接直流电源,注意正负,电源正端为VCC,电源地为GND。 2、ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功 目录 摘要............................................................................................................................................................... I I ABSTRACT ................................................................................................................................................. III 1系统论述 (5) 1.1设计思路 (5) 1.2基本原理 (5) 1.3总体设计框图 (5) 2直流电机单元电路设计与分析 (6) 2.1直流电机驱动模块 (6) 2.2直流电机的中断键盘控制模块 (11) 2.31602LCD液晶显示模块 (13) 3直流电机PWM控制系统的实现 (15) 3.1总电路图 (15) 3.2总电路功能介绍 (16) 3.3直流电机控制程序 (16) 4系统仿真 (23) 5结束语 (26) 参考文献资料 (27) 摘要 本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM 波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。 关键词:AT89C51单片机;PWM调速;正反转控制;仿真。 基于单片机对直流电机的控制 第十五组 姓名:吴代露20131325010 张鹏飞20131325012 金静丽20131325014 周敏20131325015 胡会华20131325017 顾蓉20131325018 专业:2013级信息工程(系统工程方向) 指导老师:周旺平 2014.12.22 基于单片机对直流电机的控制 内容摘要 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。 关键字:电动机飞思卡尔 PWM控制 一、引言 (一)直流电机的定义 直流电机(direct current machine):是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 (二)直流电机的基本结构 由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 (三)直流电机工作原理 直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。 (四)直流电机的分类 直流电动机按结构及工作原理可划分:无刷直流电动机和有刷直流电动机。(1)无刷直流电动机:无刷直流电动机是将普通直流电动机的定子与转子进行了互换。其转子为永久磁铁产生气隙磁通:定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。 (2)有刷直流电动机:又可分为永磁直流电动机和电磁直流电动机。 永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。 电磁直流电动机划分:串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。 (1)串励直流电动机:电流串联,分流,励磁绕组是和电枢串联的,直流串励电 //程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include 兰州交通大学 毕业设计文献综述 题目:基于单片机的电机转速测量系统Title:Motor speed measuring system based on single chip microcomputer 姓名:韦宝芸 学号:3 班级:机设1202班 摘要 本文首先叙述了单片机测量转速的系统构成及转速测量的几种常用方法,分析了相应方法在测量上的特点、误差和计算。其次,针对特定的应用环境,设计出一种基于 80C51单片机的全数字式测速系统,详细阐述了系统的工作原理,指出产生误差的可能原因,并给出了具体解决的方法;根据系统要求编制了源程序,分析其工作流程。最后,对构建的系统利用仿真机进行调试,对测量指标进行了分析、比较并提出改进方案。 关键词:单片机、转速、测量精度 Abstract This paper first discussed some ways for rotary speed measure. It analyzed characters and errors of these ways. Second, it designed full digital measure system based on a Single-Chip Microprocessor(80C51) responding to special application, stated the working theory of the system and the methods to solve the errors, writed the working programmes by A51 assemble language. Finally, this system implementation was confirmed by using of Keil-51 simulator. The characters on the error margin and accuracy was summarized. Keywords : Single-Chip Microprocessor、rotary speed 、measureprecision Keil-51 河南科技大学 课程设计说明书 课程名称现代电子系统课程设计题目_直流电机控制设计 学院__电子信息工程学院____班级_________ 学生姓名__________ 指导教师__________ 日期_______ 课程设计任务书 (指导教师填写) 课程设计名称现代电子系统课程设计学生姓名专业班级 设计题目直流电机控制设计 一、课程设计目的 学习直流电机PWM的FPGA控制; 掌握PWM控制的工作原理; 掌握GW48_SOPC实验箱的使用方法; 了解基于FPGA的电子系统的设计方法。 二、设计内容、技术条件和要求 利用PWM控制技术实现直流电机的速度控制。 (1)基本要求: a.速度调节:4档,数字显示其档位。 b.能控制电机的旋转方向。 c.通过红外光电电路测得电机的转速,设计频率计用4位10进制显示电机的转速。 (2)发挥部分 a.设计“去抖动”电路,实现直流电机转速的精确测量。 b.修改设计,实现直流电机的闭环控制,旋转速度可设置。 c.其它。 三、时间进度安排 布置课题和讲解:1天 查阅资料、设计:4天 实验:3天 撰写报告:2天 四、主要参考文献 何小艇《电子系统设计》浙江大学出版社2008.1 潘松黄继业《EDA技术实用教程》科学出版社2006.10 齐晶晶《现代电子系统设计》实验指导书电工电子实验教学中心2009.8 指导教师签字:2010年12月30日 摘要 利用FPGA可编程芯片及VHDL语言实现了对直编程实现流电机PWM控制器的设计,对直流电机速度进行控制。介绍了用VHDL语言编程实现直流电机PWM控制器的PWM的产生模块、转向调节模块、转速控制模块、去抖动电路模块、电机转速显示等模块功能。 采用CPU控制产生PWM信号,一般的PWM信号是通过模拟比较器产生的,比较器的一端按给定的参考电压,另一端接周期性线性增加的锯齿波电压。当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出高电平。改变参考电压就可以改变PWM波形中高电平的宽度。若用单片机产生PWM信号波形,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出PWM波形,因此外围电路比较复杂。 FPGA中的数字PWM控制与一般的模拟PWM控制不同,用FPGA产生PWM波形,只需FPGA 内部资源就可以实现。用数字比较器代替模拟比较器,数字比较器的一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。与模拟控制相比,省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。脉宽调制式细粉驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽细分数的增大而减小。 直流电机控制电路主要由三部分组成: (1)FPGA中PWM脉宽调制信号产生电路。 (2)FPGA中的工作/停止控制和正/反转方向控制电路。 (3)由功率放大电路和H桥组成的正反转功率驱动电路 关键词直流电机转速控制
基于单片机的直流电机控制器的设计
基于单片机对直流电机的控制
51单片机PWM控制直流电机正反转
基于单片机的电机转速测量系统
直流电机控制设计(1)
单片机PWM控制直流电机的速度