- 博客(32)
- 收藏
- 关注
原创 电路板维修
焊接新的芯片之前,需要先用洗板水将焊盘上残留的松香给擦干净,否则芯片放上去会摆不正。热风枪吹下之后,接下来用烙铁将焊盘上残留的锡渣去除干净,之后再用万用表测试一下,查找短路源:熏松香,哪个芯片短路,供电后会发热,上面的白霜就会融化。如图,3.3V供电电流在89mA左右,正常范围是在80到100mA。稳压二极管击穿、电容击穿,正极对负极直接短路 ,把电源直接拉到0。3.3V供电电流变为1.4A左右,热成像仪显示主芯片发热严重。用DC电源给开发板供电,看电流是否在正常范围内。芯片摆正之后,先用锡固定一边引脚。
2025-12-20 16:10:57
156
1
原创 PID算法学习笔记
例如:要控制无人机悬停的高度,我们能够控制的是无人机螺旋桨的旋转速度,旋转速度越快,螺旋桨产生的升力越大,如果用开环控制,很难让无人机飞行到指定的高度,因为无人机会同时受到重力、空气的扰动以及阻力等各种不确定的因素。算法,表示的是升力F和误差error的比例关系,中间的常量0.01,我们称之为Kp,Kp越大,升力和误差的比例就越大,控制系统的响应速度也更快,无人机可以更快的靠近目标同时我们看到无人机在接近目标高度时,产生的震荡也越严重。PID是闭环控制(有反馈调节的控制)的一种,也是应用最为广泛的一种。
2025-12-14 16:18:34
339
原创 【OpenCV+STM32】二维云台颜色识别及追踪
HSV 里的 Hue(色相)是一个“圆”,OpenCV 中:H ∈ [0, 180],0 和 180 是连在一起的(像圆环),红色刚好在 圆环的起点和终点(靠近 0 的一段,靠近 180 的一段)。mask1 = cv2.inRange(hsv, lower_red1, upper_red1) ,如果 lower_red1 ≤ 像素(H,S,V) ≤ upper_red1 ,mask1 中该像素 = 255(白);因为开运算的“腐蚀”步骤会让目标变小,再膨胀一次,把目标补回来,甚至稍微放大(更稳定)
2025-12-14 11:35:32
922
原创 运放学习笔记
单电源运放是指仅使用单一电源电压(例如,+5V)和地(0V)作为电源供给的运放。也就是说,它只需要一个正电压和地作为参考电压,而不需要负电压。
2025-12-13 20:17:14
618
原创 STM32通信接口----USART
没有噪声的理想情况下,3次全为1或者全为0,若有噪声,导致3次采样不是全为1或者全为0,那就按照2:1的规则来,2次为1,就认为收到了1;RX引脚的波形,在接受控制器的控制下,一位一位地移入接收移位寄存器,右移符号代表也是右移,因为是低位先行,所以要从左边开始移进来,移完一帧数据后,数据就会统一转运到接收数据寄存器,转移的同时,置一个RXNE标志位,检查这个标志位,就可以知道是不是接收到数据了,同时这个标志位也可以去申请中断,这样就可以在接收到数据时,直接进入中断函数,然后快速的读取和保存数据。
2025-11-16 16:15:26
888
原创 Windows中运行python代码,借助USB To TTL 模块实现和STM32的串口通信
USB接口与TTL串口的通信协议、电平逻辑完全不同,驱动程序的作用是让操作系统识别该USB转TTL设备,并在系统中创建一个虚拟串口(COM口)。语句下,放置仅在脚本直接运行时才会执行的代码(例如测试、示例等)。CH340/CH341系列(最主流):打开南京沁恒官网(www.wch.cn),服务支持---资料下载---: 在每次尝试读取时,程序会暂停 0.02 秒,防止 CPU 被过度占用。: 打开串口 COM7,波特率 9600,超时 0.5 秒。如果接收到的数据不为空,程序打印接收到的数据。
2025-11-16 14:39:43
235
原创 光耦学习笔记
2、CTR(电流传输比,太低,驱动能力不足,太高,开关速度降低),它是一个范围:50%~600%。光耦输入侧发光二极管并联电阻作用:光耦的输入端,有寄生电容的存在,并联一个电阻,就会将电荷迅速泄放,就达不到二极管两端的开启电压。根据CTR= ic / if x 100%,得:if= ic / CTR =2.51 / 0.5=5.02mA。再计算R1的电流IR1=(VCC1-VF) / R1= (3.3-1.4) / 330=5.76mA。3、Vce,副边三极管导通后的压降,我们取最大值0.2V。
2025-11-15 10:31:45
378
原创 C语言学习笔记-数组
数组是一种数据结构,用来存储同一类型的一组数据。类型相同:数组里的每个元素类型必须一致,比如都是int。连续存储:数组在内存中占用一块连续的空间。可以通过索引访问:每个元素都有一个编号,叫索引。int arr[5];// 定义一个整型数组,有5个元素int→ 元素类型arr→ 数组名[5]→ 数组长度(元素个数)注意:索引从 0 开始,所以最大索引是长度-1。数组是一组相同类型的元素,连续存储,索引从 0 开始。数组名在大多数情况下就是指向首元素的指针。
2025-11-13 00:51:26
837
原创 C语言学习笔记-指针
xy是两个int型指针,分别指向需要交换的两个整型变量。传入的是地址&a&b,函数内部通过*x*y访问实际的变量值。符号名称运算规则按位异或(XOR)两个二进制位相同为 0,不同为 1ABA ^ B000011101110换句话说:“异或” 就是判断两位是否不同,不同为 1。自己异或自己等于 0a ^ a = 0任何数异或 0 还是它本身a ^ 0 = a可逆性(重要)也就是说,连续异或两次相同的数,可以恢复原值。步骤操作a(*x)b(*y)初始59。
2025-11-13 00:03:01
475
原创 74HC138N学习笔记
只有当上述三者同时满足(CS1 = 0, CS2 = 0, CS3 = 1)时,才“开启”译码功能,地址输入 A0‑A2 才有效,输出中一个被选并拉低,其它输出为高。当使能条件满足时,地址输入选择哪条输出,该输出会被拉低(输出为低电平),而其余输出则为高电平。总结一句:当你有 3 条地址线路 + 3 条使能线路,这个芯片可将其译码为 8 条输出(一个被选中拉低,其余拉高),从而用较少引脚实现多个输出选通/设备片选功能。3.其输出是 “互斥” 的:在正确使能并选定地址后,只有一条输出为低,其余为高。
2025-11-11 22:35:29
284
原创 继电器工作原理
通常用于连接控制信号,当该信号变化时,继电器将切换状态。NC(Normally Closed): 常闭接口,继电器吸合前与COM连接,吸合后悬空。NO(Normally Open): 常开接口,继电器吸合前悬空,吸合后与COM连接。连接此引脚到电源(通常是直流电源),以提供继电器线圈所需的电流。COM(Common): 公共端,通常是中间的触点,与常开或常闭触点相连。→ 三极管导通 → 继电器线圈得电 → 吸合 → 常开端闭合。GND(-): 地。→ 三极管截止 → 继电器断电 → 释放 → 常开端断开。
2025-11-09 09:18:59
335
原创 Python学习笔记
交互模式,输入一行后,立即执行,并展示那一行的结果 ,不需要创建任何Python文件就可以运行,只需进入交互环境(点击Pycharm中Python控制台,或在Windows的CMD的终端里输入python3,退出qiut()或ctrl+d),不需要用print就可以看到返回结果;空值类型None,表示完全没有值:None≠0 None≠ " " None≠ False,若需要一个变量,但不知道变量的值,可以先定义为None。不能以数字开头,不能有空格,不能有除下划线以外的的符号;
2025-11-08 21:32:03
686
原创 纹波及其测量
4.去掉接地线(开关电源的切换会在空间产生大量的电磁辐射,不去地线会把空间的电磁干扰引入到纹波中,造成纹波的测量值偏高),用接地环代替鳄鱼夹接地,减小回路面积,避免噪声引入。2.电源电路设计有问题,如电容电感参数选择不正确,导致丢输出信号的滤波不足(直流稳定电源一般是由交流电源经整流、稳压、滤波形成的,由于滤波不彻底就会遗留交流成分,)5.将探头设置为×1档:电源纹波的幅值一般都比较小,如果设置为×10,信号衰减10倍进入仪器,再通过数字计算放大10倍,会放大很多噪声,导致纹波测量值偏高。
2025-11-02 14:26:28
206
原创 DCDC模块
8号电压是输出反馈,输出电压通过分压后接入到8号引脚,通过修改R4和R5的值就可以修改输出电压了,额外还需要加入C9和R3来调节环路稳定性。芯片本身不包含MOS管,需要用户自己去添加MOS管,主要应用于输出电流比较大的场景,在电脑上,内存和CPU的供电都会采用这种方式。随着电感上电流的增加 ,电感的感值会减小,当电感的感值小于一定的数值时,我们就认为它饱和了也就是失效了。电容两端的电压不能突变,电感(既限制电流大小,又不消耗能量)上面的电流不能突变。:适用于大功率负载,电流平稳,纹波小,效率较高。
2025-10-12 16:49:34
582
原创 中断;;;;;
事件响应:STM32对外部中断增加的一种额外功能,当外部中断检测到引脚电平变化时,正常的流程是选择触发中断,如果选择触发事件,那外部中断的信号就不会通向CPU了,而是通向其他外设,用来触发其它外设的操作 ,比如触发ADC转化,触发DMA(允许硬件设备不经过CPU,直接与内存交换数据)一个外设可能会占用多个中断通道,所以这里有n条线,而NVIC只有一个输出口,NVIC根据每个中断的优先级分配中断的先后顺序,最后通过右边的一个输出口告诉CPU,该处理那个中断,对于中断先后顺序分配的任务,CPU不需要知道。
2025-10-07 21:05:06
194
原创 嘉立创EDA
电压轴的负半轴:从0到-40V区间里,虽然反向电压一直在变大,但是二极管的反向的电流非常低,但二极管并非是处于反向的情况下就没有电流,而是有一个比较低的静态反向电流,当反向电压超过反向击穿电压时,反向电流就会猛然增大,同时反向击穿电流就会遏制反向击穿电压继续增大,故二极管在反向击穿区有一种稳压的特性,稳压二极管就是工作在反向击穿区,0到0.5的区间二极管是没有电流的,处于一个截止的状态,对于不同的二极管,这个区域的电压也是不同的,当正向电压低于二极管的死区电压时,二极管就会自己关断。
2025-09-14 21:02:13
929
原创 数组。。。。
默认值 整数0 小数0.0 字符‘\0’ 字符串NULL。数组类型 数组名 [长度] = {数据值,数据值...}索引:索引就是数组的一个编号,也叫作:角标、下标、编号。数组:是一种整数,可以用来存储同种数据类型的多个值。数组的初始化:定义数组的时候,第一次给数组赋值。长度省略:数据值的个数就是数组长度。特点:从0开始的,连续+1,不间断。长度未省略:数据值的个数<=长度。特点2:一旦定义,长度不可变。数据类型 数组名 [长度]
2025-08-17 18:13:40
250
原创 函数,,,,
printf("小亮的成绩更高");printf("小了"\n);printf("小明的成绩更高");printf("请输入您要猜的数字:\n");printf("中了"\n);反复书写的代码,又不确定什么时候会用的代码打包起来。printf("大了"\n);printf("两个人的成绩一样");void 函数名(参数1,参数2,...)练习1:定义一个函数,求10和20的和?{/*生成1~100之间的随机数。函数:函数就是程序中独立的功能。函数名(实参1,实参2...)void 函数名()
2025-08-17 15:42:52
324
原创 循环语句(高级)
1的1次方+2的2次方 +3的3次方+...+10的10次方式子当中,每一个选项的单独结果。原理:会根据前面字母的个数在后面补上空格,让整体的长度达到8或者8的倍数,最少补1个,最多补8个。break:不能单独书写,只能写在Switch,或者是循环中,表示结束,跳出的意思。//统计从2开始,到number-1,在这个范围之内,有多少能被number整除。1的1次方+2的2次方 +3的3次方+...+10的10次方,结果是多少?//当内循环结束之后,就表示每一个单独的选项,已经有结果了。
2025-08-14 17:23:51
881
原创 流程控制语句
顺序结构:程序默认执行流程,从上往下依次执行,是程序默认的执行过程。if(temperature>37.5 //关系表达式)printf("请输入您在游戏中氪金总额度")printf("终身大事全凭父母做主‘’);printf("体温过高,语音报警");printf("女儿还想孝敬父母两年")if语句:某些代码,在满足条件时才执行。分支结构:程序在执行过程中出现了岔路。判断结果是数字,非0成立,0不成立。通过一些语句,控制程序的执行流程。printf("我很开心")//游戏中人物的血量。
2025-08-10 11:05:00
309
原创 运算符与流程控制语句
练习: 键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台。//1.整数计算,结果一定是一个整数(如有小数,舍小数部分)可显式控制优先级,否则按默认规则计算。2.获取余数的正负,是跟第一个数字保持一致的。4.小数直接参与计算,结果有可能是不精确的。printf(请输入一个三位数:\n);3.整数和小数计算,结果一定是一个小数。2.小数计算,结果一定是小数。1.不能除以0(与数学一样)1.运算的数据必须全部是整数。用于比较两个值的关系,返回。////数字直接进行计算。
2025-08-01 17:29:22
646
原创 标识符和键盘录入
7.代码文件名:全部小写,单词之间用下划线隔开,开头可以用数字。标识符:代码中所有我们自己起的名字,比如变量名、函数名等。中文:在vs或者vc中,默认情况下,一个中文占用两个字节。键盘录入:scanf(scanner format)printf("变量a里面的值为:%d\n",a);作用:获取用户在键盘上输入的数据,并赋值给变量。英文:1个字母,符号,数字占用一个字节。printf("请输入一个整数");1.由数字、字母、下划线(_)组成。3.不能是关键字(全部是小写)//键盘录入的基本使用。
2025-07-30 15:27:29
356
原创 工具和仪器
电烙铁: 按机械结构分为内热式电烙铁和外热式电烙铁;按功能分为无吸锡电烙铁和吸锡式电烙铁,按温度控制分为恒温式电烙铁和调温式电烙铁。焊接完成后,要用酒精把残余的助焊剂清洗干净。电烙铁使用完毕,应及时切断电源,放在烙铁架上冷却。风枪:气动扳手风枪, 吹尘枪。
2025-07-27 19:23:00
183
原创 计算机构成
1RAM(随机存取存储器):存放的是计算机在通电运行程中即时的数据,计算机内存容量常指RAM,RAM越大,计算机可共同使存储的数据就会越多,计算机的速度就会越快。,又称辅助存储器(外存),用于断电长期保存数据,当计算机需要从外存储器读取数据时,首先将数据从外存储器读入到内存储器中,然后计算机才能够进行下一步处理。硬盘分为:机械硬盘HD(容量大,速度慢 ) 固态硬盘SSD(容量小,速度快)。,又称主存储器(内存):计算机通电运行时,所有正在运行的程序和数据(软件),都是运行在内存储器中。
2025-07-27 16:22:49
278
原创 数据类型概述
不同的数据类型所表示的范围和内存大小都不一样,由编译器来决定,可以用size of来确定,会遵循一个原则short≤int≤long≤long long。字节 KB MB GB TB PB EB ZB YB。(C99) 超长整型 windows 8个字节。(整数的默认类型) windows 4个字节。作用:1,变量中能储存什么类型的数据。短整形 windows 2个字节。长整形 windows 4个字节。字节 最小的存储单元 8bit。int 通常4个字节 32位。bit 比特位 0 1。
2025-07-25 12:00:05
314
原创 计算机的存储规则
(光学)三原色(红,绿,蓝) ,也叫RGB,取值范围:0~255,可以写成十进制形式(255,255,255)text文本(数字→转二进制 ,字母→ 查询ASCII码表,汉字→Windows查询GBK码表)由0~9还有a~f组成,代码中以0x开头//16。在计算机中,任意数据都是以二进制的形式来存储的。由0~7组成,代码中以0开头//8。十进制中的4→二进制中的100。十进制中的2→二进制中的10。十进制中的3→二进制中的11。十进制中的0→二进制中的0。十进制中的1→二进制中的1。
2025-07-21 21:37:32
225
原创 变量及其使用
数据类型:为盒子中存储的数据,加入类型【限制】整数,小数...vc:变量需要统一定义在最上面,然后才能开始使用。变量:存储数据的小盒子,不是里面的数据。vs:变量定义的位置可以是任意的。4,变量在使用之前一定要进行赋值。int c=a+b;3,一条语句可以定义多个变量。2,变量名不允许重复定义。变量名:为盒子起的名字。2,使用变量中记录的值。数据类型 变量名;5,变量的作用域范围。
2025-07-21 19:21:41
150
原创 核心语法-关键字和常量
③字符常量→单引号引起来的字母、数字、英文符号→'A' 'a' '?prinrf("我的名字是:%s。年龄:%d岁...","XX","X",18);参数1为必填:输出内容的最终样式(告诉计算机要输出什么),以字符串的形式体现。printf("我的身高为:%米",1.65);printf("我的年龄为:%d岁",18);注:''为语法错误,' '(单引号中有一个空格)为字符常量。②实型常量→所有带小数点的数字→eg:18.3、-77.7。分类:①整型常量→正数、负数、0→eg:18、-25。
2025-07-16 22:21:15
397
原创 【HelloWorld原理分析】
表示运行结果(0表示正常结束,非0表示异常结束)从int开始是业务代码(你要计算机做的事情)第一行:预处理(提前找到需要用到的东西)int main()程序的主入口。( )输出内容,输出到控制板。{ }内的内容为范围。printf输出语句。return程序结束。
2025-07-12 15:41:20
296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅