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

5v 接 舵机的5v供电 (核心板供电不充足 容易失联

3.3 接核心板3.3v

GDN接 舵机的GDN 接核心板的GND

SWDIO 接核心板的SWDIO

SWCLK 接核心板的SWCLK

as608

img

指纹模块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度舵机的脉冲控制方法:

img

输入信号脉冲宽度(周期为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下控制此舵机的程序