# 应用系统-基于PID的直流电机调速控制系统
> <p>本次应用系统课程设计主要涉及<b>基于STM32编程</b>、<b>直流电机的驱动</b>和<b>PID控制</b>的应用,根据课程设计要求完成了基于PID算法的简单直流电机调速练习,本系统目前还可以继续完善,有相当多的功能可以继续添加。另外,对于PID算法的调参问题一直是困扰做项目的人,后来我们采用Matlab&Simulink仿真的方式,大大缩短了参数整定的时间,具体参考本仓库中的另一个项目
🍉[04_Simulink4UART通信仿真](https://github.com/ChromeWei/Practicum/tree/master/04_Simulink4UART%E9%80%9A%E4%BF%A1%E4%BB%BF%E7%9C%9F).
> <p><b>特此感谢</b>,课程设计过程中任课老师陈老师给予的指导和帮助!</p>
<br>
## 摘要
  当今,自动化控制系统已经在各行各业得到了广泛的应用和发展,而直流电机驱动控制作为电器传动的主流在现代化生产中起着主要作用。长期以来,直流电动机因其转速调节比较灵活,方法简单,易于大范围平滑调速,控制性能好等特点,一直在传动领域占有统治地位。<br>
  本课程设计主要通过PWM调速实现直流电机的正转、反转、加速、减速、启停等操作,利用PID控制算法使系统更加快速和稳定。为实现系统的控制,采用了STC15F2K60S2增强型单片机作为整个控制系统的核心部分,配以OLED显示电机速度、AD测量值、电机正反转等参数,实现系统的人机交互。不断采集霍尔编码器的脉冲数读取电机的转速,利用PID增量式方法快速在旋钮调解时趋向目标值。同时,通关过匿名上位机实时观测调节过程,或是超调,亦或是振荡都能及时的看出来。<br>
  通过外部中断、定时器中断、AD中断操作,在方案实现的过程中,需要明确他们的优先级,防止发生冲突。这也是本系统设计的一个难题。<br>
<p><b>关键字:</b> 直流电机;单片机;PID;PWM 编码器</p><br>
目录
=================
* [摘要](#摘要)
* [第一部分 课程设计概述](#第一部分-课程设计概述)
* [第二部分 设计方案工作原理](#第二部分-设计方案工作原理)
* [2.1 预期实现目标定位](#21-预期实现目标定位)
* [2.2 技术方案分析](#22-技术方案分析)
* [2.3 功能指标实现方法](#23-功能指标实现方法)
* [第三部分 核心部件电路设计](#第三部分-核心部件电路设计)
* [3.1 关键器件性能分析](#31-关键器件性能分析)
* [3.2 电路工作原理](#32-电路工作原理)
* [3.3 电路驱动接口说明](#33-电路驱动接口说明)
* [第四部分 系统软件设计分析](#第四部分-系统软件设计分析)
* [4.1 系统总体工作流程](#41-系统总体工作流程)
* [4.2 程序设计思路](#42-程序设计思路)
* [4.3 关键模块程序清单](#43-关键模块程序清单)
* [4.3.1 编码器测速](#431编码器测速)
* [4.3.2 五向按键检测](#432五向按键检测)
* [4.3.3 OLED显示](#433-oled显示)
* [4.3.4 PID控制](#434-pid控制)
* [4.4 调试分析](#44-调试分析)
* [第五部分 心得体会](#第五部分-心得体会)
* [第六部分 附录](#第六部分-附录)
* [Ⅰ 参考文献](#ⅰ-参考文献)
* [Ⅱ 电路原理图](#ⅱ-电路原理图)
* [Ⅲ 核心源代码](#ⅲ-核心源代码)
* [相关阅读](#相关阅读)
<br>
# 第一部分 课程设计概述
## 1.1 课程设计的目的与任务
  《单片机应用系统设计》课程设计是运用“应用系统设计”这门课程所学的应用系统设计的各方面知识,进行综合设计的一门课程。设计者要熟练掌握 Keil C 软件编程环境和 STC 单片机的片上资源,并通过查文献资料了解掌握相关外围器件的用法,综合运用进行设计。本课程是配合单片机原理和应用系统设计及模拟、数字电路,传感器原理等多门课程教学的一个重要实践环节,能帮助学生应用课堂学习到的知识,加强综合能力,提高系统设计水平。
## 1.2 课程设计题目
  直流电机控制系统
## 1.3 设计功能要求
(1)焊接电机控制电路板,调试后电路功能正常; (30 分)<br>
(2)可以通过 5 向按键左右控制电机正反转、侧向按键控制电机启动/停止;(10 分)<br>
(3)通过旋纽电阻控制电机转速或角度(可二选一);(20 分)<br>
(4)相关电机转速或角度,转动方向信息在 LCD1602 或 OLED 上显示; (20 分)<br>
(5)通过 PID 调节,通过旋纽控制转速或转动角度(可二选一),数据通过串口,在电脑上显示曲线(可借助匿名地面站工具),相应的在显示器上显示目标转速或角度。(15 分)<br>
(6)其他。(5 分)<br>
## 1.4 课程设计的内容与要求
(1)设计制作硬件电路;<br>
(2)编写单片机系统软件;<br>
(3)软硬件调试;<br>
(4)写课程设计报告<br>
## 1.5 实验仪器设备及器件
  1)PC机;<br>
  2)Keil C51软件;<br>
  3)STC15F2K60S2增强型单片机,TB6612电机驱动芯片,直流电机,OLED显示屏;<br>
<br><br>
# 第二部分 设计方案工作原理
  经过对本课程设计的分析,本直流电机控制系统将通过控制电机的转速完成相关设计要求。AD采样判别五向按键,定时器控制系统工作时间,外部中断(In0P31和In1P32)读取编码器A、B相的脉冲数,单位时间内的总数即为电机的转速。测得的速度值和旋钮采样值通过OLED显示出来,通过PID算法实现速度控制,并在匿名上位机上实时显示目标值和当前值。不断调节比例系数和积分系数,是系统达到稳定性、快速性、准确性的基本要求。
## 2.1 预期实现目标定位
  主要通过PWM调速实现直流电机的正转、反转、加速、减速、启停等操作,利用PID控制算法使系统更加快速和稳定。为实现系统的控制,采用了STC15F2K60S2增强型单片机作为整个控制系统的核心部分,配以OLED显示电机速度、AD测量值、电机正反转等参数,实现系统的人机交互。不断采集霍尔编码器的脉冲数读取电机的转速,利用PID增量式方法快速在旋钮调解时趋向目标值。
## 2.2 技术方案分析
### 2.2.1 系统框图
<div align=center><img src="https://img-blog.csdnimg.cn/20191209234244676.png" ></div>
<p align="center">
图2.1 系统框图
</p>
### 2.2.2 电路工作原理
  根据励磁方式不同,直流电机分为自励和他励两种类型。 不同励磁方式的直流电机机 械特性曲线有所不同。对于直流电机来说,认为机械特性方程式为:<br>
$$  n=UN/(KeφN)-(Rad+Ra)/(K eKtφ2N)T=n-△n (公式 1-1)$$
式中:
     UN ,φN ---------- 额定电枢电压、额定磁通量;<br>
     Ke ,Kt---与电机有关的常数; <br>
     Rad ,Ra-----电枢外加电阻、电枢内电阻; <br>
     n ,△n—理想空载转速、转速降。 <br>
  分析公式 1-1 可得,当分别改变 UN 、φN 和 Rad时,可以得到不同的转速 n,从而实现对速度的调节。由于φ=T,当改变励磁电流 If 时,可以改变磁通量φ的大小,从而达到变磁通调速的目的。 但由于励磁线圈发热和电动机磁饱和的限制,电动机的励磁电流 If 和磁通量 φ只能在低于其额定值的范围内调节,故只能弱磁调速。而对于调节电枢外加电阻Rad时,会使机械特性变软,导致电机带负载能力减弱。<b
没有合适的资源?快使用搜索试试~ 我知道了~
「一名普通电子信息本科生的项目实践管理」将大学阶段的实训内容,按照专业课程设计(包括上机实验、课程设计、下学年的毕业设计等)、
共744个文件
zip:65个
h:50个
obj:48个
0 下载量 102 浏览量
2024-05-12
15:39:18
上传
评论
收藏 339.08MB ZIP 举报
温馨提示
「一名普通电子信息本科生的项目实践管理」将大学阶段的实训内容,按照专业课程设计(包括上机实验、课程设计、下学年的毕业设计等)、竞赛项目、科创项目、小型编程项目这四个门类进行整理汇总。 作为一名普通电子信息本科生的项目实践管理,可以将大学阶段的实训内容分为以下四个门类进行整理汇总: 1. **专业课程设计**: - **上机实验**:这部分内容主要涉及电子信息类课程的实践操作,如电子电路实验、嵌入式系统实验、信号与系统实验等。学生需要按照实验指导书的要求,完成实验操作,并记录实验数据和结果。 - **课程设计**:在完成相关课程学习后,学生需要进行课程设计,将所学理论知识应用到实际项目中。这通常包括需求分析、系统设计、代码编写、调试与优化等环节。 - **下学年的毕业设计**:毕业设计是电子信息类专业学生本科阶段的重要实践环节,学生需要独立完成一个较为复杂的项目,从选题、文献调研、方案设计、系统实现到撰写毕业论文。 2. **竞赛项目**: - 参加各类电子信息类竞赛,如电子设计竞赛、嵌入式系统竞赛、编程竞赛等。在竞赛中,学生需要运用所学知识,解决实际问题,锻炼团
资源推荐
资源详情
资源评论
收起资源包目录
「一名普通电子信息本科生的项目实践管理」将大学阶段的实训内容,按照专业课程设计(包括上机实验、课程设计、下学年的毕业设计等)、 (744个子文件)
ex1.uvgui.11482 90KB
IIC.__i 142B
ps2_lcd1602_global_asgn_op.abo 382KB
ex1.uvgui.Administrator 85KB
picture.aps 47KB
TestMenu20.aps 44KB
test.aps 43KB
ps2_lcd1602.root_partition.cmp.atm 59KB
ps2_lcd1602.root_partition.map.atm 48KB
ex1.uvgui_chenlei.bak 146KB
ex1.uvgui_chenlei.bak 146KB
TCS230_uvopt.bak 54KB
lcd.v.bak 21KB
TCS230_uvproj.bak 13KB
lcd1602.v.bak 8KB
ps2.v.bak 7KB
beep_mocule.v.bak 3KB
ps2_module.v.bak 2KB
ps2_lcd1602.v.bak 2KB
gradlew.bat 2KB
gradlew.bat 2KB
RealColor24Rec.bmp 3.34MB
图2放大.bmp 1.61MB
Gray8Rec.bmp 1.11MB
Lena16Color.bmp 594KB
234.bmp 594KB
人24.bmp 482KB
LenaSingleColor.bmp 257KB
LenaRealColorQua.bmp 184KB
LenaGray24Qua.bmp 184KB
123.bmp 184KB
LenaGray8.bmp 63KB
缩小.bmp 46KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
Toolbar.bmp 1KB
ps2_lcd1602.cmp.bpm 665B
ps2_lcd1602.map.bpm 649B
picture.bsc 3.56MB
test.bsc 3.5MB
TestMenu20.bsc 3.49MB
oled.c 8KB
oled.c 8KB
myself.c 7KB
FDC2214.c 7KB
FDC2214.c 7KB
Tree_Selection_Sort.c 6KB
Main.c 6KB
main.c 5KB
GPIO.c 4KB
GPIO.c 4KB
myself.c 4KB
IIC.c 3KB
IIC.c 3KB
Serial.c 2KB
AnoTc.c 2KB
main.c 2KB
PWM.c 2KB
Serial.c 1KB
AD.c 1KB
Motor.c 923B
Motor.c 733B
AD.c 708B
LightenedCNN_B.caffemodel 31.28MB
mnist.caffemodel 1.65MB
det3.caffemodel 1.49MB
det3(1).caffemodel 1.49MB
det2.caffemodel 398KB
det2.caffemodel 398KB
det1.caffemodel 28KB
det1.caffemodel 28KB
ps2_lcd1602.cmp.cdb 84KB
ps2_lcd1602.pre_map.cdb 31KB
ps2_lcd1602.rtlv_sg.cdb 29KB
ps2_lcd1602.map.cdb 23KB
ps2_lcd1602.(2).cnf.cdb 21KB
ps2_lcd1602.sgdiff.cdb 20KB
ps2_lcd1602.(1).cnf.cdb 6KB
ps2_lcd1602.(3).cnf.cdb 6KB
ps2_lcd1602.(0).cnf.cdb 2KB
ps2_lcd1602.rtlv_sg_swap.cdb 1KB
ps2_lcd1602.map_bb.cdb 724B
ps2_lcd1602.eco.cdb 161B
lena.jpg.baiduyun.downloading.cfg 0B
ex1.uvgui.chenlei 146KB
ex1.uvgui.chenlei 146KB
ex1.uvgui.cl 169KB
ex1.uvgui.cl 169KB
picture.clw 4KB
TestMenu20.clw 2KB
test.clw 2KB
DIB.cpp 27KB
06_cap_enc_dec_disp.cpp 15KB
enc-demo.cpp 14KB
mtcnn.cpp 13KB
mtcnn.cpp 13KB
04_cap_enc.cpp 13KB
05_cap_resize_enc.cpp 12KB
03_cap_disp_pthread.cpp 9KB
pictureView.cpp 9KB
共 744 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
人工智能教学实践
- 粉丝: 533
- 资源: 258
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功