该电路的设计没有MCU,而是使用GreenPAK SLG46620芯片、两个Tower Pro SG90伺服电机和一个模拟操纵杆。

机器人手臂广泛应用于机器人应用。它们可以做出类似人手的动作。机器人手臂可以是一个独立的应用程序,也可以是更大的机器人系统的一部分。机器人手臂主要用于工业中的拾取和放置应用。它们也存在于移动安全摄像头和玩具中。

机器人手臂通常由几个可以旋转的关节连接的连杆组成。在这个项目中,我们将构建一个包括两个旋转关节的机器人手臂,一个用于x轴,另一个用于y轴。这些将由来自操纵杆的模拟信号控制。电路将设计为GreenPAK SLG46620芯片两个Tower Pro SG90伺服电机和一个模拟操纵杆(图1和图2)。

单击以查看全尺寸图像

图1。系统框图。(来源:瑞萨电子)

单击以查看全尺寸图像

图2:电路示意图。(来源:瑞萨电子)

该项目不需要微控制器,因为GreenPAK芯片包括构建能够独立控制伺服电机的静态IC所需的所有元件。

道德原则操作的

GreenPAK芯片将执行系统的所有功能。它从操纵杆的x输出端接收模拟信号,该信号在内部数字化并用作伺服电机的PWM信号。然后将输入通道更改为从操纵杆的y输出读取,并重复该过程。模拟信号将每10ms读取一次,在x和y输出之间交替。因此,每20ms读取一次信号,因此输出频率为50Hz。这适用于伺服电机的操作。

伺服电机

两台Tower Pro SG90伺服电机(图3)将用于构建机器人手臂。电机需要PWM信号来控制其旋转角度,旋转角度在0°到180°之间变化。当引入0.5 ms脉冲宽度时,电机旋转至0°。当脉冲宽度等于2.5 ms时,电机旋转至180°。因此,脉冲宽度必须在每20毫秒0.5–2.5毫秒之间,以获得0°和180°之间的角度。


图3。Tower Pro SG90伺服电机。(来源:瑞萨电子)

模拟操纵杆

模拟操纵杆因其价格低廉且易于连接而广泛应用于机器人应用。操纵杆由两个交叉放置的电位计组成(图4)。它提供三种输出:x、y和在中间的按钮。我们应用中的操纵杆将提供伺服系统的手动控制。

为了获得适合GreenPAK ADC规格的范围,游戏杆将使用芯片的VREF,而不是连接外部分压器。这将减少外部零件的数量。


图4。模拟操纵手柄模块。(来源:瑞萨电子)

绿色PAK设计

GreenPAK设计是在基于GreenPAK Designer软件,是Go Configure的一部分™ 软件中心(指向设计文件的链接). 该设计包括几个部分(图5)。

单击以查看全尺寸图像

图5。GreenPAK设计–矩阵0。(来源:瑞萨电子)

模拟MUX根据定义的时间间隔从两个不同的输出端接收信号。100Hz的脉冲发生器每10ms发出一次脉冲。x信号在前10ms接收,y信号在后10ms接收。

Pin8和Pin9被配置为连接到被配置为模拟多路复用器的PGA的模拟输入。来自Pin16的信号在其两个通道之间切换。当信号CH选择器设置为高电平时,读数来自引脚8,当信号CH选择开关设置为低电平时,来自引脚9。在将模拟信号转换为数字信号之后,从FSM0读取模拟信号。FSM0从ADC块的输出(ADC数据)获取其输入。FSM0配置为下降沿DLY。

延迟时间=(计数器值+1)/时钟。

时钟=256/2ms=128kHz

FSM0的CLK引脚通过EXT CLK0连接到CNT5输出,以获得128kHz,从而当从ADC接收到255的值时,输出的脉冲宽度为2ms。因此,CNT5的输出周期为7.8125µs,CNT5数据为210。

2-L0反相器和CNT6定义了100 Hz发生器,该发生器每10毫秒发出一次脉冲,以便每20毫秒向两个伺服电机输出PWM信号。发生器的输出触发CNT9,该发生器被配置为作为下降沿DLY工作,延迟时间为0.5毫秒。CNT9的输出触发FSM0输出宽度为FSM数据+0.5的信号,该信号将在0.5到2.5毫秒之间。这通过LUT传递到合适的伺服。

CNT0用于为每个工作周期提供2.5毫秒的脉冲宽度,作为将信号输出到伺服电机(依次为每个伺服电机)的最大允许时间帧,以防止任何错误。

DFF0、2-L1、3-L2用于控制输入通道,其中每10ms在PGA的通道1和2之间周期性地进行切换。Pin6外部连接到Pin16,Pin16连接到PGA的CH选择器引脚。

4位LUT0、3位LUT03位LUT1和2-L2构成多路分解器,将PWM信号传递给请求的伺服电机(图6)。

单击以查看全尺寸图像

图6。LUT配置。(来源:瑞萨电子)

当CH选择器信号为HIGH(高)时,读数来自通道1到Pin8,修改后的PWM信号通过Pin4传递到x伺服电机。当CH选择器设置为LOW(低)时,读数来自通道2,信号传递至Pin5,然后传递至y伺服电机。

从循环开始经过2.5 ms后,通道随CNT0输出的下降沿改变,以在下一个循环开始时输出脉冲(见图7)。这为信号读取和稳定性提供了充足的时间。

单击以查看全尺寸图像

图7。时序图。(来源:瑞萨电子)

为了防止信号小(小于40mV)时ADC中出现任何错误,使用DCMP0将ADC值与寄存器0进行比较。如果该值小于9,则角度将被视为0°,CNT9的输出将直接传递到请求的伺服电机。

操纵杆来自GreenPAK芯片内的VREF0,因此操纵杆读取的信号在ADC的操作范围内。VREF0连接到引脚19,其中源选择器设置为ACMP0,调整为1200 mV。操纵杆包含一个按钮,可用于其他功能。使用CNT8构建去模糊器,并通过Pin20输出改进的信号。引脚12配置为低压数字输入,因为操纵杆电压为1200 mV(图8)。

单击以查看全尺寸图像

图8。GreenPAK设计–矩阵1。(来源:瑞萨电子)

为了测试设计,使用GreenPAK Designer的信号向导将不同的信号应用于输入(图9)并监控输出(图10)。

单击以查看全尺寸图像

图9。生成锯齿波。(来源:瑞萨电子)

单击以查看全尺寸图像

图10。Pin8(黄色)、Pin9(蓝色)、Pin5(红色)和Pin6(绿色)。(来源:瑞萨电子)

以下视频显示了正在工作的项目,也提供了在这里.

结论

在这篇文章中,我们使用GreenPAK SLG46620芯片构建了一个电路,该电路使用两个伺服电机和一个模拟操纵杆控制两个关节(x和y)的机器人手臂。该芯片在很小的空间内集成了电路的所有重要元件,效率很高。不需要外部微控制器,并且几乎不需要外部元件。

通过连接多个芯片,这种设计可以扩展到构建更大自由度的机器人手臂。这种系统可以应用于许多不同的工业应用。


阿纳斯·阿贾杰是一名拥有项目管理硕士学位的控制和自动化工程师。他拥有超过10个学术和商业项目的完整项目经验。他是原型和物联网领域的技术培训师和创新者。