黄工无刷电机学习
直播中

蒋美燕

7年用户 898经验值
私信 关注
[问答]

如何实现STM32单片机的直流电机控制系统加减速正反转的设计?

如何实现STM32单片机的直流电机控制系统加减速正反转的设计?

回帖(1)

王淑英

2021-10-15 10:16:16
硬件威廉希尔官方网站 的设计

  3.1系统的功能分析及体系结构设计
3.1.1系统功能分析
本设计由STM32F103C8T6单片机核心板威廉希尔官方网站 +L298N电机驱动威廉希尔官方网站 +按键威廉希尔官方网站 +电源威廉希尔官方网站 组成。
1、通过按键可以控制电机,正转、反转、加速、减速、停止。档位分8档。
2、按键顺序正转、反转、加速、减速、停止。
3.1.2系统总体结构
本系统具体框图如下图所示:

  

  

原理图:
  
  

  

STM32单片机核心威廉希尔官方网站 设计
STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展威廉希尔官方网站 。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
一、STM32的主要优点:
(1)使用ARM最新的、先进架构的Cortex-M3内核
(2) 优异的实时性能
(3) 杰出的功耗控制
(4) 出众及创新的外设
(5) 最大程度的集成整合
(6) 易于开发,可使产品快速将进入市场
二、STM32——最佳的平台选项
对于使用同一平台进行多个项目开发而言,STM32是最
佳的选择:
(1) 从仅需少量的存储空间和管脚应用到需要更多的存储空间和管脚的应用
(2) 从苛求性能的应用到电池供电的应用
(3) 从简单而成本敏感的应用到高端应用
(4) 全系列脚对脚、外设及软件的高度兼容性,给您带来全方位的灵活性。您可以在不必修改您原始框架及软件的条件下,将您的应用升级到需要更多存储空间或精简到使用更少存储空间/ 或改用不同的封装的规格。
  L298N电机驱动模块威廉希尔官方网站 设计
  本L298N驱动模块,采用ST公司的L298N芯片,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。该模块可以直接驱动两路3-30V直流电机,并提供了5V输出接口,可以给5V单片机威廉希尔官方网站 系统供电,可以方便的控制直流电机速度和方向。
一、产品参数:
(1)驱动芯片:L298N双H桥驱动芯片
(2)具有二极管续流保护
(3)直流电机转速可以通过PWM方式来实现控制
(4)驱动部分端子供电范围VMS:+5V~+35V
(5)驱动部分峰值电流Io:2A/桥
(6)逻辑部分端子供电范围Vss:4.5-5.5V
(7)逻辑部分工作电流范围:0~36mA
(8)控制信号输入电压范围:高电平4.5-5.5V 低电平0V
(9)最大功耗:20W
(10)存储温度:-25℃~+130℃
二、电机驱动模块使用注意事项
(1)第一次上电时观察绿色电源指示灯L5是否点亮,如果不亮,请立即断电检查电源是否接反。
(2)驱动器为功率设备,请保持工作环境的散热通风;在连上电机后使其连续工作一段时间后观察电机和驱动芯片的温升正常后方可进行后续使用。
三、电机驱动模块接口说明:
(1)电机驱动电源输入接口:VMS接正极,GND接负极
(2)驱动器和控制端口的接口:控制直流电机时IN1、IN2和ENA为一组,它们控制电机A,接在A+和A-,如果电机A不控制,则ENA悬空即可;如果电机A控制,则ENA接一路PWM输出。IN3、IN4和ENB为一组,他们控制电机B,接在B+和B-,如果电机B不控制,则ENB悬空即可;如果电机B控制,则ENB接一路PWM输出。
四、直流电机控制信号真值表
以电机A为例,高电平H:低电平:L
输入信号功能:
IN1=H;IN2=L:电机A正转
IN1=L;IN2=H:电机A反转
ENA=H;IN1=IN2:电机A紧急停车
ENA=L;IN1=X;IN2=X:任意电平电机A自由停车

  

  


  

  

按键威廉希尔官方网站 (含上拉电阻)设计
  轻触按键是按键产品下属的一款分类产品,它其实相当于是一种电子开关,只要轻轻的按下按键就可以是开关接通,松开时是开关就断开连接,实现原理主要是通过轻触按键内部的金属弹片受力弹动来实现接通和断开的。
在本系统中,按键作为系统的输入,起到了人机交互的枢纽作用。按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平。进而实现对系统的手动输入。其威廉希尔官方网站 原理图如下图所示。威廉希尔官方网站 中电阻作用为上拉电阻,保证按键信号的稳定输出。

  

  

  系统软件设计

  
  

  


#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include
#include "timer.h"
#include "lcd1602.h"
#include "key.h"
#include "rc522.h"


/**************/
unsigned char idCard[4]={0x87,0x15,0xc9,0x73};                //有效卡号
/**************/


u8 rekey = 0;//按键防止重复
u8 i;
unsigned char UID[5];                        //读取到的卡号
unsigned char Temp[4] ;


int main(void)
{          
        delay_init();                     //延时函数初始化          
        uart_init(9600);                 //串口初始化为9600
  TIM3_Int_Init(499,7199);//50ms           
        LED_Init();                                  //初始化与LED连接的硬件接口
        KEY_Init();                        //初始化按键
       
        relay1 = 0;  
        delay_ms(200);
        relay1 =1;
       
  Rc522IoInit();
  PcdReset();//复位RC522
  PcdAntennaOn();//开启天线发射


         while(1)
        {
                if(key1==0)                 //检测到按键按下
                {
                        delay_ms(10);   //小抖动


                                if(key1==0)    //检测是否按下
                                {
                                        relay1 =1;        //打开继电器
                        }
                }
    if(PcdRequest(0x52,Temp)==MI_OK)//读取到卡
    {
      if(PcdAnticoll(UID)==MI_OK)//卡号获取成功
      {
                                if((UID[0]==idCard[0])&&(UID[2]==idCard[2])&&(UID[3]==idCard[3]))//匹配卡号
                                {
                                        relay1 =0;                //关闭继电器
                                }               
                                delay_ms(10);
      }
    }
                                                  
        }                                                                                            
}       
举报

更多回帖

发帖
×
20
完善资料,
赚取积分