天天看點

stm32單片機驅動L298N子產品前言一、L298N的具體參數二、L298N接線步驟三、L298N的驅動邏輯實作 

目錄

前言

一、L298N的具體參數

二、L298N接線步驟

1.第一種方法:外接電源5V

2.第二種方法:外接12V電源

三、L298N的驅動邏輯實作

前言

最近做課設要用到L298N,網上搜了一堆教程,但都沒看到具體的stm32連接配接l298n的小白級教程,然後卡了很久。最後參考這位部落客的接線才做成功

以下是本篇文章正文内容,下面案例可供參考

一、L298N的具體參數

首先上圖(某寶給的的參考圖):

stm32單片機驅動L298N子產品前言一、L298N的具體參數二、L298N接線步驟三、L298N的驅動邏輯實作 

二、L298N接線步驟

1.第一種方法:外接電源5V

         比如說直接通過單片機的5v輸出作為外接電源供電的話,因為L298N子產品裡面穩壓管的輸入和輸出有個壓差,如果給電機的供電太低的話(5v),通過壓差後可能會降低太多,那麼邏輯控制部分所要求的5v電壓可能就達不到了,可能會導緻驅動電機時動一下停一下,此時需要将闆上5伏使能斷開(拔掉跳冒),然後外接5v的電源來給邏輯控制部分供電。(即把l298n的12v輸入與5v輸出同時接單片機的5v管腳,并且GND要與單片機共地!!!)

stm32單片機驅動L298N子產品前言一、L298N的具體參數二、L298N接線步驟三、L298N的驅動邏輯實作 

2.第二種方法:外接12V電源

        如果說接的電源是7~12V的話(某寶賣的9v電池或者穩壓電源),就需要插上跳線帽,電源正負極接l298n的12輸入和GND,5v輸出可以空着,IN1~IN4接具體的單片機IO口。

三、L298N的驅動邏輯實作

stm32單片機驅動L298N子產品前言一、L298N的具體參數二、L298N接線步驟三、L298N的驅動邏輯實作 

stm32f103xxxx程式設計實作:

1.配置IO口

//配置I/O口  PA5、6
void L298N_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//設定結構體
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //開啟IO時鐘
GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5| GPIO_Pin_6;//配置要使用的IO
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//端口速度50MHz

GPIO_Init(GPIOA, &GPIO_InitStructure);//寫入寄存器
}
           

2.控制電機正反轉

void L298N_Roll(void)
{
	u8 i;
	delay_init();
	
	// ENA=1;
     IN1=1;//正轉
	 IN2=0;

}
           

因為我做的課設并不需要控制電機正轉反轉,是以就沒有使能ENA,直接pwm控制IN1,IN2就行(如果你們的需要控制電機正反轉的話就需要拔掉ENA、ENB上的跳線帽并使能這個IO端口)

3.定義宏

#ifndef __MOTOR_H
#define __MOTOR_H

#include"sys.h"
#include"delay.h"

//#define  ENA   PAout(4)
#define  IN1   PAout(5)
#define  IN2   PAout(6)

void L298N_Init(void);
void L298N_Roll(void);

#endif
           

4.最後main函數調用 L298N_Init(); L298N_Roll();就行了。

繼續閱讀