基于fpga的直流电机的pwm控制系统_设计毕业设计内容摘要:
等于占空比寄存器中的值时, pwm out 输出低电平,否则输出高电平。 PWM 的周期设定寄存器来设置pwm_out 的信号周期.当前计数器的值等于周期设定寄存器中设定的值时产生一个复位信号来清除计数器中的值。 使能控制寄存器能使时钟信号有效或无效,从而控兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 15 慕龊 制计数器是否工作,进而控制 pwm_out是否保持当前状态不变。 PWM生成 原理图和框图 如图 所示: 慕龊 慕龊 图 PWM 生成框图 慕龊 ABP W M 波慕龊 图 PWM 生成原理图 慕龊 转速控制模块 慕龊 通过按键将直流电机的转速分为 4 档,即 0 档为不运转, 1~3 档转速依次增加,并用数码管显示当前的转速档位。 模块 DECD的 VHDL程序如下: LIBRARY IEEE。 慕龊 LIBRARY IEEE。 慕龊 USE IEEE. STD LOGIC1164. ALL。 慕龊 USE IEEE. STD LOGIC UNSIGNED. ALL。 慕龊 ENTITY decd IS 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 16 慕龊 PORT( clk: IN STD LOGIC。 慕龊 Dspy: OUT SYD_LOGIC VECTOR( 1 DOWNTO 0)。 慕龊 D: OUT SYD_LOGICVECTOR(3 DOWNTO 0)。 慕龊 END。 慕龊 ARCHITECTURE one OF decd IS 慕龊 Signal cq:SYD_LOGIC VECTOR( 1 DOWNTO 0)。 慕龊 BEGIN 慕龊 PROCESS(cq ) 慕龊 BEGIN 慕龊 Case cq is 慕龊 When”00”=d=”0100”。 慕龊 When”01”=d=”0111”。 慕龊 When”10”=d=”1011”。 慕龊 When”11”=d=”1111”。 慕龊 When others =null 慕龊 END case。 慕龊 END PROCESS。 慕龊 PROCESS(clk)慕龊 Begin 慕龊 If clk event and clk =’1’ then cq=cq+1。 慕龊 end if。 慕龊 End process。 慕龊 Dspy=cq。 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 17 慕龊 END 慕龊 在上述程序中,按键信号由 CLK 送入, DSPY 为两位标准逻辑矢量,可用来表示 4 种档位,每一种档位都表示一种速度等级,如档位 0 的速度等级为 DSPY[1..0]接至数码管可及时获知档位信息。 慕龊 锯齿波产生模块 CNT 五位计数器的设计 慕龊 锯齿波产生模块可用计数器产生,本设计用 5位二进制计数器 CNT5 在时钟信号CLK 激励下输出计数脉冲,为了输出增大的锯齿波,程序控制在每一个时钟上升沿来时输出计数值的高四位,计数值记 25=32 反 0,继续下一轮计数,以此形成逐渐上升的锯齿波信号。 慕龊 慕龊 慕龊 图 为计数器模块图和锯齿波仿真图 慕龊 慕龊 计数器模块 VHDL 语言编程如下: 慕龊 LIBRARY IEEE。 慕龊 USE。 慕龊 USE。 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 18 慕龊 ENTITY COUNTER32B IS 慕龊 PORT(FIN:IN STD_LOGIC。 慕龊 CLR:IN STD_LOGIC。 慕龊 ENABL:IN STD_LOGIC。 慕龊 DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0))。 慕龊 END COUNTER32B。 慕龊 ARCHITECTURE behav OF COUNTER32B IS 慕龊 SIGNAL CQI:STD_LOGIC_VECTOR(31 DOWNTO 0)。 慕龊 BEGIN 慕龊 PROCESS(FIN,CLR,ENABL)慕龊 BEGIN 慕龊 IF CLR=39。 139。 THEN CQI=(OTHERS=39。 039。 )。 慕龊 ELSIF FIN39。 EVENT AND FIN=39。 139。 THEN 慕龊 IF ENABL=39。 139。 THEN CQI=CQI+1。 END IF。 慕龊 END IF。 慕龊 END PROCESS。 慕龊 DOUT=CQI。 慕龊 END behav。 慕龊 比较器模块 cmp 的设计 慕龊 数字比较器是产生 PWM 波形的核心组成部件 ,锯齿波 CNT5 输出信号 AA[3:0] 和直流电机转速控制模块 DECD 速率等级输出信号 B[3:0]同时加至数字比较器的两个输入端,进行比较,如 A[3:0]的值大于 B[3:0]输出值,则比较器输出低电平,反之输出高电平,由此产生周期性的 PWM 波形,若改变速率等级设定值,就可改变 PWM 输兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 19 慕龊 出信号的占空比。 改变 DECD 的输出值就等于改变 PWM 的输出信号的占空比,也等于改变了周期,这样就实现了速度调控。 慕龊 图 比较器模块图 慕龊 比较器可用 LPM函数 LPM_COMPARE 进行定制。 慕龊 比较器 VHDL 语言编程如下 : 慕龊 LIBRARY IEEE。 慕龊 USE。 慕龊 USE LOGIC。 慕龊 ENTITY COMPARATOR C IS 慕龊 PORT( AA, D:IN STD LOGIC VECTOR( 7 DOWNTO 0)。 慕龊 agb: OUT SYD_LOGIC )。 慕龊 END ENTITY COMPARATOR_C。 慕龊 ARCHITECTURE agb OF COMPARATOR_C IS 慕龊 BEGIN 慕龊 EQUALITY: PROCESS(AA, D) 慕龊 BEGIN 慕龊 IF(AA= DTHEN 慕龊 agb =’ 1’。 ELSE 慕龊 agb =’ 0’。 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 20 慕龊 END IF。 慕龊 IF(AAD )THEN 慕龊 agb =’ 1’。 ELSE 慕龊 agb=’ 0’。 慕龊 END IF。 慕龊 IF(AAD )THEN 慕龊 agb =’ 1’。 ELSE 慕龊 agb=’ 0’。 慕龊 END IF。 慕龊 END PROCESS EQUALI TY。 慕龊 END ARCHITECTURE agb。 慕龊 比较器的两路输入信号分别为速率等级设定值 a[3..0]和锯齿波信号 b[3..0],比较器 cmp3 输出为高低电平,当锯齿波输出值大于速率等级输出的规定值时,即比较关系为 a[3..0]b[3..0],比较器输出低电平,否则输出高电平,比较器输出的高低电平即作为控制直流电机正反转的启动信号。 比较器定制完成后,利用 QuartusⅡ原理图设计方法,将转速模块 DECD、锯齿波产生器 CNT5 和比较器 cmp3 连接起来。 则完成 PWM信号产生器的电路设计。 慕龊 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 21 慕龊 图 PWM 信号产生器 慕龊 正反转模块设计 慕龊 直流电机旋转方向控制电路用于控制直流电动机正反转和启 /停状态,该电路由两个二选一的多路选择器组成, key_rot 键控制电机的正反转,当 key_rot=1 时,PWM 输出波形从正端 foreware 进入 H 桥,电机正转;当 key_rot=0 时, PWM 输出波形从负端 reverse 进入 H桥,电机反转。 key_start 键通过锁存器 LATCH 控制 PWM 的输出,实现对电机的工作 /停止控制:当 key_start=1 时, LATCH 的门打开,允许PWM 波输出,电机启动;当 key_start=0 时, LATCH 门关闭, PWM 波无法输出,则电机不转动。 慕龊 慕龊 图 直流电动启 /停、正反转控制电路 慕龊 转速测量模块设计 慕龊 根据直流电机的转速测量原理,可以利用频率计的设计方法,设计电机转速测量电路,并通过数码管显示转速测量结果。 直流电机转速测量电路包括时序控制器、计数器和锁存器。 其中时序控制器产生控制测量转速信号时的工作时序,计数兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 22 慕龊 器用于统计直流电机的转数(光电码盘产生的脉冲个数),锁存器用来所存计数器输出的计数值。 时序控制器要完成测频任务,需产生 3个重要的控制信号,即计数使能信号、计数所存信号和计数清零信号,其中计数使能信号有效的时段必须为1s,这样锁存器的输出值就为直流电机的频率(频率为单位时间内的次数)。 计数使能信号有效时 ,允许计数器计数,紧接着将计数值锁入锁存器;为了得到每一次的计数值,则须把前一次的计数值锁存后,对计数器清零,所以紧随锁存信号之后须清除锁存器记录。 因此计数使能信号( 1HZ 的二分频信号)、计数锁存信号和计数器清零信号的控制时序如图 所示。 慕龊 1 s锁 存 清 零1 H Z 信 号清 零锁 存 信 号1 H Z 的 二 分 频计 数慕龊 图 控制时序图 慕龊 时序控制器的 VHDL 程序如下: 慕龊 LIBRARY IEEE。 慕龊 USE。 慕龊 USE。 慕龊 ENTITY FTCTRL IS 慕龊 PORT (CLKK:IN STD_LOGIC。 慕龊 CNT_EN:OUT STD_LOGIC。 慕龊 RST_CNT:OUT STD_LOGIC。 慕龊 LOAD:OUT STD_LOGIC)。 慕龊 END FTCTRL。 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 23 慕龊 ARCHITECTURE BEHAV OF FTCTRL IS 慕龊 SIGNAL div2CLK :STD_LOGIC。 慕龊 BEGIN 慕龊 PROCESS(CLKK)慕龊 BEGIN 慕龊 IF CLKK39。 EVENT AND CLKK=39。 139。 THEN 慕龊 div2clk=NOT div2clk。 慕龊 END IF。 慕龊 END PROCESS。 慕龊 PROCESS(CLKK,div2CLK)慕龊 BEGIN 慕龊 IF CLKK=39。 039。 AND div2clk=39。 039。 THEN RST_CNT=39。 139。 慕龊 ELSE RST_CNT=39。 039。 慕龊 END IF。 慕龊 END PROCESS。 慕龊 LOAD=NOT div2clk。 慕龊 CNT_EN=div2clk。 慕龊 END BEHAV 慕龊 直流电机转速测频电路中的 CNT、 REG 可由 LPM 函数定制,根据原理图设计方法完成了测频电路,如图 所示,图中 ce_in 将直流电机转速脉冲信号送入 CNT进行统计计数, clk_1HZ 为 1HZ 的时钟信号,送入 TESTCTL 中用来产生测频时所需的三路时序控制,信号 TSTEN、 CLR_CNT 和 Load,锁存器的工作时钟为 Load 信号,即在 Load=1 和 clk_1HZ=1 时,将 REG 中锁存的转速脉冲个数进行输出,此即直流电机的频率。 慕龊 兰州工业学院毕业(论文) 慕龊 慕龊 慕龊 24 慕龊 将如图所示的电路进行仿真,可得 图,图中 CLK 的频率为 1HZ,因此 可以这样考虑,计数使能信号 TSTEN 在 CLK 为 1 秒的时段,刚好为高电平,则允许计数器 CNT 计数,根据频率的定义,该计数值刚好是 CNT 输入端送入的电机转速的频率。 而在 CLK 信号接下来的 1 秒的时段内,在 CLK=1 和 Load=1 时将计数值锁入 REG中,而在 CLK=0 和 Load=1 时,计数器清零信号 CLRCNT=1 有效,将计数器 CNT 中已经锁存的计数值清除,以便 CNT 在下一个计数使能信号 TSTEN=1 为高电平期间继续统计脉冲数。 由此可见,时序关系图符合测频控制器的工作时序。 另外,直流电机的频率测量值可通过图 中 Dout[15..0]之后接带译码器的数码显示电路,可显示电机的频率,也可根据式( 4)求得电机的转速。 慕龊 C N TT E S T C T LR E QC e _ i nC l k _ 1 H ZCD o u t [ 1 5 . . 0 ]O U T P U TO U T P U TI N P U TI N P U T慕龊 图 直流电机测频电路图慕龊 图 测频时 序控制器波形仿真图 慕龊。基于fpga的直流电机的pwm控制系统_设计毕业设计
相关推荐
IC 技术融合的结果,涵盖了实时化数字信号处理技术、高速数据收发器、复杂计算以及嵌入式系统设计技术的全部内容。 赛灵思和 Altera 也推出了相应 SOCFPGA 产品,制造工艺达到 65nm ,系统门数也基于 FPGA 的音乐流水灯设计 4 超过百万门。 并且,这一阶段的逻辑器件内嵌了硬核 高速乘法器、 Gbits 差分串行接口、时钟频率高达 500MHz 的 PowerPC™ 微处理器
176。 , ∵∠ EAC= 25176。 , ∴∠ BAC= 85176。 ,∵ △ ABC≌ △ EAD, ∴∠ AED= ∠ BAC= 85176。 6. 如图 , 在 ▱ABCD中 , E是 BC的中点 , AE= 9, BD= 12, AD= 10. (1)求证: AE⊥ BD; (2)求 ▱ABCD的面积 . 解: ( 1) 过点 D 作 DF ∥ AE 交 BC 的延 长线于点 F
最有发展前途的调速方式,其重要性日益得到世界各国的重视。 在世界能源紧缺的今天,开展变频调速技术的研究,推广其应用,有着非常重大的现实意义和巨大的经济效益及社会效益。 变频调速技术的发展概况 20 世纪 60 年代以前,直流调速一直以控制能力强、可靠性高、噪声低、控制电路简单等一系列优良的性能在传动领域中占据着主导地位。 但是随着社会生产力及技术的不断发展,直流传动的薄弱环节逐步显示出来。
0)。 MING: OUT STD_LOGIC)。 END FENGMING。 ARCHITECTURE BHV OF FENGMING IS SIGNAL ING : STD_LOGIC。 BEGIN PROCESS (BCD) BEGIN IF BCD=0000000000000000 THEN ING=39。 139。 ELSE IF BCD=0001000000000000 THEN
系统进行验证以及错误的检验。 同时也可以进行检查设计者的设计的程序是否满足设计的要求来进行的仿真。 Quartus II 简介 Quartus II 专门为开发的软件 FPGA 提供的集成环境。 Quartus II 的 设计工具支持 的一般有 软件 VHDL、 软件 HDL 和图形的设计, 这 些软件中在 其内部有 VHDL、 HDL 逻辑编辑器 对其设计的对象进行编译。 Quartus II
SRAM组成。 这 3种可编程电路是:可编程逻辑模块( CLBConfigurable Logic Block) 、输入 /输出模块( IOBI/O Block)和互连资源( IR—Interconnect Resource)。 可编程逻辑模块 CLB是实现逻辑功能的 基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入 /输出模块( IOB)主要完成芯片上的逻辑与外部封装脚的接口