RM新时代网站-首页

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

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

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

基于51單片機(jī)設(shè)計(jì)的電動(dòng)車(chē)控制器

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

一、項(xiàng)目介紹

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

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

image-20230605214700101

image-20230605214900851

image-20230605214937298

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

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

(1)控制器:采用AT89S52微控制器,作為整個(gè)系統(tǒng)的核心控制部分??刂破鹘邮諄?lái)自按鍵的信號(hào),控制驅(qū)動(dòng)芯片輸出電機(jī)控制信號(hào),從而實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的前后行駛、左右轉(zhuǎn)向、加速等控制功能。

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

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

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

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

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

3.1 控制器設(shè)計(jì)

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

設(shè)計(jì)流程:

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

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

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

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

設(shè)計(jì)流程:

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

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

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

3.3 鋰電池設(shè)計(jì)

本項(xiàng)目采用鋰電池供電。

設(shè)計(jì)流程:

(1)根據(jù)需要,選擇適當(dāng)?shù)匿囯姵匦吞?hào)和容量。

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

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

3.4 按鍵設(shè)計(jì)

按鍵是控制電動(dòng)車(chē)運(yùn)行狀態(tài)的關(guān)鍵部分。

設(shè)計(jì)流程:

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

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

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

四、代碼實(shí)現(xiàn)

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

本項(xiàng)目用到了9個(gè)按鍵,按鍵按下是低電平。 實(shí)現(xiàn)了前后行駛切換控制、左右轉(zhuǎn)向燈控制、加速控制、喇叭控制、前后剎車(chē)燈控制、一個(gè)開(kāi)機(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; // 前剎車(chē)燈
 sbit stoplight2 = P3^7; // 后剎車(chē)燈
 ?
 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;
         }
     }
 }

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

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

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

#include < reg52.h >
 ?
 sbit ena = P2^0; // 使能A端口
 sbit in1 = P2^1; // A+控制信號(hào)
 sbit in2 = P2^2; // A-控制信號(hào)
 sbit enb = P2^3; // 使能B端口
 sbit in3 = P2^4; // B+控制信號(hào)
 sbit in4 = P2^5; // B-控制信號(hào)
 ?
 void delay(int time) { // 延時(shí)函數(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); // 延時(shí)一段時(shí)間
         in1 = 0; // A+ 電流反向
         in2 = 1; // A- 電流正向
         in3 = 0; // B+ 電流反向
         in4 = 1; // B- 電流正向
         delay(1000); // 延時(shí)一段時(shí)間
     }
 }

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

審核編輯:湯梓紅

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

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634620
  • 電動(dòng)車(chē)
    +關(guān)注

    關(guān)注

    73

    文章

    3006

    瀏覽量

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

    關(guān)注

    112

    文章

    16332

    瀏覽量

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

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123490
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電動(dòng)車(chē)控制器線路圖

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

    電動(dòng)車(chē)控制器原理

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

    電動(dòng)車(chē)控制器介紹.

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

    智能電動(dòng)車(chē)。51單片機(jī)控制

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

    對(duì)電動(dòng)車(chē)的智能控制

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

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

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

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

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

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

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

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

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

    電動(dòng)車(chē)控制器的接法

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

    電動(dòng)車(chē)控制器維修

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

    電動(dòng)車(chē)控制器接線圖_電動(dòng)車(chē)控制器接線方法

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

    電動(dòng)車(chē)控制器壞了怎么辦_電動(dòng)車(chē)控制器失效原因

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

    如何挑選電動(dòng)車(chē)控制器

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

    基于51單片機(jī)電動(dòng)車(chē)報(bào)警初級(jí)版本(一)

    基于51單片機(jī)電動(dòng)車(chē)報(bào)警初級(jí)版本(一)
    發(fā)表于 11-20 14:51 ?0次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>電動(dòng)車(chē)</b>報(bào)警<b class='flag-5'>器</b>初級(jí)版本(一)
    RM新时代网站-首页