迪文科技论坛

 找回密码
 立即注册
搜索
查看: 36|回复: 0

【分享】21级曹智轩 SG90舵机操控

[复制链接]

1

主题

0

回帖

94

积分

注册会员

Rank: 2

积分
94
发表于 5 天前 | 显示全部楼层 |阅读模式
一、项目介绍:
SG90舵机作为一款性价比高、易于操控的小型舵机,通常应用于机械手臂和智能小车等DIY项目,是大家学习自动化控制等相关知识的理想工具。为此,我设计了一个基于迪文EKT043E触摸屏与C51内核单片机的舵机操控系统,该系统利用SG90舵机(180度旋转)和迪文屏的图形显示及触摸输入能力,实现了对舵机的精准控制,并利用DGUS开发软件设计了文本录入、亮度调节等功能。本设计适合初学者入门迪文屏应用开发和学习SG90舵机控制的原理和知识。
系统相关界面如下:
      


二、GUI界面:
以下分别为背景图片文件、图标文件、开机动画图片文件
            
三、工作原理:
本舵机操控系统利用PWM信号来实现对9G舵机转角的精准控制。系统通过定时器生成固定周期(20ms)的PWM信号,高电平持续时间决定舵机的转角。定时器0的中断服务函数根据计数器cnt生成PWM信号,当cnt小于设定值PWM_count时,输出高电平,超过时切换为低电平。计数器每溢出1801次(20ms)后重置,确保信号周期稳定。舵机的目标角度由外部输入决定,将输入的角度值转换为PWM高电平时间,用户可通过屏幕按钮动态调整舵机角度。舵机操控系统依赖定时器和中断的高效协作,保证了PWM信号的精准控制和舵机的平稳运行。
系统运行流程图如下:

四、设计思路:
1、UI界面设计
界面一当中,左右两侧分别放置一个增量调节,点击使舵机旋转1°,长按连续旋转,下方放置拖动调节,通过拖动使舵机进行旋转,旋转角度为0-180°。

界面二当中,设计了六个按钮,分别对应0°、30°、45°、60°90°、180°。通过点击按钮,可使舵机旋转至相对应的角度。

2、硬件、软件逻辑
在硬件连接上,舵机的PWM信号线与迪文屏的P2.0引脚连接,单片机通过迪文屏的P2.0引脚输出PWM信号控制舵机进行角度旋转;软件部分通过C语言编写系统初始化、定时器配置、中断处理及交互逻辑。系统通过定时器生成20ms周期的PWM信号,其中高电平持续时间决定舵机转角,由用户输入的目标角度实时计算并调整。
软件核心逻辑如下:
**PWM信号生成:通过定时器0中断,根据计数器cnt和目标值PWM_count生成高精度的PWM信号,确保每周期(20ms)信号稳定。
**角度转化:从DGUS屏读取用户输入的角度值,通过公式将其转换为对应的PWM高电平时间。
硬件连接图如下:
五、视频演示地址:
【基于迪文屏的SG90舵机操控系统视频演示】 https://www.bilibili.com/video/B ... 4e05ea5884655ac3921

六、工程文件附件:







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 00:57 , Processed in 0.085026 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表