sg90舵机基本认知

news2024/11/19 14:49:48

什么是舵机:

如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控制

用处:垃圾桶项目开盖用、智能小车的全比例转向、摄像头云台、机械臂等

常见的有0-90°、0-180°、0-360°

 怎末控制电机?

像黄色信号线“灌入”PWM信号

PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右

PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右

数据:

0.5ms-------------0度; 2.5% 对应函数中占空比为250

1.0ms------------45度; 5.0% 对应函数中占空比为500

1.5ms------------90度; 7.5% 对应函数中占空比为750

2.0ms-----------135度; 10.0% 对应函数中占空比为1000

2.5ms-----------180度; 12.5% 对应函数中占空比为1250

这些数据是厂商靠苏我们的,我们只需要把定时器配置成最小的单位,然后进行成倍的操作

 

 

 这样一直重复操作

编程控制舵机

#include "reg52.h"

sbit sg90_con = P1^1;
int jd;
int cnt;

void Delay2000ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 15;
	j = 2;
	k = 235;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void Timer0Init(void)		//500微秒@11.0592MHz
{
	AUXR |= 0x80;		//定时器时钟1T模式
	TMOD &= 0xF0;		//设置定时器模式
	TL0 = 0x66;		//设置定时初值
	TH0 = 0xEA;		//设置定时初值
	TF0 = 0;		//清除TF0标志
	TR0 = 1;		//定时器0开始计时
}


void main()
{
    Time0Init();    //配置定时器
    sg90_con = 1;   // 令PWM信号 一开始在高电位
    cnt = 0;
    jd = 1;   //转0度
    while(1){

        jd = 1;
        cnt = 0;
        Delay2000ms();
        
        jd = 4;
        cnt = 0;    
        Delay2000ms()
    }

}

void Time0ZD ()  interrupet 1
{
    cnt++;
    
    //爆表后要重新配计时器

	TL0 = 0x66;		//设置定时初值
	TH0 = 0xEA;		//设置定时初值


    if(cnt <jd){
        sg90_con = 1;
    }else{
        sg90_con = 0;
    
    }
    if(cnt == 40){
        cnt = 0;
        sg90_con = 1;  // 当一个周期弄完后,重新回到高电位。
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106819.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

硬件设备运行小程序,FinClip来帮忙

如今小程序技术日趋成熟&#xff0c;但大多小程序的运行都依赖于微信、百度、支付宝、今日头条等各大巨头&#xff0c;使得小程序的运营十分受限。并且&#xff0c;企业也更希望能实现“一次开发&#xff0c;多端运行”。因此&#xff0c;今天就来跟大家分享一下离开各大巨头&a…

20款前端特效动画及源码

最近优化项目时看到一些实用的特效 感觉还不错 下面就分享给大家 代码量过长的我就不展示了 可以去在这里资源站源码部分预览下载 1.Loading加载动画 在canvas画布上&#xff0c;我们动态绘制许多多边形&#xff0c;这些多边形伴随着颜色的随机变化和旋转&#xff0c;形成了奇…

KingbaseES Clusterware 高可用案例之---构建iSCSI共享存储

案例说明&#xff1a; 在KingbaseES Clusterware高可用的架构中&#xff0c;集群节点需要访问共享的存储设备&#xff0c;可以使用FC SAN、iscsi SAN、NAS等存储设备。本案例详细描述了&#xff0c;在Linux系统下构建 iscsi存储服务器及客户端访问的过程&#xff0c;为部署King…

8Manage SRM电子采购软件为企业带来采购优势

在如今各行行业竞争激烈的环境中&#xff0c;企业想要从中脱颖而出&#xff0c;利用现代化电子采购软件来建立优势是必不可少的。采用电子采购软件的优势越来越明显&#xff0c;其许多用途也越来越为人所知。企业使用电子采购的主要原因是为了控制强大的库存、减少采购重复和改…

GNU编译器常见伪操作

伪操作不会生成机器码&#xff0c;只是在编译阶段告诉编译器怎么做。类似于C语言中的 #if、#define 等带“#”的&#xff0c;#if 告诉编译器哪段不需要被编译&#xff0c;#define 告诉编译器哪些宏需要替换。 不同编译器&#xff0c;伪操作的语法不一样&#xff0c;这里主要介…

python帮我省下了这笔冤枉钱

背景 今天不得不说一说我这个电脑的事情。我这个电脑是2年前买的&#xff0c;屏幕非常大&#xff0c;是16寸的。 基本上没什么缺点&#xff0c;就是每隔一年&#xff0c;就要处理一下储存问题。 为什么呢&#xff0c;因为我的这台电脑的储存是512G的。所以不是太大。 但是今天…

【小学信息技术教资面试】《英文汉字巧切换》教案

题目&#xff1a;英文汉字巧切换内容&#xff1a; 基本要求&#xff1a; &#xff08;1&#xff09; 请在10分钟内完成试讲。 &#xff08;2&#xff09; 灵活切换汉字和英文字符。 &#xff08;3&#xff09; 试讲过程中涉及操作&#xff0c;进行演示即可。 《英文汉字巧切换…

如何准备考pmp?

我考的是旧考纲&#xff0c;5A 通过的&#xff0c;备考经验大家可以参考下&#xff0c;取长补短~ 一、复习计划的制定 根据之前在培训班共同奋斗的小伙伴学习时间统计&#xff0c;平均每天的学习时间是在 3-4 小时左右&#xff0c;基本上是白天 1 小时晚上 3 小时左右&#xf…

MySQL (二)------MySQL的使用、SQL的介绍

1.1 MySQL服务的启动 “我的电脑/计算机”-->右键-->“管理”-->“服务”-->启动和关闭MySQL服务 “开始菜单”-->“控制面板”-->“管理工具”-->“服务”-->启动和关闭MySQL “任务管理器”-->“服务”-->启动和关闭MySQL 或者 以管理员…

SQL练习题之求每个部门工资最高的人

冬至&#xff0c;又称日南至、冬节、亚岁。 文章目录前言一、题目二、表数据三、解答方法四、延伸思考题外话前言 分享自己做SQL练习时遇到的经典题目&#xff0c;供各位小伙伴参考。 一、题目 现有员工表employee&#xff0c;求每个部门工资最高的前五个员工的 id, name, de…

硬件系统工程师宝典(1)-----硬件系统设计应该从哪里开始?

系统设计举足轻重的一步&#xff0c;需求分析 今天我们开始读张志伟老师的《硬件系统工程师宝典》&#xff0c;这是一本非常好的入门书&#xff0c;对需求分析&#xff0c;电源、信号完整性&#xff0c;电源完整性&#xff0c;可制造性&#xff0c;原理图&#xff0c;pcb的详细…

风控特征变量如何命名

风控变量的命名相信是各位小伙伴&#xff0c;不管是策略还是模型开发的同学都会经常遇到的问题。如果变量不多&#xff0c;假设变量也就只有十几二十个左右&#xff0c;相信大家也不需要怎么处理&#xff0c;或许下面这样的简单命名方式就好了&#xff1a; 如VAR1~VARN&#x…

一套Abaqus常用子程序的二次开发和复杂应用攻略

当物体所受载荷是比较复杂的函数时&#xff08;如与时间、位置等相关&#xff09;&#xff0c;通过界面输入的方式已经难以实现&#xff0c;通常便需要借助于DLOAD子程序来实现。下面将就ABAQUS软件的DLOAD子程序进行讲解和应用举例&#xff0c;希望通过此次讲解能够让更多的同…

01背包问题

01背包问题一、01背包问题1、问题描述2、问题性质分析3、动态规划思路&#xff08;1&#xff09;状态方程a.状态表示&#xff1a;b.状态转移&#xff1a;&#xff08;2&#xff09;循环的设计3、代码模板(1)朴素版(2)优化版一、01背包问题 1、问题描述 2、问题性质分析 这道题…

WEB接口测试之Jmeter接口测试自动化(初次接触)

软件测试自动化从不同的测试阶段分类&#xff0c;可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试。 单元测试一般有开发人员自行完成&#xff0c;而界面自动化测试合适的测试条件又很难达到&#xff0c;测试人员在繁杂的手工界面测试之余&#xff0c; 更…

相信制造业品牌的实力:专访鸿雁全屋智能贵州总代理

作者 | 牧之 编辑 | 小沐 出品 | 智哪儿 zhinaer.cn长期以来&#xff0c;我们一直在讲智能家居市场的下沉&#xff0c;从一二线城市到三四线城市&#xff0c;从沿海到内陆。而事实上&#xff0c;印象中「欠发达」的内陆城市&#xff0c;对于智能家居的接受度可能比我们想象得要…

Qt中调用gRPC

RPC是Remote Procedure Call的简称&#xff0c;中文叫远程过程调用。 gRPC是由 google开发的一个高性能、通用的开源RPC框架&#xff0c;主要面向移动应用开发且基于HTTP/2协议标准而设计&#xff0c;同时支持大多数流行的编程语言。 一.编译gRPC 操作系统&#xff1a;window…

百亿级流量的系统架构该怎么设计,今天就来教会你!

V-xin&#xff1a;ruyuan0330 获得600页原创精品文章汇总PDF 目录 一、前情提示二、清晰划分系统边界三、引入消息中间件解耦四、利用消息中间件削峰填谷五、手动流量开关配合数据库运维六、支持多系统同时订阅数据七、系统解耦后的感受八、下集预告 一、前情提示 上一篇文章…

吊炸天的云原生,到底是个啥

云原生技术里有很多技术、概念和术语&#xff0c;不了解的人&#xff0c;往往弄不清楚而一头雾水&#xff0c;这些概念都是啥&#xff0c;之间是什么关系&#xff1f;本文要说的就是这些。本文更多是科普和扫盲&#xff0c;无意面面俱到&#xff0c;也无意深入细节。 本文适合一…

Allegro如何合并同名网络铜皮操作指导

Allegro如何合并同名网络铜皮操作指导 Allegro可以将同名网络的铜皮合并起来,如下图,需要把下面两块铜皮合并成一块铜皮 具体操作如下 选择Shape选择merge shapes