原创 通过树莓派处理大电流以控制电机

2023-9-18 14:46 568 1 1 分类: 智能硬件
如今市场中的LED琳琅满目,所以需要仔细阅读不同LED的额定参数表和技术规格书。在电路设计过程中,没有比注意电压和电流更重要的了。

电压过高或电流过大均可造成损坏,好不容易设计出来的产品如果因为电压电流问题功亏一篑,实在令人扼腕。

可能会着火甚至爆炸

可能会着火甚至爆炸

但是,即使出现这种情况,也不要轻言放弃 。
除了损坏外,还有可能出现元器件爆炸或过热等情况,可能会使人受伤甚至引起火灾,因此必须格外注意。
言归正传,接下来我们会再稍微详细地探讨一下LED的性能。

1. LED的结构

子弹头LED的内部结构如下图所示。
LEDの構造
实际发光器件是中间圆盘中的那个小芯片。圆盘就像一个反射器,罩壳顶部设计成透镜形状,方便灯光散射。
部分产品的阳极侧也可能会连接一个圆盘,所以并不能全部通过内部引线框架的形状来确定LED的结构。

2. LED的性能 ・有两种亮度表述方式:坎德拉和流明。

仔细阅读LED的技术规格书后发现,亮度表述方式有两种,即“cd(坎德拉)”和“lm(流明)”。两者均采用数字的方式表示亮度,即数值越大亮度越高,但各自的含义存在本质区别。

将光源发出的光视作“线”(即光束)时,光源的发光总量用“lm(流明)”来表示。在实际应用中,某些器具因为形状的原因,由于透镜和反射器的作用,光线可能无法向背面散射,而是朝向一个方向发射,将单位立体角的光通量称为光强,用“cd(坎德拉)”表示。

此外,大家可能还知道亮度单位“lx(勒克斯)”,表示光接收表面的亮度(照射在单位面积上的光通量)。基础知识大概就这些。
LED 明るさの表記
顺便提一下,这种常见的子弹头LED,由于树脂罩壳内的反射作用,光线多少会从背面漏出来一些。但如在功率LED的背面配置一块铝基板,不仅可用来散热,也能阻挡光从背面漏出来。从具体产品看,会发现功率LED的亮度多用流明(lm)来表述,可能是考虑到这样的产品结构而选用的单位吧。

・色温

色温的单位为“K”(开尔文)。比如:在熔炉中敲打铁钉时,铁钉会逐渐变红,并发出红光,这种现象称为“热辐射”;随着温度升高,颜色会变黄。热辐射规定了温度变化引起的颜色变化,并以符号来表示。

特别是白光LED的光线颜色包从含浅白色到橙色的各种颜色,称为灯泡色温,色温值越高,颜色越浅。

・广角型和窄角型

也有“半角”等表述方式,角度代表光的扩散范围,具体取决于罩壳透镜和引线框架的结构。例如,亮度相同的LED,如果是窄角型LED,光线中心最亮,其周围突然变暗,而如果是广角型LED,则光线扩散范围较广,而且能一定程度上均匀照亮。

・适配选型

现在大家对LED已经有了一定的了解,以后选型时相信大家能够选择适合需求的LED。
例如,对于某些作品来说越亮越好,当然,也需要结合预算;但如果主要用于照明,那么最好选用亮度较高的LED。如果主要用于显示,则选择亮度不高的LED也可以。比如在夜间或光线较暗的地方,如果采用亮度较大的7段LED,则会出现字母显示模糊不清且很难看清数字的情况。

3. 尝试通过Raspberry Pi控制电机

接下来,我们来谈谈Raspberry Pi。
如何使用Raspberry Pi控制LED以外的其他设备?例如,需要的电流比LED电流更大的设备(比方说电机),该如何控制?
说起模型制作用的直流电机,非常有名的要数万宝至马达公司生产的电机了。我们以标准的FA-130RA电机为例来介绍吧。
FA-130RA
外包装性能表上标注的电压和电流分别为1.5V-3V和500mA,这种电机通常多用于模型和玩具,所以一般根据干电池电源来设置其电压。
FA-130RA
电机通过磁场中线圈接收的力来驱动电机旋转。另外,由于线圈本身会产生电抗等看不见的电阻,所以难以掌握电流的情况。

暂且只能以包装上标注的3V和500mA为准。
在上一篇文章中,控制LED时使用的晶体管2SC1815的额定值表中规定“流过集电极的电流上限为150mA”,而“500mA”的电流值明显超过额定值了。这这种情况下,我们应该怎么办?

对此有几种处理方法。

・大电流的处理方法

例如,可使用电机驱动专用扩展板或电机驱动器IC,具体选用哪种方法取决于扩展板和IC的功能,所以可直接根据正转、反转和制动等使用方式来选用。

另一种方法是使用继电器。继电器是与线圈(即电磁体)接触的一种机构,所以有些继电器可能需要配备晶体管(与LED那篇一样)等来驱动线圈单元。可以说,与开关一样,只要在额定范围内,电源(100V)即可正常导通和关断。另外,使用时会产生物理接触,所以其使用寿命取决于使用频率。还可采用易用性相同、由半导体组成的SSR(固态继电器)。

FA-130RA

图片为透明封装的继电器(可看到内部线圈)

以上列出了几种不同的方法,可能还有些我不太了解的方法和产品,总之我认为最好选用符合目标作品需求的方法。
现在,让我们回到最基本的做法,用晶体管来尝试驱动。

我选择的是可承载较大电流的2SC2655L,其集电极额定电流高达2A,这么高的电流这还不足以驱动这台直流电机吗?与LED那篇的介绍一样,可以通过电路来连接。

コレクタ
电路是用来驱动电机的电路,从GPIO通过一个1kΩ电阻器将晶体管的基极与集电极相连接,电路示意图如下:
回路

面包板组装示意如图如下:
ブレッドボード
我在Scratch上使用了和上一篇文章一样的程序,也就是说,只是改变了LED等器件,程序可以采用相同的程序。虽说如此,运行起来却完全不同,这是因为电机与LED不同,并不是那种可以突然开启、突然停动的器件。
我暂且尝试了以下的形式。声明GPIO,将引脚4设置为输出,然后每秒重复开关10次。
Scratchプログラム
我在电机上配有风扇,暂且将它当做电风扇来用吧。可以说这是一个风扇实验设备,可在面包板上尝试各种不同的配置。

通过开关的ON/OFF即可转动电机。好不容易用Raspberry Pi让电机转起来了,自然而然地希望能控制点什么。

那么,如何控制转速呢?
最近一些电风扇能够间歇性送微风,例如“微风模式”,我们也可尝试实现这种模式。

・PWM控制

PWM是一种常用的数字控制方法。PWM即“脉冲宽度调制”,本质上是一种通过调节快速信号周期中的脉冲宽度来改变一个周期ON/OFF状态的方法。
如果处于ON时间长的状态(如Fig. 2),则其电量将大于ON时间短的状态(如Fig. 3)下的电量,换句话说,直流电机在Fig. 2状态下转速较快,反之亦然。

パルス幅変調
现在,让我们尝试在Scratch中来构建。声明GPIO,将引脚4设置为PWM输出,创建变量”power4″并将初始值设置为0。
在计算模块中将”power4″输出到GPIO4。另外,也可将屏幕中的变量显示模式设置为滑块显示,通过滑动按钮来控制风量。此时,如将滑块最大值设置为“1023”,则风扇将全速运转。
Scratchプログラム

接下来就可以尝试自动停止送风、重新开始送风、重复该模式的运行方式了。另外,我们还会尝试导通LED。
还是通过PWM控制,LED也会随风扇转速变化而变亮和变暗。

电路图如下所示:
回路図

面包板如下图所示:
ブレッドボード

Scratch程序如图所示:
Scratchプログラム

提高变量值,并使该状态按最大值保持5秒;然后降低变量值,在0处保持5秒,如此重复。LED的亮度也随之变化。


来源:techclass.rohm

文章评论0条评论)

登录后参与讨论
我要评论
0
1
关闭 站长推荐上一条 /2 下一条