毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

基于EDA开发平台的红外遥控电机转速电路设计(7)

时间:2017-06-23 20:43来源:毕业论文
选择AssignmentsPins,打开管脚分配对话框。在To栏中,输入各管脚名称,在Location下拉选择相应的管脚,也可以在Location下输入管脚号来快速定位,最终管脚分


选择“Assignments—Pins”,打开管脚分配对话框。在To栏中,输入各管脚名称,在Location下拉选择相应的管脚,也可以在Location下输入管脚号来快速定位,最终管脚分配完成。选择“File—Save”来保存分配,然后关闭“Assignment Editor”。
选择“Assignments—Setting”,在出现的对话框中,点击其中的Device,再点击 ,打开Device&Pin对话框,选择Configuration标签页,采用串行配置器件EPCS4的主动配置方式。在Device&Pin对话框中选择Unused Pins标签页,进行没有使用管脚的设置,将未使用的管脚设置为高阻输入(As input tri-stated),这样上电后FPGA的所有未使用管脚将进入高阻抗状态,否则可能会造成连接在核心板上的Flash、SRAM等未使用的芯片冲突而损坏芯片。
然后选择“Processing—Start Compilation”进行全程编译。通过ByteBlaster II下载电缆连接实验箱JTAG口和主计算机,接通实验箱电源。
点击工具栏上的 按钮,打开所弹出的界面,点击 按钮,在出现的对话框中点击 按钮,在弹出的“Add Hardware”对话框中点击“OK”确定回到上一个界面,点击“Close”关闭这个对话框,则 后面的“No Hardware”变成了“ByteBlaster[LPT1] ”。在“Program/configure”列下的复选框中打勾后,点击“Start”按钮即可开始往目标板上下载所需程序。
4  直流电机PWM控制
4.1  直流电机PWM控制的基本内容
SmartSOPC实验平台上有1个直流电机MG1,控制端DCMotorA、DCMotorB通过跳线JP6的MotorA、MotorB和FPGA。COM17的SPEED引脚为直流电机转动时经红外检测反馈回来的脉冲信号端。
直流电机PWM控制是设计使用PWM信号来控制直流电机加速/减速,并控制其正转/反转、停止/启动等操作。利用Quartus II完成设计、仿真等工作,最后在SmartSOPC实验箱上进行硬件测试。速度等级分16级(O-F),用KEY1输入并由LED1-LED4指示(LED1为最高位,LED4为最低位);KEY2控制电机停止/启动,由LED8指示其状态;KEY3控制电机正/反转;电机转动时检测反馈回来的脉冲通过频率计测量最后显示在数码管1-8上[14]。
4.2  直流电机PWM控制的基本原理
对直流电机进行调速,可改变加在电机两端的电压值,即通过加一个D/A转换器实现,其实质是对一频率固定的脉冲的占空比进行调节,故可用PWM(Pulse-Width Modulation,脉宽调制)波来控制电机调速,设置一个16位的时钟计数器并对时钟进行计数,同时读取该时刻的数字量并与计数器的值相比较。若计数值小于读取的数字量,则在PWM_OUT上输出高电平,否则输出低电平。这样由于数据量的不同,输出高低电平的时刻也将不同(占空比),从而达到控制输出平均电压的大小的目的[14]。
由于此设计加入了红外遥控部分,而红外光电电路测得的转速脉冲信号没经过整形,所以存在很多干扰脉冲,如果直接对其计数,则测得的结果不正确。故在这一部分需要加一个消抖模块filter_200us[14]。
4.3  直流电机PWM控制的顶层模块原理图
 
图4.1  直流电机PWM控制顶层模块原理图
Fig.4.1 DC motor PWM control top-level module principle diagram
4.4  直流电机PWM控制的各部分功能电路分析及仿真波形
4.4.1  脉宽调制模块
(1)生成的功能模块图
 
图4.2  脉宽调制功能模块图
Fig.4.2 Pulse width modulation function module chart
(2)脉宽调制的VHDL编程
LIBRARY IEEE;                       基于EDA开发平台的红外遥控电机转速电路设计(7):http://www.751com.cn/tongxin/lunwen_9829.html
------分隔线----------------------------
推荐内容