《单片机控制直流电机的变速设计.docx》由会员分享,可在线阅读,更多相关《单片机控制直流电机的变速设计.docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河南科技大学毕业设计论文单片机把握直流电机的变速设计专业:机电一体化- 1 -名目第一章总体设计方案 11.1 方案选取11.1.1 方案一:PWM 波调速11.1.2 方案二:晶闸管调速2其次章 单元模块设计 32.1 H 桥电路方案设计32.2 调速设计方案42.3 系统硬件电路设计52.3.1 电源电路52.4 H 桥驱动电路52.5 基于霍尔传感器的测速模块62.6 LCD 显示模块72.7 调速设计模块82.8 测速软件设计10第三章系统功能调试113.1 调试软件介绍113.2 直流电机的调速功能仿真123.3 电机速度的测量并显示功能仿真133.4 系统的电路原理图13设计总结1
2、3参考文献15附录16- 1 -第一章 总体设计方案1.1 方案选取1.1.1 方案一:PWM 波调速承受由达林顿管组成的 H 型 PWM 电路图 11。用单片机把握达林顿管使之工作在占空比可调的开关状态,准确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率格外高;H 型电路保证了可以简洁地实现转速和方向的把握;电子开关的速度很快,稳定性也极佳,是一种广泛承受的 PWM 调速技术。我承受了脉宽调频方式, 由于承受这种方式,电动机在运转时比较稳定;并且在承受单片机产生PWM 脉冲的软件实现上比较便利。且对于直流电机,承受软件延时所产生的定时误差在允许范围。图 1-1 PWM 波调速电
3、路其构造图如图 12 所示:显示器单片机速度的测量计算、输入设定及系统控制键 盘速度采集电路电机单片机PID 运算把握器、PWM 模拟发生器电机驱动电路1图 1-2 电机调速系统框图1.1.2 方案二:晶闸管调速承受闸流管或汞弧整流器的离子拖动系统是最早应用静止式变流装置供电的直流电动机调速系统。1957 年,晶闸管俗称“可控硅”问世,到了60 年月,已生产出成套的晶闸管整流装置,并应用于直流电动机调速系统,即晶闸管可控整流器供电的直流调速系统V-M 系统。如图 1-3,VT 是晶闸管可控整流器,通过调整触发装置 GT 的控制电压Uc来移动触发脉冲的相位,即可转变整流电压Ud,从而实现平滑调速
4、。晶闸管整流装置不仅在经济性和牢靠性上都有很大提高,而且在技术性能上也显示出较大的优越性;晶闸管可控整流器的功率放大倍数在 10 4以上,其门极电流可以直接用晶体管来把握,不再像直流发电机那样需要较大功率的放大器。因此,在60 年月到 70 年月,晶闸管可控整流器供电的直流调速系统V-M 系统代替旋转变流机组直流电动机调速系统G-M 系统,得到了广泛的应用。但是由于晶闸管的单向导电性,它不允许电流反向, 给系统的可逆运行造成困难;晶闸管对过电压、过电流和过高的du dt 与didt 都格外敏感,假设超过允许值会在很短的时间内损坏器件。另外,由谐波与无功功率引起电网电压波形畸变,殃及四周的用电设
5、备,造成“电力公害”,因此必需添置无功补偿和谐波滤波装置。图 1-3 晶闸管可控整流器供电的直流调速系统V-M 系统兼于方案一调速特性优良、调整平滑、调速范围广、过载力气大,因此本设计承受方案一。2其次章 单元模块设计2.1 H 桥电路方案设计图 2-1 所示的 H 桥式电机驱动电路包括 4 个三极管和一个电机,电路得名于“H 桥驱动电路”是由于它的外形酷似字母 H。如图 2-1 所示,要使电机运转,必需导通对角线上的一对三极管。依据不同三极管对的导通状况,电流可能会从左至右或从右至左流过电机,从而把握电机的转向。图 2-1 H 桥驱动电路要使电机运转,必需使对角线上的一对三极管导通。例如,如
6、图 2-2 所示,当 Q1 管和 Q4 管导通时,电流就从电源正极经 Q1 从左至右穿过电机,然后再经 Q4 回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管 Q1 和 Q4 导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动电机四周的箭头指示为顺时针方向。图 2-2 H 桥驱动电机顺时针转动3图 2-3 所示为另一对三极管 Q2 和 Q3 导通的状况,电流将从右至左流过电机。当三极管 Q2 和 Q3 导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动电机四周的箭头表示为逆时针方向。2.2 调速设计方案图 2-3 H 桥驱动电机逆时针转动调速承受 P
7、WMPulse Width Modulation脉宽调制,工作原理:通过产生矩形波, 转变占空比,以到达调整脉宽的目的。PWM 的定义:脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进展把握的一种格外有效的技术,广泛应用在从测量、通信到功率把握与变换的很多领域中。模拟信号的值可以连续变化,其时间和幅度的区分率都没有限制。9V 电池就是一种模拟器件,由于它的输出电压并不准确地等于 9V,而是随时间发生变化,并可取任何实数值。与此类似,从电池吸取的电流也不限定在一组可能的取值范围之内。模拟信号与数字信号的区分在于后者的取值通常只能属于预先确定的可能取值集合之内,例如在0V,5V这一集合中取
8、值。模拟电压和电流可直接用来进展把握,如对汽车收音机的音量进展把握。在简洁的模拟收音机中,音量旋钮被连接到一个可变电阻。拧动旋钮时,电阻值变大或变小;流经这个电阻的电流也随之增加或削减,从而转变了驱动扬声器的电流值,使音量相应变大或变小。与收音机一样,模拟电路的输出与输入成线性比例。尽管模拟把握看起来可能直观而简洁,但它并不总是格外经济或可行的。其中一点就是,模拟电路简洁随时间漂移,因而难以调整。能够解决这个问题的周密模拟电路可能格外浩大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严峻发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任4何扰动或噪声
9、都确定会转变电流值的大小。通过以数字方式把握模拟电路,可以大幅度降低系统的本钱和功耗。此外,很多微把握器和 DSP 已经在芯片上包含了 PWM 把握器, 这使数字把握的实现变得更加简洁了。2.3 系统硬件电路设计2.3.1 电源电路1芯片介绍78XX,XX 就代表它所输出的电压值,能降低电压 4-5V电子产品中常见到的三端稳压集成电路有正电压输出的 78系列和负电压输出的 79系列。故名思义,三端 IC 是指这种稳压用的集成电路只有三条引脚输出,分别是输入端、接地端和输出端。用 78/79 系列三端稳压 IC 来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路。该系列集
10、成稳压 IC 型号中的 78 或 79 后面的数字代表该三端集成稳压电路的输出电压,如7806 表示输出电压为正 6V,7909 表示输出电压为负 9V。有时在数字 78 或 79 后面还有一个 M 或 L,如 78M12 或 79L24,用来区分输出电流和封装形式等,其中 78L 系列的最大输出电流为 100mA,78M 系列最大输出电流为 1A,78 系列最大输出电流为 1.5A。在实际应用中,应在三端集成稳压电路上安装足够大的散热器固然小功率的条件下不用。当稳压管温度过高时,稳压性能将变差,甚至损坏。2电路原理图电源电路承受 78 系列芯片产生+5V、+15V。电路图如图 2-4:2.4
11、 H 桥驱动电路图 2-4 78 系列的电源电路基于三极管的使用机理和特性,在驱动电机中承受 H 桥功率驱动电路,H 桥功率驱动电路可应用于步进电机、沟通电机及直流电机等的驱动。永磁步进电机或混合式步进5电机的励磁绕组都必需用双极性电源供电,也就是说绕组有时需正向电流,有时需反向电流,这样绕组电源需用 H 桥驱动。直流电机把握使用 H 桥驱动电路图 2-5,当 PWM1为低电平,通过对 PWM2 输出占空比不同的矩形波使三极管 Q1、Q6 同时导通 Q5 截止,从而实现电机正向转动以及转速的把握;同理,当 PWM2 为高电平,通过对 PWM1 输出占空比不同的矩形波使三极管 Q1、Q6 同时导
12、通,Q5 截止,从而实现电机反向转动以及转速的把握。图 2-5 H 桥的电机驱动电路2.5 基于霍尔传感器的测速模块2.5.1 霍尔传感器的工作原理霍尔效应:在一块半导体薄片上,其长度为 l,宽度为 b,厚度为 d,当它被置于磁感应强度为 B 的磁场中,假设在它相对的两边通以把握电流 I,且磁场方向与电流方向正交,则在半导体另外两边将产生一个大小与把握电流 I 和磁感应强度 B 乘积成正比的电势 UH,即 UH=KHIB,其中 kH 为霍尔元件的灵敏度。该电势称为霍尔电势,半导体薄片就是霍尔元件。工作原理:霍尔开关集成电路中的信号放大器将霍尔元件产生的幅值随磁场强度变化的霍尔电压 UH 放大后
13、再经信号变换器、驱动器进展整形、放大后输出幅值相等、频率变化的方波信号。信号输出端每输出一个周期的方波,代表转过了一个齿。单位时间内输出的脉冲数 N,因此可求出单位时间内的速度 VNT。2.5.2 霍尔传感器的电路原理图6图 2-6 霍尔传感器的测速电路2.6 LCD 显示模块2.6.1 1602 芯片介绍1602 液晶模块内部的字符发生存储器 CGROM) 已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等, 每一个字符都有一个固定的代码, 比方大写的英文字母“A” 的代码是01000001B 41H,显示时模块把地址 41H 中的点阵
14、字符图形显示出来,我们就能看到字母“A”。由于 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值, 在单片机编程中还可以用字符型常量或变量赋值,如”A。1602 承受标准的 16 脚接口,其中:第 1 脚: VSS 为电源地第 2 脚: VDD 接 5V 电源正极第 3 脚: V0 为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高比照度过高时会产生“阴影”,使用时可以通过一个10K 的电位器调整比照度。第 4 脚:RS 为存放器选择,高电平 1 时选择数据存放器、低电平 0 时选择指令存放器。第 5 脚:RW 为读写信号线, 高电平(1) 时进展读操作
15、, 低电平(0) 时进展写操作。第 6 脚: E(或 EN) 端为使能 (enable) 端。第 714 脚: D0D7 为 8 位双向数据端。第 1516 脚:空脚或背灯电源。 15 脚背光正极, 16 脚背光负极。72.6.2 电路原理图2.7 调速设计模块图 2-7 LCD 显示电路PWM 波软件软件设计程序流程图:开头初始化按键查询OPEN 是否按下时是Add_speed 是否按下Sub_speed 是否按下Swap 或 close 是否按下是是定时器T0 开头计时产生矩形波增大矩形波占空减小矩形波占空转变转向或关闭电机图 2-8 软件电机把握的方框图通过把握总中断使能 EA 把握电机
16、的开关,同时使能对霍尔传感器输出的方波在单位时间内脉冲个数的计数。其中定时器T0,T1 分别对脉冲的宽度、霍尔元件输出的脉冲8数对应的 1 秒时间定时。对脉冲宽度的调整是通过转变高电平的定时长度,由变量 high把握。变量 change、 sub_speed 、add_speed 分别实现电机的转向、加速、减速。/*通过按键实现对电机开关、调速、转向的把握的程序*/ void motor_controlif(open = 1)EA = 1;if(close = 1)EA = 0;if(swap = 1)change = change; while(swap != 0)if(sub_speed
17、= 1)high+; if(high = 30)EA=0;while(sub_speed != 0)if(add_speed = 1)high-; if(high = 5)high = 5;while(add_speed != 0)92.8 测速软件设计开头初始化OPEN 是否按下定时器T1 开头计时对单位时间内的脉冲计数 N依据公式计算出电机的速度液晶显示电机速度图 2-9 软件测速的方框图/*T1 中断效劳程序*单位时间S方波的个数*/ void time1_int(void) interrupt 3count_speed+; if(count_speed = 20)count_speed
18、 = 0; num_display = num_medium; num_medium = 0;103.1 调试软件介绍第三章 系统功能调试Protel99SE 是应用于 Windows9X/2023/NT 操作系统下的 EDA 设计软件,承受设计库治理模式,可以进展联网设计,具有很强的数据交换力气和开放性及 3D 模拟功能,可以完成电路原理图设计,印制电路板设计和可编程规律器件设计等工作,可以设计 32 个信号层, 16 个电源-地层和 16 个机加工层。依据系统功能来划分, Protel99se 主要包含 6 个功能模块:电路工程设计局部、印刷电路板设计系统、自动布线系统、电路模拟仿真系统、
19、可编程规律设计系统、高级信号完整性分析系统。KeilC51 软件供给丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51 生成的目标代码效率格外之高,多数语句生成的汇编代码很紧凑,简洁理解。在开发大型软件时更能表达高级语言的优势。KEIL C51 编译器由 uVision2 集成开发环境与编辑器和调试器以及 C51 编译器组成。其中uVision2 集成开发环境中的工程(project)是由源文件、开发工具选项以及编程说明三局部组成的;编辑器和调试器包括源代码编辑器、断点设置、调试函数语言、变量和存储器。P
20、roteus 软件是一种低投资的电子设计自动化软件,供给可仿真数字和模拟、沟通和直流等数千种元器件和多达 30 多个元件库。Proteus 软件供给多种现实存在的虚拟仪器仪表。此外,Proteus 还供给图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有抱负的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能削减仪器对测量结果的影响,Proteus 软件供给丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。供给 Schematic Drawing、SPICE 仿真与 PCB 设计功能,同时可以仿真单片机和周边设备,可以仿真 51 系列、AV
21、R、PIC 等常用的 MCU,并供给周边设备的仿真,例如 373、led、示波器等。Proteus 供给了大量的元件库,有 RAM、ROM、键盘、马达、LED、LCD、AD/DA、局部 SPI 器件、局部IIC 器件,编译方面支持Keil 和 MPLAB 等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟试验教程,就可相当于一个设备先进的试验室。以虚代实、以软代硬,就建立一个完善的虚拟试验室。在计算机上学习电工根底,模拟电路、数字电路、单片机应用系统等课程,并进展电路设计、仿真、调试等。当电路设计完成之后,为了削减在电路板上调试时的难度,保证电路设计的正确性,将 Keil c51 编译生成
22、的*.HEX 文件11载入 Proteus 软件,实现电路仿真。3.2 直流电机的调速功能仿真当按下 open 键时,电机开头工作。假设需要加快电机的转速,则按下 add_speed 键, 直到电机转速适中;相反,需要减慢电机的转速时,则按下sub_speed 键,待转速满足后,放开按键。固然,在某种特定的环境下,还需转变电机的转速,此时,你可以按一下 swap 键,以到达转变电机转向的目的。当电机不工作时,则按下 close 键。图 3-1 直流电机调速系统的Proteus 仿真图1. 调速前的波形图图电机启动时的脉冲波形占空比2. 调速后的波形图12图 3-3 电机减速后的脉冲波形占空比3
23、.3 电机速度的测量并显示功能仿真对电机转速的显示,为使用者供给了更为直观的界面。用户可以依据液晶显示屏上的数字,调整电机的转速,为调速供给了便利。从显示数字的稳定程度,也可以推断电机转速的稳定性。假设显示数字几乎不变,则说明电机工作格外稳定;与之相反,显示数字不停地变化,则说明电机工作格外不稳定。3.4 系统的电路原理图图 3-4 直流电机系统的Proteus 仿真图 3-5 直流电机调速系统的Protel 原理图由电源模块、单片机把握单元、电机驱动电路、LCD 显示电路、霍尔传感器电路构成13设计总结经过 2 个月的课程设计,我的毕业设计最终完成。在没有做毕业设计以前觉得毕业设计只是对这几
24、年来所学学问的单纯总结,但是通过这次做毕业设计觉察自己的看法有点太片面。毕业设计不仅是对前面所学学问的一种检验,而且也是对自己力气的一种提高。通过这次的毕业设计留给我印象最深的是要设计一个成功的电路,必需要有扎实的理论根底,还要有坚持不懈的精神。通过了这次的做设计,自己收获很大,王教师对我的指导也起到了很大的作用,在此先感谢教师对我的指导。还有这次对直流电机的调速,个人感觉其中还有很多不够完善的地方,例如:对电机的把握承受的是独立按键,而非矩阵键盘;电机的驱动电路的设计也不是很成熟。此次的设计并不奢望确定能成功,但确定要对已学的各种电子学问能有确定的运用力气,我做设计的目的是期望能检查下对所学
25、学问的运用力气的好坏,并且开头渐渐走上制造的道路,这是格外贵重的一点。这次设计我感觉把大学学的东西都严峻了进去。不止单片机方面有所提升,别的方面也有了很大的收获,自己学到了不少学问,也经受了不少艰辛,但收获同样巨大。在整个设计中我懂得了很多东西,也培育了我独立工作的力气,树立了对自己工作力气的信念,信任会对今后的学习工作生活有格外重要的影响。14参考文献1 傅丰林模拟电子线路根底 M. 西安:西安电子科技大学出版社,2023.12 江志红51 单片机技术与应用系统开发案列精选 M. 北京:清华大学出版社,2023.123 王选民 智能仪器原理及设计 M. 北京:清华大学出版社,2023.74
26、文东 孙鹏飞 C 语言程序设计 M. 北京:中国人民大学出版社,2023.25 杨加国 单片机原理与应用及C51 程序设计 M. 北京:清华大学出版社,2023.315附录#include #define uchar unsigned char #define uint unsigned intsbit open = P20; sbit close = P21; sbit swap = P22;sbit sub_speed = P23; sbit add_speed = P24;sbit PWM1 = P30; sbit PWM2 = P31;/*液晶显示*/ sbit E=P37;sbit
27、RW = P36; sbit RS = P35; sbit test = P34;inttime =0;inthigh =20;intperiod= 30;intchange= 0;intflag =0;int num_medium = 0; int num_display = 0; int count_speed = 0;uchar wword=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;16/*延时 t 毫秒*/ void delay(uchar t)uint i; while(t)/*对于 11.0592MHz 时钟,延时 1ms*
28、/ for(i=0;i125;i+);t-;/写命令函数 LCD void wc51r(uchar j)RS=0; RW=0; P1=j; E=1; E=0;delay(3);/写数据函数 LCDvoid wc51ddr(uchar j)RS=1; RW=0;17P1=j; E=1; E=0;delay(2);/初始化函数 LCD void initwc51r(0x01);/清屏wc51r(0x38);/使用 8 位数据,显示两行,使用 5*7 的字型wc51r(0x0c);/显示器件,光标开,字符不闪耀wc51r(0x06);/字符不动,光标自动右移一格/*8T0 中断效劳程序*PWM 波的
29、生成*/ void time0_int(void) interrupt 1time+;TH0 = 0xec; TL0 = 0x78;if(change = 0)PWM2 = 1;if(time = high)PWM1=0;18else if(time = period)PWM1 = 1;time = 0;elsePWM1 = 1;if(time = high)PWM2=0;else if(time = period)PWM2 = 1;time = 0;/*/*T1 中断效劳程序*单位时间S方波的个数*/ void time1_int(void) interrupt 3count_speed+;
30、 if(count_speed = 20)count_speed = 0; num_display = num_medium; num_medium = 0;19/*/*速度显示的数据处理*/ void datamadeuint data MM,NN; wc51r(0xc2); wc51ddr(”S”);wc51ddr(”p”);wc51ddr(”e”);wc51ddr(”e”);wc51ddr(”d”); wc51ddr(0x3a);NN = num_display%100; MM = num_display/100; wc51ddr(wwordMM);MM = NN/10; NN = NN
31、%10;wc51ddr(wwordMM); wc51ddr(wwordNN);/*/*通过按键实现对电机开关、调速、转向的把握*/ void motor_control20if(open = 1)EA = 1;if(close = 1)EA = 0;if(swap = 1)change = change; while(swap != 0)if(sub_speed = 1)high+; if(high = 30)EA=0;while(sub_speed != 0)if(add_speed = 1)high-; if(high = 5)high = 5;while(add_speed != 0)21/*/*主函数*/ void mainP2 = 0x00;ET0 = 1;ET1 = 1; TMOD = 0x11;TH0=0xec;TL0=0x78;TH1=0x3c;TL1=0xb0;TR0=1;TR1=1;/定时器 T0 设置参数/定时器 T1 设置参数init;/液晶显示初始化程序while(1)wc51r(0x84); wc51ddr(”H”);wc51ddr(”e”);wc51ddr(”l”);wc51ddr(”l”);22wc51ddr(”o”);if(test = 0) num_medium+;datamade; motor_control;2324