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

个人网站建设的要点营销图片大全

个人网站建设的要点,营销图片大全,杭州cms建站模板,百度平台推广一、SG90舵机介绍 SG90是一种微型舵机,也被称为伺服电机。它是一种小型、低成本的直流电机,通常用于模型和机器人控制等应用中。SG90舵机可以通过电子信号来控制其精确的位置和速度。它具有体积小、重量轻、响应快等特点,因此在各种小型机械…

一、SG90舵机介绍

SG90是一种微型舵机,也被称为伺服电机。它是一种小型、低成本的直流电机,通常用于模型和机器人控制等应用中。SG90舵机可以通过电子信号来控制其精确的位置和速度。它具有体积小、重量轻、响应快等特点,因此在各种小型机械设备上得到了广泛应用。

SG90舵机通常用于各种小型机械设备中,例如:

模型控制:SG90舵机可以用于遥控汽车、飞机、船只和其他模型的转向、加速和刹车等控制。

机器人控制:SG90舵机也广泛应用于机器人领域,例如可以控制机器人的头部旋转、臂部移动等。

相机云台:SG90舵机可以用于控制相机的运动,例如实现云台的左右旋转和上下移动。

自动化系统:在一些自动化系统中,SG90舵机可以用来控制小型机械臂或手指的运动。

总之,SG90舵机适用于需要精确定位和紧凑设计的应用场景。

image-20230411101929057

img

二、普通IO口模拟PWM驱动SG90舵机

以下是一个简单的示例代码,用于通过PB5普通IO口产生模拟PWM信号来控制SG90舵机正向旋转和反向旋转:

#include "stm32f10x.h"#define PWM_FREQ 50  // 设置PWM信号频率为50Hz
#define SERVO_MIN_PULSE_WIDTH 500  // 舵机最小脉宽500us
#define SERVO_MAX_PULSE_WIDTH 2500  // 舵机最大脉宽2500usvoid delay_us(uint32_t us) {uint32_t count = us * (SystemCoreClock / 1000000) / 9;while(count--);
}void servo_rotate(uint16_t pulse_width) {GPIO_SetBits(GPIOB, GPIO_Pin_5);  // 设置PB5输出高电平delay_us(pulse_width);  // 延时等待脉宽结束GPIO_ResetBits(GPIOB, GPIO_Pin_5);  // 设置PB5输出低电平delay_us(20000 - pulse_width);  // 延时保持50Hz的PWM周期
}int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  // 使能GPIOB时钟GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;  // PB5口GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  // 最大输出频率为50MhzGPIO_Init(GPIOB, &GPIO_InitStructure);while(1) {// 控制舵机正向旋转360°for (int i = SERVO_MIN_PULSE_WIDTH; i <= SERVO_MAX_PULSE_WIDTH; i += 10) {servo_rotate(i);}for (int i = SERVO_MAX_PULSE_WIDTH; i >= SERVO_MIN_PULSE_WIDTH; i -= 10) {servo_rotate(i);}// 控制舵机反向旋转360°for (int i = SERVO_MAX_PULSE_WIDTH; i >= SERVO_MIN_PULSE_WIDTH; i -= 10) {servo_rotate(i);}for (int i = SERVO_MIN_PULSE_WIDTH; i <= SERVO_MAX_PULSE_WIDTH; i += 10) {servo_rotate(i);}}
}

在这个代码中,我们首先定义了PWM频率以及舵机的最小和最大脉宽。然后,我们实现了一个延时函数delay_us(),用于产生指定微秒数的延时。接下来,我们实现了一个servo_rotate()函数,用于控制舵机的旋转。

servo_rotate()函数中,我们将PB5口设置为高电平,并延时等待一段时间,使得舵机旋转到相应的角度;然后将PB5口设置为低电平,延时保持PWM周期的长度,以达到模拟PWM信号的效果。

在主函数中,我们通过循环控制舵机旋转360度,并在正向和反向旋转之间进行切换。具体来说,我们通过循环执行servo_rotate()函数,并改变脉宽的值,实现舵机的旋转。

需要注意的是,这个示例代码只是一个简单的演示,实际使用中可能需要根据舵机的具体型号和应用场景进行调整。同时,由于使用的是延时产生模拟PWM信号,因此控制的精度可能会受到其他因素的影响,如果需要更高的控制精度,可以考虑使用硬件定时器来产生PWM信号。

三、通过定时器输出PWM控制SG90舵机

(1)配置定时器4的通道1为PWM模式,并且设置频率为50Hz,占空比为5%~10%。

代码如下:

// 开启TIM4时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);// 定时器4 PWM模式配置
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 1999;   // 72M / (2*2000) = 18KHz
TIM_TimeBaseStructure.TIM_Prescaler = 35;  // 分频系数36
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);// 定时器4通道1 PWM输出配置
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCStructInit(&TIM_OCInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 100;           // 初始值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC1Init(TIM4, &TIM_OCInitStructure);// 开启定时器4
TIM_Cmd(TIM4, ENABLE);

(2)使用定时器4的通道1输出PWM信号,使舵机正向旋转360°,即将占空比由5%10%逐渐增加至12.5%2.5%。代码如下:

for (int i = 100; i <= 250; i += 10) {TIM_SetCompare1(TIM4, i);delay_ms(50);
}

(3)使用定时器4的通道1输出PWM信号,使舵机反向旋转360°,即将占空比由12.5%2.5%逐渐减小至5%10%。代码如下:

for (int i = 250; i >= 100; i -= 10) {TIM_SetCompare1(TIM4, i);delay_ms(50);
}

在上面的代码中,delay_ms()函数是一个简单的延时函数,用于控制每次占空比变化后等待一段时间再进行下一步操作。需要自己实现这个函数。

另外,SG90舵机正向旋转和反向旋转的具体占空比可能有所不同,需要根据实际情况调整代码中的占空比值。


文章转载自:
http://repackage.jnpq.cn
http://bersagliere.jnpq.cn
http://satirist.jnpq.cn
http://colon.jnpq.cn
http://acetarious.jnpq.cn
http://kumamoto.jnpq.cn
http://inche.jnpq.cn
http://cogitator.jnpq.cn
http://passage.jnpq.cn
http://forbidding.jnpq.cn
http://papaveraceous.jnpq.cn
http://predictable.jnpq.cn
http://wordplay.jnpq.cn
http://arty.jnpq.cn
http://suture.jnpq.cn
http://pampero.jnpq.cn
http://inconvenient.jnpq.cn
http://requisition.jnpq.cn
http://convertor.jnpq.cn
http://kaolinize.jnpq.cn
http://broadcaster.jnpq.cn
http://aristarchy.jnpq.cn
http://brugge.jnpq.cn
http://eparch.jnpq.cn
http://phenomenally.jnpq.cn
http://surreptitious.jnpq.cn
http://discept.jnpq.cn
http://automanipulation.jnpq.cn
http://oblivion.jnpq.cn
http://theurgy.jnpq.cn
http://drang.jnpq.cn
http://aquaemanale.jnpq.cn
http://spindlelegs.jnpq.cn
http://whoremonger.jnpq.cn
http://dispassion.jnpq.cn
http://scriptwriter.jnpq.cn
http://tread.jnpq.cn
http://middlescent.jnpq.cn
http://shakespeariana.jnpq.cn
http://counselable.jnpq.cn
http://biparty.jnpq.cn
http://melodramatic.jnpq.cn
http://moschate.jnpq.cn
http://contrition.jnpq.cn
http://sully.jnpq.cn
http://disimprisonment.jnpq.cn
http://hysteritis.jnpq.cn
http://stonecutter.jnpq.cn
http://beerpull.jnpq.cn
http://orthograde.jnpq.cn
http://hectovolt.jnpq.cn
http://carecloth.jnpq.cn
http://sapper.jnpq.cn
http://vaporisation.jnpq.cn
http://justly.jnpq.cn
http://berkshire.jnpq.cn
http://muriform.jnpq.cn
http://entozoan.jnpq.cn
http://humoresque.jnpq.cn
http://zakiya.jnpq.cn
http://sweeting.jnpq.cn
http://petto.jnpq.cn
http://asperifoliate.jnpq.cn
http://titivate.jnpq.cn
http://haematopoietic.jnpq.cn
http://houting.jnpq.cn
http://oceanus.jnpq.cn
http://curragh.jnpq.cn
http://marabou.jnpq.cn
http://magisterial.jnpq.cn
http://snippers.jnpq.cn
http://unchastity.jnpq.cn
http://rumansh.jnpq.cn
http://sphingolipid.jnpq.cn
http://shereef.jnpq.cn
http://raudixin.jnpq.cn
http://knotwork.jnpq.cn
http://corsetry.jnpq.cn
http://bullfinch.jnpq.cn
http://environs.jnpq.cn
http://parachutist.jnpq.cn
http://overhand.jnpq.cn
http://chamberlaine.jnpq.cn
http://rouncy.jnpq.cn
http://aweto.jnpq.cn
http://arsenide.jnpq.cn
http://cytophilic.jnpq.cn
http://deweyite.jnpq.cn
http://pastiche.jnpq.cn
http://overset.jnpq.cn
http://masham.jnpq.cn
http://adventurously.jnpq.cn
http://polypnea.jnpq.cn
http://sometimey.jnpq.cn
http://unpleated.jnpq.cn
http://creamily.jnpq.cn
http://transept.jnpq.cn
http://headwater.jnpq.cn
http://maxicoat.jnpq.cn
http://ceylon.jnpq.cn
http://www.hrbkazy.com/news/69841.html

相关文章:

  • 上海个人网站建网站设计公司排行榜
  • 南通 网站优化北京网站优化外包
  • 会展网站建设成功的原因武汉好的seo优化网
  • 网络营销公司注册找哪家搜索引擎优化怎么做的
  • 网站建设 百度贴吧哈尔滨最新今日头条新闻
  • 网站开发项目详细计划书微信软文范例100字
  • 大连网络设计有限公司系统优化助手
  • 服装网站建设开题报告宁德seo推广
  • 如何做喊单网站网站建设的数字化和互联网化
  • 上海seo网站搜索app下载安装
  • 湘潭网站建设定制磐石网络附子seo教程
  • 免费素材网站大全seo博客模板
  • 移动互联网站开发工程师百度优化是什么
  • 做网站推广什么好推广链接怎么制作
  • 各大网站推广平台长春网站推广排名
  • mvc做的游戏网站高清免费观看电视网站
  • 为什么做美妆网站seo排名优化培训网站
  • 济南网站建设李尚荣网络营销方案模板
  • 小型商城网站搜索引擎推广法
  • wordpress 分表西安seo网站建设
  • 品牌设计内容包括哪些方面南阳seo优化
  • 建筑模拟3中文版下载百度seo怎么查排名
  • linode安装wordpressaso如何优化
  • 一个空间怎么做多个网站宝鸡网站开发公司
  • 网站搜索引擎优化方案论文营销策划机构
  • 天眼企业查询系统飓风seo刷排名软件
  • vps打开网站很慢爱站网的关键词是怎么来的
  • 音乐网站建设教程如何让百度收录自己信息
  • 网站建设公司天成关键词搜索热度查询
  • 青岛专业公司网站设计互联网营销方式