目录
一、资源说明
二、基本参数
四、部分代码说明
接线说明
1、STC89C52RC+XY-160D模块
2、STM32F103C8T6+XY-160D模块
五、基础知识学习与相关资料下载
六、视频效果展示与程序资料获取
七、项目所有材料清单
八、注意事项
九、接线表格
一、资源说明
单片机型号 |
测试条件 |
模块名称 |
代码功能 |
STC89C52RC |
1.晶振11.0592M |
模块 |
单片机驱动XY-160D模块按键控制步直流机正反转加减速启停 |
STM32F103C8T6 |
|
XY-160D模块 |
二、基本参数
1、参数
2、引脚说明
XY-160D模块 |
引脚说明 |
VCC |
XY-160D供电(此处8V供电 根据实际来) |
PGND |
电源地 |
5V |
5V/3.3V(根据信号电平电压来 3.3V的话此处要接3.3V供电) |
GND |
单片机电源GND |
ENA |
OUT1,OUT2输出端使能控制(默认短接 全速输出)也可接PWM信号调速 |
IN1 |
对应OUT1 IN1输入高则OUT1输出高 |
IN2 |
对应OUT2 IN2输入高则OUT2输出高 |
IN3 |
对应OUT3 IN3输入高则OUT3输出高 |
IN4 |
对应OUT4 IN4输入高则OUT4输出高 |
ENB |
OUT3,OUT4输出端使能控制(默认短接 全速输出)也可接PWM信号调速 |
OUT1 |
接电机和OUT2为一组 输出高低由IN1控制 |
OUT2 |
接电机和OUT1为一组 输出高低由IN2控制 |
OUT3 |
接电机和OUT4为一组 输出高低由IN3控制 |
OUT4 |
接电机和OUT3为一组 输出高低由IN4控制 |
三、驱动说明
驱动与L298N很类似 此处直接用L298N程序
XY-160D模块驱动说明
对应程序:
以下以STC89C52RC程序为例
//正转
void turn_Syntropy(void)
{
IN1_R=1;
IN2_R=0;
IN3_L=1;
IN4_L=0;
}
//反转
void turn_Reverse(void)
{
IN1_R=0;
IN2_R=1;
IN3_L=0;
IN4_L=1;
}
//停止
void turn_Stop(void)
{
IN1_R=1;
IN2_R=1;
IN3_L=1;
IN4_L=1;
Pwm_L=0;
Pwm_R=0;
TR0=0;
}
ENA ENB输出PWM
ENA ENB输出PWM由定时器实现,PWM_L PWM_R分别对应ENA ENB
//定时器0中断服务函数
void tim0() interrupt 1
{
TL0 = 0xA4; //设置定时初值
TH0 = 0xFF; //设置定时初值 0.1ms
times++;
if(times<=Speed)
{
Pwm_L=1;
Pwm_R=1;
}
else
{
Pwm_L=0;
Pwm_R=0;
}
if(times>=Period)
{
times=0;
}
}
四、部分代码说明
接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1、STC89C52RC+XY-160D模块
//XY-160D引脚
sbit Pwm_L=P1^5;
sbit IN1_R=P1^4;
sbit IN2_R=P1^3;
sbit IN3_L=P1^2;
sbit IN4_L=P1^1;
sbit Pwm_R=P1^0;
//按键引脚
sbit K_Start_Stop=P2^0; //启停按键
sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键
sbit K_UP_Speed=P2^2; //两电机同时加速按键
sbit K_Down_Speed=P2^3; //两电机同时减速按键
2、STM32F103C8T6+XY-160D模块
//XY-160D引脚 GPIOB
#define IN1_L GPIO_Pin_12 //
#define IN2_L GPIO_Pin_13 //
#define IN3_R GPIO_Pin_14 //
#define IN4_R GPIO_Pin_15 //
//XY-160D ENA ENB
#define GENERAL_TIM_CH1_GPIO_CLK RCC_APB2Periph_GPIOA
#define GENERAL_TIM_CH1_PORT GPIOA
#define GENERAL_TIM_CH1_PIN GPIO_Pin_6
// TIM3 输出比较通道2
#define GENERAL_TIM_CH2_GPIO_CLK RCC_APB2Periph_GPIOA
#define GENERAL_TIM_CH2_PORT GPIOA
#define GENERAL_TIM_CH2_PIN GPIO_Pin_7
//按键引脚GPIOB
#define K_Start_Stop GPIO_Pin_4 //启停按键 GPIOB_Pin_4 0x0010 //?GPIOB_Pin_3
#define K_Syntropy_Reverse GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020
#define K_UP_Speed GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040
#define K_Down_Speed GPIO_Pin_7 //两电机同时减速按键 GPIOB_Pin_7 0x0080
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
- STM32F103C8T6程序下载
- 串口下载 直戳跳转
- ST-LINK下载 直戳跳转
- J-LINK下载 直戳跳转
- DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
视频连接 直戳跳转
资料获取 ( 滑到最后添加群号看公告免费获取)
七、项目主要材料清单
STC89C52RC驱动方案 |
图片 |
STM32F103C8T6驱动方案 |
图片 |
备注 K_A08_005 |
STC89C52RC系统板X1 |
STM32F103C8T6系统板X1 |
|
||
XY-160D模块x1 |
XY-160D模块x1 |
|||
直流电机x2 |
直流电机x2 |
|||
Micro USB线X1 |
Micro USB线X2 |
|||
杜邦线若干 |
杜邦线若干 |
|||
J-LINK下载器 |
八、注意事项
- VCC GND请勿接反,接反易烧
- 现象异常时,排除接线接触不良
- 5V供电口看信号电平电压 电平是3.3V的话需用3.3V供电
九、接线表格
单片机型号 |
模块 |
对应引脚(上:模块引脚 下:单片机引脚) |
|||||||
STC89C52RC |
XY-160D模块 |
ENA |
IN1 |
IN2 |
IN3 |
IN4 |
ENB |
GND文章来源地址https://www.toymoban.com/news/detail-621044.html |
+5V |
P1.5 |
P1.4 |
P1.3 |
P1.2 |
P1.1 |
P1.0 |
GND |
5V |
||
按键模块 |
KEY1 |
KEY2 |
KEY3 |
KEY4 |
GND |
||||
P2.0 |
P2.1 |
P2.2 |
P2.3 |
GND |
|||||
STM32F103C8T6 |
XY-160D模块 |
ENA |
IN1 |
IN2 |
IN3 |
IN4 |
ENB |
GND |
+5V |
PA6 |
PB12 |
PB13 |
PB14 |
PB15 |
PA7 |
GND |
3.3V |
||
按键模块 |
KEY1 |
KEY2 |
KEY3 |
KEY4 |
GND |
||||
PB4 |
PB5 |
PB6 |
PB7文章来源:https://www.toymoban.com/news/detail-621044.html |
GND |
到了这里,关于K_A08_005 基于 STM32等单片机驱动XY-160D模块按键控制直流电机正反转加减速启停的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!