伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

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

CW32L012/F030靈眸X1智能小車--電機(jī)正反轉(zhuǎn)控制

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 2026-04-02 16:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、電機(jī)正轉(zhuǎn)

電機(jī)驅(qū)動芯片RZ7899

RZ7899是一種高性能電機(jī)驅(qū)動芯片,廣泛應(yīng)用于各種電機(jī)控制場合,特別是在步進(jìn)電機(jī)和直流電機(jī)的驅(qū)動中。以下是該芯片的一些關(guān)鍵特性和應(yīng)用:

主要特性:

高驅(qū)動能力:RZ7899能夠驅(qū)動高電流的電機(jī),適合需要大功率輸出的應(yīng)用。

雙通道設(shè)計:具備雙通道輸出,能夠同時驅(qū)動兩個電機(jī),提升設(shè)計靈活性。

PWM控制:支持脈寬調(diào)制(PWM)控制,使得電機(jī)的運行更加平滑和高效。

過流保護(hù):內(nèi)置過流保護(hù)功能,確保芯片和電機(jī)在異常情況下的安全運行。

熱保護(hù)功能:能夠監(jiān)測溫度并在過熱時自動停止工作,防止損壞。

低靜態(tài)功耗:在靜態(tài)模式下功耗較低,適合需要長時間待機(jī)的應(yīng)用場合。

多種控制模式:支持多種控制模式,包括全橋、半橋等,滿足不同電機(jī)控制需求。

該模塊在開發(fā)板上位置如下:

圖片

2.原理圖

圖片

在開發(fā)板上左右兩個電機(jī)分別接到了兩塊RZ7899上,左電機(jī)使用CW32的PB3和PB4控制,右電機(jī)使用CW32的PB12和PB5控制。

3.查看資料

翻閱手冊我們可以發(fā)現(xiàn),其實驅(qū)動電機(jī)只需要輸入端接到MCU的兩個引腳,輸出端分別接到電機(jī)的兩個引腳,即可通過改變輸入端電平實現(xiàn)正反轉(zhuǎn)。

注意:輸出端5腳和6腳,7腳和8腳為一組

圖片

4.代碼編寫

根據(jù)上述從手冊中查到的信息,我們知道了驅(qū)動方法之后就可以開始驅(qū)動代碼的編寫了。在工程中新建一個電機(jī)的.c和.h文件,名字自己確定,然后在.c中編寫如下代碼:

void Motor_Init(void)
{
        __RCC_GPIOB_CLK_ENABLE();//開啟GPIOB時鐘
        GPIO_InitTypeDef GPIO_InitStruct; 
        GPIO_InitStruct.IT=GPIO_IT_NONE;
        GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;//配置為推挽輸出
        GPIO_InitStruct.Pins=GPIO_PIN_3 | GPIO_PIN_4;//選擇GPIO口
        GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
        GPIO_Init(CW_GPIOB, &GPIO_InitStruct);
}

隨后在main函數(shù)中編寫如下代碼

int main(void)
{
        OLED_Init();//初始化
        Motor_Init();//初始化電機(jī)
        while(1)
        {
                PB03_SETHIGH();//PB3置高電平
                PB04_SETLOW();//PB4置低電平
        }
}

我們給PB3置為高電平,PB4置低電平,滿足手冊驅(qū)動真值表中驅(qū)動電機(jī)要求,即可實現(xiàn)正轉(zhuǎn)。

5.運行現(xiàn)象

將本次項目代碼燒錄進(jìn)開發(fā)板之后,可以觀察到左電機(jī)開始正轉(zhuǎn)。

wKgZO2nL0BSAPl4BAAAiJASTtM8571.jpg

二、電機(jī)正反轉(zhuǎn)控制

根據(jù)上面的實驗,我們已經(jīng)完成了單個電機(jī)的正轉(zhuǎn),那么憑各位工程師的聰明才智應(yīng)該很快就能想到如何控制兩個電機(jī)同時正轉(zhuǎn)以及反轉(zhuǎn)了。復(fù)制上一次工程,我們稍加修改即可。

1.代碼如下:

void Motor_Init(void)
{
        __RCC_GPIOB_CLK_ENABLE();//開啟GPIOB時鐘
        GPIO_InitTypeDef GPIO_InitStruct; 
        GPIO_InitStruct.IT=GPIO_IT_NONE;
        GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;//配置為推挽輸出
        GPIO_InitStruct.Pins=GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_12 | GPIO_PIN_5;//選擇GPIO口
        GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;
        GPIO_Init(CW_GPIOB, &GPIO_InitStruct);

        Right_Motor_stop();//
        Left_Motor_stop();//
}

將右邊電機(jī)的控制GPIO也初始化,然后將電機(jī)運動稍微封裝一下

void Left_Motor_foreward(void)
{
        PB03_SETHIGH();//PB3置高電平
        PB04_SETLOW();//PB4置低電平
}
void Left_Motor_reversal(void)
{
        PB04_SETHIGH();//PB4置高電平
        PB03_SETLOW();//PB3置低電平
}
void Left_Motor_stop(void)
{
        PB04_SETLOW();//PB4置低電平
        PB03_SETLOW();//PB3置低電平
}
void Right_Motor_foreward(void)
{
        PB05_SETLOW();//PB12置低電平
        PB12_SETHIGH();//PB5置高電平
}
void Right_Motor_reversal(void)
{
        PB12_SETLOW();//PB12置低電平
        PB05_SETHIGH();//PB5置高電平
}
void Right_Motor_stop(void)
{
        PB12_SETLOW();//PB12置低電平
        PB05_SETLOW();//PB5置低電平
}

這樣就可以靈活地驅(qū)動電機(jī)正反轉(zhuǎn)了,然后在主函數(shù)中加入以下代碼

uint8_t keynum,Left_state,Right_state;
int main(void)
{
        OLED_Init();//初始化
        LED_Init();//LED初始化
        Key_Init();//按鍵初始化
        Motor_Init();//初始化電機(jī)
        while(1)
        {
                keynum=Key();//獲取鍵碼,
                if(keynum==1){Left_state++;Left_state%=4;}//按鍵1按下一次,變量+1,加到4歸零
                if(keynum==2){Right_state++;Right_state%=4;}
                if(Left_state==0 || Left_state==2)//條件判斷變量為1或者2停下
                {
                        Left_Motor_stop();//左電機(jī)停

                }
                else if(Left_state==1)
                {
                        Left_Motor_foreward();//左電機(jī)正轉(zhuǎn)

                }
                else if(Left_state==3)
                {
                        Left_Motor_reversal();//左電機(jī)反轉(zhuǎn)
                        PC13_SETHIGH();
                }
                if(Right_state==0 || Right_state==2)
                {
                        Right_Motor_stop();//右電機(jī)停
                }
                else if(Right_state==1)
                {
                        Right_Motor_foreward();//右電機(jī)正轉(zhuǎn)
                }
                else if(Right_state==3)
                {
                        Right_Motor_reversal();//右電機(jī)正轉(zhuǎn)
                }
                if((Right_state==0 || Right_state==2 ) && (Left_state==0 || Left_state==2 ))
                {
                        PC13_SETLOW();//LED點亮
                }
                else{
                        PC13_SETHIGH();                //LED熄滅        
                }
                OLED_ShowNum(1,1,Left_state,2);//屏幕顯示變量
                OLED_ShowNum(2,1,Right_state,2);
        }
}

2.運行現(xiàn)象

將本次項目代碼燒錄進(jìn)開發(fā)板之后,我們可以觀察到以下現(xiàn)象:

上電之后電機(jī)停止

OLED屏幕第一行顯示00,第二行也顯示00,記錄按鍵按下次數(shù),到四歸零

LED點亮

按下按鍵一,左電機(jī)正轉(zhuǎn),再按下停止,再按下反轉(zhuǎn),再按下停止

按下按鍵二,右電機(jī)正轉(zhuǎn),再按下停止,再按下反轉(zhuǎn),再按下停止

電機(jī)停止時LED點亮,反之則熄滅

7455588942e1d88d26d636dafd887ab2.jpg

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

    關(guān)注

    87

    文章

    565

    瀏覽量

    83495
  • 正反轉(zhuǎn)控制
    +關(guān)注

    關(guān)注

    3

    文章

    34

    瀏覽量

    11400
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    323

    瀏覽量

    1924
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    CW32L012/F030X1智能小車——板載WS2812驅(qū)動示例

    WS2812是一種廣泛使用的地址可控制的RGB LED模塊,其內(nèi)置驅(qū)動電路和控制芯片,允許用戶通過單線信號控制多個LED的顏色和亮度。
    的頭像 發(fā)表于 01-05 16:35 ?3159次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>——板載WS2812驅(qū)動示例

    CW32L012/F030X1智能小車——超聲波模塊配置

    SR04超聲波模塊是一款廣泛應(yīng)用的測距傳感器,主要用于使用超聲波測量物體與傳感器之間的距離。它是一個成本低廉、精度較高且易于使用的傳感器,常用于機(jī)器人、智能家居、無人機(jī)、汽車防撞系統(tǒng)等項目。
    的頭像 發(fā)表于 01-05 16:54 ?3009次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>——超聲波模塊配置

    CW32L012/F030X1智能小車——使用NRF24L01通信

    NRF24L01所使用的通訊協(xié)議為SPI,SPI又可分為軟件SPI和硬件SPI。
    的頭像 發(fā)表于 04-01 16:49 ?2137次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>——使用NRF24<b class='flag-5'>L</b>01通信

    CW32L012/F030X1智能小車——使用藍(lán)牙模塊通訊

    主控板配套的是一款低功耗藍(lán)牙模塊,適用于短距離無線通信。該模塊通常被用于各種嵌入式項目,如物聯(lián)網(wǎng)(IoT)設(shè)備、手機(jī)配件、智能家居設(shè)備、醫(yī)療設(shè)備等。
    的頭像 發(fā)表于 04-01 16:54 ?2184次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>——使用藍(lán)牙模塊通訊

    堅持繼續(xù)布局32位MCU,進(jìn)一步完善產(chǎn)品陣容,96Mhz主頻CW32L012新品發(fā)布!

    基于CW32L01x系列低功耗微控制器家族的全新成員:CW32L012系列產(chǎn)品。 CW32L012基于ARM? Cortex-M0+內(nèi)核,主頻高達(dá)96MHz,同時集成了CORDIC硬件
    發(fā)表于 07-16 16:32

    **CW32L012****開發(fā)評估板的第一個程序**

    CW32L012****開發(fā)評估板的第一個程序 最近以15.99在CW32生態(tài)社區(qū)入手了這塊CW32L012開發(fā)評估板,我迫不及待的燒錄進(jìn)電燈程序,看看這塊板子是否是正常的,能否滿足我后面的學(xué)習(xí)
    發(fā)表于 11-22 00:09

    CW32L012小型機(jī)器人控制評估板活動 四足機(jī)器人+智能小車 開箱評測

    CW32L012活動相關(guān)資料鏈接:https://dwi41yhz703.feishu.cn/wiki/B1Ihw31ebiX0vkkhQr2cINnkn1g 小型機(jī)器人+智能小車
    發(fā)表于 11-24 23:44

    pwm控制電機(jī)正反轉(zhuǎn),PWM直流電機(jī)調(diào)速程序

    PWM調(diào)速開關(guān)控制方式控制電機(jī),廣泛應(yīng)用于玩具、小車、機(jī)器人等項目,通過串口預(yù)設(shè)正反轉(zhuǎn)速度,可以靈活控制
    發(fā)表于 10-30 15:00 ?2.1w次閱讀

    電機(jī)正反轉(zhuǎn) 如何確定電機(jī)正反轉(zhuǎn)

    電機(jī)正反轉(zhuǎn)是指電機(jī)順時針轉(zhuǎn)動和逆時針轉(zhuǎn)動。電機(jī)順時針轉(zhuǎn)動是電機(jī)正轉(zhuǎn),電機(jī)逆時針轉(zhuǎn)動是
    的頭像 發(fā)表于 07-15 15:34 ?7.5w次閱讀

    【STM32小案例01】用STM32F103ZET6使用L298N電機(jī)驅(qū)動模塊 控制電機(jī)(電動推桿)正反轉(zhuǎn)

    【STM32小案例01】用STM32簡單使用L298N電機(jī)驅(qū)動模塊 控制電機(jī)(電動推桿)正反轉(zhuǎn)? 本文將簡單介紹如何通過
    發(fā)表于 12-24 19:39 ?65次下載
    【STM32小案例01】用STM32<b class='flag-5'>F</b>103ZET6使用<b class='flag-5'>L</b>298N<b class='flag-5'>電機(jī)</b>驅(qū)動模塊 <b class='flag-5'>控制</b><b class='flag-5'>電機(jī)</b>(電動推桿)<b class='flag-5'>正反轉(zhuǎn)</b>

    簡單介紹plc如何控制電機(jī)正反轉(zhuǎn)

    的方向,可以實現(xiàn)電機(jī)正反轉(zhuǎn)。當(dāng)電流方向與磁場方向一致時,電機(jī)順時針旋轉(zhuǎn);當(dāng)電流方向與磁場方向相反時,電機(jī)逆時針旋轉(zhuǎn)。 二、PLC控制
    的頭像 發(fā)表于 07-29 10:37 ?2981次閱讀

    CW32L012小機(jī)器人的電機(jī)控制

    線的大功率調(diào)速,電機(jī)控制性能直接決定了系統(tǒng)的響應(yīng)速度、運行精度、能耗效率與穩(wěn)定性。這里分享CW32L012小機(jī)器人的正反轉(zhuǎn)、調(diào)速的電機(jī)
    的頭像 發(fā)表于 11-21 13:18 ?2468次閱讀
    <b class='flag-5'>CW32L012</b>小機(jī)器人的<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>

    CW32L012與STM32F103的三角運算性能對比

    沒有硬件浮點運算單元。 但在運算三角函數(shù)時,CW32L012支持CORDIC算法。 二、 三角運算性能具體分析 1:標(biāo)準(zhǔn)庫浮點運算(如 math.h 的 sinf, cosf) 這是最常用但也是最慢的方式。 STM32F103C
    的頭像 發(fā)表于 12-29 15:32 ?2427次閱讀
    <b class='flag-5'>CW32L012</b>與STM32<b class='flag-5'>F</b>103的三角運算性能對比

    CW32L012與STM32G431的CORDIC三角函數(shù)運算性能對比

    CORDIC協(xié)處理器的三角運算性能對比。對比結(jié)果出乎意料。 一、硬件架構(gòu) 二、運算100W次SIN30度與COS30度的代碼實現(xiàn) 1.CW32L012 CW32L012的CORDIC提供某些數(shù)學(xué)函數(shù)
    的頭像 發(fā)表于 12-29 15:55 ?2636次閱讀
    <b class='flag-5'>CW32L012</b>與STM32G431的CORDIC三角函數(shù)運算性能對比

    CW32L012/F030X1智能小車--電機(jī)調(diào)速控制

    PWM(Pulse Width Modulation脈寬調(diào)制)是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù)。PWM是一種對模擬信號電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計數(shù)器
    的頭像 發(fā)表于 04-02 16:49 ?149次閱讀
    <b class='flag-5'>CW32L012</b>/<b class='flag-5'>F030</b><b class='flag-5'>靈</b><b class='flag-5'>眸</b><b class='flag-5'>X1</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b>--<b class='flag-5'>電機(jī)</b>調(diào)速<b class='flag-5'>控制</b>