- 博客(86)
- 资源 (10)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ACS712工作原理(20A为例)、设计及PCB布线
概述ACS712 是 Allegro 公司新推出的一种线性电流传感器,该器件内置有精确的低偏置的线性霍尔传感器电路, 能输出与检测的交流或直流电流成比例的电压。 具有低噪声,响应时间快(对应步进输入电流,输出上升时间为5μ s),50 千赫带宽,总输出误差最大为 4%, 高输出灵敏度( 66mV/A~ 185 mV/A), 使用方便、性价比高、 绝缘电压高等特点, 主要应用于电动机控制、 载荷检测和管理、 开关式电源和过电流故障保护等,特别是那些要求电气绝缘却未使用光电绝缘器或其它昂
2022-04-12 11:25:31
30320
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Altium Designer 20相关操作及使用技巧
1、复制:选中后,按shift实现复制2、位号designator:R? C? U?3、多个引脚,阵列式操作。引脚序号可以修改主增量和次增量实现奇偶和差值4、镜像:在粘贴状态下按Y5、使用现有的原理图库:在已经有的原理图中,使用“生成原理图库”命令,可按照默认设置,就可以生成该原理图中的元件库,可以通过粘贴复制到自己的原理图库中,这样就方便使用;注意复制后对元件属性按照自己需要进行变更6、修改原理图框图大小,双击边沿,选择尺寸,比如从A4改为A37、快速设置修改封装(单个或多个一起):使用
2021-07-26 10:51:50
23894
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 DC-DC电源芯片(VIPER22A)的BUCK电路使用说明
先贴电路图:DC-DC电源芯片BUCK方式的使用一般都是分三步:1、启动(start up)2、DC-DC电路工作(细分又是储能和放电两个小过程)3、反馈调节,让输出电压稳定在一个电压值(即我们说的电源电压)BUCK降压的基本作用可以去看看其他书籍,说到底就是用PWM去调制另外一个电压,大小由占空比来控制,我们在这里不在细说。我们先从上面说的第2步开始解释,这个是电路的基本拓扑(上图是非同步方式),由开关管(由VIPER22A充当),L3 、C46、D10四个器件组成:电流由VIPER22
2021-07-22 20:34:14
15247
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 直流无刷电机无感检测电路原理
直流无刷电机无感检测方式的定义:无感就是靠检测悬浮相的感应电动势“过零点”。悬浮相:不通电的那一相感应电动势:运动中的导体切割磁感线产生过零点??以6步两两导通的第一次换向为例,如上图。在a图中,c相产生的感应电动势(右手定则)方向为X(由外往里),转过60°后,产生的感应电动势为.(由里向外),假如以由外到里为正方向,则感应电动势必然产生了一个由正到负的过程,即是“过零点”理论上的换向位置是在T1 T2 …T6时刻,往前推30°,都有某一相的过零点(AB相通电时C相有过零点事件,AC导
2021-07-02 08:58:41
9812
6
原创 RC充电时间的计算--示例
V0 为电容上的初始电压值;V1 为电容最终可充到或放到的电压值; Vt 为t时刻电容上的电压值。 则, Vt=“V0”+(V1-V0)* [1-exp(-t/RC)] 或, t = RC*Ln[(V1-V0)/(V1-Vt)] 求.
2021-11-29 21:36:58
4575
转载 MOS管损耗计算与选型原则解析--实例分析
转至http://www.kiaic.com/article/detail/1404.html 开关模式电源(Switch Mode Power Supply,简称SMPS),又称交换式电源、开关变换器,是一种高频化电能转换装置,是电源供应器的一种。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。开关电源的输入多半是交流电源(例如市电)或是直流电源,而输出多半是需要直流电源的设备,例如个人电脑,而开关电源就进行两者之间电压及电流的转换。 开关损耗包括导通损...
2021-11-27 16:23:23
4835
7
原创 STM32F1和F4的区别(转载)
F1采用Crotex M3内核,F4采用Crotex M4内核。 F1最高主频 72MHz, F4最高主频168MHz。 F4具有单精度浮点运算单元,F1没有浮点运算单元。 F4的具备增强的DSP指令集。F4的执行16位DSP指令的时间只有F1的30%~70%。F4执行32位DSP指令 的时间只有F1的25~60%。 F1内部SRAM最大64K字节
2021-11-09 17:05:51
2293
转载 TVS管的使用
TVS(Transient Voltage Suppressor)瞬态电压抑制器。当两极受到反向 瞬态高能量冲击时,能以 10 的负 12 次方秒量级的速度,将两极间的高阻抗变 为低阻抗, 使两极间的电压箝位于一个预定值,有效地保护电子线路中的精密元 器件。在浪涌电压作用下,TVS 两极间的电压由额定反向关断电压 VWM 上升 到击穿电压 VBR,而被击穿,随着击穿电流的出现,流过 TVS 的电流将达到峰 值脉冲电流 IPP,同时在其两端的电压被钳位到预定的最大钳位电压 VC 以下, 其后,随着脉冲电流按指
2021-09-03 14:47:35
1849
转载 电源设计注意事项
电源如同人类的循环系统,是能源输入输出的地方,若是电源设计不合理,或者能量输出不足,带给整个电子系统都是致命的。对于线性电源来说,有些概念必须要注意,最大功耗 PD = | Vin - Vout | x Iout;热阻是指热量从器件的晶片上向外传导时受到的阻力,其单位是℃/W。那么热阻和最大功耗PD之间的关系就为 image = ( TJ - TA )/ PD,其中TJ 是结温,TA是工作温度。根据上面的公式,我们来计算一下常用的芯片AMS1117标称最大能够达到1A的电流输出,看一下实际能够达到多大
2021-08-26 10:17:53
1423
原创 电路驱动能力不够问题
文章目录前言一、排查1.1波形1.2探索1.3测试排查二、解决2.1改小电阻2.2单片机弱上拉功能使能2.3单片机引脚驱动能力本身不足总结前言项目上遇到一个问题:项目使用单片机控制5路接触器,硬件工程师设计电路时直接使用单片机引脚去驱动光耦二极管正极,中间有一个限流电阻,当5路同时上电的时候,出现了接触器“叭叭”的响声。一、排查1.1波形查看驱动信号波形,如下:接触器处在导通又关闭的循环状态。1.2探索1、将5路线路依次打开,前4路波形正常,未发生异响,直到第5路接通时,5路均出现了上
2021-08-12 08:34:32
1086
原创 C8051F单片机端口配置
文章目录前言一、涉及的寄存器二、实例1.配置端口输入2.配置端口输出细节说明复位状态优先权交叉开关译码器弱上拉前言最近项目上使用C8051单片机,我也是首次用这款单片机,所以项目开发过程中还是或多或少的遇到了一些问题,在此做一个总结,方便以后再次使用,避免相同问题重复犯错。一、涉及的寄存器PxMDIN:端口输入方式寄存器,有模拟输入和非模拟输入两种方式PxMDOUT:端口输出方式寄存器,开漏输出和推挽输出两种方式PxSKIP:端口跳过寄存器Px:端口寄存器二、实例1.配置端口输入 //
2021-08-11 16:27:24
3112
1
转载 keil软件仿真时如何使用逻辑分析仪查看波形(转载)
这篇文章实在写得不错,怕以后找不到,故转载于此,感谢原文博主的分享。转载地址:https://hxydj.blog.csdn.net/article/details/100037901在调试程序时有时候手头没有示波器,这时候就需要用到软件仿真。在软件仿真时可以通过逻辑分析仪来查看IO口的波形。但是逻辑分析仪对于新手来说不知道怎么用,现在就来说说逻辑分析仪如何设置。首先用LED灯来测试,代码如下:#define LED0 PAout(8)// PA8#define LED1 PDout(2)//
2021-08-11 15:21:18
3475
原创 单片机寄存器按bit处理方法
现在主流单片机STM32或者EFM32等性能较为强大的单片机官方都提供了库文件和函数,具有较高的封装程序,配置寄存器的时候直接只用库文件中的宏即可,但是对于一些C8051内核的单片机,没有教好的封装库,仍然需要使用最原始的寄存器配置方式,此时常常遇到这样的问题:1、一个寄存器有的bit位代表功能需要配置,有的位则不用配置(甚至大多数时候,剩余位可能我都还不清楚它的功能,我们就是不想去操作,让它保持原有状态),我们如何操作?2、修改功能的时候,我们能快速的修改指定位,而不是重新把寄存器整个功能看一遍比较
2021-08-11 14:49:31
2129
原创 C8051F330定时器功能
摘要:使用定时器0的16位定时器(方式2)模式,实现10us中断。系统时钟使用内部高频时钟24.5M定时器时钟采用系统时钟4分频宏定义:#define SYSCLK (24500000)#define AUX2 (0xFFC2) //20us定时所需要的计数值(0xF805)#define AUX3 (AUX2&0x00FF)#define AUX4 ((AUX2&0xFF00)>>8)#define T
2021-08-03 16:00:58
1077
原创 逆变器中的预充电
直流母线要有(必须有)预充电电路,那是因为直流母线上有大电容存在的。我们知道,电容并联在电源两端的时候,当电源接通瞬间,电容两端的电压不会突变,而电容两端的电流会突变。刚接通电源瞬间,电容器两端相当于短路,这是电容器的工作原理所决定的。此时如果没有与充电电路,那整流器的管子就炸了。预充电电路在这里起到了限制电源接通瞬间对电容器充电电流的作用,以保护整流器的元件不会因电容器瞬间的短路电流而损坏。常见预充电电路:以下是几点说明:1、频器主电路充电电阻的作用是抑制上电的冲击电流,该冲击电流的最大值为:I=
2021-08-03 09:01:42
3433
原创 电机中的“泵生电压”原理、影响因素、措施
变频器驱动异步电机运行的情况下,当异步电机运行速度低于变频器提供频率响应的同步转速时,电机工作于电动状态;反之当电动机运行速度高于同步转速时时,则工作在发电状态。在生产运行过程中,需要电机快速的减速或频繁停车,这时就会产生制动过程中产生电动势的问题。一、原理电动状态时,U-E=Ir+L(di/dt),并且此时E和I反向,回路电压为U-E,U和E同时同时吸收电感放出的电能;发电状态时,U+E=Ir+L(di/dt),此时E和I同向,回路电压为U+E,而此时只有U吸收能量,其不仅吸收电感放出的电能,而且
2021-07-28 09:07:32
4239
转载 DC-DC电源芯片的选取和使用要点
为了解决芯片的散热问题,就不断提高生产工艺,降低热阻,同时也不断通过技术层面提高芯片效率从而减少发热量。这句话让我们可以知道首先产生发热的根源在于效率不高,其次解决的办法有提高效率和降低器件热阻两种方案。DC-DC电源芯片的选取和使用要点。一、电源芯片型号选取要考虑的要点。1)输入输出电压;2)负载电流大小;3)输出的通道数量;4)成本;5)封装形式;6)效率;二、实际应用中元件选取的计算。1)分压电阻R1、R2的选取。其中VOut为输出电压,VFB为芯片自身预设的参考电压,一般为0
2021-07-27 08:50:23
5671
转载 关于MOS管最全的知识
转至:https://www.sohu.com/a/250075765_196867(部分截取)MOS管学名是场效应管,是金属-氧化物-半导体型场效应管,属于绝缘栅型。本文就结构构造、特点、实用电路等几个方面用工程师的话简单描述。其结构示意图:解释1:沟道上面图中,下边的p型中间一个窄长条就是沟道,使得左右两块P型极连在一起,因此mos管导通后是电阻特性,因此它的一个重要参数就是导通电阻,选用mos管必须清楚这个参数是否符合需求。解释2:n型上图表示的是p型mos管,读者可以依据此图理解n型的
2021-07-22 17:57:55
2570
原创 快恢复二极管工作原理及使用
对于二极管来说,加在其两端的电压由正向变到反向时,响应时间一般很短,而相反的由反向变正向时其时间相对较长,此即为反向恢复时间。当高频场合使用到二极管时,要求其反向的恢复时间短,此时就需要一种反向快速恢复的二极管,我们把这种二极管叫做快恢复二极管。快恢复二极管怎么实现的快恢复呢??一、物理结构快恢复二极管的内部结构与普通PN结二极管不同,它属于PIN结型二极管,即在P型硅材料与N型硅材料中间增加了基区I,构成PIN硅片。因为PD的主要有源区是势垒区,所以展宽势垒区即可提高灵敏度。PIN结快恢复二极管实际
2021-07-22 15:59:02
10598
原创 MCU中常用的算法转换总结
/***************************************************************************** 名 称:u16 StoB_2_BtoS(u16 n) //12转21* 功 能:2字节的大小端转换 * 入口参数:n 转换前的数* 出口参数:转换后的数* 说 明:如 unsigned int 2字节的数**************************************************************
2021-07-14 17:27:49
536
原创 linux网络编程函数的封装以及readn,writen,readline函数的封装
核心思想:1、对于网络编程常用函数的封装,可以省去每次对返回值的判断,提高效率2、对于readn,writen函数的封装是因为linux网络编程仅提供了sockfd,未提供系统编程中类型fwrite和fread一样的FILE *流类型,因此封装能够提高多次读写时的编程效率#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <errno.h>#include <sy
2021-05-13 15:12:06
397
原创 linux网络编程的基础概念
1.协议一组规则2. 分层模型结构2.1 OSI七层模型:物、数、网、传、会、表、应TCP/IP 4层模型:网(链路层/网络接口层)、网、传、应应用层:http ftp nfs ssh传输层:tcp udp网络层:ip icmp igmp链路层:以太帧协议 ARP3.通信模型C/S模型client–serverB/S模型brower–server C/S
2021-05-12 14:49:01
96
转载 unicode和utf-8互转(转载)
本文转载于https://www.cnblogs.com/cthon/p/9297232.htmlunicode和utf-8互转1.1 ASCII码我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111.上个世纪60年
2021-04-28 16:58:13
2053
原创 函数指针的使用
/**@brief : 基本操作回调接口*/typedef void (*C_FUNC)(void *buff);/**@brief : 基本操作函数组*/typedef struct{int type; ///< 指令类型C_FUNC fun; ///< 与type类型对应的处理函数}PROC_GROUP;
2021-03-31 13:48:16
61
原创 关于strlcpy函数的理解
1、转载https://blog.csdn.net/tigerjibo/article/details/6412759(链接1)2、转载https://www.cnblogs.com/rohens-hbg/p/4957956.html(链接2)函数原型(链接2)配合讲解(链接1)能够更好理解C语言中函数strcpy ,strncpy ,strlcpy的用法strcpy ,strncpy ,strlcpy的用法好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效
2021-02-23 15:56:43
5840
原创 strcat函数、strncat函数、strcpy函数
一、函数原型1、strcat函数将两个char类型连接。char d[20]=“GoldenGlobal”; char *s=“View”; strcat(d,s);结果放在d中printf("%s",d);输出 d 为 GoldenGlobalView (中间无空格)d和s所指内存区域不可以重叠且d必须有足够的空间来容纳s的字符串。返回指向d的 指针。原型是 extern char *strcat(char *dest, const char *src);把src所指字符串添加到de
2021-02-23 15:14:55
355
转载 strcpy ,strncpy ,strlcpy的用法
转载于:http://blog.chinaunix.net/uid-20797562-id-99311.html好多人已经知道利用strncpy替代strcpy来防止缓冲区越界。但是如果还要考虑运行效率的话,也许strlcpy是一个更好的方式。strcpy我们知道,strcpy 是依据 \0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.9):char *strcpy(char *to, cons
2021-02-03 14:11:43
505
原创 带头文件(H文件)和静态库的makefile编写
CC = xxx编译链CFLAGS =编译选项 + 头文件SRCS = c文件LIBS = -L. 链接库文件OBJS = $(SRCS:.c=.o)EXECUTABLE = bbb(输出文件名称)#make all 执行生成可执行文件#1编译器 2编译选项 3输出 4生成的可执行文件 5需要的源文件 6需要当库文件all:$(CC) $(CFLAGS) -o $(EXECUTABLE) $(SRCS) $(LIBS)clean:rm bbb(输出文件名称)eg:CC = gc
2021-01-09 19:49:23
507
原创 实现对一个8bit数据的指定位的置0或者置1操作,不改变其他位置
参数说明:data是指定的源数据;position是指定位(取值范围为0~7);value表示置0还是置1操作。#include <stdio.h>void bit_set(unsigned char *data, unsigned char position, int value){int a = 1<<(position-1);if (value){*data |= 1<<position;}else{*data&= ~(1<<
2020-12-06 17:34:26
1244
原创 linux开发常用命令汇总
平时开发过程中经常会使用到各种命令,在此做一个汇总,方便以后查看和使用一、时间类hwclock:查看rtc时间二、版本类BSP资源版本:cat /proc/debug/revisionBSP版本:cat /proc/debug/version三、编码HISI编码信息:cat /proc/umap/venc四、USB查看usb状态:cat /proc/bus/usb/devices挂载usb:mount -t usbfs none /proc/bus/usb...
2020-11-24 16:45:06
234
以FSB20CH60F为驱动的三相六步电机驱动,逆变桥同IGBT集成一体,体积小,使用方便
2022-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人