基于STM32的光控舵机随动系统的设计与实现
课程名称:电工电子开放实验
实验题目:基于STM32的光控舵机随动系统的设计与实现
课程简要信息
实验课程名称:电工电子开放实验
实验学时:32学时
学生专业:电气工程、电信专业
学生年级:本科2-3年级学生
实验内容与任务(限500字)
实验内容:设计和完成基于单片机最小系统控制的根据光线位置变化自动调整舵机转动角度的感光控制系统。
系统以单片机最小系统为控制核心,利用光电传感器对光线变化进行判断,根据判断信号的变化对应地控制舵机的转动角度,实现系统的感光控制功能。
实验任务:
-
学习和掌握Matlab软件,完成实现数据的拟合;
-
学习单片机最小系统,了解系统各部分的功能;
-
掌握Keil 5编程软件,完成实现系统的控制程序的编写与调试;
-
进行硬件电路设计和学习Multisim软件的使用;
-
将调试好的软件程序与硬件系统联调实现系统的功能;
-
系统装置支架的设计;
-
系统总装。
实验过程及要求(限300字)
实验过程:
-
学习了解各种不同的光信号的获取方法;
-
发现和应用满足实验要求的光电传感器,比较不同类型的传感器的工作原理、技术指标、安装方法、输入输出信号的形式和动态范围等关键的特性参数和相应传感器的典型应用电路;
-
学习单片机最小系统的组成和编程应用方法,编写程序实现系统的功能;
-
复习Matlab软件环境及编程方法,重点在于熟悉数据拟合的方法;
-
设计和实现系统的控制方法,确定系统的最终实现方案;
-
设计硬件电路,学习Multisim软件的使用,对硬件电路进行仿真和调整;
-
根据所设计的方案采购需要的元器件,完成硬件电路的搭建与调试;
-
编写程序,模块调试;
-
系统联调。
实验要求:
-
系统设计完成后,总结、答辩、验收和提交实验报告(电子版和纸质版);
-
3-4人自由组成团队,分工协作。
相关知识及背景(限150字)
- 理论知识方面
学生应该具有智能传感器系统设计的基本概念和知识,综合应用单片机和传感器技术,提供解决控制问题的实际案例。覆盖单片机的GPIO、计数器、定时器、PWM输出等基础知识,以及数据拟合方法、软件编程、数字电路和模拟电路的设计等综合知识,完成典型案例的系统设计与功能实现。
- 基本工程技能
焊接电路板的各项技能、装配控制装置的工程技能、各种检测仪表的熟练使用。
- 背景
基于“节能减排”背景的感光控制系统。
教学目标与目的(限100字)
通过完成整个系统的设计、制作与调试,培养学生项目设计的概念与意识。整个系统的完成过程引导学生对所学习的理论知识进行理解与应用。在项目全过程中引导学生学会根据系统的要求,设计、安装和调试电子电路,使学生的工程设计和实践动手能力得到提高。
项目设计提高了实验课程的设计性、生动性和灵活性,培养了学生的团队意识、创新能力和工程素养。
教学设计与引导
实验的过程是完整的工程实践过程,需要经历学习研究、方案论证、系统设计、仿真测试、器件采购、焊接组装、程序编写、系统联调、设计总结等全过程。教师的引导体现在对设计方案、测试方案的审核和指导上,重点关注学生在系统调试时分析问题和解决问题的思路和方法。掌握项目进展情况,发掘团队潜能使项目趋于完善。
-
学习光电传感器的基本知识、类型、技术参数及典型应用;
-
学习模/数转换与数/模转换的过程及方法;
-
练习使用单片机完成系统设计,使用Keil 5平台完成软件编程;
-
完成舵机驱动系统的设计;
-
完成系统控制流程的设计和实现;
-
利用Multisim软件对所设计的电路进行仿真调试;
-
实验报告和论文的撰写、答辩、点评。项目总结。
实验原理及方案
(1)实验原理
基于光敏电阻光电式传感器,设计硬件电路将光强的变化转换为电信号,获取实验数据,完成数据拟合工作,实现光强信号变化规律的建模。
使用模/数转换器将光电转换电路产生的模拟信号转换成数字信号,传输给单片机进行数据处理;数/模转换器将数字信号转换为舵机可以识别的PWM波,光强不同,对应输出的PWM波的脉宽不同,使得舵机转动的角度随着光强的变化而变化,完成整个感光系统的功能。
系统由数据采集、信号转换与控制、PWM波发生和电源等部分组成。
- 数据采集
图1是采用光敏电阻与电阻分压的光强获取电路。光敏电阻的阻值随着光照度的增加而减小,随着光强的增大光敏电阻的压降减小。光敏电阻的电压随着光强的变化而变化,作为系统控制的信号来源。
图1 数据采集电路
- 信号转换与控制
如图2所示,利用ADC模数转换模块,完成将数据采集电路采集的模拟电平信号转换为数字信号供单片机处理,单片机将得到的数字信号调理成不同脉宽的可供舵机识别的PWM波,从而控制舵机的转动角度。采用STM32F103最小系统板作为主控芯片,PA1、PA2作为ADC模块输入端口,PA6、PA7作为调理好的PWM波输出端口,用于控制舵机的转动角度。
图2 信号转换与控制模块原理
- PWM波发生部分
舵机的控制信号为PWM波信号,由单片机根据信号的变化调制产生,如图3所示。PWM波脉宽的变化随着光强的变化而变化,实现对舵机转动角度的控制,如图4所示,脉宽越大,舵机的转动角度越大。

图3 PWM发生原理
图4 舵机输出转角与PWM波脉宽的关系
- 电源模块
如图5所示,系统采用 USB 供电。图中两个 100µF 电容的作用是滤波,0.1µF 电容的作用是滤除高频分量,LED 是电源指示灯。
图5 电源电路
(2)光强获取方法
光强控制采用差分法,将两个光敏电阻分别和一个与其最大阻值等值的电阻串联,输出信号为光敏电阻和定值电阻中间的电位,分别定义为CH1和CH2,将这两个信号作差,其差值经过拟合会呈现一个单调变化的趋势。通过对光敏电阻进行不同角度的光照,多次采样后求平均值,利用MATLAB软件进行数据拟合,得到差值信号大小与光照角度之间的函数关系曲线,将舵机的每一个旋转角度对应到曲线上的每一点。学生通过建模得到的数据及函数关系曲线如图6所示。
图6 光强获取建模数据及结果
在收到光照时,直接将数据进行对应,通过ADC模块输出数字信号,将信号调整成舵机可以识别的对应脉宽的PWM波,从而控制舵机转动到对应的位置,控制程序流程如图6所示。
图6 控制程序流程
(3)系统联调
基于设计与调试好的软件程序与硬件电路,学生进行了系统联调,实现了系统的功能,调试好的系统如图7所示。
![]()
图7 调试完成的系统
教学实施进程
简要介绍实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中,教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。
开放实验的课程周期共8周,32学时,具体的教学实施进程如下:
-
准备阶段(课程开始前):校教务处发布开放实验题目,学生网上报名后进行面试,教师确定学生是否具备完成本实验的能力,学生于一周后提交开题报告。
-
第一阶段(第1周):教师与学生讨论并确定本实验的可行性方案,进行任务安排并提供相应的学习资料,学生对所需的资料进行自主学习。
-
第二阶段(第2-4周):教师向学生开放实验室,由学生根据确定的实验方案进行软硬件设计与实验,每周进行一次例会,对项目的进展及问题进行交流讨论。最后进行项目进度及软件部分性能验收,同时考察学生在该阶段分析及解决问题的能力。
-
第三阶段(第5-7周):每周进行一次例会,教师根据学生设计的电路给出相应的建议与指导,向学生提供经费,由学生自主设计电路并购买元器件进行硬件电路的搭建与调试,最终完成整个系统的搭建及联调。第7周时对系统功能的执行情况进行验收,学生开始撰写实验报告,并准备答辩事宜。
-
第四阶段(第8周):教师组织学生进行项目结题答辩,并对答辩过程中存在的问题以及论文的问题进行指导与总结。
实验报告要求
要求按照论文格式提交实验报告。
-
摘要
-
绪论
-
系统的设计要求
-
需求分析及系统设计方案
-
各功能模块硬件电路设计
-
系统软件设计
-
项目总结及体会
-
项目成本核算
-
参考文献
考核要求与方法(限300字)
考核的节点、时间、标准及考核方法。
项目开始前:
-
学生依照项目要求提交系统设计方案;
-
考核项目方案设计的合理性、电路设计的正确性。
项目进行中:
-
考核系统功能模块的完成程度,是否达到需求指标;
-
项目完成过程中分析问题和解决问题的能力。
项目完成后:
-
考核验收系统功能模块的执行程度以及指标参数;
-
论文的完成质量;
-
答辩。
项目特色或创新(可空缺,限150字)
项目是对学生工程素质的培养,使学生了解了一个产品的调研、设计、论证、制作、装配到成品应用的全过程。
项目是对学生团队合作精神的培养,学生通过组队,与队友之间互相帮助、互相配合,培养了个人的团队协作能力。
项目是以学生为中心的、个性化的教学过程,是学生由机械式学习转变为自发探究、自主创新的学习过程。
参赛选手信息表
| 案例提供单位 | 西安交通大学 | 相关专业 | 电气工程、电信 | |||
|---|---|---|---|---|---|---|
| 设计者姓名 | 原晓楠 | 电子邮箱 | yxn0002017060@mail.xjtu.edu.cn | |||
| 移动电话 | 13891941905 | 通讯地址 (含邮编) |
陕西省 西安市咸宁西路28号 西安交通大学 电气工程学院 电工电子教学实验中心 710049 | |||
| 设计者姓名 | 李瑞程 | 电子邮箱 | lirc@mail.xjtu.edu.cn | |||
| 移动电话 | 18009288378 | 通讯地址 (含邮编) |
陕西省 西安市咸宁西路28号 西安交通大学 电气工程学院 电工电子教学实验中心 710049 | |||
| 设计者姓名 | 电子邮箱 | |||||
| 移动电话 | 通讯地址 (含邮编) |
|||||
| 相关x课程名称 | 电工电子开放实验 | 学生年级 | 2、3年级 | 学时(课内+课外) | 32 | |
支撑 条件 |
仪器设备 | 直流稳压电源、数字万用表、示波器、下载器等 | ||||
| 软件工具 | Matlab、Keil 5、Multisim | |||||
| 主要器件 | STC最小系统板、舵机、光敏电阻、电阻若干、杜邦线若干 | |||||






