stm32c6t6 as608指纹识别模块 控制SG90舵机
此工程是使用STM32驱动舵机和指纹识别模块AS608,以达到机械式开关的应用
波特率115200 需要购买工具有stm32f103 c6t6核心板 stlink sg90舵机 usb转串口CH340 连接ch340 上位机录入指纹
1脚红线:Vcc,连接3.3V电源供电,勿接3.3V以上电源
2脚黄线:TX端 接ch340的RX
3脚白线:RX端 接ch340的TX
4脚黑线:GND 接ch340的GND
5脚蓝线: pwk 不接
6脚绿线:接ch340的3.3V
安装keil5 进行调试的时候接线如下
ch340
vcc 接单片机的红线
3.3 接核心板3.3v
tx 接核心板pa10
rx 接核心板pa9
gnd 接核心板Gnd
stlink
5v 接 舵机的5v供电 (核心板供电不充足 容易失联
3.3 接核心板3.3v
GDN接 舵机的GDN 接核心板的GND
SWDIO 接核心板的SWDIO
SWCLK 接核心板的SWCLK
as608
指纹模块AS608的使用: 1脚红线:Vcc,连接ch340的vcc 电源供电,勿接3.3V以上电源 2脚黄线: TX端 接核心板PA3 3脚白线: RX端 接核心板PA2 4脚黑线:GND,3.3V电源的GND 接核心板的GDN 5脚蓝线:模块触摸感应信号输出(高电平为检测到触摸)WAK 接核心板PB0 6脚绿线:模块触摸感应电路电源,可以与红线并接 接核心板3.3v
在上位机直接录入指纹,使用单片机直接检测指纹 为了代码简洁,只使用了指纹识别的功能,没有实现全部功能 利用上位机程序录入指纹,方便好用也减少了代码量;上位机程序的使用参考手册里也有说明
SG 90舵机
黑色 0v GND 接 Stlink的GDN
红色 5v 接 Stlink的5v供电
橙色 PWM信号线 接核心板的PB1
直接使用接线如下 开箱即用
as608
指纹模块AS608的使用: 1脚红线:Vcc 接 核心板3.3 电源供电,勿接3.3V以上电源 2脚黄线: TX端 接核心板PA3 3脚白线: RX端 接核心板PA2 4脚黑线:GND 接核心板的GDN 5脚蓝线: WAK 接核心板PB0 6脚绿线:3.3 接核心板3.3v
SG 90舵机
黑色 0v GND 接 核心板GDN
红色 5v 接 核心板5v供电
橙色 PWM信号线 接核心板的PB1
MG996R
Servo_SetAngle(180);//逆
Delay_ms(5000);
Servo_SetAngle(0);//正
Delay_ms(2000);
Servo_SetAngle(360);//stop
首先360度的[舵机]无法控制角度,只能控制其转动方向和速度,而且速度是固定的数值,不能自定义其速度,不过舵机正反转都有五个速度,因此可以满足大部分的需求。PWM波输出波形:
MG996R舵机与180度舵机接收的PWM波形周期是一样的,都是20ms,脉冲控制范围也都是0.5ms—2.5ms,但是脉冲控制不一样,详细请看下图对比
下图为180度舵机的脉冲控制方法:

| 输入信号脉冲宽度(周期为20ms) | 方向及速度 |
|---|---|
| 0.5ms—1ms(0.4ms也行) | 顺时针,速度最快 |
| 1.1ms | 顺时针,速度次之 |
| 1.2ms | 顺时针,速度再次之 |
| 1.3ms | 顺时针,速度再再次之 |
| 1.4ms | 顺时针,速度最慢 |
| 1.5ms | 停止状态 |
| 1.6ms | 逆时针,速度最慢 |
| 1.7ms | 逆时针,速度快一点 |
| 1.8ms | 逆时针,速度再快一点 |
| 1.9ms | 逆时针,速度再再快一点 |
| 2.0ms—2.5ms | 逆时针,速度最快 |
根据上面两个图的对比,想必大家也知道360度MG996R舵机与180舵机的使用区别了吧,因此大家在使用这款舵机时,一定要将PWM波形的分辨率调制0.1ms,也就是每次改变其脉冲波形时最多改变0.1ms。
下一篇文章会给在STM32F103下控制此舵机的程序