基于直流电机PID调速系统设计

上传人:qd****88 文档编号:62547237 上传时间:2022-03-15 格式:DOC 页数:16 大小:181KB
收藏 版权申诉 举报 下载
基于直流电机PID调速系统设计_第1页
第1页 / 共16页
基于直流电机PID调速系统设计_第2页
第2页 / 共16页
基于直流电机PID调速系统设计_第3页
第3页 / 共16页
资源描述:

《基于直流电机PID调速系统设计》由会员分享,可在线阅读,更多相关《基于直流电机PID调速系统设计(16页珍藏版)》请在装配图网上搜索。

1、-. z? ?计算机控制技术课程设计计算机控制技术课程设计? ?题题 目:目:基于基于 STM32STM32 的直流电机的直流电机 PIDPID 调速调速 学院:学院: 计算机与电子信息学院计算机与电子信息学院 专业:专业: 电气工程及其自动化电气工程及其自动化 班级:班级: 电气电气 12-512-5 *:任课教师:任课教师:完成时间:完成时间: 20212021 .11.18.11.1820212021 .12.30.12.30 基于基于 STM32STM32 的直流电机的直流电机 PIDPID 调速调速摘要摘要电机转速控制在运动控制系统中占有至关重要的地位,本设计将电机转速控制作为研究对

2、象;以 PID 为根本控制算法,STM32F103 单片机为控制核心,产生受 PID算法控制的 PWM 脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反响到单片机中,实现转速闭环控制,到达转速无静差调节的目的。在系统中采 320240TFTLCD 显示器作为显示部件,通过 4 个按键通过界面切换方式设置 P、I、D、V 四个参数和正反转控制,启动后可以通过显示部件了解电机当前的运行状态和系统的 CPU 温度。该系统控制精度高,具有很强的抗干扰能力。关键词:关键词:PID 直流电机 反响 调节Based on the STM32 PID speed control of

3、 dc motorAbstractMotorMotor speedspeed controlcontrol occupiesoccupies a a crucialcrucial positionposition inin thethe motionmotion -. zcontrolcontrol system,system, thethe designdesign ofof thethe motormotor speedspeed controlcontrol forfor thethe study;study; inin thethe basicbasic PIDPID controlc

4、ontrol algorithm,algorithm, STM32F103STM32F103 microcontrollermicrocontroller core,core, byby thethe PIDPID controlcontrol algorithmalgorithm generatesgenerates a a PWMPWM pulsepulse toto achieveachieve DCDC speedspeed control.control. AtAt thethe samesame timetime thethe useuse ofof photoelectricph

5、otoelectric sensorssensors toto convertconvert thethe motormotor speedspeed toto pulsepulse frequencyfrequency feedbackfeedback toto thethe microcontrollermicrocontroller toto achieveachieve closed-loopclosed-loop speedspeed control,control, toto speedspeed staticstatic errorerror adjustmentadjustme

6、nt purposes.purposes. MiningMining 320320 240TFTLCD240TFTLCD monitormonitor asas a a displaydisplay unitunit inin thethe system,system, throughthrough fourfour keykey settingssettings P,P, I,I, D,D, V V fourfour parametersparameters andand reversingreversing controlcontrol throughthrough thethe inte

7、rfaceinterface switchingswitching mode,mode, startstart toto understandunderstand thethe currentcurrent statestate ofof thethe motormotor andand thethe systemsystem throughthrough thethe displaydisplay unitunit CPUCPU temperature.temperature. TheThe systemsystem controlcontrol andand highhigh precis

8、ion,precision, hashas a a strongstrong anti-anti-jammingjamming capability.capability.Keywords:Keywords: PIDDCPIDDC motormotor feedbackfeedback regulationregulation目录目录1.1. 绪论绪论11.1 研究背景与意义11.2 本文主要研究方法12.2. 设计方案与论证设计方案与论证22.1 系统设计方案.22.2 控制器模块设计方案23.3. 系统硬件电路设计系统硬件电路设计33.1 整体电路设计3整体理论3-. z整体简单构造图和资

9、源分配图33.2 最小单片机系统设计4STM32F103 复位电路6电源电路63.3 电机驱动电路设计73.4 光电码盘编码器电路设计73.5 显示电路设计83.6 按键电路设计104.4. 系统软件设计系统软件设计104.1 PID 算法104.2 PID 参数整定方法114.3 电机速度采集算法124.4 程序流程图125.5. 系统调试系统调试135.1 软件调试135.2 系统测试与分析146.6. 总结与展望总结与展望15参考文献参考文献16附录一附录一 局部程序源程序局部程序源程序17附录二附录二 系统界面实物图和系统界面实物图和 PCBPCB 图图20-. z1.1.绪论绪论1.

10、11.1研究背景与意义研究背景与意义电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和构造上的简单,使其成为许多电器,如洗衣机,电梯等的驱动 。而对于直流电机的控制,最流行的莫过于采用可控硅装置向电动机供电,即KZD 拖动系统。起初的控制系统是发电机电动机系统,相当的笨重。随着电力电子技术和单片机的成熟应用1,使得直流电机调速系统从模拟化向数字化转变。而 PWM 脉宽调制,是现在应用最成熟的方法。它来源于电力电子的桥式电路,通过单片机可进展简单的模拟,而将它们结合起来,由电力电子元件组桥进展方向控制,而由单片机产生 PWM 波控制晶闸管的门极。调节占空比就能够控制电

11、机的平均电压,从而控制电机的转速。直流电动机调速应用于实际中各个方面,工业,家电等,因为它能够在一个相当大的围进展平滑调速。但是早起以模拟元件为控制装置的系统,由于模拟元件本身的缺陷,导致硬件复杂,功能简单,不灵活,误差大,无法实行准确的调速。单片机的应用解决了这个问题的一局部,误差可由许多完善的算法来解决,而且减小了硬件的复杂性2。使得直流调速逐步由模拟化向数字化转变,使直流调速进入一个更加智能与可靠的新阶段。1.21.2本文主要研究方法本文主要研究方法本文主要研究了利用 STM32 系列单片机,通过 PWM 方式控制直流电机调速的方法3。PWM 控制技术以其控制简单、灵活和动态响应好的优点

12、而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的开展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为 PWM 控制技术开展的主要方向之一4。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了专门的芯片组成了 PWM 信号的发生系统5,然后通过 L298N 放大来驱动电机。利用光电编码盘器测得电机速度,然后反响给单片机,在部进展 PID运算,输出控制量完成闭环控制,实现电机的调速控制。2.2.设计方案与论证设计方案与论证-. z2.12.1 系统设计方案系统设计方案根据系统设计的任务和要求,设计系统方框图如图

13、1 所示6。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生 PWM 脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反响到控制器中,控制器经过数字 PID 运算后改变 PWM 脉冲的占空比,实现电机转速实时控制的目的7。图 1 系统方案框图2.22.2 控制器模块设计方案控制器模块设计方案根据设计任务,控制器主要用于产生占空比受数字 PID 算法控制的 PWM 脉冲,并对电机当前速度进展采集处理,根据算法得出当前所需输出的占空比脉冲。对于控制器

14、的选择有以下二种方案。方案一:采用 FPGA现场可编辑门列阵作为系统的控制器,FPGA 可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用 EDA 软件仿真、调试,易于进展功能控制。FPGA 采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给 FPGA,FPGA 通过程序设计控制 PWM 脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA 的高速处理的优势得不到充分表达,并且由于其集成度高,使其本钱偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和

15、实际焊接的工作8。方案二:采用 STM32F103 作为系统控制的方案。STM32F103 单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。相对于FPGA 来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和本钱低等优点,在各个领域中应用广泛。综合上述两种方案比拟,采用 STM32F103 作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。因此在本次设计选用方案二。3 3系统硬件电路设计系统硬件电路设计3.13.1 整体电路设计整体电路设计-. z整体理论整体理论单片机直流电机调速简介:单片机直流调速系统可实现对直流电

16、动机的平滑调速。PWM 是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而到达控制要求的一种电压调整方法。在 PWM 驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期“接通和“断开时间的长短。通过改变直流电机电枢上电压的“占空比来改变平均电压的大小,从而控制电动机的转速。因此,PWM 又被称为“开关驱动装置。本系统以 89C52 单片机为核心,通过单片机控制,C 语言编程实现对直流电机的平滑调速9。系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据 PWM 调速的根本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机

17、的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大局部组成。硬件局部是前提,是整个系统执行的根底,它主要为软件提供程序运行的平台。而软件局部,是对硬件端口所表达的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,到达控制器自动对电机速度的有效控制。整体简单构造图和资源分配图整体简单构造图和资源分配图本系统硬件资源分配见图 2 所示,简单构造如图 4。采用 STM32F103 单片机作为核心器件,转速检测模块作为电机转速测量装置10,通过 STM32F103 的 PA(A 相)和 PA7(B 相)将电脉冲信号送入单

18、片机处理,L298 作为直流电机的驱动模块,利用320240TFTLCD 显示器和 4 个独立按键作为人机接口。图 2 系统电路连接及硬件资源分配图3.23.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 个 SDIO 接口、

19、1 个 FSMC 接口以及 112 个通用 IO 口。该芯片的配置十分强悍,并且还带外部总线FSMC可以用来外扩 SRAM 和连接 LCD 等,通过 FSMC 驱动 LCD,可以显著提高 LCD 的刷屏速度,-. z是 STM32F1 家族常用型号里面,最高配置的芯片了。MCU 局部的原理图如图 3 所示:图 3 MCU 最小系统设计图3.2.13.2.1 STM32F103STM32F103 复位电路复位电路STM32F103 的复位电路如图 4 所示:图 4 复位电路图因为 STM32 是低电平复位的,所以我们设计的电路也是低电平复位的,这里的R3 和 C12 构成了上电复位电路。同时,开

20、发板把 TFT_LCD 的复位引脚也接在 RESET上,这样这个复位按钮不仅可以用来复位 MCU,还可以复位 LCD。3.2.23.2.2 电源电路电源电路STM32F103板载的电源供电局部,其原理图如图5所示:图 5 电源电路图中,总共有3个稳压芯片:U12/U13/U15,DC_IN用于外部直流电源输入,围是DC624V,输入电压经过U13 DC-DC芯片转换为5V电源输出,其中D4是防反接二极管,防止外部直流电源极性搞错的时候,烧坏开发板。K2为开发板的总电源开关,F1为1000ma自恢复保险丝,用于保护USB。U12为3.3V稳压芯片,给开发板提供3.3V电源,而U15则是1.8V稳

21、压芯片,供VS1053的CVDD使用。3.33.3电机驱动电路设计电机驱动电路设计-. z驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的 I/O 口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N 电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的 H 桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速11。其中输出脚SENSEA 和SENSEB用来连接电流检测电阻,Vss 接逻辑控制的电源。Vs 为电机驱动电源。IN1-IN4 输入引脚为标准 TTL 逻辑电平信号

22、,用来控制 H 桥的开与关即实现电机的正反转,ENA、ENB 引脚则为使能控制端,用来输入 PWM 信号实现电机调速。其电路如图 6 所示,利用两个光电耦合器将单片机的 I/O 与驱动电路进展隔离,保证电路平安可靠。这样单片机产生的 PWM 脉冲控制 L298N 的选通端12,使电机在 PWM 脉冲的控制下正常运行,其中四个二极管对芯片起保护作用。图 6 电机驱动电路3.43.4光电码盘编码器电路设计光电码盘编码器电路设计在本系统中由于要将电机本次采样的速度与上次采样的速度进展比拟,通过偏差进展 PID 运算,因此速度采集电路是整个系统不可缺少的局部。本次设计中应用了比拟常见的光电测速方法来实

23、现,其具体做法是将电机轴上固定一圆盘,且其边缘上有 N 个等分凹槽如图 7 所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图 8 所示,从图中可以得出电机每转一圈在 PA6(或 PA7)的输出端就会产生 N 个低电平。这样就可根据低电平的数量来计算电机此时转速了13。例如当电机以一定的转速运行时,PA6(或 PA7)将输出如图 3.5 所示的脉冲,假设知道一段时间 t 传感器输出的低脉冲数为 n,则可求出电机转速。图 7 电机速度采集方

24、案图 8 传感器输出脉冲波形3.53.5 显示电路设计显示电路设计根据设计要求要对系统各项参数和电机运行状态进展显示,因此在电路中参加显示模块是非常必要的14。在系统运行过程中需要显示的数据比拟多,而且需要汉字显示,在这里选用 320240 液晶显示器比拟适合,它是一种图形点阵液晶显示器,-. z主要由行驱动器/列驱动器及 320240 全点阵液晶显示器组成,可完成汉字显示和图形显示,模块原理图如图 9。图 9 2.8 寸 TFTLCD 模块原理图从图 9 可以看出,ALIENTEK TFTLCD 模块采用 16 位的并方式与外部连接,之所以不采用 8 位的方式,是因为彩屏的数据量比拟大,尤其

25、在显示图片的时候,如果用 8 位数据线,就会比 16 位方式慢一倍以上,我们当然希望速度越快越好,所以我们选择 16 位的接口。图 10 还列出了触摸屏芯片的接口。图 10 2.8 寸 TFTLCD 模块接口图3.63.6按键电路设计按键电路设计根据设计需求,本系统中使用了 4 个独立按键用以实现对 P、I、D 三个参数和电机正反转的设定,以及对电机启动、停顿、暂停、继续的控制,其电路原理图如图 11 所示。图 11 按键与 STM32 连接原理图键盘操作说明:在系统开场运行时,320240TFTLCD 将显示开机界面,按KEY_DOWN 控制正反转,按 KEY_LIFT 减少速度,按 KEY

26、_RIGHT 增加速度,假设按住设置键KEY_UP不放显示屏进入参数设置界面,并且可以显示当前 CPU 温度,待所有量设置完成后放开设置键,设置完成。4.4.系统软件设计系统软件设计4.14.1 PIDPID 算法算法本系统设计的核心算法为 PID 算法,它根据本次采样的数据与设定值进展比拟得出偏差,对偏差进展)(neP、I、D 运算最终利用运算结果控制 PWM 脉冲的占空比来实现对加在电机两端电压的调节15,进而控制电机转速。其运算公式为:因此要想实现 PID 控制在单片机就必须存在上述算法,其程序流程如图 12 所示,PID 控制原理图如图 13。图 13 PID 控制原理图计算e(n)计

27、算KIe(n)计算KP(e(n)-e(n-1)计算KD(e(n)-2e(n-1)+e(n-2)计算u(n)计算u(n)u(n-1)e(n-1)e(n-2)e(n)e(n-1)u(n)u(n-1)返回图4.1PID程序流程-. z4.24.2PIDPID 参数整定方法参数整定方法如何选择控制算法的参数,要根据具体过程的要求来考虑16。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PI

28、D 调节器是一种线性调节器,它根据给定值与实际输出值构成的控)(tr)(tc制偏差: =1)(te)(tr)(tc将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进展控制,故称为 PID 调节器。在实际应用中,常根据对象的特征和控制要求,将 P、I、D 根本控制规律进展适当组合,以到达对被控对象进展有效控制的目的。例如,P 调节器,PI 调节器,PID 调节器等。模拟 PID 调节器的控制规律为2)()(1)()(0dttdeTdtteTteKtuDtIp式中,为比例系数,为积分时间常数,为微分时间常数。PKITDT简单的说,PID 调节器各校正环节的作用是:1比例环节:即时成比例地

29、反响控制系统的偏差信号,偏差一旦产生,)(te调节器立即产生控制作用以减少偏差;2积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强;ITIT3微分环节:能反映偏差信号的变化趋势变化速率,并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。PID 参数调节有下面的口诀:参数整定找最正确,从小到大顺序查;先是比例后积分,最后再把微分加;曲线振荡很频繁,比例度盘要放大;曲线漂浮绕大湾,比例度盘往小扳;-. zt=0.5s?计算r=n/120计算v=(r/0.5)*60返回NY曲线偏离回

30、复慢,积分时间往下降;曲线波动周期长,积分时间再加长;曲线振荡频率快,先把微分降下来;动差大来波动慢,微分时间应加长。4.34.3电机速度采集算法电机速度采集算法本系统中电机速度采集是一个非常重要的局部,它的精度直接影响到整个控制的精度17。在设计中采用了光电传感器做为测速装置,其计算公式为: v=r/min60tNn从这里可以看出速度 v 的误差主要是由圆盘边缘上的凹槽数的多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数 N 为 120,采样时间 t 为 0.5s,则速度计算具体程序流程如图 14 所示。 图 14 测速程4.44.4程序流程图程序流程图在一个完整的系统

31、中,只有硬件局部是不能完成相应设计任务的,所以在该系统中软件局部是非常重要的,按照要求和系统运行过程设计出主程序流程如图 15 所示。图 15 主程序流程5.5.系统调试系统调试5.15.1 软件调试软件调试在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM 信号发生电路的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向教师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。经过多天的努力探索,也经过教师的指导,大局部问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。后来经

32、过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。总-. z结这次软件调试,让我认识到了做软件调试的根本方法与流程:1认真检查源代码,看是否有文字或语法错误2逐段子程序进展设计,找出错误出现的局部,重点排查(3) 找到适宜的方法,仔细检查程序,分步调试直到运行成功5.25.2 系统测试与分析系统测试与分析为了确定系统与设计要求的符合程度,需要进展系统测试与分析,下面以 PID调节器为例,具体说明经历法的整定步骤:让调节器参数积分系数=0,实际微分系数=0,控制系统投入闭环运行,IKDK由小到大改变比例系数,让扰动信号作阶跃变化,观察控

33、制过程,直到获得满PK意的控制过程为止。取比例系数为当前的值乘以 0.83,由小到大增加积分系数,同样让扰PKIK动信号作阶跃变化,直至求得满意的控制过程。积分系数保持不变,改变比例系数,观察控制过程有无改善,如有改IKPK善则继续调整,直到满意为止。否则,将原比例系数增大一些,再调整积分系PK数,力求改善控制过程。如此反复试凑,直到找到满意的比例系数和积分IKPK系数为止。IK引入适当的实际微分系数和实际微分时间,此时可适当增大比例系数DKDT和积分系数。和前述步骤一样,微分时间的整定也需反复调整,直到控制PKIK过程满意为止。根据上诉方法,通过观察得出该系统比拟适宜的 P、I、D 三者的参

34、数值为:=4.0,=0.9,=1.0。PKIKDK6.6.总结与展望总结与展望这一段时间过的无比的充实,每天都在忙碌着,查阅资料,翻看文档,了解相关的知识,每一个设计细节都要仔细的考虑,每一个环节都要查阅相关的资料,争取做到完美。在这个系统中以前学的很多东西现在都用上了,数码管的移位显示等等都是在以前学习的根底上慢慢调试出来的,所以在写这篇论文的时候又让我对以前的知识进展了一次回忆,对知识又有了新的认识!真是受益匪浅!-. z通过本次课程设计,我学到了许多了东西,知道光靠书本上的东西是不够的,需额外去查资料。无论是在硬件、软件还是设计思路上,我都遇到了不少的问题,在克制困难的过程中,我学到了许

35、多。知道了 PID 算法的应用,以前总觉得 PID 就是像做数学一样,不知道实际应用。通过本次设计,让我很好的锻炼了理论与具体工程、课题相结合开发、设计产品的能力。既让我们懂得了怎样把理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。参考文献参考文献1建忠,余新拴,吴耀华.单片机原理及应用第二版M.电子科技大学,2021.291.2军,洋,严汉字. STM32F1 开发指南-库函数版本_V3.1M.航空航天大学,2021 .5.8.3谭浩强.C 程序设计第三版M.清华大学,2007.20.4阎石.数字电子技术根底第五版M.高等教育,2021.3.5友德.单片机原理应用与实验M.

36、复旦大学,1992.42.6毅刚,喜源,谭晓钧,曲春波.MCS51 单片机应用设计M.工业大学,2001.35.7宋庆环,才卫国,高志.89C51 单片机在直流电动机调速系统中的应用M.学院,2021.578锟,危立辉.基于单片机的直流电机调速器控制电路J.中南民族大学学报,自然科学版,2003.5.9维军 小刚 晋.基于单片机用软件实现直流电机 PWM 调速系统J.维普资讯,2007.32.10 杰. 51 系列单片机输出 PWM 的两种方法DB/DL.-14/2021-5-9.11俊谟. 单片机中级教程M. :航空航天大学,2006:96.12何立民 . MCS-51 系列单片机应用系统设

37、计系统配置与接口技术M. :航空航天大学, 1990:83-87.13 风标电子.Proteus 使用手册DB/OL. .windway.2007-7-4/2008-5-9.14王伟,晶涛,柴天佑.PID 参数先进整定方法综述J.自动化学报,2000,(3):347-35.15京清. 非线性 PID 控制器J.自动化学报,1994,(4):487-490.16万佑红,新华. 用遗传算法实现PID参数整定J.自动化技术与应用,2004,23 (7):7-8.17Behzad Razavi.Designof Analog CMOS and IntegratedCircuitsM.McGraw-Hi

38、llpanies,2001:28-36.附录一附录一 局部程序源程序局部程序源程序主程序:主程序:-. z*include te*t.h*include encoder.h *include motor.h*include tsensor.h /显示部温度的头文件*include time.h /定时器 4 用于部温度检测*include pid.h int main(void) u8 key; delay_init(); /延时函数初始化 /NVIC_Configuration(); /设置 NVIC 中断分组 2:2 位抢占优先级,2 位响应优先级uart_init(9600); /串口初

39、始化为 9600 LED_Init(); /LED 端口初始化LCD_Init(); /初始化液晶 /usmart_dev.init(72);/usmart 初始化 把中断效劳函数注释掉了BSP_Configuration(); /编码器测速相关配置 mem_init(SRAMIN); /初始化部存池 e*funs_init();/为 fatfs 相关变量申请存 f_mount(0,fs0); /挂载 SD 卡 f_mount(1,fs1); /挂载 FLASH./控制电机转速的 PWM 初始化TIM2_PWM_Init();MOTOR_GPIO_Config(); KEY_Init(); /

40、按键初始化 E*TI*_Init(); /外部中断初始化/T_Adc_Init(); /ADC 初始化,部温度检测/TIM4_Int_Init(19999,7199);/10Khz 的计数频率,计数到 20000 为 2s /按 KEY_UP 或者自动更新字库,不可省略 while(font_init() /检查字库 LCD_Clear(WHITE); /清屏 POINT_COLOR=RED;/设置字体为红色 LCD_ShowString(60,50,200,16,16,Warship STM32);while(SD_Initialize()/检测 SD 卡LCD_ShowString(60,

41、70,200,16,16,SD Card Failed!);delay_ms(200);LCD_Fill(60,70,200+60,70+16,WHITE);delay_ms(200); LCD_ShowString(60,70,200,16,16,SD Card OK);LCD_ShowString(60,90,200,16,16,Font Updating.);-. zkey=update_font(20,110,16,0);/从 SD 卡更新while(key)/更新失败 LCD_ShowString(60,110,200,16,16,Font Update Failed!);delay

42、_ms(200);LCD_Fill(20,110,200+20,110+16,WHITE);delay_ms(200); LCD_ShowString(60,110,200,16,16,Font Update Success!);delay_ms(1500);LCD_Clear(WHITE);/清屏 while(1) startPID(); /* 显示网格 */ _Display_Grid(RED);PIDPID 调节程序:调节程序:long int PID(int setpoint,int achieved)long int result,TempResult;en=setpoint-ach

43、ieved;ErrorNum=p*en-i*(en-en1)+d*(en1-en2);TempResult=(long int)(ErrorNum/20);result=TempResult;en2=en1;en1=en;return result;显示程序:显示程序:void startPID() encoder_num1=TIM_GetCounter(TIM3); TIM3-T = 0; printf(rn-编码器 1-%d rn,encoder_num1); POINT_COLOR=RED; Show_Str(10,110,200,16,实际速度:,16,0); Speed=encode

44、r_num1/10; LCD_Show*Num(80,110,Speed,3,16,0*80); /测得速度 pwm+=PID(config,Speed); if(pwm255)pwm=250;if(pwmCCR3=pwm; /关键的输出 PWMduty=pwm*100/256; /duty 要显示小数后一位 所以要乘以 10POINT_COLOR=BLACK; Show_Str(30,30,200,16,基于 STM32 的 PID 直流电机调速系统,16,0); POINT_COLOR=BLUE; Show_Str(20,50,200,16,按键说明:状态:,16,0); Show_Str

45、(20,70,200,16, UP:设置 DOWN:正反 ,16,0); Show_Str(20,90,200,16,LEFT:减速 RIGHT:加速 ,16,0); POINT_COLOR=RED; Show_Str(10,130,200,16,占空比输出: % ,16,0); LCD_Show*Num(100,130,duty,2,16,0*80); /占空比显示 Show_Str(120,110,200,16,给定速度:,16,0); LCD_Show*Num(200,110,config,3,16,0*80); /给定速度输出 ErrorShow(); /误差显示 E*terKey(); /外部按键附录二附录二系统界面实物图和系统界面实物图和 PCBPCB 图图图 4 电机运动状态图图 5 系统设置界面图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!