RTL级机器人电机控制器的FPGA设计

发布时间:2025-7-9

类别:行业知识

阅读:0

摘要:

RTL级机器人电机控制器的FPGA设计

借助硬件描述语言 (HDL) Verilog 和 AMD Vivado 设计套件,在 AMD Spartan-7 FPGA 中实现带编码器的两个电机的控制器系统的 RTL 设计。

在这个项目中,使用了搭载 Spartan-7 FPGA开发板,将使用它作为电机控制器系统。

在项目开始前,肯定会有人问:“既然用MCU编程要简单快捷得多,为什么还要用 FPGA 来做这么复杂的工作呢?” 这个问题问得好。所以,我们将简要探讨一下人们选择 FPGA 的各种原因。

在 FPGA 与MCU的对比竞争之后,将介绍电机驱动器、H 桥、PWM、编码器、PID 反馈控制系统、编码和测试、收集日期的分析等多方面的基本概念。然后,将详细介绍如何构建自己的 FPGAbot。

FPGA 与MCU

为特定产品或可交付系统选择“最佳”处理技术,在许多方面对其成功至关重要。影响因素包括支持成本、供应链、盈利能力、寿命等等。从工程角度来看,决策中最具影响力的典型因素是时间、成本、面积和功耗。

FPGA 优势

FPGA 以其低延迟、固有的并行处理能力和灵活性而闻名。此外,FPGA还能为许多独立的计算模块、外部传感器和执行器等提供高确定性和精确的定时/延时。因此,会发现 FPGA 被用于许多关键任务应用,例如:

1)军事和航空航天系统

雷达系统 - 例如实时(RT)信号处理和数据采集。 无人驾驶飞行器(UAV)——例如飞行控制、传感器处理和安全通信

航空电子设备、卫星、导弹制导系统等

2)工业控制系统(ICS)

对电网、炼油厂等关键基础设施进行实时控制和监控。

工业自动化 - 机器控制,实现故障检测、冗余和容错控制。

功能安全——例如汽车和工业控制的容错系统。

3)医疗器械

诊断成像系统 - 快速准确的数据处理。

病人监护——FPGA 为病人监护设备提供高性能、RT 监护和信号分析。

救生设备...

ETC。

4) 电信等

许多关键任务应用程序需要实时处理、确定性行为、低延迟、可编程性、并行处理能力、安全性和功率效率。

MCU优势

对于成本敏感的产品或普通爱好者来说,MCU 是节省成本和加快系统开发周转的更好选择。

微控制器使用标准编程语言进行软件开发,例如 Python/microPython 和 C/C++。FPGA 设计的学习曲线(架构、硬件描述语言、时序问题等)则要陡峭得多,需要投入大量时间和经验才能高效完成。

MCU 也更适合外设接口和执行重复性任务。通用架构、串行执行流程以及易于外设集成的特性,使得 MCU 在非关键任务系统中更具吸引力。

了解了这些之后,现在让我们深入了解移动机器人电机控制系统的细节!

高级电机控制器系统设计

本节介绍了移动机器人电机控制器设计所需的主要外部元件和FPGA功能模块。此外,还提供了系统的高层原理图。

电机驱动器

FPGA 需要分别驱动两个 12V 直流有刷电机。我以前用过 12V 直流电机,发现这个电压水平能够满足我的 DIY 机器人所需的扭矩。我通常会选择低转速电机(例如 190 RPM),因为它们比高转速电机提供更大的扭矩。

L298N H 桥电机驱动器是驱动 12V 电机的绝佳选择,因为它价格低廉,业余爱好者已经写了很多关于其使用的文章,并且易于连接。

L298N 本质上是一个放大器,其数字接口由较小的输入控制电压(例如 3.3V 或 5V)控制,并在较大的直流电压范围内产生比例输出。L298N 模块可在 5 至 35V 直流电压 (Vs) 范围内工作。由于我们使用的是 12V 直流电机,因此源电压为 12V,如图 1 所示。

注意:如果要启用 L298N 板载的 5V 电源调节器,则最大输入直流电源不应超过 12V。否则,5V 直流调节器会过热并关闭。

编码器

我总是购买配备霍尔效应传感器的直流电机。这些传感器可以测量每个电机的速度和旋转方向。在本设计中,编码器反馈用于PID算法,以保持FPGA机器人直线稳定地移动。里程也可以根据这些信息计算出来。将在后面的技术回顾部分和FPGA电机控制器设计细节部分详细讨论编码器的工作原理和使用方法。

因此,该系统至少需要以下功能元素:

顶层架构

可以选择 (1) 在使能端使用脉冲宽度调制 (PWM),并通过 IN1、2、3 和 4 上的高低逻辑电平控制方向(图 2a);或 (2) 在所有四个输入端口上使用 PWM,并将使能端设置为逻辑高电平(图 2b)。虽然已经创建了这两个版本,但在本项目描述中,将选择选项 (1)(图 2b)。选择选项 (1) 的原因将在 L298N 部分解释。

输入设定点(PWM 的占空比设置)和旋转方向源信号选择器。

编码器计数器

PID 反馈控制系统/算法将电机速度同步到设定值。

数字控制器,在本例中是 Spartan-7 FPGA。

aa0ea80e-56d4-11f0-9ca0-92fbcf53809c.png


今日

焦点

/FOCUS

更多 >

PDF索引:

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

0

1

2

3

4

5

6

7

8

9

IC型号索引:

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

0

1

2

3

4

5

6

7

8

9

Copyright 2024 gkzhan.com Al Rights Reserved 京ICP备06008810号-21 京

0.171096s