当前位置: 首页 > news >正文

STM32F103C8T6实现 SG90 360 °舵机转动

简介

基于上一篇 STM32F103C8T6实现 SG90 180 °电机任意角度转动
本来想实现角度转动, 但靠舵机本身无法实现限位, 需要记录位置, 并且根据转速计算大概位置, 存在误差, 不实现角度转动了, 只实现正反转

代码

正向速度0.75为最大速度, 反向2.25, 接近1.5ms则速度降低

void Servo_SetDirection(uint8_t direction) 
{
	int ccrMs = 2000;
  uint16_t pulse = 0;

    switch (direction) 
		{
        case 0: // 正向最大速度
            pulse = 0.75 * ccrMs; // 0.75ms
            break;
        case 1: // 停止
            pulse = 1.5 * ccrMs; // 1.5ms
            break;
        case 2: // 反向最大速度
            pulse = 2.25 * ccrMs; // 2.25ms
            break;
        default:
            pulse = backMax * ccrMs; // 默认停止
            break;
    }

    __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, pulse);
}
http://www.dtcms.com/a/114338.html

相关文章:

  • RabbitMQ应用问题
  • Ubuntu挂载HDD迁移存储PostgreSQL数据
  • 哈尔滨工业大学:大模型时代的具身智能
  • [ctfshow web入门] web2
  • Error in v-on handler: “TypeError: handler.apply is not a function“
  • 支持selenium的chrome driver更新到135.0.7049.42
  • 智能测试用例生成:分块实现大模型完整回答的最佳策略
  • Python作业1 if __name__==‘__main__‘
  • Spring Boot整合MyBatis-Plus实现CRUD操作教程
  • 【CMake】《CMake构建实战:项目开发卷》笔记-Chapter10-策略与向后兼容
  • C++信号与槽机制自实现
  • win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录
  • git push
  • 蓝桥杯单片机频率
  • YOLO环境搭建,win11+wsl2+ubuntu24+cuda12.6+idea
  • C# Winform 入门(9)之如何封装并调用dll
  • 如何提高rabbitmq消费效率
  • C#中为自定义控件设置工具箱图标
  • OpenRouter - 创建 API Keys、OpenAI 调用 以及在Cline 中配置使用
  • 连续数据离散化与逆离散化策略
  • 学习笔记—C++—入门基础()
  • Qt之QHostInfo
  • 嵌入式AI的本地化部署的好处
  • 【51单片机】2-6【I/O口】【电动车简易防盗报警器实现】
  • 蓝桥云客--浓缩咖啡液
  • 前端精度计算:Decimal.js 基本用法与详解
  • VUE3组件综合应用(日历组件)
  • 8.5/Q1,Charls最新文章解读
  • stc8g1k08a定时读取内部1.2v电压值 vcc电压发送到串口1
  • pycharm 有智能提示,但是没法自动导包,也就是alt+enter无效果