0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機(jī)設(shè)計的電動車控制器

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-06-08 09:05 ? 次閱讀

一、項目介紹

隨著社會經(jīng)濟(jì)的快速發(fā)展,人們對節(jié)能環(huán)保的要求越來越高,電動車因其無污染、噪音小、使用成本低等優(yōu)點逐漸成為了市場關(guān)注的焦點。同時,隨著科技的不斷進(jìn)步和應(yīng)用,電動車的技術(shù)水平也在不斷提高。

為了更好地滿足市場需求和科技進(jìn)步的要求,本項目基于51單片機(jī)設(shè)計了一款電動車控制器。主要包括電動車控制和驅(qū)動兩個關(guān)鍵部分。其中,控制部分采用51單片機(jī)作為控制核心,通過編程實現(xiàn)電動車前后行駛、左右轉(zhuǎn)向、加速等操作。而驅(qū)動部分則采用L298N驅(qū)動芯片驅(qū)動直流電機(jī)。當(dāng)前設(shè)計的電動車,支持鋰電池供電、支持按鍵實現(xiàn)電動車前后行駛、左右轉(zhuǎn)向和加速等操作,電機(jī)采用直流電機(jī),驅(qū)動芯片采用L298N。

image-20230605214700101

image-20230605214900851

image-20230605214937298

二、系統(tǒng)架構(gòu)

本系統(tǒng)由控制器、電機(jī)、驅(qū)動芯片、鋰電池和按鍵等組成,其功能、特點如下:

(1)控制器:采用AT89S52微控制器,作為整個系統(tǒng)的核心控制部分??刂破鹘邮諄碜园存I的信號,控制驅(qū)動芯片輸出電機(jī)控制信號,從而實現(xiàn)對電動車的前后行駛、左右轉(zhuǎn)向、加速等控制功能。

(2)電機(jī):采用直流電機(jī),其轉(zhuǎn)速和轉(zhuǎn)向可通過驅(qū)動芯片控制信號進(jìn)行調(diào)節(jié)。

(3)驅(qū)動芯片:采用L298N驅(qū)動芯片,為電機(jī)提供驅(qū)動電流,并控制電機(jī)轉(zhuǎn)速和轉(zhuǎn)向。L298N驅(qū)動芯片具有功率大、穩(wěn)定性好等特點。

(4)鋰電池:為電動車提供動力,具有體積小、能量密度高、充電效率高、自放電率低等優(yōu)點。

(5)按鍵:用于控制和調(diào)節(jié)電動車的運行狀態(tài),包括前后行駛、左右轉(zhuǎn)向、加速等操作。

三、系統(tǒng)設(shè)計

3.1 控制器設(shè)計

本項目采用STC89C52為主控芯片,主要功能是接收來自按鍵的信號,并通過控制L298N驅(qū)動芯片輸出驅(qū)動電流,從而控制電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向??刂破鬟€需要實現(xiàn)鋰電池充電管理、限位保護(hù)等的功能。

設(shè)計流程:

(1)編寫單片機(jī)的邏輯程序,實現(xiàn)對按鍵信號的捕獲和處理,以及對L298N驅(qū)動芯片的控制。

(2)為了實現(xiàn)鋰電池充電和保護(hù),采用鋰電池充電模塊和充電管理芯片。

3.2 電機(jī)和驅(qū)動芯片設(shè)計

本項目電機(jī)采用直流電機(jī),驅(qū)動芯片采用L298N。

設(shè)計流程:

(1)根據(jù)電機(jī)型號和參數(shù),確定合適的電機(jī)供電電壓和控制電路。

(2)根據(jù)實際需要,確定L298N驅(qū)動芯片的工作模式和參數(shù),設(shè)計驅(qū)動電路。

(3)為提高電機(jī)的效率和壽命,添加電機(jī)驅(qū)動電阻、反電動勢抑制電路電路。

3.3 鋰電池設(shè)計

本項目采用鋰電池供電。

設(shè)計流程:

(1)根據(jù)需要,選擇適當(dāng)?shù)匿囯姵匦吞柡腿萘俊?/p>

(2)設(shè)計電池充電管理電路,實現(xiàn)對鋰電池的充電和保護(hù)。

(3)結(jié)合其他電路的設(shè)計,完成對鋰電池的供電和相應(yīng)的充電管理。

3.4 按鍵設(shè)計

按鍵是控制電動車運行狀態(tài)的關(guān)鍵部分。

設(shè)計流程:

(1)根據(jù)實際需要,確定需要添加的按鍵類型和數(shù)量。

(2)設(shè)計按鍵接口電路,實現(xiàn)按鍵信號的捕獲和處理。

(3)結(jié)合控制器設(shè)計,實現(xiàn)對電動車的前后行駛、左右轉(zhuǎn)向、加速等操作控制。

四、代碼實現(xiàn)

4.1 按鍵檢測程序設(shè)計

本項目用到了9個按鍵,按鍵按下是低電平。 實現(xiàn)了前后行駛切換控制、左右轉(zhuǎn)向燈控制、加速控制、喇叭控制、前后剎車燈控制、一個開機(jī)鍵。

以下是按鍵的完整邏輯代碼:

#include < reg52.h >
 ?
 sbit key1 = P1^0; // 按鍵1
 sbit key2 = P1^1; // 按鍵2
 sbit key3 = P1^2; // 按鍵3
 sbit key4 = P1^3; // 按鍵4
 sbit key5 = P1^4; // 按鍵5
 sbit key6 = P1^5; // 按鍵6
 sbit key7 = P1^6; // 按鍵7
 sbit key8 = P1^7; // 按鍵8
 sbit key9 = P2^0; // 按鍵9
 ?
 sbit forward = P3^0; // 前進(jìn)
 sbit backward = P3^1; // 后退
 sbit left = P3^2; // 左轉(zhuǎn)燈
 sbit right = P3^3; // 右轉(zhuǎn)燈
 sbit accelerate = P3^4; // 加速器
 sbit horn = P3^5; // 喇叭
 sbit stoplight1 = P3^6; // 前剎車燈
 sbit stoplight2 = P3^7; // 后剎車燈
 ?
 void main() {
     while(1) {
         if(key1 == 0) { // 按鍵1按下
             forward = 1;
             backward = 0;
         }
         if(key2 == 0) { // 按鍵2按下
             forward = 0;
             backward = 1;
         }
         if(key3 == 0) { // 按鍵3按下
             left = 1;
         }
         else {
             left = 0;
         }
         if(key4 == 0) { // 按鍵4按下
             right = 1;
         }
         else {
             right = 0;
         }
         if(key5 == 0) { // 按鍵5按下
             accelerate = 1;
         }
         else {
             accelerate = 0;
         }
         if(key6 == 0) { // 按鍵6按下
             horn = 1;
         }
         else {
             horn = 0;
         }
         if(key7 == 0) { // 按鍵7按下
             stoplight1 = 1;
         }
         else {
             stoplight1 = 0;
         }
         if(key8 == 0) { // 按鍵8按下
             stoplight2 = 1;
         }
         else {
             stoplight2 = 0;
         }
         if(key9 == 0) { // 按鍵9按下
             forward = 0;
             backward = 0;
             left = 0;
             right = 0;
             accelerate = 0;
             horn = 0;
             stoplight1 = 0;
             stoplight2 = 0;
         }
     }
 }

代碼通過不斷檢測按鍵的電平狀態(tài),實現(xiàn)了對電動車的前后行駛、左右轉(zhuǎn)向燈控制、加速、喇叭以及前后剎車燈控制等操作。當(dāng)按鍵被按下時,對應(yīng)的功能就會被執(zhí)行,否則就會停止執(zhí)行。其中,第9個按鍵為開機(jī)鍵,當(dāng)按下時將所有功能都清零。

4.2 L298芯片控制電機(jī)代碼

下面是 L298N 驅(qū)動模塊控制電機(jī)正反轉(zhuǎn)的代碼:

#include < reg52.h >
 ?
 sbit ena = P2^0; // 使能A端口
 sbit in1 = P2^1; // A+控制信號
 sbit in2 = P2^2; // A-控制信號
 sbit enb = P2^3; // 使能B端口
 sbit in3 = P2^4; // B+控制信號
 sbit in4 = P2^5; // B-控制信號
 ?
 void delay(int time) { // 延時函數(shù)
     int i, j;
     for(i = 0; i < time; i++) {
         for(j = 0; j < 120; j++);
     }
 }
 ?
 void main() {
     ena = 1; // 使能A端口
     enb = 1; // 使能B端口
     while(1) {
         in1 = 1; // A+ 電流正向
         in2 = 0; // A- 電流反向
         in3 = 1; // B+ 電流正向
         in4 = 0; // B- 電流反向
         delay(1000); // 延時一段時間
         in1 = 0; // A+ 電流反向
         in2 = 1; // A- 電流正向
         in3 = 0; // B+ 電流反向
         in4 = 1; // B- 電流正向
         delay(1000); // 延時一段時間
     }
 }

L298N 驅(qū)動模塊可以控制電機(jī)的正反轉(zhuǎn),其中 in1、in2 控制 A 相電流的方向,in3、in4 控制 B 相電流的方向,ena、enb 是使能端口,需要設(shè)置為高電平才能控制電機(jī)。在例子中,先將 ena 和 enb 設(shè)置為高電平,然后讓電機(jī)正向運轉(zhuǎn)一段時間,再讓電機(jī)反向運轉(zhuǎn)一段時間,不斷循環(huán)實現(xiàn)正反轉(zhuǎn)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    632002
  • 電動車
    +關(guān)注

    關(guān)注

    73

    文章

    2975

    瀏覽量

    113853
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16105

    瀏覽量

    177082
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    273

    文章

    5697

    瀏覽量

    122997
收藏 人收藏

    評論

    相關(guān)推薦

    電動車控制器線路圖

    電動車控制器線路圖電動車控制器接線電路圖[此貼子已經(jīng)被作者于2008-11-8 13:27:01編輯過]
    發(fā)表于 11-08 13:26

    電動車控制器原理

    電動車控制器原理
    發(fā)表于 08-20 11:36

    電動車控制器介紹.

    電動車控制器介紹.
    發(fā)表于 08-20 11:40

    智能電動車。51單片機(jī)控制

    智能電動車。51單片機(jī)控制
    發(fā)表于 04-05 14:54

    電動車的智能控制

    現(xiàn)有玩具電動車的基礎(chǔ)上,加裝光電檢測,實現(xiàn)對電動小汽車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根據(jù)
    發(fā)表于 11-01 20:05

    51單片機(jī)電動車防盜系統(tǒng)

    有沒有大神知道基于51單片機(jī)電動車防盜系統(tǒng)的原理圖與所需元件,謝謝
    發(fā)表于 04-28 15:51

    哪位大神有基于單片機(jī)控制電動車控制器源程序及電路設(shè)計 最好能有仿真

    基于單片機(jī)控制電動車控制器源程序及電路設(shè)計 最好有porteus仿真
    發(fā)表于 03-07 09:23

    基于單片機(jī)AT89C51最小系統(tǒng)的電動車設(shè)計

    為使電動車在蹺蹺板上按要求準(zhǔn)確運行采用了單片機(jī)AT89C51最小系統(tǒng)作為電動車的檢測和控制系統(tǒng)。通過紅外發(fā)射接收一體探頭檢測路面黑色尋跡線,
    發(fā)表于 08-26 07:30

    電動車電機(jī)的控制系統(tǒng)

    電動車電機(jī)的控制系統(tǒng)一般由電動機(jī)、功率變換、傳感電動車
    發(fā)表于 11-17 06:49

    電動車控制器的接法

     維修電動車如果要更換電動車控制器,往往看到電動車控制器五顏六色的外露接線,搞得不知所措,那么到底電動車
    發(fā)表于 11-15 15:38 ?4.2w次閱讀
    <b class='flag-5'>電動車</b><b class='flag-5'>控制器</b>的接法

    電動車控制器維修

    本視頻主要介紹了當(dāng)電動車控制器遇到以下四種情況時的維修方法:當(dāng)電動車有刷控制器沒有輸出時、當(dāng)電動車無刷
    的頭像 發(fā)表于 11-24 10:26 ?7.4w次閱讀

    電動車控制器接線圖_電動車控制器接線方法

    電動車控制器是用來控制電動車電機(jī)的啟動、運行、進(jìn)退、速度、停止以及電動車的其它電子器件的核心控制器
    發(fā)表于 07-24 10:06 ?7.9w次閱讀

    電動車控制器壞了怎么辦_電動車控制器失效原因

    本文首先闡述了電動車控制器壞了解決方法,其次介紹了電動車控制器的常見故障,最后介紹了電動車控制器
    發(fā)表于 07-24 10:31 ?5.8w次閱讀

    如何挑選電動車控制器

    電動車控制器主要是用來控制電動車電機(jī)的啟動,運行,進(jìn)退等,它就像電動車的大腦,是非常重要的部件。下面就教大家如何挑選
    發(fā)表于 06-15 10:03 ?1.8w次閱讀

    基于51單片機(jī)電動車報警初級版本(一)

    基于51單片機(jī)電動車報警初級版本(一)
    發(fā)表于 11-20 14:51 ?0次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>電動車</b>報警<b class='flag-5'>器</b>初級版本(一)