stm32控制步进电机

2023-05-16

本文使用DM542c驱动器驱动。

使用前注意根据实际情况调节拨码开关。

本文不会提到GPIO使能,请自行使能。

一、PWM操作驱动器使步进电机一直转

  1. 使能定时器时钟,并配置基本参数。下图以TIM3为例。
  2. 配置输出比较PWM1模式。下图ARR+1=100,故CCR值除以100即占空比。占空比与转速有关。
  3. 使能时钟   TIM_Cmd(TIM3, ENABLE);

注:

  • 计数器每溢出一次,发出一次脉冲,产生一次TRGO(触发输出信号)。
  • PWM频率不宜过快,否则可能使步进电机不转,并伴有鸣叫。
  • CCR可随时更改,用以调速。
  • 开启PWM时,必须同时开启AFIO时钟!!必须配置对应引脚为复用输出!!

二、转一定角度

使用定时器主从模式,从定时器用于计算脉冲数(脉冲即指PWM波)。脉冲数与旋转角度直接相关,查看驱动器拨码开关设置可知脉冲与角度关系。

  1. 使能从定时器时钟,并配置基本参数。Period(即ARR)+1为期望脉冲数,达到期望数后触发中断。本例从定时器为TIM4.
  2. 使能中断并中断优先级分组。
  3. 设置主定时器并使能,使用更新事件作为触发输出。
  4. 设置从定时器,参数TIM_SlaveMode_External1。
  5. 设置输入触发源,参数TIM_TS_ITR2需要查表。(可以查看本专栏中“stm32定时器”篇“主从模式”)
  6. 设置从定时器触发为外部时钟模式。
  7. 使能从定时器时钟。
  8. 写中断服务函数,关闭定时器以停转步进电机。

完整代码:

链接: https://pan.baidu.com/s/1QS8qY06Q4ZaozMid7cW9qQ?pwd=zcg9 提取码: zcg9 复制这段内容后打开百度网盘手机App,操作更方便哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32控制步进电机 的相关文章

随机推荐

  • mmsegmentation之mmseg/models/backbones/resnet.文件解析(部分,持续更新)

    span class token comment Copyright c OpenMMLab All rights reserved span span class token keyword import span warnings sp
  • jupyter notebook打开后import torch提示没有。

    jupyter notebook打开后import torch提示没有 如图所示 1 检查是否为安装torch的对应环境 2 打开的虚拟环境中没有安装torch xff0c 可以在jupyter 中输入 pip list 查看是否有torc
  • 阿里的在线评测题:多线程打印数据

    我答的不好 xff0c 那个伯乐在线评测系统不会用 xff0c 本地写代码跑不成功挂了 xff0c 总结下供后人参考 题目 xff1a 顺序递增打印正整数 xff0c 从1开始打印到100 xff0c 中间换行分隔 不允许重复打印出相同的数
  • WSL2使用检测不到GPU

    WSL2使用检测不到GPU 输入nvidia smi出现以下错误 Failed to initialize NVML GPU access blocked by the operating system Failed to properly
  • YOLOv5总结--持续更新

    1 Data Augmentation 数据增强操作可以看做是一种正则化方法 xff0c 防止过拟合 v4数据增强 创新使用了图像遮挡 Random Erase随机删除一个矩形区域通过均值填充 Cutout随机删除一个矩形区域通过0填充 M
  • 动手学深度学习系列笔记02预备知识-02数据预处理pandas

    读取数据集 注释 64 save是一个特殊的标记 xff0c 该标记下方的函数 类或语句将保存在d2l软件包中 xff0c 以便以后可以直接调用它们 xff08 例如d2l mkdir if not exist path xff09 而无需
  • 安装ubuntu微信记录

    首先安装微信 参考这个github 安装指定版本3 2 1 154比较好用 xff1a https github com zq1997 deepin wine issues 254 issuecomment 1042082702 1 然后打
  • Lane detection--CLRNet(Cross Layer Refinement Network for Lane Detection)总结

    模型总结 本文主要是对CLRNet的总结和自己的理解 有一部分还不理解 希望大佬们多教教 CLRNet论文链接 CLRNet代码链接 车道线检测的难点 1 低级语义信息检测的结果 xff0c 车道线奇异 xff0c 缺少全局信息 xff0c
  • 想要保持结果可复现,需要对以下部分的随机种子进行固定

    在神经网络中 xff0c 参数默认是进行随机初始化的 不同的初始化参数往往会导致不同的结果 当得到比较好的结果时我们通常希望这个结果是可以复现的 xff0c 在pytorch中 xff0c 通过设置全局随机数种子可以实现这个目的 想要保持结
  • 关于双线性插值

    双线性插值网上解释有很多 这里主要给自己做一个笔记 这篇讲的不错 https blog csdn net a435262767 article details 107475115 单线性插值 就是在两个点间插入一个点 x0 y0 x1 y1
  • Your GPU Compute Capability计算能力

    由于 nvidia 官网经常卡顿 xff0c 所以把计算能力列在这里 xff0c 方便查看 https developer nvidia com cuda gpus CUDA Enabled Datacenter Products Tesl
  • 施磊老师 C++ 课程笔记--自己记录用

    文章目录 0102new 和 malloc引用和指针区别constC和C 43 43 中const的区别 xff1f const和一级 多级指针的结合 inline 函数和普通函数的区别函数重载c 43 43 为什么支持函数重载 xff0c
  • 长期更新的一些 pytorch 知识点总结

    文章目录 Deep LearningBasicMetricAccuracy 和 Precision batchsize切 patch归纳偏置pytorch 模型 cpu 和 gpu load 相互转换 Deep Learning Basic
  • SQL 中 ROW_NUMBER() OVER() 函数用法详解

    语法格式 xff1a row number over partition by 分组列 order by 排序列 desc row number over 函数中 xff0c over 里的分组以及排序的执行晚于 where group b
  • 一些事宜记录

    文章目录 ubuntuubuntu 开机自启动Ubuntu设置代理ubuntu 配置 clash writingmarkdownmakrdown 打空行markdown 折叠 ubuntu ubuntu 开机自启动 https www id
  • pytorch 模型 cpu 和 gpu load--相互转换

    pytorch 模型 cpu 和 gpu load 相互转换 load 模型的时候 xff0c 会有将模型加载到 cpu 还是 gpu 内存的区别 会遇到这种问题 RuntimeError Attempting to deserialize
  • Failed to initialize NVML: Driver

    Failed to initialize NVML Driver 遇到这个问题 重启系统 别手贱去卸载驱动重装什么的 麻烦
  • 关于Linux安装mysql 在/etc下没有my.cnf 解决办法(实测)

    今天因为想改mysql的端口 xff0c 结果发现我的 etc 目录下并没有my cnf这个文件 xff0c 我就看了下网上有没有解决的方法 看了好多关于Linux下没有my cnf的博客 xff0c 都是说将my medium cnf 移
  • 计蒜客T1065买房子

    这一题我在编译器里测试都没问题 xff0c 计蒜客上只通过了九组数据 xff0c 有知道我错哪了的可以评论下 include lt stdio h gt void main int n k i double sum 61 1 00 scan
  • stm32控制步进电机

    本文使用DM542c驱动器驱动 使用前注意根据实际情况调节拨码开关 本文不会提到GPIO使能 xff0c 请自行使能 一 PWM操作驱动器使步进电机一直转 使能定时器时钟 xff0c 并配置基本参数 下图以TIM3为例 配置输出比较PWM1