讓Hi3861驅(qū)動交流電機變頻器
51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)
變頻器(Variable-frequency Drive,VFD)是應(yīng)用變頻技術(shù)與微電子技術(shù),通過改變電機工作電源電壓及頻率方式來控制交流電動機的電力控制設(shè)備。在工農(nóng)業(yè)生產(chǎn)的自動化控制,節(jié)能降耗,動力驅(qū)動等領(lǐng)域有著廣泛和深入的應(yīng)用。鴻蒙輕量化設(shè)備除了可以應(yīng)用于智能家居等消費領(lǐng)域,在生產(chǎn)領(lǐng)域的應(yīng)用也有著巨大的潛力。
這次用Hi3861的PWM來驅(qū)動變頻器,改變其輸出頻率,開始:
準備
Windows 開發(fā)環(huán)境準備
IDE: DevEco Device Tool 2.2 Beta2
源碼: OpenHarmony 2.2 Beta2
開發(fā)板: 小熊派 BEARPI-HM Nano Hi3861 主板
變頻器: 一款國產(chǎn)2.2kw變頻器
簡介
1.常用變頻器的啟停方式有 操作面板,端子啟停和通訊命令啟停等方式,為了簡化,本實驗采用操作面板的啟停按鍵。
2.常用變頻器的頻率給定方式有操作面板,模擬量(電流,電壓),端子,及通訊等,本實驗采用電壓模擬量來調(diào)節(jié)頻率。
3.小熊派開發(fā)版的GPIO_1腳初始化為PWM4輸出,串聯(lián)300歐電阻連接至變頻器的模擬量輸入端,通過改變PWM占空比的大小,從而改變GPIO_1腳輸出電壓,進而改變變頻器的輸出頻率。

4.對應(yīng)本款變頻器,設(shè)定參數(shù)P0.01頻率來源為“VI模擬給定”,參數(shù)P0.03運行命令通道為“操作面板”
5. GPIO_1的PWM輸出電壓為0-3.3v,對應(yīng)變頻器輸出頻率為0-50Hz,設(shè)定變頻器參數(shù)P1.04為“3.3”v,對應(yīng)參數(shù)P1.05最大輸出頻率50Hz。
Hi3861編程
1.將GPIO_1初始化為PWM4輸出,占空比從0-99%,每兩秒鐘占空比增加10%,測試變頻器的輸出頻率是否可以在0-50HZ之間對應(yīng)改變。
2.代碼如下:
- #include <stdio.h>
- #include <unistd.h>
- #include "ohos_init.h"
- #include "cmsis_os2.h"
- #include "iot_pwm.h"
- #include "iot_gpio.h"
- #define PWM_TASK_STACK_SIZE 2048
- #define PWM_TASK_PRIO 25
- #define DAC_GPIO 1
- static void PWMTask(void)
- {
- unsigned int i;
- //初始化GPIO_1,設(shè)置引腳復(fù)用功能為PWM,引腳為輸出模式,初始化PWM4端口
- IoTGpioInit(DAC_GPIO);
- IoTGpioSetFunc(DAC_GPIO, 5);
- IoTGpioSetDir(DAC_GPIO, IOT_GPIO_DIR_OUT);
- IoTPwmInit(4);
- while (1)
- {
- for (i = 0; i < 10; i++)
- {
- //間隔一定時間,輸出0-90%占空比的PWM波,驅(qū)動變頻器頻率改變
- IoTPwmStart(4, i * 10, 40000);
- printf(" %d Hz \n", i * 5);
- //間隔2秒,便于觀察
- sleep(2);
- }
- // 輸出99%占空比,50HZ
- IoTPwmStart(4, i * 10 - 1, 40000);
- printf(" %d Hz \n", i * 5);
- sleep(2);
- i = 0;
- }
- }
- static void PWMExampleEntry(void)
- {
- osThreadAttr_t attr;
- attr.name = "PWMTask";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = PWM_TASK_STACK_SIZE;
- attr.priority = PWM_TASK_PRIO;
- if (osThreadNew((osThreadFunc_t)PWMTask, NULL, &attr) == NULL)
- {
- printf("Falied to create PWMTask!\n");
- }
- }
- APP_FEATURE_INIT(PWMExampleEntry);
編譯,燒錄
1.點擊DevEco Device Tool待編譯工程下“PROJECT TASK"的“Clean"清除之前的編譯文件。
2.點擊“PROJECT TASK"的“Build”開始編譯。
3.9月2日,DevEco Device Tool升級到V2.2 Beta2后,點擊“PROJECT TASK"的“Upload”后,等待“BootromDownloadBoot”出現(xiàn)后再復(fù)位開發(fā)板,這是V2.2 Beta2相對之前版本的變化

4.V2.2 Beta2相比之前版本,下載速度較慢,請耐心等待。
運行結(jié)果
1.連接開發(fā)板和變頻器,通電后,操作面板按鍵啟動變頻器,可以看到輸出頻率從0到50Hz間隔2秒不斷變化,基本達到實驗的目的。演示視頻見附件。
2.Hi3861PWM的占空比和變頻器實際輸出頻率的對應(yīng)關(guān)系見下表:
3.同樣適用于潤和和其它基于Hi3861的開發(fā)板。
4.實驗中變頻器為380V供電,須注意操作安全。
51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)