日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> MM32/靈動微電子 >> 靈動微電子 MM32SPIN360C 電機開發(fā)板驅(qū)動有感 BLDC 的操作方法

靈動微電子 MM32SPIN360C 電機開發(fā)板驅(qū)動有感 BLDC 的操作方法

關(guān)鍵字:靈動微電子 MM32SPIN360C 電機開發(fā)板驅(qū)動 作者: 來源: 發(fā)布時間:2022-06-13  瀏覽:71
一、MM32SPIN360C 電機開發(fā)板介紹

1.簡介

如圖(1),MM32SPIN360C 電機開發(fā)板以 Mindmotion 的專用 MCU —— MM32SPIN360C 為主控制器,具備霍爾傳感器檢測和反電動勢檢測功能。適用于低壓場合,可廣泛用于工業(yè)或者民用領(lǐng)域的三相無刷永磁電機驅(qū)動器,如電動工具等。

主控制器 MM32SPIN360C 是 ARM Cortex-M0 的 32 位微控制器,內(nèi)置 5V 輸出的 LDO 穩(wěn)壓器(Input : 7~13.5V),內(nèi)置 3 組具有自舉二極管的 N 溝道半橋柵極驅(qū)動器(7~48V、1A Sink、1A Source),以及 3 個比較器和 3 個運算放大器等等。MM32SPIN360C 的具體參數(shù)和用法請參考靈動微的官網(wǎng)(https://www.mindmotion.com.cn/)上的數(shù)據(jù)手冊和用戶手冊。


開發(fā)板
圖(1)


2.電路板圖解

如圖(2)為電路板正面的圖解,開發(fā)板帶有 10KΩ 可調(diào)電阻器,可用于調(diào)節(jié)電機的轉(zhuǎn)速。帶有 UART/LIN 通訊接口,以及兩種形式的 JTAG/SWD 接口。電源輸入電壓為 12~36V,可以有兩種接入方式(DC-JACK 或者 接線端子)。

開發(fā)板
圖(2)

3.原理圖介紹

圖(3)是電機驅(qū)動部分的原理圖。由于 MM32SPIN360C 這顆 MCU 內(nèi)自帶預(yù)驅(qū),所以可以直接驅(qū)動 MOS 管(PXN012-60QL),簡化了電機驅(qū)動電路。


開發(fā)板
圖(3)

圖(4)是反饋電路,可以通過 JP4~JP8,JP10~JP12 選擇霍爾傳感器方式反饋或者是反電動勢方式反饋。如果選擇霍爾傳感器方式,則只需要將 JP6、JP7、JP8 的 1-2 腳短接。

開發(fā)板
圖(4)

二、  驅(qū)動軟件簡介

1.啟動電機

此驅(qū)動軟件首先通過 12-bit ADC 采集可調(diào)電阻器的電阻值,確定電機的轉(zhuǎn)速。當(dāng)電機速度的 PWM 波形占空比大于 5% 才開始啟動電機。電機啟動之前通過讀取 U/V/W 的 3 個霍爾傳感器的值確定電機轉(zhuǎn)子位置,進而根據(jù)轉(zhuǎn)子位置來確定 U/V/W 的上電順序。

        //RM 旋鈕啟動與調(diào)速


        do {


            hwAdcValue = GetAdcAverage(5); // 采集可調(diào)變阻器的電壓值


            if (0xffff == hwAdcValue) {


                break;


            } else {


                g_tMotor.tDuty = hwAdcValue * 100 / 4095;  // 設(shè)置 PWM 占空比


                SET_DUTY_U(g_tMotor.tDuty);


                SET_DUTY_V(g_tMotor.tDuty);


                SET_DUTY_W(g_tMotor.tDuty);


                if ((g_tMotor.tDuty > 5) && (g_tMotor.tMotorState == STOP)) {


                    g_tMotor.tMotorState = START;  // 如果電機速度的波形占空比大于 5%,則啟動電機


                }


            }


        } while(0);


2.霍爾傳感器信號的采集

        軟件中包含 3 種霍爾傳感器信號采集方式:主循環(huán)、EXTI、Timer 。

主循環(huán) 方式是在主函數(shù)的 while(1) 循環(huán)里讀取 U/V/W 這 3 個霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)上的電平, 進而驅(qū)動換相。

  EXTI 方式是設(shè)置 U/V/W 這 3 個霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)為外部中斷,雙邊沿觸發(fā)。當(dāng)任一 HALL 線上電平發(fā)生變化時,都會有對應(yīng)中斷線產(chǎn)生中斷,在 EXTI 中斷服務(wù)函數(shù)中進行 HALL 引腳電平檢測,進而驅(qū)動換相。

  Timer 方式是設(shè)置 U/V/W 這 3 個霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)為定時器輸入腳 ( CC1、CC2、CC3)。使用這 3 個定時器輸入腳通過一個異或門連接到 TI1 輸入通道;當(dāng)捕獲到 CC1、CC2、CC3 上有引腳發(fā)生電平變化時,由于異或門的存在, TI1 上產(chǎn)生一個跳變沿;經(jīng)過輸入濾波器和邊沿檢測器后傳輸給 TI1F_ED ,由于配置了 TIM 的觸發(fā)源為 TI1F_ED 和使能了觸發(fā)中斷,這里會進入觸發(fā)中斷,在觸發(fā)中斷中我們可以判斷霍爾狀態(tài)的有效值,根據(jù)霍爾狀態(tài)的有效值控制電機對應(yīng)的繞組供電,進而驅(qū)動電機旋轉(zhuǎn)。

        這 3 種方式可以通過 hall.h 中的如下定義來選擇:

        #define HALL_POLLING_MODE 0   // 1:采用 主循環(huán) 方式采集霍爾信號

#define HALL_TIM_MODE 1 // 1:采用 Timer 方式采集霍爾信號

#define HALL_EXTI_MODE 0 // 1:采用 EXTI 方式采集霍爾信號

電機堵轉(zhuǎn)檢測

       驅(qū)動軟件中開啟了系統(tǒng)節(jié)拍定時器(systick),每 1 毫秒中斷一次。此定時器用于檢測電機運轉(zhuǎn)時堵轉(zhuǎn) 2 秒之后,停止電機運行。


        void Systick_Callback(void)


        {


            if(RUN == g_tMotor.tMotorState) {


                g_tMotor.tCount.hwTimeCount ++;


                if(g_tMotor.tCount.hwTimeCount > 2000) { // 2s超時,電機卡住不運轉(zhuǎn)超過2s時間


                    GATE_DRIVER_DISABLE();


                    BLDC_UVW_DISABLE();


                    g_tMotor.tMotorState = STOP;


                    g_tMotor.tMotorErr = LOCKED_ERR;


                    g_tMotor.tCount.hwTimeCount = 0;


                }


            }


        }



三、調(diào)試開發(fā)板

1.接線方法

開發(fā)板、BLDC 電機、調(diào)試器的接線圖如圖(8)所示。

開發(fā)板
圖(8)

2.調(diào)試器的設(shè)置

開發(fā)板采用 SWD 接口調(diào)試。調(diào)試器可以采用靈動微官方的調(diào)試下載器,也可以采用適用于 ARM Cortex-M 核的調(diào)試器,比如圖(8)用的就是 WPI 自制的調(diào)試器。

如果使用靈動微官方的調(diào)試器,則需要從靈動微官網(wǎng)上下載調(diào)試器的驅(qū)動(https://www.mindmotion.com.cn/support/development_tools/debug_and_programming_tools/)。并在 keil 的調(diào)試設(shè)置中,選擇 MM32-LINK Debugger ,如圖(9)所示。


開發(fā)板
圖(9)

我這里使用的是 WPI 自制的調(diào)試器,這種調(diào)試器免驅(qū),在 keil 的調(diào)試設(shè)置中,選擇 CMSIS-DAP Debugger ,如圖(10)所示。

開發(fā)板
圖(10)

3.開發(fā)板上的設(shè)置

開發(fā)板上的跳線設(shè)置如圖(11)所示,紅色標(biāo)記的地方需要接跳線帽,其他位置可以忽略。

開發(fā)板
圖(11)

4.代碼下載 & 運行

將代碼下載到開發(fā)板上之后,旋轉(zhuǎn)可調(diào)電阻器的旋鈕,電機啟動。可調(diào)變阻器的阻值越大,電機的轉(zhuǎn)速越高。

四、總結(jié)
MM32SPIN360C 電機開發(fā)板上的主控制器(MM32SPIN360C)內(nèi)置預(yù)驅(qū),所以 MCU 只需要外接 6 個 MOS 管就可以驅(qū)動 BLDC 電機,整個驅(qū)動電路比較簡單。

本文檔介紹了如何使用 MM32SPIN360C 電機應(yīng)用開發(fā)板驅(qū)動低壓有感BLDC 電機的方法。由于有霍爾傳感器反饋電機轉(zhuǎn)子的位置,所以在電機啟動和運行的過程比較平穩(wěn),而且不需要算法,驅(qū)動代碼比較簡單。

此外,此開發(fā)板也可以驅(qū)動有感/無感正弦波電機,這個驅(qū)動的方法將在后面的博文中介紹,敬請期待。如需要了解更多靈動微MCU產(chǎn)品,請聯(lián)系靈動微核心代理商-穎特新科技

編輯:ls  最后修改時間:2022-06-13

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

肃宁县| 太谷县| 勐海县| 道孚县| 抚宁县| 万盛区| 宿迁市| 木里| 珠海市| 凤台县| 米林县| 洛阳市| 游戏| 灵宝市| 绵阳市| 娄烦县| 巴东县| 龙江县| 淅川县| 巨野县| 连州市| 雅江县| 梧州市| 龙里县| 固原市| 怀安县| 类乌齐县| 吴江市| 永清县| 拜城县| 新津县| 雷山县| 嘉定区| 肇东市| 甘德县| 蕉岭县| 石门县| 二连浩特市| 潮州市| 抚松县| 白玉县|