K_A08_005 基于 STM32等单片机驱动XY-160D模块按键控制直流电机正反转加减速启停

news2024/11/23 22:22:09

目录

一、资源说明

二、基本参数

四、部分代码说明

        接线说明

                1、STC89C52RC+XY-160D模块

                 2、STM32F103C8T6+XY-160D模块

五、基础知识学习与相关资料下载

六、视频效果展示与程序资料获取

七、项目所有材料清单

八、注意事项

九、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

模块

单片机驱动XY-160D模块按键控制步直流机正反转加减速启停

STM32F103C8T6

  1. 晶振8M
  2. 系统时钟72M

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

五、基础知识学习与相关资料下载

  1. STC89C52RC程序下载 直戳跳转
  2. STM32F103C8T6程序下载
    1. 串口下载                直戳跳转 
    2. ST-LINK下载             直戳跳转
    3. J-LINK下载              直戳跳转
    4. DAP-LINK下载            直戳跳转

六、视频效果展示与程序资料获取

        视频连接    直戳跳转

        资料获取   直戳跳转

七、项目主要材料清单

STC89C52RC驱动方案

图片

STM32F103C8T6驱动方案

图片

备注

K_A08_005

STC89C52RC系统板X1

STM32F103C8T6系统板X1

  1. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  2. 杜邦线建议不用太长的

XY-160D模块x1

XY-160D模块x1

直流电机x2

直流电机x2

Micro USB线X1

Micro USB线X2

杜邦线若干

杜邦线若干

J-LINK下载器

八、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 现象异常时,排除接线接触不良
  3. 5V供电口看信号电平电压 电平是3.3V的话需用3.3V供电

九、接线表格

单片机型号

模块

对应引脚(上:模块引脚 下:单片机引脚)

STC89C52RC

XY-160D模块

ENA

IN1

IN2

IN3

IN4

ENB

GND

+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

GND

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66646.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【UNIAPP】APP快速免费生成一键发布页面

参考官方文档&#xff1a;https://uniapp.dcloud.net.cn/uniCloud/hosting.html# 效果预览地址&#xff1a;https://hellouniapp.dcloud.net.cn/portal 一、创建并运行uni-admin 1、创建项目 2、运行项目 3、关联到浏览器打开。 二、登录后台界面 1、进入主页面 2、如…

[附源码]Python计算机毕业设计Django校园帮平台管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

【2023-Pytorch-分类教程】手把手教你使用Pytorch训练自己的分类模型

之前更新过一起tf版本的训练自己的物体分类模型&#xff0c;但是很多兄弟反应tf版本的代码在GPU上无法运行&#xff0c;这个原因是tf在30系显卡上没有很好的支持。所以我们重新更新一期Pytorch版本的物体分类模型训练教程&#xff0c;在这个教程里面&#xff0c;你将会学会物体…

[附源码]计算机毕业设计面向高校活动聚AppSpringboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【电商项目实战】新增收货地址(详细篇)

&#x1f341;博客主页&#xff1a;&#x1f449;不会压弯的小飞侠 ✨欢迎关注&#xff1a;&#x1f449;点赞&#x1f44d;收藏⭐留言✒ ✨系列专栏&#xff1a;&#x1f449;SpringBoot电商项目实战 ✨学习社区&#xff1a; &#x1f449;不会压弯的小飞侠 ✨知足上进&#x…

刷爆力扣之最短无序连续子数组

刷爆力扣之最短无序连续子数组 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&…

Windows+Visual stdio+CUDA编程方式及测试

目录一、visual stdio内针对工程的配置1、新建一个空项目2、配置CUDA生成依赖项3、配置基本库目录4、配置静态链接库路径5、配置源码文件风格6、扩展文件名配置二、样例测试测试样例1样例1问题&#xff1a;找不到helper_cuda.h文件测试样例2测试样例3一、visual stdio内针对工程…

Java餐厅点餐系统uniapp源码带安装教程

一套Java开发的餐厅点餐半成品系统&#xff0c;前端使用uniapp编写&#xff0c;经过本地测试&#xff0c;这套系统还有一些功能没完善好&#xff0c;有能力的朋友可以在这套系统基础上进行二次开发。 技术架构 后端技术框架&#xff1a;springboot shiro layui 前端技术框架…

springboot项目作为静态文件服务器

springboot项目作为静态文件服务器 springboot默认文件作用 使用 spring initialzr 创建 spring boot 项目 https://start.spring.io/ static 存放静态资源 template 存放模板页面 , 例如 thymeleaf 自定义静态文件存放目录 springboot 自动装配 , 默认静态资源的目录是 s…

Flink 知识点整理及八股文问题<第一部分 Flink简介>

本篇为Flink的第一大部分&#xff0c;初识Flink&#xff0c;全篇参考自 尚硅谷2022版1.13系列 整个系列的目录如下&#xff1a; <一>Flink简介 <二>Flink快速上手 <三>Flink 部署 <四>Flink 运行时架构 <五>DataStream API <六>Flin…

kubernetes—数据存储

数据存储 在前面已经提到&#xff0c;容器的生命周期可能很短&#xff0c;会被频繁地创建和销毁。那么容器在销毁时&#xff0c;保存在容器中的数据也会被清除。这种结果对用户来说&#xff0c;在某些情况下是不乐意看到的。为了持久化保存容器的数据&#xff0c;kubernetes引…

[附源码]计算机毕业设计旅游度假村管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【Python项目】Python基于tkinter实现一个笔趣阁小说下载器 | 附源码

前言 halo&#xff0c;包子们上午好 笔趣阁小说应该很多小伙伴都知道 但是用Python实现一个笔趣阁小说下载器 那不是爽歪歪呀 基于tkinter实现的Python版本的笔趣阁小说下载器今天小编给大家实现了 相关文件 关注小编&#xff0c;私信小编领取哟&#xff01; 当然别忘了一件…

【多线程(四)】线程状态介绍、线程池基本原理、Executors默认线程池、ThreadPoolExecutor线程池

文章目录4.线程池4.1状态介绍4.2线程的状态-练习14.3线程的状态-练习24.4线程的状态-练习34.5线程池-基本原理4.6线程池-Executors默认线程池4.7线程池-Executors创建指定上限的线程池4.8线程池-ThreadPoolExecutor4.9线程池-参数详解4.10线程池-非默认任务拒绝策略总结4.线程池…

用一个原始密码针对不同软件生成不同密码并保证相对安全

使用一个密码并在数据泄漏时保护自己的其它账号 关于密码 现在好多软件&#xff0c;好多网站都需要我们设置密码&#xff0c;这个时候我们的处理办法一般分为2种。 对不同的软件设置不同的密码&#xff0c;这种理论上是最安全的&#xff0c;但是记不住啊&#xff0c;所以不实…

微信小程序自动化框架的搭建python+minium

说明 公司要求做小程序的自动化&#xff0c;网上找各种资料&#xff0c;最后确定使用腾讯自研的框架minium&#xff0c;虽然版本已经不继续维护更新了&#xff0c;但是不影响我们使用来做自动化开发。 minium提供一个基于unittest封装好的测试框架&#xff0c;MiniTest是mini…

Acrel-1200分布式光伏运维平台

行业现状 “十四五”期间&#xff0c;随着“双碳”目标提出及逐步落实&#xff0c;本就呈现出较好发展势头的分布式光伏发展有望大幅提速。就“十四五”光伏发展规划&#xff0c;国家发改委能源研究所可再生能源发展中心副主任陶冶表示&#xff0c;“双碳”目标意味着国家产业…

系列学习 SpringCloud-Alibaba 框架之第 4 篇 —— Sentinel 高可用流量控制组件

1、概念 Sentinel 是由阿里巴巴开发的开源项目&#xff0c;面向分布式微服务架构的轻量级高可用流量控制组件。以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度帮助用户保护服务的稳定性。可以说&#xff0c;Sentinel 就是取代 Hystrix 组件的。因为 …

H3C WX2510h无线控制器如何网关式部署无线网络

环境&#xff1a; H3C-WX2510H AC控制器 H3C Comware Software, Version 7.1.064, Release 5457 AP H3CWA6320-C 问题描述&#xff1a; H3C wx2510h无线控制器如何网关式部署无线网络 解决方案&#xff1a; 1.配置DHCP服务&#xff0c;开启vlan1为DHCP服务器 2.新建地址…

Spring-boot初级

一、springboot介绍 Spring Boot 是由 Pivotal 团队提供的基于 Spring 的全新框架&#xff0c;其设计目的是为了简化 Spring 应用的搭建和开发过程。该框架遵循『约定大于配置』原则&#xff0c;采用特定的方式进行配置&#xff0c;从而使开发者无需定义大量的 XML 配置。通过…