2021级-李硕-空调扇叶开合:28BYJ-48步进电机
一、作品功能概述
[color=var(--md-box-samantha-normal-text-color) !important] 本作品基于迪文屏的 C51 内核单片机进行开发,并搭配步进电机驱动板,实现对 28BYJ - 48 步进电机的精确控制。在迪文屏界面上,用户能够选择特定角度,设定步进电机的旋转速度,按下启动键后,步进电机将带动扇叶精准移动至目标角度。此外,当步进电机处于 0 度极限位置时,红灯亮起;处于 180 度极限位置时,绿灯亮起,以此作为位置指示。
二、工作原理28BYJ - 48 步进电机工作原理
[color=var(--md-box-samantha-normal-text-color) !important] 28BYJ - 48 步进电机属于四相五线且自带减速箱的步进电机,具备四拍或八拍运行模式。常见的控制方式包括单四拍、双四拍以及八拍三种。其中,八拍工作方式的通电顺序为:A - AB - B - BC - C - CD - D - DA - A。这种工作方式既能提供较好的转动力矩,又能保证较高的控制精度,因此本作品选用八拍工作方式。
步进电机驱动电路工作原理
[color=var(--md-box-samantha-normal-text-color) !important] 步进电机驱动板的核心芯片为 ULN2003AN。依据 ULN2003AN 芯片手册可知,该芯片由 7 对 NPN 达林顿管构成,单个达林顿管的集电极电流可达 500mA。其工作原理如下:公共端 com 连接 5V - 12V 电压,并与电机的公共电源端相连。当输入端 B 为高电平时,两个三极管导通工作,输出端呈现低电平,此时负载回路电流增大,电机开始工作;而当输入端 B 为低电平时,两个三极管截止不工作,输出端为高电平,负载回路电流归零,电机停止工作。
三、设计思路硬件部分
[color=var(--md-box-samantha-normal-text-color) !important] 学校与迪文公司为本课题提供了所需的各类模块。在深入了解各模块的功能与参数后,将它们连接组成完整的系统。28BYJ - 48 步进电机与其他课题中的传感器模块有所不同,由于电机驱动需要较大电流,而 C51 单片机的引脚通常无法直接输出如此大的电流,因此需要配备专门的驱动板。
软件部分
- 深入理解 28BYJ - 48 步进电机的工作原理,在此基础上编写驱动程序,以实现步进电机旋转至给定角度的功能。
- 本课题面临的一个挑战是,系统未配备用于实时获取步进电机位置的传感器,这使得让步进电机转动到指定位置(以角度表示)的控制在程序算法上颇具难度。
- 针对这一问题,本课题提出如下解决方案:首先,通过手动校准的方式,将电机扇叶调整至 0 度位置。此后,每次旋转后,将电机的位置记录至 flash 中,覆盖上一次记录的位置。当下次接收到从屏幕发来的目标旋转位置(角度)时,从 flash 中读取上次记录的位置,通过计算两者差值,得出需要旋转的角度。若差值为正,电机顺时针旋转;若差值为负,电机则逆时针旋转。
GUI 设计
[color=var(--md-box-samantha-normal-text-color) !important] 考虑到步进电机控制涉及旋转速度与指定位置(角度)这两个关键参数,同时兼顾界面的美观性与用户操作的实用性,我们组采用了以下设计方式:对于指定位置的设置,通过拖动调节的方式实现,让用户能够直观便捷地设定所需角度;而对于旋转速度的设置,则采用按键返回的方式,为用户提供简洁明了的操作体验。
|