找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5057|回復: 3
打印 上一主題 下一主題
收起左側(cè)

分享STM8s903單片機無刷電機無感控制器開發(fā)程序

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:184978 發(fā)表于 2020-12-24 11:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本電機DEMO板的IO口是作了重映射的,在使用本程序前務必在STVP先修改配置
tools--->programmer

1.    Settings頁面中選STLINK
2.
在彈出的窗口中選擇”O(jiān)PPTION BYTE”
在AFR1-0中點右鍵選第二項。再重新編譯下載

如下圖圈中所示:

3. Progarm頁面點START

定時器重映射配置在OPTION選項里進行配置

啟動延時時間生成計算表:


單片機源程序如下:
  1. /* MAIN.C file
  2. * GPIO: 40%占空比輸出換相
  3.     ,控制電機轉(zhuǎn)動,開環(huán),上電運行,無傳感方案
  4.                
  5.                 PB5,6,7為硬件比較輸入端,延時換向準確
  6.                 缺點:啟動第二階段與反電勢控制電機轉(zhuǎn)動的銜接不好,出現(xiàn)一頓的問題
  7.                
  8.    Author: Cache.Lee  from UET
  9. * Copyright (c) UET
  10. */
  11. #include "stm8s_lib.h"
  12. #include "functions.h"

  13. #include "mc_dev_clk.h"
  14. #include "mc_vtimer.h"
  15. #include "mc_dev_vtimer.h"
  16. #include "MC_HALL.H"
  17. #include "MC_dev_port.h"
  18. #include "MC_stm8s_port_param.h"
  19. #include "mc_stm8s_hall_param.h"


  20. void fun(void)
  21. {
  22.   // GPIO_WriteReverse(GPIOD,GPIO_PIN_7);
  23.          vtimer_SetTimer(VTIM0,5000,fun);
  24. }

  25. main()
  26. {
  27.           u16 i;
  28.                                 
  29.                                 
  30.                 for(i=0;i<50000;i++);
  31.     dev_clkInit();        
  32.                 for(i=0;i<50000;i++);
  33.                 InitLed_GPIO();  //LED燈初始化
  34.                 dev_portInit();//PWMio初始化
  35.                 dev_vtimerInit(); //TIM5軟件定時器配置
  36.                 vtimer_SetTimer(VTIM0,5000,fun);               
  37.                
  38.         /*        #ifdef HALLTEST_TIMER
  39.                 Init_HallBaseTimer();//HALL 時鐘相關配置        
  40.                 Init_TIM1();        
  41.                 HallTimer_InitCapturePolarity();//HALL 捕獲配置
  42.                 #else
  43.     EXTI_HALL_Init();
  44.                 Init_TIM1();
  45.     HallEXTI_Init();
  46.     #endif                */
  47.                
  48.                 Init_TIM1();
  49.                
  50.         //        vtimer_SetTimer(VTIM1,50,PWMinc);               
  51.                  vtimer_SetTimer(VTIM2,50,StartSensorless);        
  52.           while (1);
  53. }
復制代碼

所有資料51hei提供下載:
stm8s903無刷電機無感控制器開發(fā)程序,適合初學者學習.7z (1010.99 KB, 下載次數(shù): 148)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:371439 發(fā)表于 2021-11-26 15:48 | 只看該作者
謝謝  樓主的分享  我學習學習
回復

使用道具 舉報

板凳
ID:194006 發(fā)表于 2021-12-1 07:44 來自觸屏版 | 只看該作者
謝謝分享。如果有配套的原理圖就更好理解了
回復

使用道具 舉報

地板
ID:72951 發(fā)表于 2023-2-22 19:18 | 只看該作者
不錯不錯,學習!STM8便宜又好用。
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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