news 2026/4/18 12:24: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/18 3:31:38

Z-Image-Turbo支持中文提示词?实测效果惊人

Z-Image-Turbo支持中文提示词&#xff1f;实测效果惊人 1. 引言&#xff1a;为什么Z-Image-Turbo值得关注&#xff1f; 你有没有遇到过这样的情况&#xff1a;满怀期待地输入一段精心设计的中文提示词&#xff0c;结果生成的图片完全“跑偏”&#xff1f;左边是红衣人&#x…

作者头像 李华
网站建设 2026/4/18 4:32:32

猫抓Cat-Catch:网页媒体资源智能提取与下载技术全解析

猫抓Cat-Catch&#xff1a;网页媒体资源智能提取与下载技术全解析 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字内容爆炸式增长的时代&#xff0c;如何高效地从网页中提取和保存有价值的…

作者头像 李华
网站建设 2026/4/18 8:17:52

零基础黑苹果工具终极指南:三分钟实现完美macOS体验

零基础黑苹果工具终极指南&#xff1a;三分钟实现完美macOS体验 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 想要体验苹果系统的流畅操作却担心复杂…

作者头像 李华
网站建设 2026/4/18 8:47:29

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 还在为复杂的OpenCore配置而…

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

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 想要在PC上体验macOS系统却苦于复杂的OpenCo…

作者头像 李华