使用摇杆控制舵机(云台)
硬件
摇杆1
SG90舵机1
STM32F103C8T6最小系统板*1
软件思路
1、先采集摇杆的x,y的电压信息来获取摇杆的位置状态(如果是单个舵机就采集一个维度就可以了,如果是云台(两个舵机组成)就需要采集两个维度的数据)。
value=Get_ADC_Value(ADC_Channel_1,20);
volx=(float)value*(3.3/4096);
value=Get_ADC_Value(ADC_Channel_2,20);
voly=(float)value*(3.3/4096);
2、输出PWM波控制舵机旋转特定的角度。
怎么能够实现精确控制呢?可以将摇杆的0~3.3V ***一一映射***到TIM_SetCompare2(TIM3,x); 能让舵机转动的x的范围,对于SG90来说大概是175-195(per=199,psc=7199的情况下)。
x=175+6*volx;
y=175+6*voly;
TIM_SetCompare2(TIM3,x);
TIM_SetCompare1(TIM3,y);