单片机可控硅调光器

article/2025/5/19 16:43:30

可控硅原理

可控硅主要用于交流电功率调节,通过调节导通角有效的控制输出波形的占空比起到控制输出功率的作用, 本文主要讲述如何通过单片机C语言控制可控硅功率从而实现对交流电灯的明暗度调节

基于STM32定时器实现的可控硅控制

这里我们采用stm32f103芯片作为控制芯片,最简单的我们使用系统滴答定时器就可实现对可控硅导通角的精准控制。
首先需要初始化滴答定时器。

SysTick_Config((uint32_t)90); //初始化计数值为90SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//初始化预分频因子为8分频

我们知道stm32f103系统主频为72Mhz,以上两句将72Mhz分频8倍后并初始化计数值为90,也就是设定为一个周期为:90/(72Mhz/8)=10us。
为什么要初始化成10us的周期呢?
因为在我国交流电常规频率是50hz,可调光器使用双向可控硅,即50hz在正弦波的正负区间均可导通,那么频率就是50hz*2=100hz,即周期为10ms,这样我们定时器以10us为单位,其分辨可调分辨率就是1000了。
由光耦MOC3023和BAT24-800B组成的可控硅控制电路,另外为了保证灯光在亮度为0时彻底关闭我们加入了继电器的控制
如下图:
双向可控硅电路

初始化控制所需GPIO,并宏定义

  GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6| GPIO_Pin_7| GPIO_Pin_8| GPIO_Pin_9 | GPIO_Pin_14;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB, &GPIO_InitStructure);#define   LIGHT1_H		GPIOB->BSRR|=(1<<6)
#define 	LIGHT1_L		GPIOB->BRR|=(1<<6)
#define   LIGHT2_H		GPIOB->BSRR|=(1<<7)
#define 	LIGHT2_L		GPIOB->BRR|=(1<<7)
#define   LIGHT3_H		GPIOB->BSRR|=(1<<8)
#define 	LIGHT3_L		GPIOB->BRR|=(1<<8)
#define   LIGHT4_H		GPIOB->BSRR|=(1<<9)
#define 	LIGHT4_L		GPIOB->BRR|=(1<<9)

初始化过零检测IO

50hz交流电过零检测电路

说明:如上图50hz交流电过零检测电路,采用一个外部中断(Zero_check_out)捕获交流电零点,这里采用stm32的GPIOB_15,对应外部中断线EXTI15_10,中断服务函数如下:

 void EXTI15_10_IRQHandler(void){	       if(EXTI_GetITStatus(EXTI_Line15)!= RESET){if(Light_count>=900) //因为过零时刻为每个周期的结尾时段,即计数值为1000左右,故判断Light_count计数是否大于900可防止意外干扰{LIGHT1_H;//拉高可控硅控制引脚即熄灭灯光,等待延时条件满足时在定时器中拉低并导通LIGHT2_H;LIGHT3_H;LIGHT4_H;Light_count=0; //计数值清零}EXTI_ClearITPendingBit(EXTI_Line15);}}

定时器中断子函数

说明:
此中断函数主要用来控制可控硅导通延时时间起到亮度调节的作用
Light_value表示每通道的亮度值
LIGHT_L表示拉低对应可控硅控制IO,这时对应的可控硅导通,即灯光点亮
以1000为一个单位周期,那么1000-亮度值就是一个周期内非导通所占的周期时间

void SysTick_Handler(void)  //中断服务函数,每100us执行一次
{	if(Light_count >= (1000-Light_value[0]))//通道1判断:当Light_count计数到大于等于非导通时间点亮可控硅{LIGHT1_L;}if(Light_count >= (1000-Light_value[1])){LIGHT2_L;}if(Light_count >= (1000-Light_value[2])){LIGHT3_L;}if(Light_count >= (1000-Light_value[3])){LIGHT4_L;}Light_count++;//计数
}

实验

结语

可控硅调光明白其原理后控制起来很容易,本代码中只需要修改每个通道的Light_value(取值范围:0-1000,代表亮度值)即可改变实时显示的亮度值,根据自己的应用,在通信中实时的改变这个值变可灵活的运用到自己的产品中去。注:本产品已广泛的应用于工业及商业,物联网,智能家居等领域。


http://chatgpt.dhexx.cn/article/ZVxYJc8I.shtml

相关文章

双向可控硅控制后续篇:过零检测电路、丢波、斩波、定时

概念讲解 当我们在使用AC负载的时候&#xff0c;为了能较好的控制负载工作功率&#xff0c;需要用到继电器、可控硅等对负载进行工作与断开的控制&#xff0c;从而将功率维持在所需的大小上&#xff0c;之前介绍双向可控硅的文章也讲了其控制方式主要有&#xff1a;定时、丢波…

双向可控硅晶片光耦(TLP160J TLP260J TLP525G)基本原理及应用实例

TLP160J TLP260J TLP525G是输出端采用双向可控硅晶片的光耦&#xff0c;此3款光耦采用的是非过零触发导通形式&#xff0c;因此应用在交流电的情况下&#xff0c;在交流电的任意相位&#xff0c;只要收到输入的的触发信号&#xff0c;输出端就会开始导通&#xff0c;故可以改…

单片机可控硅调光电路

可控硅调光是目前比较成熟的调光电路,网络上随时都可以搜出很多中电路&#xff0c;而且还有程序。但是很多时候大家并没有真正理解其调光原理&#xff0c;下面详细说明可控硅调光电路中容易遇到的问题。 使用光耦来驱动双向可控硅&#xff0c;是一个最基本的驱动电路&#xff0…

地址总线是单向还是双向_双向可控硅和单向可控硅的区别

可控硅又叫做晶闸管&#xff0c;是一种常用的半导体器件&#xff0c;是一种能像闸门一样控制电流大小的半导体器件。因此&#xff0c;可控硅也具有开关控制、电压调整和整流等功能。可控硅的种类较多&#xff0c;强电电路采用的可控硅主要有单向晶闸管和双向晶闸管两种。常见的…

可控硅原理(单向可控硅和双向可控硅)

晶闸管(Thyristor)又叫可控硅&#xff0c;按照其工作特性又可分单向可控硅(SCR)、双向可控硅(TRIAC)。其中双向可控硅又分四象限双向可控硅和三象限双向可控硅。同时可控硅又有绝缘与非绝缘两大类&#xff0c;如ST的可控硅用BT名称后的“A”、与“B”来区分绝缘与非绝缘。 …

双向可控硅的工作原理

先看下图的工作原理&#xff1a; 如果想简单一点只要记住一句话即可&#xff0c;只要在G端有信号&#xff0c;那么T1-T2这条路就是通的&#xff0c;只有G在零点的时候才不会导通&#xff0c;主要来看一下应用吧。 来看我们公司的一个电路图&#xff0c;其实双向可控硅多数用在…

可控硅的概念和结构工作特性

可控硅知识的问与答 一、可控硅的概念和结构&#xff1f; 晶闸管又叫可控硅。它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管等等。今天大家使用的是单向晶闸管&#xff0c;也就是人们常说的普通晶闸管&#xff0c;它是由四层半导体…

双向可控硅原理图

双向可控硅是一种以硅单晶为基本材料的P1N1P2N2四层三端器件&#xff0c;是在普通可控硅的基础上发展而成的交流开关器件&#xff0c;其英文名称TRIAC即三端双向交流开关之意&#xff0c;发明于1957年。双向可控硅为单向导电性开关&#xff0c;能代替两只反极性并联的可控硅&am…

MATLAB与自动控制原理

MATLAB在自动控制原理中的应用 传递函数 1、利用matlab构建传递函数 例&#xff1a;G(s)(s1)/(s^25s6) %% 方法一 G_s tf([1 1],[1 5 6])%% 方法二 s tf(s) G_s1 (s1)/(s^25*s6)2、搭建闭环传递函数 例&#xff1a; 第一步&#xff1a;利用MATLAB构建各个部分的传递函数&…

【UAV】串级 PID 控制原理及应用

文章目录 简介实现过程单级 PID串级 PID 三个问题Ref&#xff1a; 简介 什么是串级PID&#xff1f;顾名思义就是两个串起来的PID&#xff0c;下面是一个双闭环的例子&#xff0c;外环是位置&#xff08;角度&#xff09;环&#xff0c;内环是速度&#xff08;角速度&#xff0…

PID控制原理基本介绍(图解)

PID控制原理基本介绍(图解) 这里先以一个阶跃响应做图解说明: 如下图所示,目标值设定为单位1,随着我们逐渐增大比例系数Kp,可以看到系统相应速度逐渐加快,但是始终存在稳态误差, 如下图所示,引入积分环节后,随着积分控制系数Ki逐渐加大,误差逐渐减小,并最终达…

自动控制原理 (二): 控制系统的微分方程

要进一步研究一个自动控制系统&#xff0c; 就需要建立系统的数学模型来描述一个系统。 所谓数学模型&#xff0c; 就是描述系统输入、 输出变量以及内部各变量之间关系的数学表达式。 常用微分方程来描述系统各变量的动态关系。 建立微分方程的步骤如下&#xff1a; 分析各元…

自动控制原理 (一): 基础概念

自动控制系统&#xff0c; 是指能够完成自动控制任务的设备&#xff1b; 而自动控制任务是指在没有人的参与下&#xff0c; 利用控制装置操纵被控对象&#xff0c; 使被控量等于给定值。 一个自控系统一般包括被控对象和控制器。 自动控制系统 有如下概念&#xff1a; 控制&…

【自动控制原理】控制系统数学模型

目录 一、控制系统数学模型1.1 数学模型概述1.2 时域、复域、频域下的常见数学模型举例1.3 时域微分方程建模示例一1.4 时域微分方程建模示例二1.5 线性系统特性1.6 运动模态 二、线性系统复域数学模型2.1 传递函数2.1.1 传递函数2.1.2 推导2.1.3 Matlab写连续传递函数的方式2.…

自动控制原理知识点梳理——1. 自动控制的一般概念 2. 控制系统的数学模型

目录 1. 自动控制的一般概念 1.1知识梳理&逻辑图 2. 控制系统的数学模型 2.1知识梳理&逻辑图 2.2补充内容 2.2.1传递函数的零点和极点 2.2.2典型环节及其传递函数 2.2.3相同的特征多项式和开环传递函数定义 2.2.4由结构图得传递函数 2.2.5拉氏变换知识回顾 1…

第2章-系统控制原理 -> 经典控制理论

第1章-多智能体系统回到目录第2章-系统控制原理 -&#xff1e; 线性系统状态空间 文章目录 2 系统控制原理2.1 经典控制理论2.1.2 连续系统求解定义 2.1 [拉普拉斯变换]定义 2.2 [传递函数 transfer function]定义 2.3 [零点 zeros、极点 poles]例题 2.1 2.1.3 线性离散系统2.1…

【经典控制理论】| 自动控制原理知识点概要(上)

参考资料 胡寿松《自动控制原理》第6版刘豹《现代控制理论》第3版斐润《自动控制原理》哈工大控制学科803考研资料 前言 对于控制工程专业的我来说&#xff0c;经典控制理论是很重要的&#xff0c;因此趁着参加秋招这个档口&#xff0c;顺便复习下学过的控制理论。希望也能对…

DMA控制器原理详解

目录 工作原理 DMA硬件架构 DMA通道的作用 DMA寄存器 DMA出现的目的 工作原理 DMA全拼Direct Memory Access&#xff08;直接内存存取&#xff09;&#xff0c;在传统的CPU存取数据时会先将数据放到缓存寄存器中然后在写入到指定位置 CPU存取数据流程图&#xff1a; CPU…

自动控制原理8.1---非线性控制系统概述

参考书籍&#xff1a;《自动控制原理》(第七版).胡寿松主编. 《自动控制原理PDF版下载》 1.非线性控制系统概述 1.1 研究非线性控制理论的意义 当系统中含有一个或多个具有非线性特性的元件时&#xff0c;该系统称为非线性系统&#xff1b; 随动系统实例说明&#xff1a; …

【经典控制理论】| 自动控制原理知识点概要(下)

参考资料 胡寿松《自动控制原理》第6版刘豹《现代控制理论》第3版斐润《自动控制原理》哈工大控制学科803考研资料 前文 【经典控制理论】| 自动控制原理知识点概要&#xff08;上&#xff09; 6. 线性系统的校正 6.1 综合和校正问题的提出 控制系统的综合和校正问题是在已知…