搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

这篇具有很好参考价值的文章主要介绍了搭建stm32电机控制代码框架(一)——Stm32CubeMx入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

任务是基于stm32f405芯片进行展开,应用的软件是keil5和STM32CubeMx,这两个软件环境目前是已经安装好了,现在就可以开始展开工作了,这系列博客零散的记录任务完成的过程,作为一个笔记方便后续回顾。

任务(一):用CubeMx控制一个引脚的高低电平

第一步:在CubeMx中导入stm32f405芯片,进入如下界面,

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 进入该界面后,查询板子的某一个GPIO输出,用一下板子的DAC接口,对应PA4接口。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 在CubeMx界面电机PA4端口得到如下所示选项,选择GPIO_Output即可。GPIO_Output模式即为选择当前引脚为GPIO功能,并且引脚方向选择为输出。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

第二步:此时仅仅只是配置了GPIO的输出模式, 还有系统的晶振引脚还未配置。如下图所示,依据原理图配置PH0/PD0为晶振输入OSC_IN,配置PH1/PD1为晶振输出OSC_OUT。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 配置完晶振的引脚后,需要在选择晶振的类型,由于板子上用的是外部晶振,而CubeMx的晶振选择为3种:
Disable 这个是不用外部晶振
Crystal/Ceramic Resontor 这个是用无源外部晶振
BYPASS Clock Source 这个是有源外部晶振

 搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 由于板子上用的是如下图结构,属于无源外部晶振,因此需要先择Crystal/Ceramic Resontor

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 第三步:配置程序下载接口。由于我的板子用的是JTAG,因此将其配置为Serial Wire模式,具体的差异如下链接阐述。使用CubeMX生成工程时Debug模式为No Debug与Serial Wire的代码差异_遅刻的博客-CSDN博客

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 第四步:时钟分频的配置。这一步需要根据不同的外部输入晶振选择输入时钟的频率,由于我的板子是8MHz的,所以如下图所示1处选择配置为8MHz。后面的234部分均按照已有示例的配置写的,这里留个坑,时钟的分配是相当重要的部分,234部分后续单独章节搞懂。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

  第五步:项目的配置

首先是命名项目名称,然后是文件夹分配,然后是比较关键的,IDE部分一定要选择MDK-ARM,这是选择编译器类型的。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 然后是Code Generator里面的配置,一定要勾选所有的配置都生成.c和.h文件。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 第六步:选择PA4引脚输出电平的高低,如下图所示,选择输出电平为高,并且配置GPIO的模式为输出推挽,都按照默认选择即可。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门

 第七步:电机GENERATE CODE 下载进入板子,测试引脚电平。输出电平为3.3V,测试结果有效。

搭建stm32电机控制代码框架(一)——Stm32CubeMx入门文章来源地址https://www.toymoban.com/news/detail-461332.html

到了这里,关于搭建stm32电机控制代码框架(一)——Stm32CubeMx入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搭建stm32电机控制代码框架(四)——单路PWM生成

    STM32中单路PWM的生成一般是基于某一个通用定时器,本次小实验选取TIM2通用定时器,选择PA5作为PWM端口输出。配置步骤如下: 第一步:配置外部晶振与基本的时钟,如下图所示。 (1)选择外部晶振  (2)配置时钟树,如下图所示,TIM2的时钟总线挂在ABP1上,此时时钟源为

    2024年02月07日
    浏览(26)
  • stm32cubemx hal学习记录:电机控制

    1、配置RCC、SYS,SYS的Timebase Source选择TIM6 2、配置USART1、时钟84MHz 3、激活FreeRTOS,选择CMSIS_V1,Config parameters种USE_TIMERS选择ENABLE 1、选用TIM3的编码器模式  2、驱动使用L298N,将PB6、PB7设置为输出模式  3、使用TIM2的CH1输出1kHz的PWM 1、设置两个软件定时器,一个用于总控制,一个

    2024年02月17日
    浏览(17)
  • 电机FOC控制(三)STM32 CUBEMX 配置ADC采样

    本文在电机FOC控制(二)STM32 CUBEMX 配置三相PWM互补输出基础上,继续讲述如何STM32 CUBEMX 配置ADC寄存器,使TIMER1 PWM互补输出CC4触发ADC注入采样的过程。 打开Clock Configuration界面,将ADC设置为42.5MHz。 设定ADC1通道7和通道8为单端输入: 设定ADC2通道6和通道7为单端输入: ADCs_Comm

    2024年04月23日
    浏览(20)
  • STM32CubeMX 直流电机串级PID位置速度控制、HAL库、cubemx、PID、串级PID、位置控制、速度控制、双环控制

    提示:本文章的串级PID位置速度控制,是在前两篇文章速度控制,位置控制的基础上实现的,这一章节中不需要额外的cubemx的配置,只需要写简单的代码即可,复杂的地方在于串级pid的调试过程。 pid是我们在学习单片机中首先要学会的控制算法,而串级pid又是在单pid的基础上

    2024年02月14日
    浏览(25)
  • 【STM32】cubeMX配置HAL库驱动L298N控制直流有刷电机

    目录 1.电机为什么需要驱动板呢?为什么不能用控制器直接控制电机呢? 2.H桥电路介绍 3.L298N原理介绍 4.实物接线图 5.CUBEMX配置 6.代码 7. 演示视频 L298N是常用来驱动小型直流有刷电机(两个)和步进电机(一个)的电机驱动板,其电路原理就是两个H桥电路,控制原理是使用

    2024年02月16日
    浏览(24)
  • 【STM32】使用HAL库进行电机速度环PID控制,代码+调参

    主控:STM32F103C8T6 在进行速度控制之前,我们首先需要进行速度采样,这里参见这篇博文 ​ 这里不细说电机驱动模块的选型和使用,而是说一个常见的误区。我们驱动电机要使用两路PWM,一般是一路给PWM信号,一路是纯低电平。但这其实是不好的,正确的做法是一路给PWM,另

    2023年04月20日
    浏览(32)
  • 【STM32】使用HAL库进行电机PID位置环控制,代码+调参

    前面两篇博文已经实现了电机测速和PID速度环控制,在这篇博文中,我们主要说明位置环的代码怎么写以及PID参数怎么调。 ​ 写完速度环后位置环就很简单了。 ​ 在串级PID中,内环的控制量一般是外环控制量的微分。在我们这里,外环是控制量是电机转动的位置(也可以说

    2024年02月16日
    浏览(24)
  • STM32 Simulink 自动代码生成电机控制——无感六步方波仿真

    目录 前言  无感控制理论 仿真  过零检测 反电动势采样 系统运行 ​编辑 总结 STM32 Simulink 自动代码生成电机控制——霍尔有感六步方波仿真到开发板运行-CSDN博客 前面文章实现了有感方波控制再到开发板运行,关于无感方波控制的仿真已经在同一个模型里实现。在落实到硬

    2024年04月11日
    浏览(27)
  • AS5600步进电机编码器(原理图+pcb+stm32控制代码)

    AS5600是一个易于编程的磁性旋转位置传感器,具有高分辨率的12位模拟或PWM输出。这种非接触式系统测量一个直径磁化的轴上磁铁的绝对角度。 引脚如下图 他有两种供电模式:5V和3.3V 我们为了和stm32F103C8T6单片机的电压一致,也使用3.3V供电,然后开始画PCB。 使用嘉立创EDA画

    2024年02月03日
    浏览(21)
  • STM32 匿名助手提升电机控制调试效率(下位机代码和上位机操作演示)

    目录 前言 通信协议选择 上位机配置实现 下位机代码实现 通信效果演示 总结 前面介绍了通过VOFA上传变量并显示成波形方便调试的方法,VOFA上传的是浮点,一个浮点需要4个byte才能够表示,这对本就不是很快的串口带来说有不小负担,而且对于定点的MCU上传数据就不友好了

    2024年02月03日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包