RS欧时电子

文章数:1384 被阅读:1794800

账号入驻

欧时课堂 | PYTHON在自动化行业(1)

最新更新时间:2020-04-07
    阅读数:

千万不要在工程师面前问:

Python 和 C 语言哪种更有优势?”

快看 他们要打起来了

不过随着 Python 迅速蹿红,

越来越多的工程师让它在

自动化行业嵌入式系统大显神威。

今天,小欧就为大家选登

欧时工程师社区 Designspark 的文章,

一起看看用 Python 和Revolution Pi

构建基于 PID 控制的加热系统

PYTHON

– 让“Monty 语言”进入自动化行业(1)

只需以下 11 行 Python 语句,就能使用 Revolution Pi 平台构建基于 PID 控制的加热系统:

from simple_pid import PID

import revpimodio2

import time

TempController = PID(5.0, 0.13, 10.5, setpoint=400, output_limits=(0,100))

rpi = revpimodio2.RevPiModIO(autorefresh=True)

while True:
   Temp = rpi.io.Temp10.value
   PWMvalue = TempController(Temp)
   rpi.io.PWM_heater1.value = int(PWMvalue)
   rpi.io.PWM_heater2.value = int(PWMvalue)
   time.sleep(0.05)

我们将控制什么?它是一种采用经典 PID 控制和基于消息的 IoT 的混合应用。我将使用一个模拟温度输入(连接 PT100 传感器)和一个数字输出(带有两个由 PWM 控制的 10W 灯泡)来模拟加热器。当前温度报告至 MQTT 代理,此代理再将数据提供给 Node-Red GUI。设置值可通过此 GUI 进行调节,并由 MQTT 传输至 Python PID 控制软件。如果您对这些感兴趣,请继续阅读下文关于如何高效使用 Python 语言完成自动化任务的逐步说明。

我在演示中使用的设备如下:

√ Revolution Pi Core 3 (181-1142)

√ RevPi DIO (181-1143)

√ RevPi AIO (181-1146)

√ 1 个可至少提供 1A 电流的 24V 实验室电源(还可使用 DIN 导轨式开关电源,例如这款 36W Mean Well 设备:(145-7868

√ 2 个 24V 10W 汽车灯泡,例如 (017-0913

√ 1 个 PT100 传感器(我使用的是四线制传感器,例如 (123-5602) ,但是也可使用三线制传感器,例如 (896-8395

√ 1 台装有 Windows 操作系统的个人电脑,带互联网连接和开关,另配 1 根用于连接 RevPi Core 3 的网络电缆

√ (选配)示波器,用于检查 PWM 输出

如果您是第一次接触 Revolution Pi,请阅读 Andrew 和 Peter 发表的文章,以充分了解这款硬件和软件平台。您将学到如何将 Core 3 模块连接至 IO 模块,如何连接电源,以及如何使用中央处理图像访问所有的 IO。在制造商网页上,您还可以找到许多文字教程和视频教程。

我搭建的装置如下:

请注意两个细节:

  • 我见过许多人将 DIN 导轨安装在平放在台面上的底板上。如果 RevPi Core 是以这种布置方式工作,对 Raspberry 计算模块的冷却起到关键作用的层流气流将无法形成。请勿这样做!使用时务必使 RevPi 直立,这样才能有足够的空气从底部细缝进入,再从顶部细缝流出!

  • 我还经常看到有人在使用 RevPi 模块时不连接 FE(功能接地)接线端子。这样会导致完整的浪涌电流,并使 ESD 保护失效。请勿这样做!即使在办公室桌面上,也至少应当将 FE 接线端子连接到 0V 接线端子。请勿混淆 PE(保护接地)和 FE 的概念!虽然 RevPi 模块不需要 PE(没有接触高压的风险),但是 FE 接线端子是将任何因浪涌、电快速瞬变脉冲群或 ESD 引起的破坏性能量导出模块的唯一途径。如果不连接,将使系统失去保护,从而暴露在这类破坏性环境能量下。

请参考印在 AIO 模块侧面的原理图,以检查是否正确连接了四线或三线 RTD 传感器。我使用 RTD1 输入端子连接该装置,并用 Out1 和 Out2 连接灯泡。请注意,两个 10W 灯泡需要消耗 24V 电源近 1A 的电流。连接 IO 电源时使用粗电线,并且仅使用高侧模式下的输出(这样每个输出最高可达 500mA,而推挽式只能达到 100mA)。

文章来源:Designspark

https://www.rs-online.com/designspark/python-monty-1

作者:VdH

下周,欧时电子RS微信公众号将继续发布本系列文章,扫码关注我们,不要错过哦~

欢迎垂询

最新活动

点“在看”送我一朵小花花


最新有关RS欧时电子的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved