STM32串口控制舵机

首先我们要解决

硬件问题:

舵机工作电压是多少?
一般供电范围是4.8V-6.0V电压,我这种舵机3V、5V不影响使用,个人觉得不要太大就行了。
舵机的三根线代表什么意思?
红色的是电源正极,黑色的是电源负极,白色的是信号线。有些舵机线是红棕橘三色,分别对应红黑白。
STM32开发板可以直接连接舵机吗?
有人可以直接连接,没有出现什么问题,但是有人可能会出现单片机复位的情况,可能是舵机瞬间驱动电流太大,使供电电压下降,引起单片机复位,我试验一下确实是电压太低了,舵机一开,电压就开始下降,从4点多降到3点多,最好还是分成两个电源,舵机一个,STM32一个,然后再把他们共地,单片机电压就会非常稳定,不会再复位。
我通过一个稳压模块给舵机供电
舵机发烫可能是什么问题?
接线接反了,或者是舵机受到阻碍了。

舵机代码

我的代码总体框架是:

***PWM(主要)***

***LCD显示(次要)***

***串口改变占空比***

1、 PWM
简单的配置就不说了。

/*******************************************************************************
* 函 数 名         : TIM3_CH1_PWM_Init
* 函数功能		   : TIM3通道1 PWM初始化函数
* 输    入         : per:重装载值
					 psc:分频系数
* 输    出         : 无
*******************************************************************************/
void TIM3_CH1_PWM_Init(u16 per,u16 psc)
{
   
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
	TIM_OCInitTypeDef TIM_OCInitStructure;
	GPIO_InitTypeDef GPIO_InitStructure;
	
	/* 开启时钟 */
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
//	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
	
	/*  配置GPIO的模式和IO口 */
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值