STM32驱动SG90舵机

2023-05-16

STM32驱动SG90舵机

  • 关于SG90舵机
  • SG90转动角度与占空比的关系
  • 驱动SG90舵机代码
    • ①确定控制引脚
    • ②写代码
  • SG90舵机正常驱动现象
  • 总结

关于SG90舵机

在这里插入图片描述

SG90是一种小型伺服电机,通常用于模型制作和小型机械应用中:

问题答案
SG90的工作电压是多少SG90的工作电压通常为3V至7.2V
SG90最大扭矩是多少SG90的最大扭矩约为1.5kg/cm
SG90的工作温度范围是多少SG90的工作温度范围通常为0°C至55°C
SG90的控制方式是什么SG90的控制方式通常为PWM控制,可以使用Arduino,STM32等微控制器进行控制
SG90可以旋转多少度SG90可以旋转约180度
SG90的尺寸是多少SG90的尺寸约为23mm x 12.2mm x 29mm

SG90转动角度与占空比的关系

SG90舵机通常使用50赫兹(Hz)的PWM信号进行控制,这意味着PWM周期为20毫秒(ms),每个周期内包含50个PWM脉冲。每个脉冲的宽度应该在0.5毫秒(ms)到2.5毫秒(ms)之间,对应的脉冲占空比为2.5%到12.5%。具体的PWM频率和占空比范围可能会因舵机型号和制造商而异,因此建议在使用之前查看SG90舵机的数据手册以获取准确的规格参数。

角度占空比
02.5%
455%
907.5%
13510%
18012.5%

驱动SG90舵机代码

①确定控制引脚

将舵机的控制引脚连接到您的微控制器或电路板上的数字引脚。通常,您可以使用STM32或者Arduino或树莓派等单片机控制舵机。

②写代码

下面展示一些 内联代码片

void SETPWM(uint8_t flag)
{
    switch(flag)
    {
    case 1:
    if(duty>=150)
    {
        while(duty!=200)
            {
        TIM_SetCompare3(TIM1, duty+=1);//90-135度
                delay_ms(10);
             }
    }
    break;
    case 2:
    if(duty>=150)
    {
        while(duty!=150)
            {
        TIM_SetCompare3(TIM1, duty-=1);//135-90度
                delay_ms(10);
           }
    }
    break;
    case 3:
    if(duty>=100)
    {
        while(duty!=150)
        {
        TIM_SetCompare3(TIM1, duty+=1);//45-90度
            delay_ms(10);
        
        }
    }
    break;
    case 4:
    if(duty>=100)
    {
        while(duty!=100)
        {
        TIM_SetCompare3(TIM1, duty-=1);//90-45度
            delay_ms(10);
        }
    }
    break;
    }    
        
}
/**
  * @brief  主函数
  * @param  无  
  * @retval 无
  */
int main(void)
{	
	/* 高级定时器初始化 */
	ADVANCE_TIM_Init();
	TIM_SetCompare3(TIM1,duty); //初始化为90度方向
  while(1)
  {  
    SETPWM(1);//90-135度
    SETPWM(2);//135-90度
    SETPWM(4);//90-45度
    SETPWM(3);//45-90度 
  }
}
/*********************************************END OF FILE**********************/

SG90舵机正常驱动现象

正确驱动舵机后可以看到舵机呈现45-135度左右晃头现象!
在这里插入图片描述

总结

在平时的DIY小车或者其他的DIY需要用到舵机的地方都可以采取此方式驱动,博文中仅贴出相关功能代码,需要源代码的可以留言邮箱获取哦,长期发布电子相关文章,喜欢的点个关注吧~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32驱动SG90舵机 的相关文章

  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • STM32 F072上的软件如何跳转到bootloader(DFU模式)?

    STM32应用笔记2606对此进行了讨论 但没有简单的代码示例 该答案已使用 IAR EWARM 在 STM32F072 Nucleo 板上进行了测试 这个答案使用 STM32标准外设库 仅此而已 请注意 验证您是否成功进入引导加载程序模式
  • CMSIS 库是否应该包含在版本控制中? [复制]

    这个问题在这里已经有答案了 通常 我曾经在版本控制中包含芯片供应商 ST 提供的设备特定标头和源以及 CMSIS Core 标头 数量不多 也没有更新的习惯 我使用STM32微控制器 但我不使用立方体框架 or the 标准外设库 最近 我
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • HAL库STM32常用外设教程(二)—— GPIO输入\输出

    HAL库STM32常用外设教程 二 GPIO输入 输出 文章目录 HAL库STM32常用外设教程 二 GPIO输入 输出 前言 一 GPIO功能概述 二 GPIO的HAl库驱动 三 GPIO使用示例 1 示例功能 四 代码讲解 五 总结
  • STM32用一个定时器执行多任务写法

    文章目录 main c include stm32f4xx h uint32 t Power check times 电量检测周期 uint32 t RFID Init Check times RFID检测周期 int main Timer
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • VS Code 有没有办法导入 Makefile 项目?

    正如标题所说 我可以从现有的 Makefile 自动填充 c cpp properties json 吗 Edit 对于其他尝试导入 makefile 的人 我找到了一组脚本 它们完全可以实现我想要实现的目标 即通过 VS Code 管理
  • 擦除后无法写入闪存

    所以我不能在擦除后直接写入内部闪存 如果写操作之前没有擦除操作 那么我可以 有什么想法吗 编程函数返回 成功写入 值 但查看内存时 没有写入任何数据 这是代码 uint32 t pageAddress 0x08008000 uint16 t
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • CMSIS & STM32,如何开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 STM32 上使用 CMSIS 启动项目 网上一搜 没找到具体的教程 有些使用 SPL 开始项
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • STM32F4 定时器 - 计算周期和预分频,以生成 1 ms 延迟

    我在用STM32F407VGT6 with CubeMX 因此 我从通用定时器开始 但我被预分频值和周期值所困扰 基本上我想每隔一段时间生成一个定时器中断n 其中 n 1 2 3 ms 并执行一些任务 计算周期和预分频值的公式有很多变化 公

随机推荐

  • ESP32使用TCP HTTP访问API接口JSON解析获取数据

    ESP32使用TCP HTTP访问API接口JSON解析获取数据 API接口代码解析获取时间代码烧录效果总结 API接口 单片机常用的API接口基本都是返回的一串JSON格式的数据 xff0c 这里以ESP32联网获取时间信息作为获取API
  • 电池保护板 - 问题归纳

    电池保护板 问题归纳 简介充电锂电池磷酸铁锂电池 放电总结 最近更新日期 xff1a 2023 03 07 简介 电池充放电过程中 xff0c 如果电压 电流或温度等参数不稳定或超出电池的安全范围 xff0c 就会对电池造成损害 xff0c
  • Arduino驱动DS1302显示时钟

    Arduino驱动DS1302显示时钟 前言电气参数经典应用电路接线程序实验结果 前言 目前有许多流行的串行时钟电路 xff0c 例如 DS1302 xff0c DS3231 xff0c DS1307 xff0c PCF8485 等 它们由
  • 计算机网络---应用层以及HTTP协议

    网络层是程序员接触最多的一个层级 xff0c 应用层是层级体系中的最上层的一级 xff0c 是我们做逻辑处理最多的 应用层的功能什么是urlhttp协议 应用层的功能 是程序员写的一个一个解决的实际的问题都是在应用层 xff0c 是做逻辑运
  • 51驱动NRF24L01通信,NRF24L01与TTL转NRF24L01模块通信

    51驱动NRF24L01通信 xff0c NRF24L01与TTL转NRF24L01模块通信 NRF24L01一 简介二 引脚功能描述 程序设计一 对 24L01 的程序编程的基本思路如下 xff1a 二 Tx 与 Rx 的配置过程1 Tx
  • 51单片机驱动K型热电偶 OLED0.96显示

    51单片机驱动K型热电偶 OLED0 96显示 一 基本参数二 接线三 部分代码引脚定义时序对用代码 四 实验现象五 注意事项 一 基本参数 二 接线 K型热电偶 MAX6675 模块引脚说明GNDGND接地 单独供电需要与MCU共地VCC
  • 基于ESP32做低功耗墨水屏时钟

    基于ESP32做低功耗墨水屏时钟 电子墨水屏概述 ESP32实验低功耗电子时钟功能描述接线开发实验结果 电子墨水屏 概述 电子墨水是一种革新信息显示的新方法和技术 和传统纸差异是电子墨水在通电时改变颜色 xff0c 并且可以显示变化的图象
  • STC89C52制作可程控低频信号发生器

    STC89C52制作可程控低频信号发生器 准备工作操作流程关于PCF8591实现构思 相关代码定时器相关代码串口控制频率和LCD显示函数 相关功能现象总结 准备工作 由于51单片机本身并不自带DAC的功能 xff0c 因此需要借助外置模块实
  • Arduino UNO驱动 Si3531A三通道时钟信号发生器

    Arduino UNO驱动 Si3531A三通道时钟信号发生器 Si3531A模块简介模块引脚定义Arduino UNO与模块接线测试代码实验结果 Si3531A模块简介 Si3531A是一个IIC接口可编程时钟信号频率发生器 xff0c
  • Arduino驱动HC-SR04超声波测距

    Arduino驱动HC SR04超声波测距 前言电气参数基本工作原理时序图接线程序实验结果总结 前言 HC SR04超声波测距模块可提供2cm 400cm的非接触式距离感测功能 xff0c 测距精度可达3mm xff0c 包括发射器 接收器
  • stm32f103c8t6新建环境+点灯

    stm32f103c8t6新建环境 43 点灯 简介步骤一 新建文件二 建立启动 43 用户端本身文件三 mdk内部设置四 实现基础工作效果五 点灯 总结 简介 STM32F103C8T6是一款由意法半导体公司 xff08 ST xff09
  • ESP32驱动1.28寸GC9A01播放视频(一、视频分辨率的调整和视频格式的转换)

    ESP32驱动1 28寸GC9A01播放视频 xff08 一 视频分辨率的调整和视频格式的转换 xff09 播放前准备转换视频分辨率用FFmpeg将 MP4转换为 mjpeg格式FFmpeg的win10环境搭建FFmpeg的下载环境变量的搭
  • Arduino UNO驱动micro SD卡读写模块

    目录 一 简介二 使用前准备三 测试方法四 实验现象 一 简介 Micro SD卡模块TF卡读写卡器板载电平转换电路 xff0c 即接口电平可为5V或3 3V xff0c 支持支持Micro SD卡 2G Micro SDHC高速卡 32G
  • ESP32驱动1.28寸GC9A01播放视频(二、程序说明和效果展示)

    ESP32驱动1 28寸GC9A01播放视频 xff08 二 程序下载和效果展示 xff09 1 28寸GC9A01屏幕屏幕引脚定义 程序说明程序更改1 Arduino DataBus bus和Arduino GC9A01 gfx要改成ES
  • 计算机网络---传输层的udp协议

    首先我们认识要在应用层对数据封装之后需要传输到传输层进行封装 xff0c 但是在应用层只是对数据进行了处理 xff0c 所以在传输层上需要对传输到那个进程进行设置 xff0c 所以在传输层需要对port进行设置 所以port是标志一个进程
  • c++中 ->,c++中::

    gt gt 用于指针 gt 用于指向结构体的指针 gt 用于指向结构体的指针 xff0c 表示结构体内的元素 include lt stdio h gt struct role 定义一个结构体 char name 8 姓名 int leve
  • U8W/U8W-Mini使用与常见问题解决

    U8W U8W Mini使用与常见问题解决 U8WU8W U8W mini简介准备工作U8W U8W mini在线联机下载U8W U8W mini脱机下载第一步 xff0c 把程序下载到U8W U8W mini烧录器中 xff1a 第二步
  • Arduino 驱动GP2Y1014AU检测PM2.5

    Arduino 驱动GP2Y1014AU检测PM2 5 一 基本参数二 接线三 部分代码引脚定义对应代码 四 实验现象五 注意事项 一 基本参数 二 接线 三 部分代码 引脚定义 define measurePin span class t
  • STM32F103ZET6驱动TOF250激光测距传感器

    STM32驱动TOF250激光测距传感器 TOF250介绍I2C通讯协议I2C寄存器地址 TOF250引脚说明和STM32的接线和STM32的接线 程序实验结果总结 TOF250介绍 TOF250是一款基于TOF原理的单点测距雷达 xff0
  • STM32驱动SG90舵机

    STM32驱动SG90舵机 关于SG90舵机SG90转动角度与占空比的关系驱动SG90舵机代码 确定控制引脚 写代码 SG90舵机正常驱动现象总结 关于SG90舵机 SG90是一种小型伺服电机 xff0c 通常用于模型制作和小型机械应用中