下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、他汉科长住彷ZHEIIAMG UNIVERSITY OF SCIENCE & TECHNOLOGY电气控制技术研究生课程设计报告题目 基于STM32的直流电机 PID调速系统学 院机械与汽车工程学院专业班级车辆工程学号2020学生姓名李跃轩指导教师 康敏完成日期 2017年01月03日目录1 .绪论本文主要研究了利用STM32系列单片机,通过PWM方式控制直流电机调速的 方法。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术 最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了 学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为
2、PWM控制技术发展的主要方向之一。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。采用的芯片组成了 PWM信号的发生系,然后通过 L298N放大来驱动电机。利用光电编 码盘器测得电机速度,然后反馈给单片机,在内部进行 PID运算,输出控制量完成 闭环控制,实现电机的调速控制。2 .设计方案根据系统设计的任务和要求,设计系统方框图如图1所示。图中控制器模块为系 统的核心部件,键盘和显示器用来实现人机交互功能, 其中通过键盘将速度参数输入 到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲 送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模
3、块将当前 转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电 机转速实时控制的目的。图1系统方案框图3系统硬件电路设计整体电路设计单片机直流调速系统可实现对直流电动机的平滑调速。PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。 通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此, PWM 又被称为“开关驱动装置”。本系统以 STM32 单片机为核心,通过单片
4、机控制,C 语言编程实现对直流电机的平滑调速。本直流电机调速系统以单片机系统为依托,根据 PWM 调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。本系统硬件资源分配见图2所示。采用STM32F103单片机作为核心器件,转速检测模块作为电机
5、转速测量装置,通过STM32F103 的 PA1(A 相 )将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,利用 320X 240TFTLCD显示器和3个独立按键作为人机接口。图2系统电路连接及硬件资源分配图最小单片机系统设计STM32F103ZETT6作为MCU ,该芯片是 STM32F103里面配置非常强大的了, 它拥有的资源包括:64KB SRAM、512KB FLASH、2个基本定时器、4个通用定时 器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个用 口、1 个 USB、1 个 CAN、3 个 12 位 ADC、1 个 12 位 DAC、1
6、 个 SDIO 接口、1 个 FSMC接口以及112个通用IO 口。该芯片的配置十分强悍,并且还带外部总线(FSMC) 可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显着提高LCD的 刷屏速度,是STM32F1家族常用型号里面,最高配置的芯片了。复位电路STM32F103的复位电路如图3所示:VCC3.3R31 OK RESETRESETC12GXD图3复位电路图因为STM32是低电平复位的,所以我们设计的电路也是低电平复位的,这里的R3和C12构成了上电复位电路。同时,开发板把TFT_LCD的复位引脚也接在RESET上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位L
7、CD。电源电路STM32F103载的电源供电部分,其原理图如图4所示:晅正帅<3Mt>ONDvtwn图4电源电路图中,总共有3个稳压芯片:U12/U13/U15, DC_IN用于外部直流电源输入,范围是DC624V,输入电压经过U13 DC-DC芯片转换为5V电源输出,其中D4是防反接二极管,避免外部直流电源极性搞错的时候,烧坏开发板。K2为开发板的总电源开 关,F1为1000ma自恢复保险丝,用于保护USB。U12为稳压芯片,给开发板提供电源, 而U15则是稳压芯片,供VS1053的CVDD使用。电机驱动电路设计驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O 口不能
8、直接驱 动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。其中输出脚(SENSEA和SENSEB)用 来连接电流检测电阻,Vss接逻辑控制的电源。Vs为电机驱动电源。IN1-IN4输入引 脚为标准TTL逻辑电平信号,用来控制 H桥的开与关即实现电机的正反转,ENA、 ENB引脚则为使能控制端,用来输入 PWM信号实现电机调速。其电路如图 5所示, 利用两个光电耦合器将单片机的I/O与
9、驱动电路进行隔离,保证电路安全可靠。这样 单片机产生的PWM脉冲控制L298N的选通端,使电机在PWM脉冲的控制下正常 运行,其中四个二极管对芯片起保护作用。图5电机驱动电路光电码盘编码器电路设计在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,通过偏差进行PID运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了 比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上 有N个等分凹槽如图6所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽 处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光
10、敏三极管上,三极管导通,反之三极管截止, 电路如图7所示,从图中可以得出电机每转一圈在 PA3的输出端就会产生N个低电 平。这样就可根据低电平的数量来计算电机此时转速了。例如当电机以一定的转速运行时,PA3将输出如图7所示的脉冲,若知道一段时间t内传感器输出的低脉冲数为 n,则可求出电机转速。图6电机速度采集方案图7传感器输出脉冲波形显示电路设计根据设计要求要对电机的转速进行读取,因此在电路中加入显示模块是很有必要 的。在系统运行过程中需要显示的数据比较多,而且需要汉字显示,在这里选用 320X240液晶显示器比较适合,它是一种图形点阵液晶显示器,主要由行驱动器/列驱 动器及320X 240全
11、点阵液晶显示器组成,可完成汉字显示。TFTLCD 模块采用16 位的并方式与外部连接,之所以不采用8 位的方式,是因为彩屏的数据量比较大,如果用8 位数据线,就会比16 位方式慢一倍以上,我们当然希望速度越快越好,所以我们选择16 位的接口。按键电路设计根据设计需求,本系统中使用了3 个独立按键用以实现对电机转速的设定以及复位功能。键盘操作说明:在系统开始运行时,320X 240TFTLCD将显示开机界面,按KEY_2 增加速度,按KEY_3 减少速度,按KEY_RESET 键是复位,使程序回到初始状态。4.系统软件设计PID 算法本系统设计的核心算法为PID 算法,它根据本次采样的数据与设定
12、值进行比较得出偏差e(n) , 对偏差进行P、 I、 D 运算最终利用运算结果控制PWM 脉冲的占空比来实现对加在电机两端电压的调节,进而控制电机转速。其运算公式为:u(t )Kpe(n)e(n1) K1e(n)Kde(n)2e(n1)e(n2) ( 1)如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID调节器是一种线性调节
13、器,它根据给定值r(t)与实际输出值c(t)构成的控制偏差:e(t) =r(t) c(t)( 2)将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为 PID 调节器。在实际应用中,常根据对象的特征和控制要求,将P、 I、 D 基本 控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如, P调节器, PI调节器,PID调节器等。模拟PID调节器的控制规律为1 tde(t)u(t) Kpe(t) - e(t)dt Td 个TI 0dt式中,KP为比例系数,TI为积分时间常数,Td为微分时间常数。简单的说,PID调节器各校正环节的作用是:(1)比例环节:即时成比例地
14、反应控制系统的偏差信号e(t) 偏差一旦产生,调节器立即产生控制作用以减少偏差;(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI , TI越大,积分作用越弱,反之则越强;(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值 变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度, 减少调节时间。电机速度采集算法本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。在设计中采用了光电传感器做为测速装置,其计算公式为:nv= 60 r/min(3)N t式中,速度v的误差主要是由圆盘边缘上的凹槽数的
15、多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数N为260,采样时间t为10ms。5.系统调试软件调试在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM 信号发生电路的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向老师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。经过多天的努力探索,也经过老师的指导,大部分问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即
16、可实现直流电机调速的目的。总结这次软件调试,让我认识到了做软件调试的基本方法与流程:( 1)认真检查源代码,看是否有文字或语法错误( 2)逐段子程序进行设计,找出错误出现的部分,重点排查( 3)找到合适的方法,仔细检查程序,分步调试直到运行成功为了确定系统与设计要求的符合程度,需要进行系统测试与分析,下面以PID调节器为例,具体说明经验法的整定步骤:让调节器参数积分系数K I =0, 实际微分系数K D =0, 控制系统投入闭环运行,由小到大改变比例系数K P ,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。取比例系数K P 为当前的值乘以5,由小到大增加积分系数K I ,同
17、样让扰动信号作阶跃变化,直至求得满意的控制过程。积分系数K I 保持不变,改变比例系数K P ,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则, 将原比例系数K P 增大一些,调整积分系数K I ,力求改善控制过程。如此反复,直到找到满意的比例系数K P 和积分系数K I 为止。引入适当的实际微分系数K D 和实际微分时间T D ,此时可适当增大比例系数K P 和积分系数K I 。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。根据上诉方法,通过观察得出该系统比较合适的P、 I、 D 三者的参数值为: K P =5,K I =, K D =0。6.总结与展望这一
18、段时间过的无比的充实,每天都在忙碌着,查阅资料,翻看文档,了解相关的知识, 每一个设计细节都要仔细的考虑,每一个环节都要查阅相关的资料,争取做到完美。 在这个系统中以前学的很多东西现在都用上了,数码管的移位显示等等都是在以前学习的基础上慢慢调试出来的,所以在写这篇论文的时候又让我对以前的知识进行了一次回顾,对知识又有了新的认识!真是受益匪浅!通过本次课程设计,我学到了许多了东西,知道光靠书本上的东西是不够的,需额外去查资料。无论是在硬件、软件还是设计思路上,我都遇到了不少的问题,在克服困难的过程中,我学到了许多。知道了PID 算法的应用,以前总觉得PID 就是像做数学一样,不知道实际应用。通过
19、本次设计,让我很好的锻炼了理论与具体项目、课题相结合开发、设计产品的能力。既让我们懂得了怎样把理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。附录一部分程序源程序<>#include ""#include ""#include ""#include ""#include ""#include <>#include <>float WishSpeedMax=360;float WishSpeedMin=0;float WishSpeed;ext
20、ern float U_Out2;u8 WishSpeedChar11;u8 RealSpeedChar11;int main(void)SystemInit();delay_init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);EXTI_Config();PID_ParameterReckon();Tim3_Init();DCMotor_Init();DCMotor_Out(U_Out0);WishSpeed=200;POINT_COLOR=BLUE;BACK_COLOR=WHITE;LCD_Init();LCD_Clear(WHIT
21、E);LCD_ShowString(30,50,"Wished Speed",POINT_COLOR);WishSpeedLCDShow();LCD_ShowString(30,90,"Real Speed",POINT_COLOR);while(1)Add_PID_Control();#include <>#include <> extern float WishSpeed;extern float RealSpeed;float U_OutMAX=1000;/? ± e 100%float U_OutMIN=0;fl
22、oat Kp;float Ki;float Kd;float Error3;float U_Out2;float U_Add;void PID_ParameterReckon(void)Kp=5;Ki=;Kd=0;U_Out0=;Error2=;Error1=;Error0=;void Add_PID_Control(void)Error2=WishSpeed-RealSpeed;if(Error2>*WishSpeed)&&(Error2<*WishSpeed)Error2=0;U_Add=Kp*(Error2-Error1)+Ki*Error2+Kd*(Erro
23、r2-2*Error1+Erro r0);U_Out1=U_Add+U_Out0;if(U_Out1>U_OutMAX)U_Out1=U_OutMAX;if(U_Out1<U_OutMIN)U_Out1=U_OutMIN;DCMotor_Out(int16_t)(U_Out1);U_Out0=U_Out1;Error0=Error1;Error1=Error2;#include <>#include ""extern float U_Out2;int InPWM_HzNew;int InPWM_HzOld;int16_t OutPWM;static
24、void Tim2_Init(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);=1000-1;=4-1;=0;=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);=TIM_OCMode_PWM1;=TIM_OutputState_Enable;=0;=TIM_OCPolarit
25、y_High;TIM_OC4Init(TIM2,&TIM_OCInitStructure);TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);TIM_ARRPreloadConfig(TIM2,ENABLE);TIM_Cmd(TIM2,ENABLE);static void Tim5_Init(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_ICInitTypeDef TIM_ICInitStructure;GPIO_InitTypeDef GPIO_InitStructure;
26、NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);=GPIO_Pin_1;=GPIO_Mode_IPD;=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_ResetBits(GPIOA,GPIO_Pin_0);=65536-1;=72-1;=TIM_CKD_DIV1;=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure);=TIM_Channel_2;=TIM_ICPolarity_Rising;=TIM_ICSelection_DirectTI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 优化合同协议共创美好明天
- 买卖合同购销印刷品
- 城市交通枢纽建设房屋拆除协议
- 纺织工程建造师聘用合同样本
- 商业空间墙面施工合同协议
- 互联网医疗合作协议签约管理办法
- 艺术工作室租赁合同:灵感之源
- 畜牧养殖顾问合作协议
- 城市绿化工程合同范本
- 化工工程监理合同
- 2024年山东省青岛中德生态园(青岛国际经济合作区)管委会选聘52人历年高频500题难、易错点模拟试题附带答案详解
- “数字城市”公共智慧底座项目解决方案
- 河南省郑州市管城回族区2023-2024学年六年级上学期期末数学试题+
- 2024年全国职业院校技能大赛中职组(母婴照护赛项)考试题库(含答案)
- 第11课《社会历史的主体》第2框《自觉站在最广大人民的立场上》同步课堂课件-【中职专用】《哲学与人生》
- 博山污水处理厂提标改造工程技术标
- 浙江省宁波市慈溪市2022-2023学年上学期八年级科学期末试卷
- 2022年注册消防工程师继续教育测试题
- 2024年《高等教育心理学》教师岗前培训考试复习题库(含答案)
- 七年级历史上册第一学期期末综合测试卷(人教版 2024年秋)
- 2024年首届全国“红旗杯”班组长大赛考试题库800题(含答案)
评论
0/150
提交评论