大学生电子设计大赛准备--上拉电阻和下拉电阻学习
一、上拉电阻和下拉电阻
所谓的上拉电阻和下拉电阻,实际上其作用就是将网络中的某个结点电位上拉到VCC或者下拉到GND,让一个悬空的或者不可靠的电压结点在上拉电阻或下拉电阻中变得可靠,较多使用在IIC通信和按键电路中。
二、上拉或下拉原理
以上图按键电路为例,若按钮按下,则P0均处于低点位,状态确定没有问题;若没有上拉电阻且按钮没有按下,此时按钮处于悬空状态(也就是状态未知)。为了确保,按钮在未按下时,P0的引脚均处于高电平,那么就可以使用上拉电阻(接VCC)。
在接上拉电阻之后,按钮未按下时,上拉电阻两端压差为零,网络结点的电压为VCC;当按下按钮时,VCC与GND构成回路,此时网络结点的电压为零,以此我们发现,上拉电阻的阻值不能选择太小,就构成了可靠的电路,状态全部确定。
这里,单片机检测的时从1变0的过程。同理下拉电阻,单片机引脚输入端检测的时从0变1的过程。
大学生电子设计大赛准备--三极管和达林顿阵列学习
一、三极管
在数电、模电的学习过程中会接触到很多有关三极管的知识。在这里不考虑三级管的功率放大作用,只考虑三极管的开关作用,而接下来
要学习的达林顿阵列最大的作用就是功率放大作用。
MCU的外部引脚输出电流范围一般在5mA−200mA5mA-200mA5mA−200mA,能够接收的最大电流也是20mA20mA20mA。这么小的输入、输出电流基本是没有什么用途的,所以为了增大MCU的驱动能力,就是可以使用三极管的开关作用使电流进行放大。
图上使用三极管驱动小灯点亮,其实是大材小用了,单片机的I/O引脚完全可以驱动小灯点亮。我们一般将三极管的开关作用使用在需要更大电流驱动的模块上,例如:继电器,数码管,蜂鸣器等。
N管:对于N管,基极给VCC三极管导通,小灯亮。
P管:对于P管,基极给GND三极管导通,小灯亮。
注意:这里主要是看沿箭头指向的基极是否存在电流,存在电流三极管导通,不存在三极管不导通。对于一些单片机来说,在没有使用任何软件程序驱动的情况下,其I/O引脚呈VCC高电平状态(这和单片机封装有关,一般会存在上拉电阻),这样的话在LED电路或者数码管电路中P管就较为常用。
二、达林 ...
大学生电子设计大赛准备--USB转TTL串口电路学习
一、串口介绍
使用串口进行通信,我们都知道电脑PC机使用的是USB总线,它不能直接与我们的单片机MSU进行通信,需要USB转TTL串口电路进行搭桥
PC机对单片机的作用一般是进行程序下载以及通信,为了实现USB转TTL现阶段最常用的是使用CH340转接芯片。
二、电路分析
在这里指出,PC机的USB总线使用的D+/D-通信模式,以下两个D+和D-也是USB口的数据传输线。单片机TTL通信(UART串口)使用的TXD和RXD模式,其中TXD是发送数据线,RxD是接收数据线。
简单看一下CH340芯片,19、5、8脚分别是VCC、GND,外接滤波电容。9、10脚接外部时钟电路(有的转接芯片不需要时钟电路)。整个工作内容就是在3、4脚将USB通信发送的内容与MCU的TXD和RXD连接转为串口数据内容,发送到MCU,反之将MCU中的内容转为USB口的D数据,以此实现USB转TTL通信串口的目的。
三、其他的转接芯片
可以在WHC沁恒官网上查找其他转接芯片,也有很多资料可供下载
大学生电子设计大赛准备--稳压电路学习
稳压电路根据名字可以猜到其作用就是用来稳定电路电压的。常见的稳压电路有两种:
线性稳压电路
开关稳压电路
两种稳压电路基于不同的稳压器,线性稳压电路基于线性稳压器而开关稳压电路主要基于开关稳压器。一般线性稳压器能够输出的电压较小,因为线性稳压器起到稳压作用是依赖稳压器消耗一定电压而发挥作用的。
一、线性稳压器
1.1 线性稳压器介绍
LM7805是常见的5V稳压器,它是一个线性稳压器,从图中我们可以看到,输入12V的电压,输出5V的电压,其中稳压器LM7805消耗7V的电压。注意:如果在线性稳压电路中负载电流较小时,芯片发热不大,但随着负载电路增大,芯片发热将会随之增大,这将导致芯片不能稳定工作。这也就说明,如果我们使用线性稳压器,那么我们的输入电压和输出不能太大(压差),这样线性稳压电路的输出电压将会十分稳定,这也是线性稳压电路的最大优点—指输出电压稳定。
1.2 常见线性稳压器
常见的线性稳压芯片有很多,例如LM2940-5.0V,LM7805,SPX3819-3.3,LM7809,LM7812,SPX3819-adj,AMS1117-3.3,这里需要指出LM78系列后面的数 ...
大学生电子设计大赛准备--ADC采样电路学习
一、ADC采样电路
ADC电路的全称应该为模拟数字量转换电路,即模数转换。模拟量→\rightarrow→数字量。例如下面的一个示例:我们要测一个电源的电压,我们应该如何将该电压转换成一个数字?我们需要将一个连续变换的模拟电压最终转换成一个数字。这里我们假设该电源的电压为12V,我们单片机的工作电压为5V,如果我们直接将该电源接入单片机,单片机会直接烧毁,因此我们需要一个分压电路,如下图。
分析该电路,该电路Bat1接电源并通过R2R_2R2和R3R_3R3分压,很明显R2R_2R2和R3R_3R3中间节点的电压为R3R2+R3∗VBat1\frac{R_3}{R_2+R_3}*{V_{Bat1} }R2+R3R3∗VBat1。C1C_1C1电容主要是给ADC提供滤波的,因为电池在使用时,要输出较大的电流其电压会降低(电动车瞬间加油门),加入该电容就可以避免电池电压的波动。R1R_1R1是限流电阻,可用可不用,ADC控制器内部是高阻态的。
在整个电路中ADC支路的电流非常小,几乎没有,大部分电流是通过R2R_2R2和R3R_3R3流走的。R2R_2R2和 ...
大学生电子设计大赛准备--H桥驱动电路学习
一、单向驱动
全桥驱动电路可以用来驱动直流电机正反转并可以完成调速的电路,该电路在电动牙刷、风扇等都用到H桥电路。这里要用到功率器件MOS管(金属氧化物晶体管,由电压驱动)。
普通的三极管可以当作开关来使用,它能承受的电流一般小于10A10A10A,而MOS管一般大于10A10A10A小于400A400A400A。对于直流电机1000W的功率,一般都可以用MOS管来驱动。一般使用NMOSNMOSNMOS。
以上是一个NMOS驱动电机单向转动的电路,当PWMPWMPWM在高电平NMOSNMOSNMOS就会导通,电机两端一端接VCC另一端接GND,驱动电机转动。
二、H桥电路
我们可以使用4个NMOS构成H桥电路,实现直流电机的正接正转,反接反转。
若Q1和Q4接同一引脚,Q2和Q3接同一引脚,此时Q1和Q4接入高电平,Q2和Q3接入低电平,则Q1和Q4导通,Q2和Q3不导通,VCC经过Q1管接入直流电机的左端,GND经过Q4接入直流电机的右端,驱动电机顺时针旋转。
若Q1和Q4接入低电平,Q2和Q3接入高电平,则Q1和Q4不导通,Q2和Q3导通,VCC经过Q3管接入直流电机的右端, ...
大学生电子设计大赛准备--正交鉴相电路学习
一、介绍
正交鉴相电路主要涉及到一个传感器,即光电编码器,其主要作用是测速。一般使用的光电编码器是增量式正交编码器
二、测速原理
下图,左边是一个二极管发射红外光,中间是一个旋转的盘,盘内有很多光线挡板,在最右侧是一个光敏元件,其前方也有一个光线挡板,光线从二极管发射只有正向打入光敏元件才能被接收。在盘转动过程中,右侧光敏元件两次或多次接收到,测得时间和接收次数,就能很好的测得速度的大小。
以上测得的速度大小,在盘沿着一个方向转动时,是十分合理且正确的,但是若在测速期间盘的转动是双向或随机的,这样测得的速度就是错误的,因此还需要测得盘子转动的方向。
要测得盘子转动的方向,需要装两组这样的装置,且两组发射装置的相位要错开1/4个周期,这时候编码器得到两路脉冲。如下图,如果是正向旋转时,A路脉冲会比B路脉冲领先1/4周期。反向旋转时,A路脉冲会比B路脉冲滞后1/4周期。这样通过两路脉冲就能测得速度的方向。
这是我们通过两路信号分析得到速度的大小和方向,但是如何使用单片机分析这两路正交信号并判断速度方向及大小呢?我们一般使用D触发器对正交信号进行分析。
74HC74双D触发器,将两路 ...
Pytorch中的EarlyStopping
可以使用PyTorch中的Early Stopping来实现在验证集精确度达到一定阈值时停止训练进入测试阶段。具体实现步骤如下:
定义EarlyStopping类,包含以下初始化参数:
patience:指定在验证集上连续多少个epoch无法提高性能时停止训练。
delta:指定当性能提高超过delta时才认为是有显著进步。
mode:指定性能衡量标准,如“max”表示最大化,即精度越高越好。
verbose:指定是否打印详细信息。
在每个epoch结束时,计算模型在验证集上的性能,并将性能值与之前的最佳性能进行比较。
如果当前性能值比最佳性能值高,就更新最佳性能值和模型参数,同时将连续性能下降的次数重置为0。
如果当前性能值没有提高,则将连续性能下降的次数加1。
如果连续性能下降的次数超过了patience,则认为模型已经达到最优,停止训练。
在训练结束后,使用最佳模型对测试集进行评估。
代码实现如下:
1234567891011121314151617181920212223242526272829303132333435363738394041import numpy ...
RGB图像、全色图像、多光谱图像、高光谱图像
一、RGB图像
下面是有关波长与光的表,普通的可见光相机只记录了可见光即红绿蓝三个波段(粗略划分)的信息,其他波段就都丢掉了,所以我们会看到RGB图像就有3个通道。因为只记录了3个信号,所以没有办法根据3个通道的信息去恢复其他丢失的光谱信息。
二、遥感成像的原理
这里引用网上找到的一段解释,光进入相机镜头,光电感应装置将光信号转换为电信号,量化电脉冲信号,记录为一个像素值。传感器响应函数设计为,要使光电感应装置产生这个电脉冲信号,光子强度必须达到一个阈值。进入镜头的光子数量取决于:相机的感受野大小,镜头能通过的光子。多光谱图像要分出多个波段,镜头会分光,红滤镜只过红光,蓝滤镜只通过蓝光,假设相同的光打到全色与多光谱镜头上,显然因为滤光的缘故,多光谱感光器接收到的光子要少于全色感光器。而这些光子已经足够全色产生电脉冲,却不够多光谱产生电脉冲,这时,为了接收到更多的光子,多光谱相机需要更大的感受野。也就是说,全色看了一眼北京市,就吃够了光子,多光谱需要看一遍河北省,才能吃的和全色一样饱。后面接收光子的底片一样大,也就是说将北京市和河北省画到同样大小的一张纸上且占满整张纸,显然北京市的一张 ...
Pytorch中的初始化权重
(●’◡’●)嘻嘻,整个五一都在摆烂,可后悔死我了。最近在对自己的神经网络模型做最后的优化,之前的网络跑出来效果已经达到了比较满意的结果,也就没有特别在意模块化编程以及对网络参数的调整。在开始跑实验之前,指导老师让我优化一下网络模型,就想着对网络的权重参数进行一个初始化的过程,之前看花树学习Pytorch时,也了解过权重初始化。
一、权重初始化的好处
PyTorch权重初始化的好处包括:
提高模型的收敛速度:合理的权重初始化可以使模型收敛得更快,因为模型在训练过程中需要从随机权重开始调整参数,如果初始权重太大或太小,可能会导致梯度消失或爆炸,从而大大降低收敛速度。
避免陷入局部最优解:合理的权重初始化可以帮助模型避免陷入局部最优解,因为不同的初始权重可能会导致模型陷入不同的局部最优点,合理的初始化可以使模型更有可能找到全局最优点。
提高模型的泛化能力:合理的权重初始化可以提高模型的泛化能力,因为初始化会影响模型的初始状态,而泛化能力与模型的初始状态有关。
使模型更容易训练:合理的权重初始化可以使模型更容易训练,因为合适的初始化方法可以使模型的参数更好地分布在合理的范围内 ...