久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51 MCU,BLDC有感無感全開源,輕松實踐直流無刷電機控制(程序+電路詳解) [打印本頁]

作者: 51mcu003    時間: 2019-1-24 08:59
標題: 51 MCU,BLDC有感無感全開源,輕松實踐直流無刷電機控制(程序+電路詳解)
上封帖子介紹了51單片機,JMT18F003PLUS,提供了芯片例程和資料,鏈接如下:

JMT18F003PLUS單片機芯片手冊,例程等資料下載
http://m.zg4o1577.cn/bbs/dpj-148985-1.html
(出處: 51hei)

這里把這款芯片用于直流無刷電機控制的demo程序,有感和無感源代碼,一并開源,希望對學習者有幫助。

BLDC demo板是這樣的:





芯片資料,bldc控制板簡要說明,原理圖,有感和無感的開源軟件等等,請點擊下載:

JMT18F003 PLUS BLDC DEMO 板應用筆記
1. 簡介
本應用筆記討論了使用 JMT18F003 PLUS 控制芯片對無刷直流電機(Brushless Direct Current Motor,  BLDC)進行方波算法的控制。
2.  JMT18F003 PLUS 芯片特點
  8位MCU,兼容 MCS51指令集;
  內核運行最高頻率 24.576MHz;
  8K字節Flash、1K字節外部 RAM、128 字節內部RAM;
  2個高性能 16位 PWM 模塊,最高運行頻率 73.728MHz,其中 PWM0支持3路互補加 1路獨立PWM, PWM1支持 1路互補PWM;
  1 個 12 通道的 10 位 ADC、1 個可編程運算放大器(4 組差分輸入) 、1個模擬比較器(4組可切換) 、3個 Timer、1個蜂鳴器輸出;
  通信接口:SPI總線、 I2C總線、 UART總線接口;
  支持 JTAG 調試。

3. 電機開發板使用說明
3.1 電機板如下圖 1 所示,包括以下資源:
  控制芯片:JMT18F003 PLUS芯片;
  24V-DC電源接口:為電機板提供24V直流電;
  電機U/V/W 接口:連接電機的3根控制線;
  電機霍爾接口:連接電機霍爾信號的五根控制線,從左至右依次為: HC、HB、HA、VDD、GND;
  串口:用于程序下載和打印調試信息;
  滑阻:通過改變滑阻的大小,實現對電機轉速的控制;
  采樣電阻:0.05歐;
  排針J5、J6、J7:通過跳線帽選擇電機運行方式為無感或有感;
  按鍵S1、S2:用戶自定義。

3.2 電機板使用注意點
  由于下載串口的 RX管腳與滑阻管腳復用,在使用的時候只能二選一;
  電機控制方式選擇如圖 2 所示,排針 J5、J6、J7 按圖 2 左邊方式短接則表示選擇的電機控制方式為無感控制方式,按圖 2右邊方式短接則表示選擇的電機控制方式為有感控制方式。

JMT18F003 PLUS BLDC DEMO板原理圖如下:


4.1JMT18F003 PLUS主控芯片電路如下圖所示


4.2 供電模塊電路
電壓為24V供電,經過如下電路轉為5V 電壓,給芯片供電。


4.3 PWM MOS 管及驅動電路


4.4 電機反電動勢采樣電路


4.5 電機霍爾信號輸入電路



4.6 電流采樣電路
電機板默認采用內部放大電路對電流進行 AD采樣。



5. 軟件參數設置
電機控制方式選擇 SENSORMODE、極對數 POLE_PAIRS、轉速范圍、電壓保護
參數、電流保護參數等參數都位于MotorPara.h文件中。示例如下圖所示。



電機控制方式選擇SENSORMODE選擇為0時,表示選擇無感控制電機的方式,主板需要按圖 2 左邊的排針接法連接;SENSORMODE 選擇為 1 時,表示選擇有感控制電機的方式,主板需要按圖2右邊的排針接法連接。

注意:
1、除 PWM 外的其他模塊的時鐘由片內 24.576MHz(由片內 73.728MHz 高頻振蕩器產生的時鐘經過 3 分頻得到)或外部晶振(最高 24MHz)或片內低頻振蕩器產生的32.768KHz 時鐘提供
2、由于滑阻VSP與RXD共用引腳,故調速是RXD不可接串口
3、UVW:紅黃黑    HCHBHA:黃白藍    HUHVHW:CW-326451;CCW-623154

單片機源程序如下:
  1. #include "main.h"

  2. /*****************************************************************************
  3. 函 數 名  : main
  4. 功能描述  : 主函數
  5. 輸入參數  : 無
  6. 輸出參數  : void
  7. *****************************************************************************/
  8. void main()
  9. {               
  10.         StartParaInit();
  11.         
  12.         WDT_Init();
  13.         Crpm_Init();
  14.         Port_Init();
  15.         UART_Init();
  16.         
  17.         Interrupt_Init();
  18.         
  19.         ADC_Init();

  20.         CMP_Init();
  21.         
  22.         Pss("V0.1", NONE);

  23.         PWM_Init();
  24.         
  25.         #if(SENSORMODE)
  26.         PWM1_Init();
  27.         #else
  28.         Timer0_Init();
  29.         #endif

  30.         while(1)
  31.         {
  32.                 switch(MasterState)
  33.                 {
  34.                         case Startup:
  35.                                 Ps("Start", NONE);
  36.                                        
  37.                                 Fault_InitOverUnderVoltage();        // 電源電壓判斷
  38.                                 
  39.                                 UserSpeedControlInit();        //滑阻判斷

  40.                                 MasterState = Operation;
  41.                                 mcState = mcInit;
  42.                                 break;
  43.                                 
  44.                         case Operation:
  45.                                 MotorControl();
  46.                                 
  47.                                 if(ADCIntProtectCnt >= 5)        // 250us
  48.                                 {                                       
  49.                                         Fault_OverCurrent();
  50.                
  51.                                         Fault_OverUnderVoltage();

  52.                                         UserSpeedControl();
  53.                                 
  54.                                         ADCIntProtectCnt = 0;                                
  55.                                 }
  56.                                 break;
  57.                                 
  58.                         default:
  59.                                 MotorStop();
  60.                                 break;
  61.                 }
  62.         }
  63. }
復制代碼
  1. #include "common.h"

  2. MasterState_T MasterState;
  3. MotorState_T mcState;

  4. volatile u8 xdata Phase = 0;        // 相位
  5. volatile u8 xdata NextPhase = 0;

  6. volatile u8 xdata MotorRotation = CW;        // 電機轉動方向        

  7. volatile u8 xdata TuneDutyRatioCnt = 0;        // 調整轉速占空比的周期計數

  8. volatile u16 xdata PWMDutyCycle = 0;        // PWM占空比

  9. volatile u16 xdata CurrentPgaSample = 0;
  10. volatile u16 xdata CurrentSample = 0;        // 電流采樣值
  11. volatile u16 xdata VoltageSample = 0;        // 電壓采樣值
  12. volatile u16 xdata UserSpeedSample = 0;        // 用戶調速采樣值

  13. volatile u8 xdata ADCIntProtectCnt = 0;        // ADC中斷計數保護
  14. volatile u8 xdata flag_ADCSample = 0;        // AD采樣時的通道切換標志

  15. volatile u8 xdata flag_ErrorException = 0;        // BIT0:Timer2計數超時        BIT1:比較器中斷異常        BIT2:長短波啟動超時        BIT3:長短波電流采樣過流        BIT4:ADC采樣換相異常        BIT5:CMP換相異常

  16. volatile u8 xdata LastPhase = 0;
  17. volatile u8 xdata SamePhaseCnt = 0;

  18. // 電轉速60度時間
  19. volatile bit flag_SpeedTime = 0;        
  20. volatile u8 xdata SpeedTimeCnt = 0;        
  21. volatile u16 xdata SpeedTime = 0;
  22. volatile u16 xdata SpeedTimeTemp = 0;
  23. volatile u32 xdata SpeedTimeSum = 0;

  24. volatile u16 xdata MotorSpeed = 0;
  25. volatile u16 xdata UserRequireSpeed = 0;        // 用戶請求轉速

  26. volatile u8 xdata RheostatCnt = 0;        // 調速信號

  27. // 保護計數
  28. volatile u8 xdata VoltageProCnt = 0;
  29. volatile u8 xdata CurrentPgaProCnt = 0;
  30. volatile u8 xdata CurrentProCnt = 0;

  31. #if(SENSORMODE)
  32. volatile u8 xdata NowHallState = 0;        // HALL當前位置
  33. volatile u8 xdata PreHallState = 0;        // 前次HALL位置

  34. volatile bit flag_HallStateRight = 0;

  35. volatile u16 xdata OverflowCnt = 0;        // PWM1捕獲上溢中斷計數
  36. #else
  37. volatile u16 xdata NeutralPoint = 0;
  38. volatile u16 xdata UBemf = 0;
  39. volatile u16 xdata VBemf = 0;
  40. volatile u16 xdata WBemf = 0;

  41. volatile u8 xdata BlankingCnt = 0;
  42. volatile u8 xdata CheckZeroCrossState = 0;

  43. volatile u8 xdata Timer0OutCnt = 0;        // 換相超時

  44. volatile u16 xdata ADCTimeCnt = 0;        // ADC中斷計數
  45. volatile u16 xdata DragTime = 0;
  46. #endif

  47. /*****************************************************************************
  48. 函 數 名  : Common_Init
  49. 功能描述  : 全局變量初始化
  50. 輸入參數  : 無
  51. 輸出參數  : void
  52. *****************************************************************************/
  53. void Common_Init()
  54. {
  55.         Phase = 0;
  56.         NextPhase = 0;
  57.                
  58.         TuneDutyRatioCnt = 0;
  59.         
  60.         PWMDutyCycle = PWM_DUTYCYCLE_05;

  61.         CurrentPgaSample = 0;
  62.         CurrentSample = 0;        // 電流采樣值
  63.         VoltageSample = 0;        // 電壓采樣值
  64.         UserSpeedSample = 0;

  65.         ADCIntProtectCnt = 0;
  66.         flag_ADCSample = 0;

  67.         flag_ErrorException = 0;
  68.         
  69.         LastPhase = 0;
  70.         SamePhaseCnt = 0;

  71.         flag_SpeedTime = 0;        
  72.         SpeedTimeCnt = 0;        
  73.         SpeedTime = 0;
  74.         SpeedTimeTemp = 0;
  75.         SpeedTimeSum = 0;

  76.         MotorSpeed = 0;
  77.         UserRequireSpeed = 0;        // 用戶請求轉速

  78.         RheostatCnt = 0;

  79.         VoltageProCnt = 0;
  80.         CurrentPgaProCnt = 0;
  81.         CurrentProCnt = 0;

  82.         #if(SENSORMODE)
  83.         NowHallState = 0;
  84.         PreHallState = 0;

  85.         flag_HallStateRight = 0;

  86. ……………………

  87. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼





所有資料51hei提供下載:
JMT18F003 BLDC資料.rar (6.03 MB, 下載次數: 1262)



作者: admin    時間: 2019-1-24 18:53
好資料,51黑有你更精彩!!!
作者: 51mcu003    時間: 2019-1-25 08:55
admin 發表于 2019-1-24 18:53
好資料,51黑有你更精彩!!!

謝謝!

希望這些內容對了解BLDC控制和51單片機愛好者有所幫助。
作者: HappyColt    時間: 2019-2-12 17:55
加個qq好友有些問題向你請教一下:1252574935
作者: GUOXUAN    時間: 2019-2-18 14:55
感謝您分亨資料,請問老師如何購買套件呢?
作者: lcclzy    時間: 2019-2-28 19:40
這個芯片在哪有賣,性價比怎么樣
作者: linkappa    時間: 2019-3-1 13:04
謝謝分享,學習。。
作者: huihuangzeng    時間: 2019-6-15 11:21

好資料,51黑有你更精彩!!!
作者: lsyswh    時間: 2019-6-28 19:06
感謝分享!
作者: zhaijiwei123    時間: 2019-8-1 09:39
非常感謝
作者: jokeyli    時間: 2019-8-14 15:36
可以借鑒,多謝了
作者: xilinxue842    時間: 2019-8-26 08:10
好資料
作者: vkman    時間: 2019-8-27 10:35
好東西,感謝樓主分享
作者: 這一生只為你    時間: 2019-8-28 08:44
感謝樓主分享~
作者: shenyuqiu    時間: 2019-8-28 10:09
好資料,感謝樓主分享
作者: yoqsh    時間: 2019-8-31 14:51
學習一下,好久沒有登錄了。。。。
作者: mcu_mpu    時間: 2019-9-18 14:32
高手,學習了。
作者: yun1981    時間: 2019-9-25 17:17
無感是通過AD采集,計算過零點嗎?
作者: wugw    時間: 2019-11-1 09:03
非常有用,謝謝樓主
作者: cba_cba    時間: 2019-11-15 09:59


非常有用,謝謝樓主 ,正在做這方面產品,
作者: jiajia86    時間: 2019-11-18 15:06
謝謝分享。
作者: 380088312    時間: 2019-11-29 16:30
感謝分享
作者: cdiyy    時間: 2019-11-30 09:34
感謝了,非常好的資料,學習了
作者: wudonghua    時間: 2019-12-3 15:38
感謝分享。!
作者: lonecheat    時間: 2019-12-10 15:49
很全面了,看了幾天代碼,代碼中檢測 到過零后直接換相了,反電動勢好像要延遲30電角度換相吧?想請教一下樓主是怎么處理延遲30度電角度的呢?
作者: 1213567    時間: 2019-12-21 14:43
代碼實際測試過沒
作者: pascal116    時間: 2020-2-21 17:21
感謝您分亨資料,請問可否購買相關資料
作者: shenyuqiu    時間: 2020-3-2 18:16
請問這款單機片能驅動十萬轉的無感無刷電機嗎
作者: motor_driver    時間: 2020-3-4 12:55
學習了
作者: daqng    時間: 2020-3-17 16:11
好資料,51黑有你更精彩!!!
作者: petertang    時間: 2020-4-9 18:40
可以參考。謝謝。
作者: chaochao980704    時間: 2020-4-23 13:25
請問下樓主或是其他熱心網友,這個代碼Atmel的51單片機也能通用嗎?
作者: lubinltb123    時間: 2020-5-28 16:27
好資料,51黑有你更精彩!!!
作者: swustlx86    時間: 2020-6-1 01:56
好資料,51黑有你更精彩!!!
作者: shooly    時間: 2020-6-3 10:28
很好的資料,學習了
作者: nhwhg    時間: 2020-6-5 19:58
謝謝分享,學習k中。。
作者: 霸氣范    時間: 2020-6-12 23:10
學習,最近想做高壓無刷電調
作者: ZHSHRONG    時間: 2020-6-22 19:32
剛剛在了解直流電機的驅動。好資料,51黑有你更精彩!!!
作者: wenyuyun    時間: 2020-6-28 16:57
無感檢測和30度的相位差補償這一塊的實現上,一直有問題。

作者: Jeff_BlindCat    時間: 2020-7-9 07:43
謝謝樓主指導,俺又進步一點了。
電路齊全一目然,
耐心講解明根源,
差分信號勤補拙,
有感無感都能轉。
作者: 平凡的1769    時間: 2020-7-16 10:15
學習了,感謝樓主分享,支持國產芯片
作者: 歐邁加    時間: 2020-7-21 13:44
學習學習,這啟動是怎么做的?
作者: waterbaby2011    時間: 2020-7-22 21:10
好定西,支持國產
作者: waterbaby2011    時間: 2020-8-5 17:45
代碼經過實際測試了么
作者: waterbaby2011    時間: 2020-8-6 16:07
下載器用什么?
作者: fqc168    時間: 2020-9-26 10:52
正準備搞一個來玩玩,將山地車改成電動車,方便上下班,純軟件驅動不知道效果如何
作者: A星貓    時間: 2020-11-9 08:47
感謝作者的分享太全了,對我很有幫助,感謝作者。
作者: terrygame122    時間: 2020-11-20 00:41
好呀!正想學習呢?感謝!
作者: 紫色的云    時間: 2020-11-20 08:45
謝謝樓主的資料,最近正在找電機方面的資料學習
作者: sawyer-shao    時間: 2021-1-1 12:00
請教樓主一個問題,如何做只有2個線圈的BLDC驅動?
作者: chjchj816    時間: 2021-1-2 16:58
我也來學習一下別人的經驗
作者: 云游天    時間: 2021-1-20 22:23
聯系一下這個廠家,,,合作一下
作者: aktuan007    時間: 2021-1-24 16:00
這個是τ 寶上的?
作者: xql2008    時間: 2021-5-5 20:37
謝謝!收下了,不知道現在這個芯片能供貨不?
作者: yf654987    時間: 2021-5-13 20:55
好東西。。。!第一次見這個東西!
作者: 電科小卒    時間: 2021-5-17 22:51
什么,請問分享的在哪?

作者: rdhenry    時間: 2021-10-12 16:43
想搞個玩玩,沒貨!
作者: meijiayuan    時間: 2021-11-5 13:13
帶FOC嗎
作者: weiwu1008    時間: 2021-12-6 20:29
貌視少了強拖函數
作者: 南山    時間: 2022-3-29 13:28
有沒有印制板圖

作者: 剛來51黑的小巷    時間: 2024-3-26 09:09
想要,真好在學習8位 的

作者: engcyh    時間: 2024-3-26 18:11
請問樓主,單片機程序怎么下載,需不需要專用下載器,另外編程軟件兼容keil嗎?

作者: 18689719961    時間: 2024-3-26 19:43
我有一塊這樣的驅動板,用他配套的USB串口工具和上位機不能燒錄,不知道什么原因。
作者: 18689719961    時間: 2024-3-26 19:45
engcyh 發表于 2024-3-26 18:11
請問樓主,單片機程序怎么下載,需不需要專用下載器,另外編程軟件兼容keil嗎?

有他們專用的USB串口工具還有ISP上位機。
作者: aigo13428149596    時間: 2024-4-6 00:46
我也想做一個
作者: aigo13428149596    時間: 2024-4-6 13:40

想要,剛好在學習8位 的
作者: wkman    時間: 2024-4-8 09:49
當年搞過一陣JMT的,不過客戶沒下文,也就沒有后續了
作者: xujibicool    時間: 2024-4-10 19:08
好資料,51黑有你更精彩!!!
作者: 1123551003    時間: 2024-10-8 15:15

很有用,可以學習學習,謝謝啦。。。
作者: yanggo    時間: 2024-11-14 16:49
這資料厲害了!感謝分享呀,最近在學習電機方面的知識。
作者: wthdyfg    時間: 2024-11-25 15:12
樓主有沒有為什么需要設定極對數。這些資料可以看下的。




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品9999 | 国产精品久久久久久久久大全 | 日韩成人高清 | 视频一区中文字幕 | av午夜激情 | 无毛av| 日日摸夜夜添夜夜添精品视频 | 久久久久亚洲精品 | 成人免费看电影 | 黄色三级毛片 | 国产精品视频yy9299一区 | 国产精品国产精品国产专区不片 | 欧美激情免费在线 | 久久av一区二区三区 | 成人黄色a | 九九热在线精品视频 | 久久国产精品一区 | 水蜜桃亚洲一二三四在线 | 噜噜噜色网 | 日韩成人免费视频 | 99av成人精品国语自产拍 | 性生生活大片免费看视频 | 亚州综合在线 | 91电影院 | 国产亚洲精品美女久久久久久久久久 | 国产中文字幕在线观看 | 国产一区二区三区四 | 国产 日韩 欧美 在线 | 亚洲午夜精品视频 | 成年人免费在线视频 | 在线观看不卡av | 午夜影院在线观看 | 久热国产精品视频 | 狠狠视频 | www.久| 天天综合操 | 日韩中文字幕 | 综合久久av| 亚洲视频在线观看免费 | 成人在线视频免费看 | 亚洲 自拍 另类 欧美 丝袜 |