找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3686|回復: 12
打印 上一主題 下一主題
收起左側

BLDC直流無刷電機的單片機驅動程序 只能正轉不能反轉

[復制鏈接]
跳轉到指定樓層
樓主
ID:718536 發(fā)表于 2021-6-18 12:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
用Protuse仿真,只能正轉,好像不能反轉........到底是什么問題呀

#include<reg51.h>                            //STC15W系列單片機。晶振12MHZ
#include <INTRINS.H>
#define uint unsigned int                    //宏命令,聲明uint替代unsignde int
#define uchar unsigned char


uchar zkb,pwm,num,mod,zhuan;        //占空比。頻率計數(shù),周期,轉向

sbit a=P2^0;                                     //輸出IO口A相
sbit b=P2^1;                                     //輸出IO口A相
sbit c=P2^2;                                     //輸出IO口A相


void main()                                         //主程序
{
    P2=0;
        zkb=50;                                        //占空比設置為50%
        zhuan=0;                                        //設置為正轉
        
        while(1)                                        //主循環(huán)
  {
         pwm++;                                           //計數(shù)+
         if(pwm>100){num++;pwm=0;}           //到100為一個周期
         if(num>2){num=0;}                           //如果三相都輸出后循環(huán)
        if(zhuan==0)                                    //在正轉下
        {
        switch(num)
   {
         case  0 : if(pwm<zkb){a=1;} else{a=0;} break;           //如果計數(shù)小于占空比,輸出為高,否則為低。
         case  1 : if(pwm<zkb){b=1;} else{b=0;} break;           //如果計數(shù)小于占空比,輸出為高,否則為低。
         case  2 : if(pwm<zkb){c=1;} else{c=0;} break;           //如果計數(shù)小于占空比,輸出為高,否則為低。
   }
   }
   if(zhuan==1)                                                                                   //反轉
   {
           switch(num)
   {
         case  0 : if(pwm<zkb){c=1;} else{c=0;} break;          //跟正轉輸出時序相反 。
         case  1 : if(pwm<zkb){b=1;} else{b=0;} break;
         case  2 : if(pwm<zkb){a=1;} else{a=0;} break;
   }
   }
  }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:718536 發(fā)表于 2021-6-18 12:24 | 只看該作者
圖片這個是不同占空比輸出波形圖。

51hei圖片_20210618122036.png (53.56 KB, 下載次數(shù): 75)

100%占空比

100%占空比

51hei圖片_20210618122023.png (51.42 KB, 下載次數(shù): 57)

50%占空比

50%占空比
回復

使用道具 舉報

板凳
ID:718536 發(fā)表于 2021-6-18 12:26 | 只看該作者
A.B.C.三相均采用2104驅動IC驅動功率管。

51hei圖片_20210618122243.png (124.98 KB, 下載次數(shù): 64)

A.B.C.三相方波采用2104驅動

A.B.C.三相方波采用2104驅動
回復

使用道具 舉報

地板
ID:298123 發(fā)表于 2021-6-18 14:12 | 只看該作者
zhuan的變化在哪里?
回復

使用道具 舉報

5#
ID:96682 發(fā)表于 2021-6-18 14:19 來自手機 | 只看該作者
明顯是仿真圖有問題
回復

使用道具 舉報

6#
ID:934353 發(fā)表于 2021-6-18 14:20 | 只看該作者
你的zhuan沒有做過判斷吶,zhuan一直是等于0的,當然不會反轉
回復

使用道具 舉報

7#
ID:56665 發(fā)表于 2021-6-18 14:43 | 只看該作者
無感驅動,這里面怎么沒有看到6步換相動作。
回復

使用道具 舉報

8#
ID:718536 發(fā)表于 2021-6-18 15:23 | 只看該作者
hz_dyg 發(fā)表于 2021-6-18 14:12
zhuan的變化在哪里?

沒有,外部變化沒做。我是在程序里面寫1.但還是正轉,寫0也是正轉。寫1也是正轉。
回復

使用道具 舉報

9#
ID:718536 發(fā)表于 2021-6-18 15:24 | 只看該作者
wc86110 發(fā)表于 2021-6-18 14:19
明顯是仿真圖有問題

仿真圖有啥問題呀.....幫我提個醒咯
回復

使用道具 舉報

10#
ID:718536 發(fā)表于 2021-6-18 15:25 | 只看該作者
開心就好hhhh 發(fā)表于 2021-6-18 14:20
你的zhuan沒有做過判斷吶,zhuan一直是等于0的,當然不會反轉

問題是就算我在程序里把zhuan寫1.仿真出來還是正轉啊
回復

使用道具 舉報

11#
ID:718536 發(fā)表于 2021-6-18 15:26 | 只看該作者
m182892 發(fā)表于 2021-6-18 14:43
無感驅動,這里面怎么沒有看到6步換相動作。

因為我沒分上下橋臂呀。所以直接120度角。三部曲。
回復

使用道具 舉報

12#
ID:56665 發(fā)表于 2021-6-18 16:20 | 只看該作者
suqianfu 發(fā)表于 2021-6-18 15:26
因為我沒分上下橋臂呀。所以直接120度角。三部曲。

位置確定是怎么實現(xiàn)的
回復

使用道具 舉報

13#
ID:718536 發(fā)表于 2021-6-18 17:29 | 只看該作者
m182892 發(fā)表于 2021-6-18 16:20
位置確定是怎么實現(xiàn)的

不接霍爾傳感器。不需要確定位置啊。我的思路是這樣的。因為電機轉子就是一個永磁體。我外部提供一個旋轉磁場就可以了啟動了啊。仿真確實可以啟動的。證明思路沒錯。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表