0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作一个继电器操作的GPS定时风扇

科技观察员 来源:allaboutcircuits 作者:延斯·克里斯托弗 2022-04-26 16:49 次阅读

需要给房间通风吗?本文将向您展示我是如何制作一个继电器操作的 GPS 定时风扇来排出我船舱内的潮湿空气。它由 PIC16F628A 控制并具有 LCD。

让空气流动

在几乎没有通风的小房间里,空气往往会停滞不前。如果空气有点潮湿,你肯定会在某些地方有霉菌和真菌。

霉菌和真菌存在于自然界中,它们是分解树叶、木材和其他植物碎片所必需的。因为我的船里有很多木头,我肯定会有霉菌和真菌。我无法阻止它们进来,但我可以采取一些措施来尽量保持我船内的环境对霉菌和真菌不利。

至少有两种方法可以解决这个问题。一种方法是按时进行清洗和清洁。现在,这有多有趣?作为一个极客,我把一些东西变成了书呆子:一个风扇,它在固定的、定时的基础上循环和排出潮湿的空气。

设计系统

我希望系统执行以下操作:

循环空气

以稳定的间隔自动打开/关闭

从汽车电池运行

包含一个电池充电器为电池充电

包含显示时间和其他信息的显示器

要制作这样一个系统,我需要以下部分:

12v风扇

一个微控制器

一个 12v 电池和一个 12v 电池充电器

2个继电器,跟踪时间和螺丝端子的东西。

其他零件,根据下面的零件清单

我希望风扇每小时运行五分钟。这将在软件中进行硬编码。

该设置将使用汽车电池运行。我的风扇额定电压为 12v 4.5A。为确保电池始终处于顶部充电状态,我将其连接到电池充电器。为确保风扇运行时电池充电器不会过载,我将在风扇运行时让系统“断开”充电器。一个继电器将操作风扇,另一个继电器将操作电池充电器。风扇运转时,电池不充电,风扇不运转时,电池充电。

为了跟踪时间,我使用了 GPS 模块。在这个项目中,我将使用 Skylab SKM53 系列模块 (PDF)。该单元每秒通过 UART 发送几个 NMEA 语句。数据表建议在 RXD 和 TXD 上都使用 10K 上拉电阻。这将增加串行数据的稳定性。我没有这样做,我没有注意到任何不稳定。我可能很幸运。在数据表的同一页上,它说应该添加合适的去耦电容器。10uF 电解和 0.1uF 陶瓷。当我为电路制作面包板时,我只使用了 0.1uF 陶瓷。

pYYBAGJnsgiAfFkIAACfgyvOnBU117.png

Skylab 数据表 (PDF)的屏幕截图。

我正在使用“RMC”句子来获取时间。RMC 语句的示例如下:

$GPRMC,075747.000,A,2233.89990,N,11405.3368,E,3.9,357.8,260210,,,A*6A

$GPRMC 之后的第一个数字是时间。在此示例中,时间为 07:57:47。我们将需要这些信息。

poYBAGJnsgmAGxjMAAAVCQjdtsI607.png

接下来我们需要的是告诉我们 GPS 模块是否具有有效定位的前缀。在上面的示例中,它是三个零之后的大写字母 A。

pYYBAGJnsgqABikfAAATMieq8iA205.png

“A”表示有效修复,“V”表示无效修复。在我的软件中,我检查了一个有效的修复程序。这些字母区分大小写。

为了构建项目,我喜欢制作框图。通过这种方式,我“想象”了我想做的事情。

poYBAGJnsguAdE0QAAA48JO4VKA72.jpeg

在上面的框图中,我将所有内容拆分为各自的块。如果我需要对原理图或电路进行故障排除,这也很有帮助。

硬件

原理图是基于框图。我已经复制了框图中的所有块,以反映电路中的组件及其连接。

pYYBAGJnsgyAVEukAABboNtTTAY891.jpg

在 LM7805 稳压器的数据表中,声明对于标准应用,您只需要输入引脚上的 0.33uF 和输出引脚上的 0.1uF。那么为什么我要使用不同的值上限和一些额外的值呢?我正在使用它们来平滑输入和输出。这可能有点太多了,但我对这种调节器配置有很好的体验。如果您不使用任何电容器,稳压器可能会开始振荡。LM7805 稳压器是一种老式的线性稳压器。为什么不使用现代开关稳压器?开关稳压器比线性稳压器效率高得多。这就是我周围的东西。

poYBAGJnsg2AK4mEAACAUwynf9E975.jpg

pYYBAGJnsg6AQcEfAAAwKT6V6Eg836.jpgpoYBAGJnsg-ARmb0AAA6O77Ntos515.jpg

pYYBAGJnshCAZ5VBAAA-wNAqZ2o335.jpgpYYBAGJnshCAcY6YAABkMd5c0FQ586.jpg

poYBAGJnshGAHO7NAABdvlBc_2I127.jpgpYYBAGJnshKAVb5JAABffRAfK0k074.jpg

poYBAGJnshOAEYKXAABiOrvfSqg586.jpg

只需使用一个继电器,我就可以节省零件和空间。我想要两个继电器。使用两个继电器的原因之一是我希望在充电器被切断和风扇启动之间有一点时间框架。

我已将 BOM.ULP 中的部件列表导入 OpenOffice Calc 并删除了一些不必要的列:

pYYBAGJnshSAFTySAAEWPoU_RiE575.jpg

原理图中没有显示的是我的保险丝。我在风扇正极线上有一个 12v 8A 额定保险丝,我在电池充电器正极线上也有同样的保险丝。

poYBAGJnshWAYqfVAACuNotWwdg956.JPG

软件

您可以从本文末尾的下载链接下载 C 源代码。代码注释很好,但我会在这里做一些额外的亮点。

当我制作一个程序时,我遵循一定的结构。该图显示了结构:

pYYBAGJnshaARkjIAAArw2bDHtU31.jpeg

代码首先包含必要的库,然后是配置位。在源代码中包含配置位被认为是一种良好的编程习惯。然后,查看您所做的工作并帮助其他人进行故障排除会容易得多。此外,如果您在几个月后接手一个项目,那么您会立即看到其中的内容。

当配置位没问题时,我继续进行定义。在这里,我定义了连接到电路的晶体速度。微控制器的端口也被定义。

接下来是变量:所有变量都在这里声明。

现在是时候对函数进行原型设计了。在这里,我列出了程序使用的所有功能。一些程序员认为这是浪费时间,但我喜欢它并保留它。如果您在主程序循环之后使用函数来构建程序,这实际上是必要的。

接下来是功能。现在开始评论真的很重要。我通常在每个函数上都有几行来说明该函数的一般作用。我还在函数内注释代码行。

一个例子是这个项目中初始化 UART 端口的函数:


// FUNCTION TO INIT THE UART PORT
void uart_init(void)
{
TXSTAbits.BRGH = 0; // high baud selection bit, 1=high, 0=low
TXSTAbits.SYNC = 0; // USART mode selection bit, 1=sync mode, 0=async mode
TXSTAbits.TX9 = 0; // 9-bit selection bit, 1=9-bit transmission, 0=8-bit transmission
RCSTAbits.CREN = 1; // Continous receive enable bit, 1=enable continous receive
/*
Calculate the SPBRG with 16MHz crystal
16MHz
16000000 /9600 = 1666.6666
1666.6666 / 64 = 26.0416
26.0416 - 1= 25.0416
25.041 = 25
*/
SPBRG = 25; // 9600-n-8-1
PIE1bits.RCIE = 1; // USART receive interrupt enable bit, 1=enable
RCSTAbits.SPEN = 1; // Serial port enable bit, 1=serial port enable
TXSTAbits.TXEN = 1; // transmit enable bit, 1=transmit eanble
return;
}

您将看到第一行解释该函数的作用的注释行。然后所有的代码行都被注释了,所以我知道发生了什么。

当所有功能都到位后,就该主程序了。主程序从几个语句开始,然后进入一个永远运行的循环。

结论

在这篇文章中,我尝试使用一个可以吹动和循环空气的风扇,让我的船上的环境对霉菌和真菌有害。风扇连接到从机舱伸出的管道。我使用 GPS 模块来跟踪时间,并使用两个继电器来打开/关闭风扇。为了确保电池保持充电状态,我使用了另一个继电器来打开和关闭电池充电器。

我把它留给读者,让这个电路更上一层楼并显示日期。

为什么要使用 GPS 模块?我本可以将微控制器用作简单的计时器。然后我必须制作某种界面来设置时间。或者我会很高兴它运行而不考虑实时。它将每小时运行 5 分钟。使用 GPS,我可以通过编程方式将其设置为每小时运行五分钟。

图片

pYYBAGJnshiAdexyAAFkG4T3ImY61.jpeg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4424

    浏览量

    167405
  • gps
    gps
    +关注

    关注

    22

    文章

    2894

    浏览量

    166183
  • PIC16F628A
    +关注

    关注

    1

    文章

    8

    浏览量

    10056
收藏 人收藏

    评论

    相关推荐

    如何使用LDR和继电器制作简单的自动路灯电路

    在这个项目中,我们将使用LDR和继电器制作简单的自动路灯电路,它将根据周围环境中的灯光打开和关闭灯泡。该电路非常简单,可以使用晶体管和LDR构建,不需要任何运算放大器或555 IC
    的头像 发表于 01-02 10:30 4502次阅读
    如何使用LDR和<b class='flag-5'>继电器</b><b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b>简单的自动路灯电路

    基于ARM的定时继电器驱动模板的设计 含电路原理图

    ,对发电厂/变电站控制对象的远方控制主要采用定时继电器驱动现场的执行机构进行操作。鉴于电力系统的特殊性,对控制操作的安全可靠性有非常严格的要求,
    发表于 10-23 10:55

    米思奇继电器控制风扇 相关资料推荐

    米思奇继电器控制风扇这是简单的米思奇电机控制风扇米思奇继电器控制
    发表于 07-06 06:53

    如何使用DHT22传感器和继电器制作款Arduino温控风扇

    在本篇文章中,我们将主要介绍如何使用DHT22传感器和继电器制作款Arduino温控风扇。使用DHT22传感器获取温度值,然后将在LCD显示屏上打印此温度值。我们将检查温度值是否大于
    发表于 09-08 07:40

    如何使用555定时制作延时继电器电路

    描述使用555定时器IC的延时继电器电路在这个 555 定时器项目中,我展示了如何使用 555 定时器 IC 制作延时
    发表于 07-01 06:59

    时间继电器电路及制作

    时间继电器电路及制作
    发表于 04-14 11:17 20次下载
    时间<b class='flag-5'>继电器</b>电路及<b class='flag-5'>制作</b>

    继电器逆变装置电路及制作

    继电器逆变装置电路及制作
    发表于 04-14 16:27 5次下载
    <b class='flag-5'>继电器</b>逆变装置电路及<b class='flag-5'>制作</b>

    利用继电器制作电器电路图

    利用继电器制作电器电路图
    发表于 12-02 21:49 984次阅读
    利用<b class='flag-5'>继电器</b><b class='flag-5'>制作</b>限<b class='flag-5'>电器</b>电路图

    定时继电器驱动模板的设计详细介绍

    定时继电器驱动模板的设计详细介绍 摘要:基于Philips LPC2138 ARM微控制器设计了块8通道定时
    发表于 11-27 10:27 1270次阅读

    单片机制作继电器 【汇编版】

    单片机制作继电器 【汇编版】单片机制作继电器 【汇编版】单片机制作继电器 【汇编版】
    发表于 12-29 13:50 0次下载

    单片机制作继电器 【C语言版】

    单片机制作继电器 【C语言版】单片机制作继电器 【C语言版】单片机制作继电器 【C语言版】单片机
    发表于 12-29 13:53 0次下载

    Arduino温度传感器之继电器控制风扇

    、介绍通过Arduino R3开放板读取LM35温度传感器参数,将参数转换成温度值,根据温度值开发板发出高电平,将继电器常开开关打开,使风扇处于通电状态,风扇自动转动;当温度低于设
    发表于 12-03 20:51 14次下载
    Arduino温度传感器之<b class='flag-5'>继电器</b>控制<b class='flag-5'>风扇</b>

    如何制作继电器操作定时通风机

    需要给房间通风吗?本文将向您展示我是如何制作继电器操作GPS
    的头像 发表于 05-10 16:00 1824次阅读
    如何<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>继电器</b><b class='flag-5'>操作</b><b class='flag-5'>定时</b>通风机

    介绍种变压器风扇自启动电路

    通过利用电接点温度继电器,控制冷却风扇在变压器等设备发热温度达到上限值时,自动启动;当温度下降到设定值时风扇自动停止。
    的头像 发表于 11-09 16:04 944次阅读
    介绍<b class='flag-5'>一</b>种变压器<b class='flag-5'>风扇</b>自启动电路

    使用Arduino的可变定时继电器设计

    定时继电器,也被称为时间继电器,是种在设定的时间间隔后触发特定操作的电子元件。它在工业自动化、家庭生活、交通管理等领域具有广泛的应用。
    的头像 发表于 06-24 16:52 1047次阅读
    使用Arduino的可变<b class='flag-5'>定时</b>器<b class='flag-5'>继电器</b>设计