国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32單片機驅(qū)動L298N

這篇具有很好參考價值的文章主要介紹了STM32單片機驅(qū)動L298N。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

L298N的工作原理及電路接線以在之前一章博客中講解完畢,講解了三種接線方式的區(qū)別,及建議。https://blog.csdn.net/m0_59113542/article/details/121038048?spm=1001.2014.3001.5501

本文章主要講解STM32的驅(qū)動程序

STM32單片機驅(qū)動L298N

?

一、L298N的邏輯控制

STM32單片機驅(qū)動L298N

?眾所周知,L298N可以驅(qū)動兩個電機,分別為通道A、通道B。

ENA是通道A的使能端,也就是通道A使能的跳線帽(跳線帽插著就是使能,大家不用管它);

IN1、IN2:邏輯輸入引腳(板子上那四個排針就是,其中左側兩個為通道A的IN1、IN2;右側的為通道B的,大家使用那個通道就用對應兩個引腳控制),根據(jù)表格控制這兩個引腳的高低電平就可控制電機正反轉(zhuǎn)轉(zhuǎn);

二、注意事項

L298N可以使用我那篇文章介紹的三種方式,但其GND一定要與單片機的GND相連,確保共地,從而有參考電平。

三、STM32驅(qū)動程序

使用PWM占空比進行控制其轉(zhuǎn)速,PA4→IN1、PA5→IN2的邏輯電平控制其正反轉(zhuǎn)。

main.c文件

#include "delay.h"
#include "usart.h"
#include "timer.h"

 int main(void)
 {		
	delay_init();	                                     //延遲函數(shù)初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 	 //中斷優(yōu)先級分組設置
	uart_init(115200);	                                 //串口初始化設置
 	
	TIM3_PWM_Init(450,7199);   //PWM輸出初始化
   	while(1)
	{
	    //設置通道2的占空比實現(xiàn)PWM調(diào)速,這里是100,在0~450間,越小速度越快
 		TIM_SetCompare2(TIM3,100);
        GPIO_SetBits(GPIOA,GPIO_Pin_4); 
        GPIO_ResetBits(GPIOA,GPIO_Pin_5);  
		delay_ms(3000);
	    
	    TIM_SetCompare2(TIM3,100);
        GPIO_SetBits(GPIOA,GPIO_Pin_5); 
        GPIO_ResetBits(GPIOA,GPIO_Pin_4);
		delay_ms(3000);
	}	 
 }

time.c文件

#include "timer.h"
#include "led.h"
#include "usart.h"


//TIM3 PWM部分初始化
//PWM輸出初始化
//arr:自動重裝載值
//psc 時鐘預分頻系數(shù)
void TIM3_PWM_Init(u16 arr,u16 psc)
{  
	GPIO_InitTypeDef GPIO_InitStructure;
	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
	TIM_OCInitTypeDef  TIM_OCInitStructure;
	

	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);	//使能定時器3時鐘
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  //使能GPIO外設時鐘

 
    //初始化IOPA4
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //推挽輸出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
	GPIO_ResetBits(GPIOA,GPIO_Pin_4);       
	
	//初始化IOPA5
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   //推挽輸出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	GPIO_ResetBits(GPIOA,GPIO_Pin_5);      
    //初始化IOPA7
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   //復用推挽輸出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
    //初始化TIM3
	TIM_TimeBaseStructure.TIM_Period = arr; //自動重裝載值
	TIM_TimeBaseStructure.TIM_Prescaler =psc; //預分頻系數(shù)
	TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設置時鐘分割
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //向上計數(shù)模式
	TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure); 
	
	//初始化TIM3 Channel2	 
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //選擇PWM模式2
 	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low ; //輸出比較極性地
	TIM_OC2Init(TIM3, &TIM_OCInitStructure);  

	TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);  //使能定時器3通道2預裝載寄存器
 
	TIM_Cmd(TIM3, ENABLE);  //使能TIM3
}


time.h文件

#ifndef __TIMER_H
#define __TIMER_H
#include "sys.h"

void TIM3_PWM_Init(u16 arr,u16 psc);
#endif

以上是簡單的代碼實現(xiàn),大家可以根據(jù)自己實際情況調(diào)整修改。

? 歡迎大家指正交流,有空可以一起討論代碼啊。

制作不易,感謝大家支持,感謝?。。。。。?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-419957.html

? --------------一個正在努力的人文章來源地址http://www.zghlxwxcb.cn/news/detail-419957.html

到了這里,關于STM32單片機驅(qū)動L298N的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【國名技術】N32G401單片機驅(qū)動配置(STM32系列適用)

    【國名技術】N32G401單片機驅(qū)動配置(STM32系列適用)

    N32G401總體上和STM32F4系列差不多,無論是從芯片資源,還是各種寄存器,都有相通之處,所以N32G401的所有驅(qū)動,如果使用smt32的話也可以借鑒使用(修改函數(shù)名) 文章代碼僅限于參考,如果直接CV是肯定用不了的,源代碼鏈接在最后 PS:所有驅(qū)動基于N32G401F7S8-1,一共20個引腳,

    2024年01月19日
    瀏覽(63)
  • GC9A01-TFT屏幕驅(qū)動(整理有stm32/51單片機/arduino等驅(qū)動代碼)

    GC9A01-TFT屏幕驅(qū)動(整理有stm32/51單片機/arduino等驅(qū)動代碼)

    ???????不久前我們收到用戶反饋問題中,多次反饋各種不同型號的屏幕驅(qū)動不起來,從0開始編寫代碼花費大量時間,也有不少初次學習驅(qū)動屏幕代碼編寫經(jīng)驗過少等問題,為此我們決定以文章的形式發(fā)布到CSDN來分享相應的一些經(jīng)驗以及收集整理好的資料,希望可以幫助用

    2024年01月25日
    瀏覽(50)
  • stm32F103單片機pwm控制伺服驅(qū)動器進而控制步進電機

    stm32F103單片機pwm控制伺服驅(qū)動器進而控制步進電機

    1.需要一臺步進電機,私服驅(qū)動器,stm32單片機;先按照說明文檔,連接好硬件相關線路,對應好sign+,sign-,puls+,puls-線路,其中sign只是個io口拉高拉低操作,puls是pwm波形輸出口,雖然有兩根線,但只是需要控制一個IO口輸出波形即可; 采用主從模式,TIM1為主定時器,tim3未從定

    2024年02月04日
    瀏覽(22)
  • 單片機畢設 STM32音樂播放器設計與實現(xiàn)(原理圖+源碼+論文)

    單片機畢設 STM32音樂播放器設計與實現(xiàn)(原理圖+源碼+論文)

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質(zhì)畢業(yè)設計項目,今天

    2024年02月05日
    瀏覽(40)
  • stm32F103R6單片機控制220V高電壓燈泡電路工作(附帶proteus電路圖)
  • 【單片機】STM32F103C8T6 最小系統(tǒng)板原理圖

    【單片機】STM32F103C8T6 最小系統(tǒng)板原理圖

    STM32F103C8T6是一款基于ARM Cortex-M3內(nèi)核的32位微控制器,由STMicroelectronics(ST)公司生產(chǎn)。它是STMicroelectronics的STM32系列微控制器中的一員,被廣泛應用于嵌入式系統(tǒng)和電子設備中。 STM32F103C8T6單片機的主要特點和資源包括: 內(nèi)存資源: Flash存儲器:64 KB SRAM(靜態(tài)隨機訪問存儲器

    2024年02月12日
    瀏覽(31)
  • 單片機:STM32F4x HAL庫軟硬SPI驅(qū)動ST7735s 1.8寸LCD屏幕

    單片機:STM32F4x HAL庫軟硬SPI驅(qū)動ST7735s 1.8寸LCD屏幕

    說明:此篇為學習記錄??赡艽嬖阱e誤或者不足。如有問題請指出。 主控芯片:STM32F411CEU6 主控開發(fā)板:WeAct STM32F411CEU6最小系統(tǒng)板 TFT-LCD屏幕:合宙1.8寸TFT-LCD,驅(qū)動為ST7735s MDK版本:5,32 HAL庫版本:1.27.1 STM32CubeMX版本:6.7.0 ST7735s支持8080并口,3線和4線串行接口,模塊的驅(qū)動方

    2024年02月03日
    瀏覽(30)
  • 基于STM32單片機直流電機控制加減速正反轉(zhuǎn)系統(tǒng)proteus仿真原理圖程序

    基于STM32單片機直流電機控制加減速正反轉(zhuǎn)系統(tǒng)proteus仿真原理圖程序

    功能: 0.本項目采用STM32F103C8T6作為單片機系統(tǒng)的控制MCU 1.通過按鍵可以控制電機,正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止。 2.總共六個功能按鍵可實現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止。 3.啟停和正反轉(zhuǎn)均有指示燈,測試采用的霍爾傳感器方案 4.采用DC002作為電源接口可直接輸入5V給

    2024年02月12日
    瀏覽(38)
  • 基于單片機的智能循跡避障小車STC89C52紅外對管L298N驅(qū)動PWM波控制速度

    基于單片機的智能循跡避障小車STC89C52紅外對管L298N驅(qū)動PWM波控制速度

    wx供重浩:創(chuàng)享日記 對話框發(fā)送:單片機小車 免費獲取完整無水印報告等 利用紅外對管檢測黑線與障礙物,并以STC89C52單片機為控制芯片控制電動小汽車的速度及轉(zhuǎn)向,從而實現(xiàn)自動循跡避障的功能。其中小車驅(qū)動由L298N驅(qū)動電路完成,速度由單片機輸出的PWM波控制。 1.1智能

    2023年04月22日
    瀏覽(31)
  • K_A12_007 基于STM32等單片機驅(qū)動AS608光學指紋識別模塊 OLED0.96顯示

    K_A12_007 基于STM32等單片機驅(qū)動AS608光學指紋識別模塊 OLED0.96顯示

    注意:此處程序用的波特率都是9600 使用前請用上位機把模塊波特率調(diào)到9600 上位機使用與下載 直戳跳轉(zhuǎn) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M AS608光學指紋模塊 STC89C52RC驅(qū)動AS608光學指紋模塊 串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M AS608光學指

    2024年02月06日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包