Answers:
您的接线图正确,因为(根据您链接的Sainsmart.com网站)该设备的规格如下:
输入控制信号电压:
0V - 0.5V Low stage (SSR is OFF), 0.5V – 2.5V (unknown state). 2.5V - 20V High state (SSR is ON).
Raspberry Pi在其GPIO引脚上使用3V3信号。根据规范,电压电平足以触发继电器的高电平状态。Arduino(使用相同的电路板)在其GPIO引脚上使用5V信号,并且在该电路板上也可以正常工作。板上的其他电路需要由5V电源供电,为此您已将板正确连接至GPIO接头连接器上的5V电源引脚。
但是,您引用的规格并不完全正确。GPIO接头包括电源引脚(1x 3V3和2x5V),几个接地引脚以及GPIO引脚。GPIO引脚(如您提到的GPIO17)在其可提供的电流方面受到严格限制(与5V引脚不同,根据rPi型号,该引脚至少可提供0.5A的电流)。每个引脚最多可输出16mA(而不是您提到的50mA),所有引脚上的最大总组合电流为50mA。这足以驱动几个LED,但不能驱动更多。这些引脚通常用于向其他设备发送信号,而您的继电器就是一个很好的例子。
正如我所提到的,您的电路在绘制时会正常工作(假设您为继电器端子提供了不同的电源,那么Sainsmart页面会这样说明其支持的继电器电压和电流:
SSR输出(每个通道):
Load voltage range: 75 to 264V AC (50/60Hz). Load current: 0.1 to 2 AMP.
)。通常的做法是,在GPIO17和继电器之间的线路上至少放置一个电阻(1kOhm应该足够),以避免短路通过GPIO引脚油炸rPi。同样,如果您要非常安全,则可以通过二极管的连接来防止意外接线错误将电流发送到输出GPIO17(确保二极管上的极性正确!)。
最后,由于您是新手,因此请特别小心如何接入GPIO引脚,尤其是5V引脚。如果使用正确的母跳线应该没有问题,但是如果您决定使用GPIO端上的裸线,则可能会无意间将5V引脚与GPIO引脚连接,这会导致灾难(如我所说) -“炒ried”)。然后-将GPIO引脚设置为“输出”(使用您使用的任何语言/库),并启用内置的下拉寄存器(以确保在信号“浮动”时将其下拉至0V并且不会t意外触发继电器)。
祝好运!
PS:Sainsmart页面上的视频并没有太大帮助,要观察的唯一有用的事情是,在演示中,他们使用独立的5V电源为继电器供电,而不是使用rPi的5V GPIO引脚供电。根据规格,该板将仅使用160mA,这远远低于rPi可以提供的电流。因此,您无论哪种方式都很好。Sainsmart页面上还链接了Raspberry Pi“文档”,但是该页面(https://github.com/fixedd/RPi_Relay_Interface#readme)上有一个免责声明,指出它的说明对于Sainsmart模块是不必要的,如(引用):
注意/警告
以前曾说过这是用于SainSmart继电器模块的,但后来向我指出这些板实际上已经在其中内置了此逻辑。