news 2026/7/2 8:10:09

基于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/7/1 19:55:25

开源大模型部署趋势一文详解:Llama3+Open-WebUI成开发者新宠

开源大模型部署趋势一文详解&#xff1a;Llama3Open-WebUI成开发者新宠 近年来&#xff0c;开源大模型的落地门槛持续降低&#xff0c;越来越多开发者开始在本地或私有环境中部署高性能对话模型。其中&#xff0c;Meta-Llama-3-8B-Instruct 凭借出色的指令遵循能力与轻量化推理…

作者头像 李华
网站建设 2026/6/24 19:48:33

5分钟部署Qwen3-VL-8B-Instruct,MacBook也能跑的多模态AI实战

5分钟部署Qwen3-VL-8B-Instruct&#xff0c;MacBook也能跑的多模态AI实战 你有没有想过&#xff0c;在自己的 MacBook 上就能运行一个能“看图说话”、理解视频内容、还能执行复杂指令的多模态大模型&#xff1f;听起来像是需要顶级显卡和服务器集群的任务&#xff0c;但现在&…

作者头像 李华
网站建设 2026/7/1 10:41:17

5分钟快速部署PETRV2-BEV模型,星图AI平台让自动驾驶训练更简单

5分钟快速部署PETRV2-BEV模型&#xff0c;星图AI平台让自动驾驶训练更简单 你是否还在为复杂的环境配置、繁琐的数据准备和漫长的模型训练流程头疼&#xff1f;尤其是在做自动驾驶感知任务时&#xff0c;BEV&#xff08;鸟瞰图&#xff09;模型的搭建动辄需要数小时甚至几天的…

作者头像 李华
网站建设 2026/6/24 5:48:03

猫抓资源嗅探器:网页多媒体资源高效下载解决方案

猫抓资源嗅探器&#xff1a;网页多媒体资源高效下载解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓资源嗅探器是一款功能强大的浏览器扩展工具&#xff0c;专门用于检测和下载网页中的各…

作者头像 李华
网站建设 2026/6/21 22:55:43

小白亲测Z-Image-Turbo_UI:浏览器访问7860端口秒出图

小白亲测Z-Image-Turbo_UI&#xff1a;浏览器访问7860端口秒出图 Z-Image-Turbo_UI AI图像生成 本地部署 一键启动 7860端口 Gradio界面 图片生成教程 本文带你从零开始&#xff0c;手把手使用 Z-Image-Turbo_UI 镜像&#xff0c;在本地快速启动一个可通过浏览器访问的 AI 图像…

作者头像 李华
网站建设 2026/6/29 13:23:18

如何永久解决IDM激活问题:2025年最新方案

如何永久解决IDM激活问题&#xff1a;2025年最新方案 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在为Internet Download Manager的激活弹窗而烦恼&#xf…

作者头像 李华