一、MM32SPIN360C 電機(jī)開發(fā)板介紹
簡介
如圖(1),MM32SPIN360C 電機(jī)開發(fā)板以 Mindmotion 的專用 MCU —— MM32SPIN360C 為主控制器,具備霍爾傳感器檢測和反電動(dòng)勢檢測功能。適用于低壓場合,可廣泛用于工業(yè)或者民用領(lǐng)域的三相無刷永磁電機(jī)驅(qū)動(dòng)器,如電動(dòng)工具等。
主控制器 MM32SPIN360C 是 ARM Cortex-M0 的 32 位微控制器,內(nèi)置 5V 輸出的 LDO 穩(wěn)壓器(Input : 7~13.5V),內(nèi)置 3 組具有自舉二極管的 N 溝道半橋柵極驅(qū)動(dòng)器(7~48V、1A Sink、1A Source),以及 3 個(gè)比較器和 3 個(gè)運(yùn)算放大器等等。MM32SPIN360C 的具體參數(shù)和用法請參考靈動(dòng)微的官網(wǎng)(https://www.mindmotion.com.cn/)上的數(shù)據(jù)手冊和用戶手冊。
![poYBAGQuxVqAD8srAAhDllHuU5I930.png](https://file.elecfans.com/web2/M00/9D/2F/poYBAGQuxVqAD8srAAhDllHuU5I930.png)
![](https://file.elecfans.com//web2/M00/9D/B4/pYYBAGQu0bOADdW3AAAA7uGMIRU236.png)
圖(1)
電路板圖解
如圖(2)為電路板正面的圖解,開發(fā)板帶有 10KΩ 可調(diào)電阻器,可用于調(diào)節(jié)電機(jī)的轉(zhuǎn)速。帶有 UART/LIN 通訊接口,以及兩種形式的 JTAG/SWD 接口。電源輸入電壓為 12~36V,可以有兩種接入方式(DC-JACK 或者 接線端子)。
![pYYBAGQuxWKASZVqAAcJ5Y6C45s843.png](https://file.elecfans.com/web2/M00/9D/B2/pYYBAGQuxWKASZVqAAcJ5Y6C45s843.png)
![](https://file.elecfans.com//web2/M00/9D/32/poYBAGQu0bOAMTC7AAAA7uGMIRU223.png)
圖(2)
原理圖介紹
圖(3)是電機(jī)驅(qū)動(dòng)部分的原理圖。由于 MM32SPIN360C 這顆 MCU 內(nèi)自帶預(yù)驅(qū),所以可以直接驅(qū)動(dòng) MOS 管(PXN012-60QL),簡化了電機(jī)驅(qū)動(dòng)電路。
![poYBAGQuxWuAEf8LAAK8R4aQ0So646.png](https://file.elecfans.com/web2/M00/9D/30/poYBAGQuxWuAEf8LAAK8R4aQ0So646.png)
![](https://file.elecfans.com//web2/M00/9D/B4/pYYBAGQu0bOATlY0AAAA7uGMIRU662.png)
圖(3)
圖(4)是反饋電路,可以通過 JP4~JP8,JP10~JP12 選擇霍爾傳感器方式反饋或者是反電動(dòng)勢方式反饋。如果選擇霍爾傳感器方式,則只需要將 JP6、JP7、JP8 的 1-2 腳短接。
![pYYBAGQuxXSAMvxSAABi8nVyZJU617.png](https://file.elecfans.com/web2/M00/9D/B2/pYYBAGQuxXSAMvxSAABi8nVyZJU617.png)
![](https://file.elecfans.com//web2/M00/9D/32/poYBAGQu0bSAON01AAAA7uGMIRU498.png)
圖(4)
二、 驅(qū)動(dòng)軟件簡介
啟動(dòng)電機(jī)
此驅(qū)動(dòng)軟件首先通過 12-bit ADC 采集可調(diào)電阻器的電阻值,確定電機(jī)的轉(zhuǎn)速。當(dāng)電機(jī)速度的 PWM 波形占空比大于 5% 才開始啟動(dòng)電機(jī)。電機(jī)啟動(dòng)之前通過讀取 U/V/W 的 3 個(gè)霍爾傳感器的值確定電機(jī)轉(zhuǎn)子位置,進(jìn)而根據(jù)轉(zhuǎn)子位置來確定 U/V/W 的上電順序。
//RM 旋鈕啟動(dòng)與調(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; // 如果電機(jī)速度的波形占空比大于 5%,則啟動(dòng)電機(jī)
}
}
} while(0);
霍爾傳感器信號的采集
軟件中包含 3 種霍爾傳感器信號采集方式:主循環(huán)、EXTI、Timer 。
主循環(huán) 方式是在主函數(shù)的 while(1) 循環(huán)里讀取 U/V/W 這 3 個(gè)霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)上的電平, 進(jìn)而驅(qū)動(dòng)換相。
EXTI 方式是設(shè)置 U/V/W 這 3 個(gè)霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)為外部中斷,雙邊沿觸發(fā)。當(dāng)任一 HALL 線上電平發(fā)生變化時(shí),都會有對應(yīng)中斷線產(chǎn)生中斷,在 EXTI 中斷服務(wù)函數(shù)中進(jìn)行 HALL 引腳電平檢測,進(jìn)而驅(qū)動(dòng)換相。
Timer 方式是設(shè)置 U/V/W 這 3 個(gè)霍爾傳感器對應(yīng)的 MCU 管腳(PA0/PA1/PA2)為定時(shí)器輸入腳 ( CC1、CC2、CC3)。使用這 3 個(gè)定時(shí)器輸入腳通過一個(gè)異或門連接到 TI1 輸入通道;當(dāng)捕獲到 CC1、CC2、CC3 上有引腳發(fā)生電平變化時(shí),由于異或門的存在, TI1 上產(chǎn)生一個(gè)跳變沿;經(jīng)過輸入濾波器和邊沿檢測器后傳輸給 TI1F_ED ,由于配置了 TIM 的觸發(fā)源為 TI1F_ED 和使能了觸發(fā)中斷,這里會進(jìn)入觸發(fā)中斷,在觸發(fā)中斷中我們可以判斷霍爾狀態(tài)的有效值,根據(jù)霍爾狀態(tài)的有效值控制電機(jī)對應(yīng)的繞組供電,進(jìn)而驅(qū)動(dòng)電機(jī)旋轉(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 方式采集霍爾信號
電機(jī)堵轉(zhuǎn)檢測
驅(qū)動(dòng)軟件中開啟了系統(tǒng)節(jié)拍定時(shí)器(systick),每 1 毫秒中斷一次。此定時(shí)器用于檢測電機(jī)運(yùn)轉(zhuǎn)時(shí)堵轉(zhuǎn) 2 秒之后,停止電機(jī)運(yùn)行。
void Systick_Callback(void)
{
if(RUN == g_tMotor.tMotorState) {
g_tMotor.tCount.hwTimeCount ++;
if(g_tMotor.tCount.hwTimeCount > 2000) { // 2s超時(shí),電機(jī)卡住不運(yùn)轉(zhuǎn)超過2s時(shí)間
GATE_DRIVER_DISABLE();
BLDC_UVW_DISABLE();
g_tMotor.tMotorState = STOP;
g_tMotor.tMotorErr = LOCKED_ERR;
g_tMotor.tCount.hwTimeCount = 0;
}
}
}
三、調(diào)試開發(fā)板
接線方法
開發(fā)板、BLDC 電機(jī)、調(diào)試器的接線圖如圖(8)所示。
![poYBAGQuxYaAOUIKAAgTaDiYa1w363.png](https://file.elecfans.com/web2/M00/9D/30/poYBAGQuxYaAOUIKAAgTaDiYa1w363.png)
![](https://file.elecfans.com//web2/M00/9D/B4/pYYBAGQu0bSAHw5RAAAA7uGMIRU888.png)
圖(8)
調(diào)試器的設(shè)置
開發(fā)板采用 SWD 接口調(diào)試。調(diào)試器可以采用靈動(dòng)微官方的調(diào)試下載器,也可以采用適用于 ARM Cortex-M 核的調(diào)試器,比如圖(8)用的就是 WPI 自制的調(diào)試器。
如果使用靈動(dòng)微官方的調(diào)試器,則需要從靈動(dòng)微官網(wǎng)上下載調(diào)試器的驅(qū)動(dòng)(https://www.mindmotion.com.cn/support/development_tools/debug_and_programming_tools/)。 并在 keil 的調(diào)試設(shè)置中,選擇 MM32-LINK Debugger ,如圖(9)所示。
![](https://file.elecfans.com//web2/M00/9D/32/poYBAGQu0bSAY3shAAAA7uGMIRU809.png)
![pYYBAGQuxY-Ac5ISAAGPy2oKlXc641.png](https://file.elecfans.com/web2/M00/9D/B2/pYYBAGQuxY-Ac5ISAAGPy2oKlXc641.png)
圖(9)
我這里使用的是 WPI 自制的調(diào)試器,這種調(diào)試器免驅(qū),在 keil 的調(diào)試設(shè)置中,選擇 CMSIS-DAP Debugger ,如圖(10)所示。
![poYBAGQuxZ-AUV9EAAGR5OTqbTE925.png](https://file.elecfans.com/web2/M00/9D/30/poYBAGQuxZ-AUV9EAAGR5OTqbTE925.png)
![](https://file.elecfans.com//web2/M00/9D/B5/pYYBAGQu0bWAIi8qAAAA7uGMIRU851.png)
圖(10)
開發(fā)板上的設(shè)置
開發(fā)板上的跳線設(shè)置如圖(11)所示,紅色標(biāo)記的地方需要接跳線帽,其他位置可以忽略。
?
![](https://file.elecfans.com//web2/M00/9D/32/poYBAGQu0bWAXW9LAAAA7uGMIRU815.png)
圖(11)
代碼下載 & 運(yùn)行
將代碼下載到開發(fā)板上之后,旋轉(zhuǎn)可調(diào)電阻器的旋鈕,電機(jī)啟動(dòng)??烧{(diào)變阻器的阻值越大,電機(jī)的轉(zhuǎn)速越高。
四、總結(jié)
MM32SPIN360C 電機(jī)開發(fā)板上的主控制器(MM32SPIN360C)內(nèi)置預(yù)驅(qū),所以 MCU 只需要外接 6 個(gè) MOS 管就可以驅(qū)動(dòng) BLDC 電機(jī),整個(gè)驅(qū)動(dòng)電路比較簡單。
本文檔介紹了如何使用 MM32SPIN360C 電機(jī)應(yīng)用開發(fā)板驅(qū)動(dòng)低壓有感BLDC 電機(jī)的方法。 由于有霍爾傳感器反饋電機(jī)轉(zhuǎn)子的位置,所以在電機(jī)啟動(dòng)和運(yùn)行的過程比較平穩(wěn),而且不需要算法,驅(qū)動(dòng)代碼比較簡單。
此外,此開發(fā)板也可以驅(qū)動(dòng)有感/無感正弦波電機(jī),這個(gè)驅(qū)動(dòng)的方法將在后面的博文中介紹,敬請期待。
-
單片機(jī)
+關(guān)注
關(guān)注
6044文章
44628瀏覽量
639001 -
電機(jī)控制
+關(guān)注
關(guān)注
3542文章
1898瀏覽量
269296 -
無刷電機(jī)
+關(guān)注
關(guān)注
58文章
847瀏覽量
46068 -
靈動(dòng)微
+關(guān)注
關(guān)注
4文章
174瀏覽量
22728 -
MM32
+關(guān)注
關(guān)注
1文章
106瀏覽量
818
發(fā)布評論請先 登錄
相關(guān)推薦
基于靈動(dòng)MM32SPIN560C的低壓無刷電機(jī)應(yīng)用方案
靈動(dòng)微MM32SPIN560C的低壓無刷電機(jī)應(yīng)用方案
![<b class='flag-5'>靈動(dòng)</b><b class='flag-5'>微</b><b class='flag-5'>MM32SPIN560C</b>的低壓無刷<b class='flag-5'>電機(jī)</b>應(yīng)用方案](https://file.elecfans.com//web2/M00/7E/87/poYBAGOFvF6AI1FvAADUeI2oeb4467.jpg)
2019靈動(dòng)微電子MM32 MCU智能之“芯”咖啡沙龍展示方案(一)——基于MM32SPIN360C的手持式吸塵器
靈動(dòng)微課堂 (第113講) | 基于MM32 MCU防疫產(chǎn)品應(yīng)用解決方案分享 —— 便攜冰箱
小編科普一下32位單片機(jī)MM32SPIN360C
關(guān)于電機(jī)控制專用國產(chǎn)32位單片機(jī)MM32SPIN360C
靈動(dòng)微MM32SPIN25PF產(chǎn)品的特性介紹
靈動(dòng)微MM32SPIN360C獲選2020年度國產(chǎn)MCU評選
![<b class='flag-5'>靈動(dòng)</b><b class='flag-5'>微</b><b class='flag-5'>MM32SPIN360C</b>獲選2020年度國產(chǎn)MCU評選](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
32位單片機(jī)MM32SPIN360C現(xiàn)貨供應(yīng)
靈動(dòng)微電動(dòng)工具專用單片機(jī)MM32SPIN360C
基于MM32SPIN360C芯片的低壓無刷電機(jī)設(shè)計(jì)
博文 | 基于靈動(dòng)微 MM32SPIN560C 電機(jī)調(diào)試的方法
![博文 | 基于<b class='flag-5'>靈動(dòng)</b><b class='flag-5'>微</b> <b class='flag-5'>MM32SPIN560C</b> <b class='flag-5'>電機(jī)</b>調(diào)試的<b class='flag-5'>方法</b>](https://file.elecfans.com/web2/M00/65/09/pYYBAGMHLo-AXhv6AABF60N1Sbg429.png)
方案 | 世平基于靈動(dòng)微 SPIN560C 的低壓無刷電機(jī)應(yīng)用方案
![方案 | 世平基于<b class='flag-5'>靈動(dòng)</b><b class='flag-5'>微</b> <b class='flag-5'>SPIN560C</b> 的低壓無刷<b class='flag-5'>電機(jī)</b>應(yīng)用方案](https://file.elecfans.com/web2/M00/65/09/pYYBAGMHLo-AXhv6AABF60N1Sbg429.png)
昂科燒錄器支持MindMotion靈動(dòng)微電子的32位微控制器MM32SPIN360C
![昂科燒錄器支持MindMotion<b class='flag-5'>靈動(dòng)</b>微電子的32位微控制器<b class='flag-5'>MM32SPIN360C</b>](https://file1.elecfans.com/web2/M00/FF/FB/wKgZomardGSAUd-OAADUajAmgAM377.png)
評論