快捷搜索:  汽车  科技

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)本套物联网套件可以支持大学生参加物联网相关比赛、申请学校大创项目、完成毕业设计等,我们的定位是做一家开源智能硬件服务商,和大家一起探索物联网,我们的使命是推动更多物联网产品的落地和普及,让技术不再是阻碍!后续我们会继续增加涂鸦智能、电信云、移动Onenet、阿里云等主流云平台的支持,力争做到,一套STM32代码,通过定制的WIFI模块可以连接到不同的云平台,也欢迎有产品开发需求的朋友私聊我们咨询、定制物联网方案!STM32物联网套件目前有两个版本:基础版和高级版,后续会增加应用版本和语音版,核心板均采用STM32F103C8T6核心板,基础版主要元器件如下所示:高级版版主要元器件如下所示:STM32物联网套件致力于带领大家入门物联网,不仅学习STM32,也了解转微信小程序开发、物联网服务器后台开发,真正做到了解一个物联网项目的方方面面,基于此,我们定制了一套通用的WIFI通讯协议(可以理解

前言

继电器是一个生活中比较常用的元器件,有了继电器,我们可以使用单片机输出的低电平控制高电平期间工作,比如继电器接到220V用电器上,可通过单片机智能控制用电器,本节我们开始正式学习如何使用继电器。

一、基础知识

1. STM32物联网套件简介

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(1)

STM32物联网套件目前有两个版本:基础版和高级版,后续会增加应用版本和语音版,核心板均采用STM32F103C8T6核心板,基础版主要元器件如下所示:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(2)

高级版版主要元器件如下所示:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(3)

STM32物联网套件致力于带领大家入门物联网,不仅学习STM32,也了解转微信小程序开发、物联网服务器后台开发,真正做到了解一个物联网项目的方方面面,基于此,我们定制了一套通用的WIFI通讯协议(可以理解为类似AT指令,不过集成度更高,几条指令就可以直连接云平台),如三条指令连接腾讯云实例。

后续我们会继续增加涂鸦智能、电信云、移动Onenet、阿里云等主流云平台的支持,力争做到,一套STM32代码,通过定制的WIFI模块可以连接到不同的云平台,也欢迎有产品开发需求的朋友私聊我们咨询、定制物联网方案!

本套物联网套件可以支持大学生参加物联网相关比赛、申请学校大创项目、完成毕业设计等,我们的定位是做一家开源智能硬件服务商,和大家一起探索物联网,我们的使命是推动更多物联网产品的落地和普及,让技术不再是阻碍!

2. 继电器简介

继电器是具有隔离功能的自动开关元件,实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一,继电器可以分为很多种,本实验使用光耦隔离继电器,实物图如下:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(4)

继电器原理图如下所示:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(5)

从上图可知,给继电器模块供电后,红色LED灯就会被点亮,当给IO引脚输入低电平后,单片机IO输出的电流经过S8550放大后,驱动继电器SRD-05V,继电器中5、3常闭开关断开,5、2常开开关关闭,同时绿色LED灯点亮,P1端口引脚2为COM端口,1为NC,3为NO。

3.硬件设计

硬件电路连接原理图如下所示:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(6)

注:默认NO和COM是断开的,所以默认LED等关闭,当使能继电器时候,NO通过COM连接到GND。

实物图如下所示:

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(7)

其中,VCC GND PB12控制继电器输入,继电器输出需要单独提供电源,可以使用220V供电,然后回路通过继电器输出端口,分别接NO和COM端口,如此继电器输出控制相当于一个开关,可以控制输出电路的通断 本实验使用的是3.3V供电控制LED灯亮灭。

二、实例

1. 新建工程

使用STM32CubeMX创建一个新的工程 参考环境搭建章节配置方式,设置RCC和PB12引脚输出

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(8)

进入Clock configuration页面,选择HSE时钟源,倍频后主时钟为72MHz

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(9)

切换到Project Manager栏目,设置工程名字、工程保存目录、工具链等信息,具参数如下图所示

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(10)

点击左边栏目Code Generator,然后勾选Generate peripheral initialization as a pair of '.c/.h' files per peripheral,勾选此选项,外设将单独保存在一个文件中,而不是全部都在main.c中。

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(11)

然后打开MDK-ARM/3.Relay.uvprojx工程

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(12)

2.修改程序

/** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_GPIO_WritePin(GPIOB GPIO_PIN_12 GPIO_PIN_RESET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOB GPIO_PIN_12 GPIO_PIN_SET); HAL_Delay(1000); } /* USER CODE END 3 */ }

注意void HAL_Delay(uint32_t Delay)为毫秒级函数,根据系统Systick延时。

/** * @brief This function provides minimum delay (in milliseconds) based * on variable incremented. * @note In the default implementation SysTick timer is the source of time base. * It is used to generate interrupts at regular time intervals where uwTick * is incremented. * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @param Delay specifies the delay time length in milliseconds. * @retval None */ __weak void HAL_Delay(uint32_t Delay) { uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait = (uint32_t)(uwTickFreq); } while ((HAL_GetTick() - tickstart) < wait) { } }

三、下载运行

按照环境搭建章节方式给核心板下载程序,可以听到LED灯每隔1秒点亮一次。

stm32数据采集控制继电器(STM32物联网套件基础版03-控制继电器)(13)

猜您喜欢: