找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1963|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

為什么這個(gè)15單片機(jī)程序驅(qū)動(dòng)不了無(wú)刷電機(jī)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:388780 發(fā)表于 2018-9-4 19:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)是輸出PWM控制有刷空心杯電機(jī)的程序,我把它用來(lái)?yè)Q成無(wú)刷電機(jī)的就不行了,我用串口改變PWM的值后我用示波器發(fā)現(xiàn)是方波了,為什么無(wú)刷電機(jī)就不轉(zhuǎn)呢
如果要修改的話怎么改

單片機(jī)源程序:
  1. #include "STC15.h"
  2. #include "intrins.h"
  3. #define FOSC 22118400L
  4. #define BaudRate 115200

  5. sbit Motor1 = P3^7;

  6. void Delay(unsigned int t)
  7. {
  8. while(t--)_nop_();  
  9. }
  10. unsigned char PWM=1;
  11. void main(void)
  12. {

  13. //初始化串口1
  14. SCON=0x50;
  15. PCON&=0x3f;
  16. AUXR|=0x15; //0001 0101  置位對(duì)應(yīng)位   
  17. AUXR&=0xf7; //1111 0111  清零對(duì)應(yīng)位
  18. T2L = (0xffff - (FOSC/4/BaudRate));
  19. T2H = (0xffff - (FOSC/4/BaudRate))>>8;
  20. CLK_DIV&=0xef; //xxx0 xxxx    不開(kāi)廣播模式
  21. EA=1;
  22. ES=1;
  23. PS=0;

  24. while(1)
  25. {
  26.   Motor1=1;
  27.   Delay(PWM);
  28.   Motor1=0;
  29.   Delay(50-PWM);
  30. }
  31. }
  32. void Uart1_interrupt()  interrupt 4
  33. {
  34. if(RI)
  35. {
  36.   RI=0;
  37.   PWM=SBUF;
  38. }
  39. }


復(fù)制代碼

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

使用道具 舉報(bào)

沙發(fā)
ID:96682 發(fā)表于 2018-9-4 20:48 | 只看該作者
配件改變了還用原來(lái)的程序或電路可能不妥,要改還是得有根據(jù)才行是不?
回復(fù)

使用道具 舉報(bào)

板凳
ID:384109 發(fā)表于 2018-9-4 21:46 | 只看該作者
無(wú)刷電機(jī)和有刷電機(jī)的驅(qū)動(dòng)原理不一樣,要大改,看看四軸飛行器方面的資料吧,體積大一點(diǎn)的都是用無(wú)刷電機(jī)
回復(fù)

使用道具 舉報(bào)

地板
ID:59980 發(fā)表于 2018-12-5 09:38 | 只看該作者
無(wú)刷電機(jī)程序是要按需要換相才能運(yùn)轉(zhuǎn)起來(lái)的

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表