《基于STM32的直流电机PID调速系统设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的直流电机PID调速系统设计.docx(10页珍藏版)》请在第一文库网上搜索。
1、计算机控制技术课程设计题目:基于STM32的直流电机PID调速学院:计算机与电子信息学院专业:电气工程及其自动化班级:电气12-5学号:姓名:任课教师:完成时间:基于STM32的直流电机PID调速摘要电机转速控制在运动控制系统中占有至关重要的地位,本设计将电机转速控制作为研究对象;以P1D为基本控制算法,STM32FI03单片机为控制核心,产生受P1D算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。在系统中采320240TFT1CD显示器作为显示部件,通过4个按键通过界面切换方式设置P、I、D、
2、V四个参数和正反转控制,启动后可以通过显示部件了解电机当前的运行状态和系统的CPU温度。该系统控制精度高,具有很强的抗干扰能力。关键词:PID直流电机反馈调节BasedontheSTM32PIDspeedcontro1ofdemotorAbstractMotorspeedcontro1occupiesacrucia1positioninthemotioncontro1system,thedesignofthemotorspeedcontro1forthestudy;inthebasicPIDcontro1a1gorithm,STM32F103microcontro11ercore,bytheP
3、IDcontro1a1gorithmgeneratesaPWMpu1setoachieveDCspeedcontro1.Atthesametimetheuseofphotoe1ectricsensorstoconvertthemotorspeedtopu1sefrequencyfeedbacktothemicrocontro11ertoachievec1osed-1oopspeedcontro1,tospeedstaticerroradjustmentpurposes.Mining320240TFT1CDmonitorasadisp1ayunitinthesystem,throughfourk
4、eysettingsP,I,D,Vfourparametersandreversingcontro1throughtheinterfaceswitchingmode,starttounderstandthecurrentstateofthemotorandthesystemthroughthedisp1ayunitCPUtemperature.Thesystemcontro1andhighprecision,hasastronganti-jammingcapabi1ity.Keywords:PIDDCmotorfeedbackregu1ation目录1 .绪论1研究背景与意义1本文主要研究方法
5、12 .设计方案与论证2系统设计方案2控制器模块设计方案23 .系统硬件电路设计3整体电路设计3整体理论3整体简单结构图和资源分配图3最小单片机系统设计4STM32F103复位电路6电源电路6电机驱动电路设计7光电码盘编码器电路设计7显示电路设计8按键电路设计104 .系统软件设计10PID算法ioP1D参数整定方法H电机速度采集算法12程序流程图125 .系统调试13软件调试13系统测试与分析146.总结与展望15参考文献16附录一部分程序源程序17附录二系统界面实物图和PCB图201 .绪论1.1 研究背景与意义电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和
6、结构上的简单,使其成为许多电器,如洗衣机,电梯等的驱动。而对于直流电机的控制,最流行的莫过于采用可控硅装置向电动机供电,即KZ-D拖动系统。起初的控制系统是发电机一电动机系统,相当的笨重。随着电力电子技术和单片机的成熟应用,使得直流电机调速系统从模拟化向数字化转变。而PWM脉宽调制,是现在应用最成熟的方法。它来源于电力电子的桥式电路,通过单片机可进行简单的模拟,而将它们结合起来,由电力电子元件组桥进行方向控制,而由单片机产生PWM波控制晶闸管的门极。调节占空比就能够控制电机的平均电压,从而控制电机的转速。直流电动机调速应用于实际中各个方面,工业,家电等,因为它能够在一个相当大的范围内进行平滑调
7、速。但是早起以模拟元件为控制装置的系统,由于模拟元件本身的缺陷,导致硬件复杂,功能简单,不灵活,误差大,无法实行精确的调速。单片机的应用解决了这个问题的一部分,误差可由许多完善的算法来解决,而且减小了硬件的复杂性。使得直流调速逐步由模拟化向数字化转变,使直流调速进入一个更加智能与可靠的新阶段。1.2 本文主要研究方法本文主要研究了利用STM32系列单片机,通过PWM方式控制直流电机调速的方法。PwM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展己经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会
8、成为PWM控制技术发展的主要方向之一。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了专门的芯片组成了PWM信号的发生系统,然后通过1298N放大来驱动电机。利用光电编码盘器测得电机速度,然后反馈给单片机,在内部进行P1D运算,输出控制量完成闭环控制,实现电机的调速控制。2 .设计方案与论证系统设计方案根据系统设计的任务和要求,设计系统方框图如图1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直
9、流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PwM脉冲的占空比,实现电机转速实时控制的目的。图1系统方案框图控制器模块设计方案根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。对于控制器的选择有以下二种方案。方案一:采用FPGA(现场可编辑门列阵)作为系统的控制器,FPGA可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能控制。FPGA采用并行的输入输出方式,提高了系统
10、的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给FPGA,FPGA通过程序设计控制PWM脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案二:采用STM32F103作为系统控制的方案。STM32F103单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。综
11、合上述两种方案比较,采用STM32F103作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。因此在本次设计选用方案二。3 .系统硬件电路设计整体电路设计整体理论单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。本系统以8
12、9C52单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。整体简单结构图和资源分配图本系统硬件资源分配见图
13、2所示,简单结构如图4。采用STM32F103单片机作为核心器件,转速检测模块作为电机转速测量装置的,通过STM32F103的PA(A相)和PA7(B相)将电脉冲信号送入单片机处理,1298作为直流电机的驱动模块,利用320240TFT1CD显示器和4个独立按键作为人机接口。图2系统电路连接及硬件资源分配图最小单片机系统设计STM32F103ZETT6作为MCU,该芯片是STM32F103里面配置非常强大的了,它拥有的资源包括:64KBSRAM、512KBF1ASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、
14、1个CAN、3个12位ADC、1个12位DAC、1个SD1O接口、1个FSMC接口以及112个通用IO口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩SRAM和连接1CD等,通过FSMC驱动1CD,可以显着提高1CD的刷屏速度,是STM32F1家族常用型号里面,最高配置的芯片了。MCU部分的原理图如图3所示:图3MCU最小系统设计图3.2.1STM32F103复位电路STM32F103的复位电路如图4所示:图4复位电路图因为STM32是低电平复位的,所以我们设计的电路也是低电平复位的,这里的R3和C12构成了上电复位电路。同时,开发板把TFTJ1CD的复位引脚也接在RESET
15、上,这样这个复位按钮不仅可以用来复位MCU,还可以复位1CD。3. 2.2电源电路STM32F103板载的电源供电部分,其原理图如图5所示:图5电源电路图中,总共有3个稳压芯片:U12U13U15,DCN用于外部直流电源输入,范围是DC624V,输入电压经过U13DCT)C芯片转换为5V电源输出,其中D4是防反接二极管,避免外部直流电源极性搞错的时候,烧坏开发板。K2为开发板的总电源开关,FI为IOoOma自恢复保险丝,用于保护USB。U12为稳压芯片,给开发板提供电源,而U15则是稳压芯片,供VS1053的CVDD使用。3.3 电机驱动电路设计驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用1298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速”1其中输出脚(SENSEA和SENSEB)用来连接电流检测电阻,VSS接逻辑控制的电源。VS为电机驱动电源。IN1TN4输入引脚为标准TT1逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其电