0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度解析基于FPGA控制的舵机程序

2oON_changxuemc 来源:互联网 作者:佚名 2018-01-25 08:54 次阅读

舵机

一个常见的舵机有三个连接线。

黑色:电源

红色:电源(5伏直流)

白色:控制引脚(PWM)

PWM控制舵机位置。伺服系统每20毫秒要有一个脉冲,以便获得正确的角度信息。脉冲宽度决定了舵机的角度运动范围。也就是说,我们可以通过发送1毫秒脉冲设置舵机到一端位置,发送2毫秒脉冲将其设置到另一个位置。

深度解析基于FPGA控制的舵机程序

控制波形

我们设计一个四个输入,一个输出的模块,如下图所示

控制模块

Clk:时钟信号

reset:复位信号

button_l:用于PWM占空比的增加

button_r:用于PWM占空比的减小

Pwm:输出信号驱动舵机。

首先,应该生成具有20毫秒周期的PWM信号,由于使用50MHz的时钟产生PWM,为了产生20ms信号,我们将定义一个名为counter的变量和一个名为upper的常数,它表示计数上边界。

Upper boundary : 20ms/20ns = 1000 000

constant upper :integer:=1000000;

………………………..

process(clk,reset)

begin

if reset = '1' then

pwm_reg

counter

duty_cycle

elsif clk='1' and clk'event then

pwm_reg

counter

duty_cycle

end if;

end process;

counter_next

控制信号占空比的值应是1毫秒至2毫秒之间。我们将定义两个常数命名dcycle_max和dcycle_min说明上下边界。

dcycle_max:显示脉冲宽度的最大值。

(2ms/clock period=2 ms/ 20 ns=100000)

dcycle_min:显示脉冲宽度的最小值。

(1ms/clock period=1 ms/ 20 ns=50000)

脉宽(占空比)在每个PWM周期中改变,因此我们定义了一个称为tick的变量。当tick为“1”时,占空比将发生变化。

signal tick : std_logic;

tick

定义了一个称为duty_in的常数,用于改变占空比。

VHDL代码

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity servo_pwm is

Port ( clk : in STD_LOGIC;

reset : in STD_LOGIC;

button_l : in STD_LOGIC;

button_r : in STD_LOGIC;

pwm : out STD_LOGIC);

end servo_pwm;

architecture Behavioral of servo_pwm is

constant period:integer:=1000000;

constant dcycle_max:integer:=100000;

constant dcycle_min:integer:=50000;

constant duty_in:integer:=200;

signal pwm_reg,pwm_next:std_logic;

signal duty_cycle,duty_cycle_next:integer:=0;

signal counter,counter_next:integer:=0;

signal tick:std_logic;

begin

process(clk,reset)

begin

if reset = '1' then

pwm_reg

counter

duty_cycle

elsif clk='1' and clk'event then

pwm_reg

counter

duty_cycle

end if;

end process;

counter_next

tick

process(button_l,button_r,tick,duty_cycle)

begin

duty_cycle_next

if tick='1' then

if button_l ='1' and duty_cycle >dcycle_min then

duty_cycle_next

elsif button_r ='1' and duty_cycle

duty_cycle_next

end if;

end if;

end process;

pwm

pwm_next

end Behavioral;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21734

    浏览量

    603112
  • 控制模块
    +关注

    关注

    2

    文章

    131

    浏览量

    18854
  • 舵机
    +关注

    关注

    17

    文章

    269

    浏览量

    41023

原文标题:FPGA控制舵机程序

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    舵机技术新突破,无线控制更自由!

    。本文将带您深入探索新一代无线舵机的技术奥秘,揭秘其如何实现更自由、更精准的控制。 无线技术的深度融合:简化与自由的双重奏 传统舵机依赖于有线连接,这不仅限制了设备的布局灵活性,也增加
    的头像 发表于 11-22 15:01 196次阅读

    舵机技术深度解析,让机器人更智能!

    的——舵机舵机,这个看似不起眼的装置,实则蕴含着丰富的技术内涵。它不仅是机器人和无人机等智能设备的“关节”,更是实现精准操控的核心部件。那么,舵机究竟是如何工作的?它的技术原理又是什么呢? 首先,我们需要了
    的头像 发表于 11-06 14:19 375次阅读

    FPGA加速深度学习模型的案例

    FPGA(现场可编程门阵列)加速深度学习模型是当前硬件加速领域的一个热门研究方向。以下是一些FPGA加速深度学习模型的案例: 一、基于FPGA
    的头像 发表于 10-25 09:22 215次阅读

    FPGA深度学习能走多远?

    ,是否可以? A:可以,ARM 可以作为主机通过 SPI 接口与 FPGA 通信。ARM 可以控制 SPI 总线的时钟、片选信号以及数据的发送和接收。在加载程序时,ARM 可以将 FPGA
    发表于 09-27 20:53

    舵机在无人机中的应用

    ​一、舵机工作原理舵机是一种位置(角度)伺服的驱动器,由电子控制与机械控制部分组成。当控制信号输入时,电子
    的头像 发表于 09-25 15:58 605次阅读
    <b class='flag-5'>舵机</b>在无人机中的应用

    探索智能动力之源:揭秘舵机的无限可能

    在科技的浩瀚星空中,舵机以其精准的控制能力和广泛的应用领域,成为了连接现实与智能梦想的桥梁。今天,就让我们一起走进舵机的世界,通过生动的演示、深入的控制信号
    的头像 发表于 08-22 09:51 335次阅读

    ESP32控制舵机的正反转原理是什么

    舵机是一种将电信号转换为机械运动的设备,广泛应用于机器人、无人机、汽车等领域。ESP32是一款功能强大的微控制器,具有丰富的外设接口和高性能的处理能力,可以方便地控制舵机实现正反转等动
    的头像 发表于 08-20 09:13 1072次阅读

    舵机是什么?舵机内部结构解析

    舵机是一种由外壳、舵盘、直流电机、减速齿轮组、角度传感器、控制驱动电路和接口线缆等部件组成的位置(角度)伺服驱动器。这些部件共同协作,使舵机能够准确、稳定地实现角度变化,并广泛应用于无人机、机器人
    的头像 发表于 06-14 14:56 5280次阅读
    <b class='flag-5'>舵机</b>是什么?<b class='flag-5'>舵机</b>内部结构<b class='flag-5'>解析</b>

    舵机是否属于伺服电机

      在电机技术的广泛领域中,舵机和伺服电机是两个常被提及的术语。它们各自在自动化控制、机器人技术、航空航天等多个领域扮演着重要的角色。然而,对于这两者之间的关系,特别是舵机是否属于伺服电机这一
    的头像 发表于 06-07 10:40 1367次阅读

    机器人舵机:关键要素解析与选择指南

    在机器人技术日新月异的今天,舵机作为机器人的核心部件之一,扮演着至关重要的角色。它的性能直接关系到机器人的运动控制、稳定性以及精度等方面。那么,在选择和使用机器人舵机时,我们需要关注哪些关键要素呢
    的头像 发表于 06-06 13:57 1011次阅读
    机器人<b class='flag-5'>舵机</b>:关键要素<b class='flag-5'>解析</b>与选择指南

    舵机控制程序案例

    舵机控制板是串口通讯的(TTL 电平),可以使用任何串口设备给它发指令,从而控制舵机
    发表于 04-24 18:36 5次下载

    舵机控制例程、原理介绍

    电子发烧友网站提供《舵机控制例程、原理介绍.zip》资料免费下载
    发表于 02-23 14:02 1次下载

    舵机三根线分别是什么?一文解析舵机各线缆对应关系

    一根线,但是它的频率和占空比是可以通过微处理器或其他控制芯片进行调节的。不同的PWM信号可以实现对不同的模拟信号进行数字编码,从而实现不同的控制功能。 除了常规的三线舵机之外,还有一种五线舵机
    发表于 12-30 10:06

    如何使用单片机控制舵机的转动

    单片机是一种集成电路,它可以被编程以控制外部电子设备的运行。舵机是一种能够转动到特定位置的电动机,常用于模型、机器人以及其他需要精确控制位置的应用中。本文将详细介绍如何使用单片机控制
    的头像 发表于 12-29 10:15 1720次阅读

    舵机三根线分别是什么?一文解析舵机各线缆对应关系

    最近,经常有同学问我关于舵机线路的问题,包括舵机三根线分别是什么线、每根线的颜色是什么、舵机接线应该怎么接,以及四线舵机都有什么线等。为了更好地解答大家的疑惑,我特地撰写了这篇文章,希
    的头像 发表于 12-27 10:56 3499次阅读
    <b class='flag-5'>舵机</b>三根线分别是什么?一文<b class='flag-5'>解析</b><b class='flag-5'>舵机</b>各线缆对应关系