找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3794|回复: 3
打印 上一主题 下一主题
收起左侧

分享STM8s903单片机无刷电机无感控制器开发程序

  [复制链接]
跳转到指定楼层
楼主
本电机DEMO板的IO口是作了重映射的,在使用本程序前务必在STVP先修改配置
tools--->programmer

1.    Settings页面中选STLINK
2.
在弹出的窗口中选择”OPPTION BYTE”
在AFR1-0中点右键选第二项。再重新编译下载

如下图圈中所示:

3. Progarm页面点START

定时器重映射配置在OPTION选项里进行配置

启动延时时间生成计算表:


单片机源程序如下:
  1. /* MAIN.C file
  2. * GPIO: 40%占空比输出换相
  3.     ,控制电机转动,开环,上电运行,无传感方案
  4.                
  5.                 PB5,6,7为硬件比较输入端,延时换向准确
  6.                 缺点:启动第二阶段与反电势控制电机转动的衔接不好,出现一顿的问题
  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无刷电机无感控制器开发程序,适合初学者学习.7z (1010.99 KB, 下载次数: 146)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:371439 发表于 2021-11-26 15:48 | 只看该作者
谢谢  楼主的分享  我学习学习
回复

使用道具 举报

板凳
ID:194006 发表于 2021-12-1 07:44 来自手机 | 只看该作者
谢谢分享。如果有配套的原理图就更好理解了
回复

使用道具 举报

地板
ID:72951 发表于 2023-2-22 19:18 | 只看该作者
不错不错,学习!STM8便宜又好用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表