news 2026/4/23 10:06:07

基于Quartus II 9.0的步进电机控制器设计:包含四相单四拍、双四拍及八拍脉冲分配器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Quartus II 9.0的步进电机控制器设计:包含四相单四拍、双四拍及八拍脉冲分配器

步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器。 设计一个三选一数据选择器来控制pause信号选择工作方式,以及用两个74160与两个7447设计成计数器来对步进电机进行计数。 并用该软件对其进行了仿真。 报告设计说明书原理图程序

我蹲在实验室角落盯着示波器上的波形,手指头在开发板上来回拨动。步进电机突然抽风似的转了个圈,吓得隔壁桌做电源的同学差点把烙铁扔了——这玩意儿控制不好真能当暗器使。

脉冲分配器是整个系统的节奏大师。用Verilog搞了个四相驱动模块,核心就是个状态机轮播:

always @(posedge clk) begin case(mode) 2'b00: //单四拍 case(step_counter) 0: phase <= 4'b0001; 1: phase <= 4'b0010; 2: phase <= 4'b0100; 3: phase <= 4'b1000; endcase 2'b01: //双四拍 case(step_counter) 0: phase <= 4'b0011; 1: phase <= 4'b0110; 2: phase <= 4'b1100; 3: phase <= 4'b1001; endcase default: //八拍混合 case(step_counter) 0: phase <= 4'b0001; 1: phase <= 4'b0011; 2: phase <= 4'b0010; 3: phase <= 4'b0110; 4: phase <= 4'b0100; 5: phase <= 4'b1100; 6: phase <= 4'b1000; 7: phase <= 4'b1001; endcase endcase end

这代码看着像俄罗斯方块,实际运行时相位切换必须严丝合缝。特别是八拍模式下的半步切换,稍有不慎电机就会原地蹦迪。

步进电机控制器设计 利用Quartus ii9.0设计一个具有四相单四拍,四相双四拍和四相八拍的脉冲分配器。 设计一个三选一数据选择器来控制pause信号选择工作方式,以及用两个74160与两个7447设计成计数器来对步进电机进行计数。 并用该软件对其进行了仿真。 报告设计说明书原理图程序

控制方式选择用了个三选一MUX,硬件实现比软件更直接:

assign pause = (select == 2'b00) ? modeA_pause : (select == 2'b01) ? modeB_pause : modeC_pause;

其实用三个与非门搭更省资源,但当时赶时间直接调用了库里的74153。后来发现这货的传输延迟比预期多了15ns,差点让脉冲时序崩盘。

计数器部分最闹心,两个74160级联扩展计数范围时,同步进位信号的处理让我掉了不少头发。关键在第二个芯片的ENT端要接第一个的RCO:

// 级联配置 wire carry_out; counter_74160 first_counter( .clk(step_pulse), .clr(reset), .load(1'b0), .ENT(1'b1), .ENP(1'b1), .RCO(carry_out) ); counter_74160 second_counter( .clk(step_pulse), .clr(reset), .load(1'b0), .ENT(carry_out), // 这里必须用前级的RCO .ENP(1'b1), .RCO() );

仿真时发现计数器偶尔会吞脉冲,查了三天才发现是7447译码器的消隐脚没处理好。硬件设计真是失之毫厘谬以千里,某个接地脚虚焊都能让数码管显示鬼符。

最终在Quartus里跑时序仿真时,看到各相位信号像阅兵式一样整齐划一地切换,那种满足感堪比打通关魂系游戏。虽然烧了三片CPLD才调通,但看着电机丝滑地转起来,感觉值回票价了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:05:16

OpCore Simplify智能硬件检测与自动化配置终极指南

OpCore Simplify智能硬件检测与自动化配置终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore Simplify是一款革命性的黑苹果工具&#xf…

作者头像 李华
网站建设 2026/4/23 10:06:58

macOS系统终极指南:快速掌握OpCore Simplify黑苹果配置神器

macOS系统终极指南&#xff1a;快速掌握OpCore Simplify黑苹果配置神器 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而头疼…

作者头像 李华
网站建设 2026/4/23 10:05:18

终极桌面宠物伴侣:跨平台数字助手完整指南

终极桌面宠物伴侣&#xff1a;跨平台数字助手完整指南 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作&#xff0c;每一次输入都充满趣味与活力&#xff01; 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 在现代数字生活中&a…

作者头像 李华
网站建设 2026/4/23 10:05:44

Z-Image-Turbo_UI界面实测:输入提示词秒出高清图

Z-Image-Turbo_UI界面实测&#xff1a;输入提示词秒出高清图 你有没有试过在浏览器里敲几个字&#xff0c;不到一秒钟就弹出一张10241024的高清图&#xff1f;不是预览图&#xff0c;不是缩略图&#xff0c;而是细节清晰、色彩饱满、可直接用于电商主图或社交封面的成品图——…

作者头像 李华
网站建设 2026/4/23 10:05:50

OpCore Simplify智能配置工具:让黑苹果配置变得前所未有的简单

OpCore Simplify智能配置工具&#xff1a;让黑苹果配置变得前所未有的简单 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的EFI配置而头疼…

作者头像 李华
网站建设 2026/4/23 10:50:22

深度解析:词向量与自注意力机制

1.词的表示方式 词的表示即为将输入的语句转换为计算机可以处理的数字形式。 1.1 独热编码&#xff08;One-hot Encoding&#xff09; 独热编码是一种最简单、最基础的将离散型数据&#xff08;特别是分类数据&#xff09;转换为数值形式的方法。 假设词汇表含有w个不同的词…

作者头像 李华