首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
一种带有限位功能的步进电机控制器
来源:本站整理  作者:佚名  2011-09-04 21:17:43




    按照表2中的逻辑输出电平即可设计逻辑发生器。其VerilogHDL代码如下:
    always @(negedge clk or negedge reset)
    begin
        if(!reset) q = 4’b0000;
        else if(!hold || !run_en) q = 4’b0000;
        //输出0可以使功率芯片输出开路状态,
        //防止电机发热
          else begin//电机请求有效
          if(!direc_i)//反方向
          case (q)  //表2中的逻辑输出
            4'b0111 : q = 4'b1111;
            4'b1111 : q = 4'b1101;
            4'b1101 : q = 4'b0101;
            4'b0101 : q = 4'b0111;
            default : q = 4'b0101;
          endcase
          else if(direc_i)//正方向
          case (q)
            4'b0111 : q = 4'b0101;
            4'b0101 : q = 4'b1101;
            4'b1101 : q = 4'b1111;
            4'b1111 : q = 4'b0111;
            default : q = 4'b0101;   
          endcase 
        end
    end
3 仿真与实验
    为了验证所设计的步进电机控制器是否能正常工作,使用EDA工具和Nios II嵌入式系统对控制器进行功能仿真和实验验证。
3.1 功能仿真
    使用测试台(testbench)程序在Modelsim中对步进电机控制器进行功能仿真。仿真时钟周期为100 ns,仿真结果如图4所示。测试台程序在预定的时间点自动修改输入端口寄存器的值,并监视逻辑发生器的输出。在评价功能仿真输出结果时,主要查看自动、手动和复位3个模块的仿真输出逻辑是否按测试台程序要求转换了预定的次数,同时检查限位和停止功能是否有效。

    图4中,测试台首先设置爬山复位(reset_tri)为有效,逻辑发生器开始输出驱动逻辑,直到限位信号(limit)下降沿到来,A/B/C/D恢复为0;接着置手动触发信号(manual)有效,逻辑发生器在输出手动控制模块预置的7次驱动逻辑转换后,A/B/C/D恢复为0;然后向自动步数(data)写入数据’00001001’,逻辑发生器输出了9次逻辑转换;在手动和自动控制过程中,测试台在逻辑输出过程中插入了有效的限位信号。由图4可以看出,在1600 ns和3 μs 处,驱动逻辑的转换方向发生了变化;最后,向data写入数据’00000100’,驱动逻辑重新开始输出,输出过程中遇到停止信号(hold)有效,强制输出A/B/C/D为0。仿真结果表明所设计的步进电机控制器的功能正确。
3.2 实验验证
    步进电机控制器的实验验证电路如图5所示。嵌入Nios II处理器的片上可编程系统(SoPC)在ALTERA DE2开发板的FPGA中建立,同时设计了位置感应电路和功率驱动电路,用来验证复位和限位功能以及驱动步进电机。

 

 

上一页  [1] [2] 

关键词:

  • 好的评价
      0%(0)
  • 差的评价
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:90,523.44000 毫秒