目录
一、资源说明
二、基本参数
参数
型号:SG90
型号:ES08A
引脚说明
三、驱动说明
SG90舵机
ES08A 舵机
对应程序:
四、部分代码说明
接线说明
STC89C52RC+ES08A SG90舵机
STM32F103C8T6+ES08A SG90舵机
五、基础知识学习与相关资料下载
六、视频效果展示与程序资料获取
七、项目主要材料清单
八、注意事项
九、接线表格
一、资源说明
单片机型号 | 测试条件 | 模块名称 | 代码功能 |
STC89C52RC | 1.晶振11.0592M | ES08A SG90舵机 | 单片机驱动ES08A SG90舵机按键控制正反转 |
STM32F103C8T6 |
| ES08A SG90舵机 |
二、基本参数
参数
型号:SG90
重量13克 角度90度-180度通用
红色电压 粽色 地线 橙色是信号线
技术数据:
尺寸:21.5mmX11.8mmX22.7mm
重量:9克
无负载速度:0.12秒/60度(4.8V)
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30~~+60摄氏度
死区设定:7微秒
工作电压:4.8V-6V
型号:ES08A
引脚说明
| SG90舵机功率相对较小 可以直接系统板供电 但是建议单独供电 单独供电注意单片机与电源共地 |
SG90舵机 | 引脚说明 |
GND棕线 | 电源地 此处要与单片机共地 |
VCC红线 | 给舵机供电 5V |
PWM黄线 | PWM控制 SG90大概控制时间是0.5ms-2.5ms |
| ES08A功率相对较大 STC89C52RC驱动时候要单独供电 且PWM引脚要接一个4.7K左右上拉电阻 |
ES08A | 引脚说明 |
GND棕线 | 电源地 此处要与单片机共地 |
VCC红线 | 给舵机供电 5V |
PWM黄线 | PWM控制 ES08A大概控制时间是0.7ms-2.3ms |
三、驱动说明
ES08A 舵机与SG90舵机驱动方式类似 主要是控制时间范围有所区别
SG90舵机
信号线(黄线)红线(电源线)棕色(地线)
舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2. 5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的 控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
ES08A 舵机
对应程序:
以下以STC89C52RC程序为例
定时器产生周期20MS PWM波形
void tim0() interrupt 1
{
TL0 = 0xA4; //设置定时初值
TH0 = 0xFF; //设置定时初值 0.1ms
times++;
if(times<=Duty)
{
Pwm=1;
}
else
{
Pwm=0;
}
if(times>=Period)
{
times=0;
}
}
占空比由Duty决定 改变Duty则占空比改变 次处STC89C52RC用的晶振11.0592 故定时有误差
uint8_t Duty=5; //大概600US
四、部分代码说明
接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
STC89C52RC+ES08A SG90舵机
//ES08A SG90引脚定义
sbit Pwm=P1^0;
//按键引脚定义
sbit K1=P1^1;
sbit K2=P1^2;
STM32F103C8T6+ES08A SG90舵机
//ES08A SG90引脚定义
// TIM3 输出比较通道1
#define GENERAL_TIM_CH1_GPIO_CLK RCC_APB2Periph_GPIOA
#define GENERAL_TIM_CH1_PORT GPIOA
#define GENERAL_TIM_CH1_PIN GPIO_Pin_6
//按键引脚定义
#define K_Forward GPIO_Pin_6 //舵机正转按键 GPIOB_Pin_6 0x0040
#define K_Reverse GPIO_Pin_7 //舵机反转按键 GPIOB_Pin_7 0x0080
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
视频连接 直戳跳转
资料获取 直戳跳转
七、项目主要材料清单
STC89C52RC驱动方案 | 图片 | STM32F103C8T6驱动方案 | 图片 | 备注 K_A09_008 |
STC89C52RC系统板X1 |
| STM32F103C8T6系统板X1 |
|
|
ES08舵机x1 |
| ES08A舵机x1 |
| |
SG90舵机x1 |
| SG90舵机x1 |
| |
Micro USB线X1 |
| Micro USB线X2 |
| |
公母杜邦线X8 公公杜邦线X2 |
| 公母杜邦线X8 公公杜邦线X2 |
| |
J-LINK下载器 |
|
八、注意事项
- VCC GND请勿接反,接反易烧
- 显示异常时,排除接线接触不良
- 单片机与模块需要共地接线
- STC89C52RC驱动ES08A舵机必须单独供电并IO口需要4.7K左右电阻上拉
九、接线表格
单片机型号 | 模块 | 对应引脚(上:模块引脚 下:单片机引脚) | ||
STC89C52RC | ES08A舵机 | PWM(黄线) | VCC(红线) | GND(棕线) |
P1.0 | 5V | GND(共地) | ||
SG90舵机 | PWM(黄线) | VCC(红线) | GND(棕线) | |
P1.0 | 5V | GND(共地) | ||
按键模块 | KEY1 | KEY2 | GND | |
P1.1 | P1.2 | GND | ||
STM32F103C8T6 | ES08A舵机 | PWM(黄线) | VCC(红线) | GND(棕线) |
PA6 | 5V(单独供电) | GND(共地) | ||
SG90舵机 | PWM(黄线) | VCC(红线) | GND(棕线) | |
PA6 | 5V(单独供电) | GND(共地) | ||
按键模块 | KEY1 | KEY2 | GND | |
PB6 | PB7 | GND |