找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10198|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

stm32控制L298N直流電機源代碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:428726 發(fā)表于 2018-11-18 15:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
L298N是目前智能小車應(yīng)用很廣泛的價格也比較便宜的電機驅(qū)動,用來驅(qū)動直流電機。

L298N

輸出A 輸出B 分別接兩個直流電機,電機兩根線隨便接,如果發(fā)現(xiàn)兩電機方向是反著的,就調(diào)換下接線就ok了。

12V供電 這個是外部電源為驅(qū)動板供電的接口,一般驅(qū)動電壓實際可以接受的輸入范圍是7~12V,此時可以使能板載的5V邏輯供電。當(dāng)使用大于12V的驅(qū)動電壓時,為了避免穩(wěn)壓芯片損壞,首先要拔掉板載5V輸出使能的跳線帽,然后在5V輸出端口外部接入5V電壓對L298N內(nèi)部邏輯供電。

5V供電 引出5V電壓接到Arduino板,給Arduino板供電(驅(qū)動電壓7~12V)連接到UNO板的5V,同時Arduino板也要引出一條GND線,連接到L298N的GND與外部電源共地。

ENA ENB通道A使能,通道B使能,當(dāng)你不用PWM時不需要拔掉跳線帽,當(dāng)你需要PWM時,將需要拔掉跳線帽,接到arduino上的模擬輸入輸出接口。

IN1 IN2 IN3 IN4邏輯輸出口,其中IN1 IN2 控制一個電機的轉(zhuǎn)動,IN3 IN4 控制另一個電機的轉(zhuǎn)動,只要一個置高 一個置低,就可以讓電機轉(zhuǎn)動起來。

單片機源程序如下:
  1. #include "motor.h"  //??led???
  2. #include "stm32f10x.h"  //??STM32???
  3. #include "stm32f10x_rcc.h"  //??STM32?RCC???
  4. #include "delay.h"       //???

  5. void Motor_12_Config(void)  //???????
  6. {
  7.         GPIO_InitTypeDef GPIO_InitStructure;   //??GPIO_InitTypeDef???
  8.   RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);  //??????
  9.         RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);
  10.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5; //??IN??
  11.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //??????
  12.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //??????
  13.         GPIO_Init(GPIOA, &GPIO_InitStructure);  //???GPIOA?????,??
  14.        
  15.         GPIO_ResetBits(GPIOB,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6); //??????
  16.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6; //??IN??
  17.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //??????
  18.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  //??????
  19.         GPIO_Init(GPIOB, &GPIO_InitStructure);  //???GPIOA?????,??
  20. }

  21. void Motor_1_STOP(void)
  22. {
  23.         IN1(High);
  24.         IN2(High);
  25. }

  26. void Motor_1_PRun(void)
  27. {
  28.         IN1(Low);
  29.         IN2(High);
  30. }

  31. void Motor_1_NRun(void)
  32. {
  33.         IN1(High);
  34.         IN2(Low);
  35. }

  36. void Motor_2_STOP(void)
  37. {
  38.         IN3(High);
  39.         IN4(High);
  40. }

  41. void Motor_2_PRun(void)
  42. {
  43.         IN3(Low);
  44.         IN4(High);
  45. }

  46. void Motor_2_NRun(void)
  47. {
  48.         IN3(High);
  49.         IN4(Low);
  50. }

  51. void Motor_3_STOP(void)
  52. {
  53.         IN5(High);
  54.         IN6(High);
  55. }

  56. void Motor_3_PRun(void)
  57. {
  58.         IN5(Low);
  59.         IN6(High);
  60. }

  61. void Motor_3_NRun(void)
  62. {
  63.         IN5(High);
  64.         IN6(Low);
  65. }

  66. void Motor_4_STOP(void)
  67. {
  68.         IN7(High);
  69.         IN8(High);
  70. }

  71. void Motor_4_PRun(void)
  72. {
  73.         IN7(Low);
  74.         IN8(High);
  75. }

  76. void Motor_4_NRun(void)
  77. {
  78.         IN7(High);
  79.         IN8(Low);
  80. }
復(fù)制代碼

所有資料51hei提供下載:
stm32控制L298N源代碼.rar (277.91 KB, 下載次數(shù): 277)






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:524059 發(fā)表于 2019-4-28 22:52 | 只看該作者
為什么有一個錯誤
回復(fù)

使用道具 舉報

板凳
ID:501464 發(fā)表于 2019-5-2 19:04 | 只看該作者
有沒有電路圖和仿真圖,求回復(fù)
回復(fù)

使用道具 舉報

地板
ID:589354 發(fā)表于 2019-8-2 15:22 | 只看該作者
IN 怎么連接呀
回復(fù)

使用道具 舉報

5#
ID:645788 發(fā)表于 2019-11-20 15:00 | 只看該作者
求motor.c 和.h文件
回復(fù)

使用道具 舉報

6#
ID:331795 發(fā)表于 2020-1-19 21:21 | 只看該作者
求motor.c 和.h文件
回復(fù)

使用道具 舉報

7#
ID:710468 發(fā)表于 2020-3-17 21:53 | 只看該作者

上面就是。c啊
回復(fù)

使用道具 舉報

8#
ID:592235 發(fā)表于 2020-4-16 16:41 | 只看該作者
這可以直接移植到stm32f103的板子上嗎?
回復(fù)

使用道具 舉報

9#
ID:482448 發(fā)表于 2020-5-9 20:27 | 只看該作者
樓主你好,我們倆思路是一致的,我的電機只有一個能轉(zhuǎn),一個轉(zhuǎn)不了,后來我發(fā)現(xiàn)是控制IN1,IN2的GPIO口PB3,PB4不能變化,請問為什么呢
回復(fù)

使用道具 舉報

10#
ID:482448 發(fā)表于 2020-5-9 20:29 | 只看該作者
我的思路和你一致,請問樓主,為什么我同時設(shè)置GPIOB3~6作為L298N的IN1~IN4,而且我同時設(shè)置為推挽輸出,為什么PB3,PB4不能變化呢
回復(fù)

使用道具 舉報

11#
ID:826615 發(fā)表于 2020-10-7 17:23 | 只看該作者
樓主有沒有實物連線圖啊,科技小白····
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表