当前位置: 首页 > news >正文

无刷电机控制 - 基于STM32F405+CubeMX+HAL库+SimpleFOC04,完成霍尔传感器的驱动代码

导言


在这里插入图片描述
如上所示,本次实验使用中空三相无刷电机 + STM32F405的FOC电机控制板。

RTT Viewer

在这里插入图片描述
在这里插入图片描述
项目地址:

  • Gitee (国内): https://gitee.com/wallace89/MCU_Develop/tree/main/simplefoc17_stm32f405_hall_sensor
  • GitHub: https://github.com/q164129345/MCU_Develop/tree/main/simplefoc17_stm32f405_hall_sensor

一、电路分析


在这里插入图片描述
如上所示:

  • PB4是M0_ENC_A(连接霍尔传感器的A)
  • PB5是M0_ENC_B(连接霍尔传感器的B)
  • PC9是M0_ENC_Z(连接霍尔传感器的C)
  • 3.3V接霍尔传感器的+极
  • GND接霍尔传感器的-极
    在这里插入图片描述

二、CubeMX


2.1、GPIO

在这里插入图片描述

2.2、NVIC

在这里插入图片描述
至此,霍尔传感器的GPIO口配置完毕。

三、移植simpleFOC的HallSensor代码


在这里插入图片描述
在这里插入图片描述

四、代码


从simpleFOC移植过来的代码没办法直接使用,根本原因是平台的接口不一样。在硬件层上的接口要从Arduino改为STM32的HAL库。

如果后续想改为LL库的话,用LL库的接口替换掉HAL库的接口。另外值得注意的是,HAL库在中断里自动帮我们清除了中断标志,但是LL库的中断回调的话,我们得自己清除中断标志位。

4.1、HallSensor.h

在这里插入图片描述
在这里插入图片描述

4.2、HallSensor.cpp

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3、user_main.cpp

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4、stm32f4xx_it.c

在这里插入图片描述

五、调试


5.1、编译代码

在这里插入图片描述

5.2、RTT

在这里插入图片描述

http://www.dtcms.com/a/286335.html

相关文章:

  • @Scheduled的作用分析
  • 赛道观察:AI智能自习室哪家强?深挖深度逻辑与价值锚点
  • 链表算法之【链表的中间节点】
  • 【CMake】CMake 项目打包与 find_package 使用流程:从 A 到 B 的完整范例
  • 基于MATLAB的朴素贝叶斯NB的数据分类预测方法应用
  • 一种新颖的可解释人工智能框架,用于整合统计、视觉和基于规则的方法进行医学图像分类|文献速递-医学影像算法文献分享
  • Flutter ScaffoldMessenger 详细介绍
  • P1205 [USACO1.2] 方块转换 Transformations
  • 《通信原理》学习笔记——第四章
  • 【论文阅读】BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework
  • Redis——BigKey
  • Radix-4 Booth乘法器计算步骤
  • 【AI论文】CLiFT:面向计算高效与自适应神经渲染的压缩光场标记
  • vue2 面试题及详细答案150道(41 - 60)
  • Node.js链接MySql
  • Vue常见指令
  • Java大厂面试实录:从Spring Boot到AI微服务架构的深度解析
  • 深度学习零基础入门(3)-图像与神经网络
  • UE5 一些关于过场动画sequencer,轨道track的一些Python操作
  • 力扣347:前K个高频元素
  • 科技照亮童心|激光院与跳伞塔社区开展公益活动
  • Day24| 93.复原IP地址、78.子集、90.子集II
  • NIO简单介绍和运用
  • MySQL计数函数count原理分析
  • 深入理解Linux文件I/O:系统调用与标志位应用
  • 区块链加密技术全景解析
  • 高效VLP蛋白表达|病毒样颗粒生产|疫苗研发平台
  • 【无标题】标准模型粒子行为与11维拓扑量子色动力学模型严格对应的全面论述
  • 文献分享0719
  • MyBatis:配置文件完成增删改查_添加