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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機電動車BLDC控制系統源程序

  [復制鏈接]
跳轉到指定樓層
樓主
給大家分享一個電動車BLDC控制系統程序,采用51內核單片機,下面是該程序的說明:
.5.14
1、增加平均電流保護功能,保護1.8A檢測300ms,平均電流由功率值FOC_POW和母線電壓計算出;
2、增加過流保護3次即不重啟;
3、運放放大倍數改為10倍,采樣電阻0.05R
4、限流4.0A相電流,過流4.0A相電流
5、增加調速曲線上限為0.95,極ADC值為5V*0.95以上時全速


.11.03
在FU6811 HALL FOC 20161102_V2.0_L_SL_O 1743基礎上改
1、剎車效果
2、啟動電壓0.9V
3、啟動力度減弱
4、運行電流10A

轉把:0.9~3.0~3.9
剎車:1.0~3.0~3.9

還需解決問題:
1、空載速度控制不住
2、剎車返充電限壓無效

FU6811 HALL FOC 20160914_V5.0 - 2139 END


單片機源程序如下:
  1. /**************************** (C) COPYRIGHT 2015 Fortiortech shenzhen *****************************
  2. * File Name          : Main.c
  3. * Author             : Fortiortech Appliction Team
  4. * Version            : V1.0
  5. * Date               : 01/07/2015
  6. * Description        : This file contains main function used for Motor Control.
  7. ***************************************************************************************************
  8. * All Rights Reserved
  9. **************************************************************************************************/


  10. /* Includes -------------------------------------------------------------------------------------*/
  11. #include <FU68xx.h>
  12. #include <Myproject.h>
  13. #include <FU68xx_Sys.h>


  14. /* Private typedef ------------------------------------------------------------------------------*/
  15. /* Private define -------------------------------------------------------------------------------*/
  16. /* Private macro --------------------------------------------------------------------------------*/
  17. /* Private variables ----------------------------------------------------------------------------*/
  18. unsigned char code SysTable[] = {0x1a,0x40,0x00,0x00,0x00};


  19. /* Private function prototypes ------------------------------------------------------------------*/
  20. /* Private functions ----------------------------------------------------------------------------*/
  21. void SoftwareInit(void);
  22. void HardwareInit(void);
  23. void MotorControlInit(void);

  24. /*-------------------------------------------------------------------------------------------------
  25.         Function Name :        void main(void)
  26.         Description   :        主函數主要功能是初始化,包括系統初始化,軟件初始化,硬件初始化,主循環
  27.                   掃描。
  28.                   系統初始化--系統時鐘配置,系統電源配置,看門狗配置
  29.                   軟件初始化--初始化所有定義的變量
  30.                   硬件初始化--初始化硬件設備配置
  31.                   主循環掃描--看門狗喂狗,電機控制狀態掃描,調試測試函數
  32.         Input         :        無
  33.   Output                                :        無
  34. -------------------------------------------------------------------------------------------------*/
  35. void main(void)
  36. {
  37.          uint32 PowerUpCnt = 0;

  38.         /*System Init*/
  39.         SystemInit();
  40.         
  41.         /*Wait For Power Up*/
  42.         for(PowerUpCnt=0;PowerUpCnt<SystemPowerUpTime;PowerUpCnt++){};

  43.         /*Software Init*/        
  44.   SoftwareInit();
  45.         
  46.   /*Hardware Init*/        
  47.   HardwareInit();

  48.                
  49.         while(1)
  50.         {
  51.                 if(mcCurOffset.OffsetFlag==0)
  52.                 {
  53.                         /****上電先進行硬件電流基準采集,再進行主控函數掃描***/
  54.                          GetCurrentOffset();
  55.                 }
  56.     else
  57.                 {
  58.                         /****主控函數,狀態掃描****/
  59.                         MC_Control();                                       
  60.                
  61.                         //串口處理
  62. //                UARTScanControl();
  63.                         
  64.                         /****工作電壓,功率,電流計算,運算時間1.104ms*****/
  65.                 //        EleParCal();
  66.                 }
  67.         }
  68. }


  69. /*-------------------------------------------------------------------------------------------------
  70.         Function Name :        void SoftwareInit(void)
  71.         Description   :        軟件初始化,初始化所有定義變量,按鍵初始化掃描
  72.         Input         :        無
  73.   Output                                :        無
  74. -------------------------------------------------------------------------------------------------*/
  75. void SoftwareInit(void)
  76. {
  77.         static uint8 CWCCWCnt = 0;
  78. /****初始化所有定義的參數變量****/
  79.         MotorcontrolInit();         
  80.         
  81.   /****功能IO初始化***********/
  82.         GPIO_Init();        
  83.         
  84.          UARTScanInit();
  85.         
  86.         mcFRState.FlagFR = 0;
  87.         
  88.         
  89. //         //旋轉方向確定
  90. //                 if(!GP37)
  91. //                 {
  92. //                         if(CWCCWCnt < 10)
  93. //                         {
  94. //                                 CWCCWCnt ++;
  95. //                         }
  96. //                         if(CWCCWCnt >= 10)
  97. //                         {
  98. //                                 CWCCWCnt = 10;
  99. //                                 mcFRState.FR        = CCW;
  100. //                         }
  101. //                 }
  102. //                 else
  103. //                 {
  104. //                         if(CWCCWCnt > 0)
  105. //                         {
  106. //                                 CWCCWCnt --;
  107. //                         }
  108. //                         if(CWCCWCnt <= 0)
  109. //                         {
  110. //                                 CWCCWCnt = 0;
  111. //                                 mcFRState.FR        = CW;
  112. //                         }
  113. //                 }
  114. //         
  115.                   mcFRState.FR        = CW;
  116.                  mcHall.FRStatus = mcFRState.FR;
  117.                  mcFRState.TargetFR = mcFRState.FR;

  118.         //電機開/關機狀態確定
  119.         mcFocCtrl.MotorONOFFStatus = 0;
  120. //         mcFocCtrl.MotorONOFFRunawayProtect = 0;    //上電防飛車保護
  121.         mcFocCtrl.MotorOFFTimes            = 0;
  122.         
  123.         mcHall.FailStatus                 = 0;        //故障標識
  124.         mcHall.ContorllerstateTwo         = 0;        //控制器狀態2
  125.         
  126.         mcFocCtrl.mcCruiseControlQuit     = 0;
  127.         
  128.         if(mcFocCtrl.MotorONOFFStatus)
  129.         {
  130. //                 if(mcState != mcInit)
  131. //                  {
  132.                         mcState                         = mcInit;
  133. //                  }
  134. //                 else
  135. //                 {
  136. //                        
  137. //                         mcState                         = mcRun;
  138. //                         mcFocCtrl.mcIqref = IQ_RUN_MIN_CURRENT;
  139. //                         FOC_IQREF = mcFocCtrl.mcIqref;        
  140. //                         PI_UK        =        mcFocCtrl.mcIqref;
  141. //                 }
  142.         }
  143.         else
  144.         {
  145.                 mcState                         = mcStop;
  146.         }
  147.         
  148.         //錯誤標識清除
  149.         mcFaultSource = FaultNoSource;
  150.         
  151.         //PWM變量初始化
  152.         PWMIN_Init();
  153. }

  154. /*-------------------------------------------------------------------------------------------------
  155.         Function Name :        void HardwareInit(void)
  156.         Description   :        硬件初始化,初始化需要使用的硬件設備配置,FOC必須配置的是運放電壓、運放初始化、ADC初始化、Driver初始化
  157.                   TIM4初始化,其他的可根據實際需求加。
  158.         Input         :        無
  159.   Output                                :        無
  160. -------------------------------------------------------------------------------------------------*/
  161. void HardwareInit(void)
  162. {
  163. //         uint8 CWCCWCnt = 0;

  164.         /*****外部中斷初始化,用于外部中斷硬件過流FO的保護*********/
  165.           //EXTI_Init();        
  166.         
  167.         /*****SPI初始化,此處注意與FOC的SPI的區別*********/        
  168. //                 SPI_Init();               
  169.         
  170. //        /******比較器初始化,用于硬件過流比較保護,外部硬件過流FO和硬件過流比較保護兩者選其一即可******/
  171.           CMP_Iint();        
  172.         
  173.         /*****運算放大器初始化*********/
  174.           AMP_VHALF_Init();                                                                                                                                                                // 運放電壓偏置選擇
  175.         
  176.           AMP_Iint();                                             // 運放管腳初始化
  177.         
  178.         /*****ADC初始化*********/
  179.            ADC_Init();        
  180.         
  181.         /****UART_Init********/
  182. //           UART_Init();
  183.         

  184. //                 UARTScanControl();
  185.         
  186.         /*****SVPWM初始化*********/
  187.                 //SVPWM_Init();        

  188.         /*****MDU初始化*********/
  189.                 MDU_16MUL16_INT(15,1);                                             //右移15位 ,有符號乘法                 
  190.         
  191.         /*****Driver初始化*********/
  192.           Driver_Init();
  193.         
  194.         /*****Timer初始化,采用定時器4中斷作為常見中斷,時間為1ms,處理故障保護等附加功能
  195.         采用定時器3作為PWM信號發生器的輸入捕獲********/
  196.                 //TIM0_Init();
  197.            //TIM2_FREQ_Init();
  198.                 TIM3_Init();
  199.           TIM4_Init();
  200.                 TIM5_Init();
  201.                
  202. }
復制代碼

所有資料51hei提供下載:
FU6811 HALL FOC 20160914_V5.0 - 2139 END.rar (1.36 MB, 下載次數: 202)




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1 發表于 2017-10-11 03:01 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:101808 發表于 2017-10-11 10:26 | 只看該作者
只要下載了,就必須給樓主支持!
回復

使用道具 舉報

地板
ID:383903 發表于 2018-8-7 17:28 | 只看該作者
想要下載,支持!
回復

使用道具 舉報

5#
ID:57896 發表于 2018-8-7 18:05 | 只看該作者
沒電路圖啊,資料是好資料,沒電路圖=0
回復

使用道具 舉報

6#
ID:407899 發表于 2018-10-12 17:02 | 只看該作者
正用FU6811,好想下載啊,先支持,加油
回復

使用道具 舉報

7#
ID:238315 發表于 2018-10-22 16:48 | 只看該作者
多年不來了..........
回復

使用道具 舉報

8#
ID:104732 發表于 2018-12-20 15:22 | 只看該作者
正在用FU6811,不知道大伙有沒有用到FLASH來做EEPROM用的,來保存數據?
回復

使用道具 舉報

9#
ID:560202 發表于 2019-6-25 09:03 | 只看該作者
有關BLDC控制的資料,真不錯,一直在找著方面的資料,謝謝了
回復

使用道具 舉報

10#
ID:324611 發表于 2019-9-18 14:41 | 只看該作者
好東西,學習了。
回復

使用道具 舉報

11#
ID:336378 發表于 2019-11-15 09:53 | 只看該作者
好資料,51黑有你更精采。
回復

使用道具 舉報

12#
ID:33848 發表于 2021-4-13 08:29 | 只看該作者
好像少了恒速控制
回復

使用道具 舉報

13#
ID:135281 發表于 2021-9-2 16:16 | 只看該作者
FU6812就更好了
回復

使用道具 舉報

14#
ID:1071670 發表于 2023-4-18 13:21 | 只看該作者

好資料,51黑有你更精采。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合色综合 | 91文字幕巨乱亚洲香蕉 | 宅男噜噜噜66一区二区 | 国产精品久久久久久久免费大片 | 久久久久久一区 | 亚洲美女视频 | 日韩欧美精品一区 | 精品一二区 | 欧美视频三区 | 国产91av视频| 久久精品色欧美aⅴ一区二区 | 六月成人网 | 日韩欧美一区二区三区四区 | 青春草91 | 国产一区2区 | www.亚洲一区 | 97伊人 | 午夜黄色| 欧美一区二区三区在线 | 欧美日韩精品久久久免费观看 | 成人一区二 | 久久精品视频9 | 国产资源网 | 久久亚洲精品视频 | 亚洲国产成人精品女人 | 久久久久久综合 | 99精品欧美一区二区蜜桃免费 | 亚洲视频一区在线观看 | 国产一级免费在线观看 | 欧美日韩看片 | 一区二区三区中文字幕 | 五月婷婷色| 狠狠天天| 成年人黄色小视频 | 天天综合网天天综合 | 亚洲第一av | 日韩精品一区二区三区中文字幕 | 亚洲免费婷婷 | 欧美一级免费片 | 精品久久久久久亚洲精品 | 偷拍自拍网站 |