《电气控制技术》研究生课程设计报告题目基于STM32的直流电机PID调速系统学院机械与汽车工程学院专业班级车辆工程学号221601852020学生姓名李跃轩指导教师康敏完成日期2017年01月03日《智能控制基础》研究生课程设计报告第1页/共14页目录1.绪论.............................................................................................................................12.设计方案.....................................................................................................................13.系统硬件电路设计..................................................................................................23.1整体电路设计......................................................................................................23.2最小单片机系统设计..........................................................................................33.2.1STM32F103复位电路...................................................................................33.2.2电源电路........................................................................................................43.3电机驱动电路设计..............................................................................................53.4光电码盘编码器电路设计..................................................................................63.5显示电路设计.....................................................................................................63.6按键电路设计......................................................................................................74.系统软件设计.............................................................................................................74.1PID算法...............................................................................................................74.2电机速度采集算法..............................................................................................85.系统调试.....................................................................................................................95.1软件调试.............................................................................................................95.2系统测试与分析.................................................................................................96.总结与展望...............................................................................................................10附录一..........................................................................................................................11附录二..........................................................................................................................16《智能控制基础》研究生课程设计报告11.绪论本文主要研究了利用STM32系列单片机,通过PWM方式控制直流电机调速的方法。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。采用的芯片组成了PWM信号的发生系,然后通过L298N放大来驱动电机。利用光电编码盘器测得电机速度,然后反馈给单片机,在内部进行PID运算,输出控制量完成闭环控制,实现电机的调速控制。2.设计方案根据系统设计的任务和要求,设计系统方框图如图1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将速度参数输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电机转速实时控制的目的。按键模块显示模块控制器模块电机驱动模块直流电机码盘PWM脉冲图1系统方案框图《智能控制基础》研究生课程设计报告23.系统硬件电路设计3.1整体电路设计单片机直流调速系统可实现对直流电动机的平滑调速。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。本系统以STM32单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。本系统硬件资源分配见图2所示。采用STM32F103单片机作为核心器件,转速检测模块作为电机转速测量装置,通过STM32F103的PA1(A相)将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,利用320×240TFTLCD显示器和3个独立按键作为人机接口。《智能控制基础》研究生课程设计报告3STM32F103ZET6码盘测速直流电机电机驱动模块L298NTFT显示屏按键模块PA1PA3RESET:PE1KEY-3:PE3KEY-2:PE2PGPDGND图2系统电路连接及硬件资源分配图3.2最小单片机系统设计STM32F103ZETT6作为MCU,该芯片是STM32F103里面配置非常强大的了,它拥有的资源包括:64KBSRAM、512KBFLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口、1个FSMC接口以及112个通用IO口。该芯片的配置十分强悍,并且还带外部总线(FSMC)可以用来外扩SRAM和连接LCD等,通过FSMC驱动LCD,可以显著提高LCD的刷屏速度,是STM32F1家族常用型号里面,最高配置的芯片了。3.2.1STM32F103复位电路STM32F103的复位电路如图3所示:《智能控制基础》研究生课程设计报告4图3复位电路图因为STM32是低电平复位的,所以我们设计的电路也是低电平复位的,这里的R3和C12构成了上电复位电路。同时,开发板把TFT_LCD的复位引脚也接在RESET上,这样这个复位按钮不仅可以用来复位MCU,还可以复位LCD。3.2.2电源电路STM32F103板载的电源供电部分,其原理图如图4所示:图4电源电路图中,总共有3个稳压芯片:U12/U13/U15,DC_IN用于外部直流电源输入,范围是DC6~24V,输入电压经过U13DC-DC芯片转换为5V电源输出,其中D4是防反接二极管,避免外部直流电源极性搞错的时候,烧坏开发板。K2为开发板的总电源开《智能控制基础》研究生课程设计报告5A1A2SEN111Y121Y23Vs41A151EN61A27GND8Vcc92A1102A2122EN112Y1132Y214SEN215U5L298ND4D3D1D2C1020μFC920μF+5V+12V+12VR1470R25KR45KR3470R5470MG1P2.7P2.6P2.5关,F1为1000ma自恢复保险丝,用于保护USB。U12为3.3V稳压芯片,给开发板提供3.3V电源,而U15则是1.8V稳压芯片,供VS1053的CVDD使用。3.3电机驱动电路设计驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。其中输出脚(SENSEA和SENSEB)用来连接电流检测电阻,Vss接逻辑控制的电源。Vs为电机驱动电源。IN1-IN4输入引脚为标准TTL逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其电路如图5所示,利用两个光电耦合器将单片机的I/O与驱动电路进行隔离,保证电路安全可靠。这样单片机产生的PWM脉冲控制L298N的选通端,使电机在PWM脉冲的控制下正常运行,其中四个二