- 博客(38)
- 收藏
- 关注
原创 AD使用问题
会自动出现封装就完事了45.PCB连线原则滤波电容去耦电容靠近主控先画主控,然后是电源驱动和MOS管要近割开铜皮,强迫电流经过电容流过模拟地和数字地要分开,模拟模块的抗干扰能力很差,元器件分开,地分开。去耦电容要贴近芯片引脚摆放,就近打过孔接地3W 原则:两条线之间的间距大于三倍的线宽相邻层信号层采用正交方向布线差分线布线应采取等距等长的方法,如下图:两个电容对称布线,还在晶振的周围打了一圈地过孔,简称包地,类似法拉第笼,实现信号隔离;
2024-05-28 20:30:24 2645
转载 搞懂STM32引脚VCC、VDD、VEE、VSS、VBAT
(1)C=circuit 表示电路的意思, 即接入电路的电压(2)D=device 表示器件的意思, 即器件内部的工作电压;(3)S=series 表示公共连接的意思,通常指电路公共接地端电压(4)负电压供电;场效应管的源极(S)(5)当使用电池或其他电源连接到VBAT脚上时,当VDD 断电时,可以保存备份寄存器的内容和维持RTC的功能。如果应用中没有使用外部电池,VBAT引脚应接到VDD引脚上。对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。
2024-04-19 10:04:18 4033
转载 二极管反向恢复
https://www.bilibili.com/video/BV1CW4y117wz/?spm_id_from=333.337.search-card.all.click&vd_source=c5421995f9d8b198c3addcd76eb19ee2
2024-03-25 10:31:57 129
原创 基于stm32cubemx实现spwm调制
TIM1设置为中央计数模式,开启互补通道,设置死区时间,死区时间是多少个时钟计数周期,比如TIM1计数周期是72M,设置为72就是1000ns。正弦调制波的频率是自己设置的,方法是f=载波频率/表中点数,这里设置的是载波频率10K,取200个点,得到的正弦频率就是50Hz。实时监控计数器的值是否和自己的值相同,当计数器记到和自己相同的值时,便将计数器的值重置为零并触发中断。当 CNT 达到 ARR 值的时候,重新归零,然后重新向上计数,依次循环。需要更改的参数如下图所示,其他参数默认即可。
2023-12-04 19:51:22 3655 1
转载 反激电源原理及设计
当MOS管关闭后,因为电流不能突变,所以在初级线圈内部会感应出一个上负下正的电压来阻止这个突变,同时在次级线圈会感应出上正下负的电压,那么右侧的电路中就出现了电流,电流一部分给电容充电,保持电压的稳定,另一部分给负载供电。添加RCD电路,RCD电路可以吸收PWM的尖峰,尖峰产生的时候通过左边的路径,能量迅速的被电容吸收掉,剩余时间里,电容上的能量又会通过这个电阻释放掉。经过MOS管的开关变成PWM波,送到变压器的初级线圈,然后次级线圈感应出的电压再一次经过整流滤波,就输出5V的直流电。
2023-11-21 16:02:52 1045
原创 直流无刷电机
还可以通过反电动势的方法确定转子的位置,当转子转动,会在线圈上产生一个反电动势,把线圈上的电流引入到电阻上,通过串联分压,再通过单片ADC功能检测电压多少,推算出转子的角度。对于三相无刷电机,将每两个相的线圈连接,也就是星型连接,当以下图方式供电时,相对于上图可以提供双倍的力,转过60度之后,给UW线圈通电,以此类推。通过霍尔元件检测转子的位置,根据输出的高低电平控制电机,当电平改变迅速改变控制策略。每转90度,更换一次极性,四指指向电流的方向,大拇指所指一端是N极。右手螺旋定责:用右手握住通电线圈。
2023-10-25 20:08:44 124
原创 51基本语句数据运算和按键
Delay(20)目的是不去考虑按下按键后的20ms,因为在该时间段内会因为抖动导致误动作。下程序实现LED按照二进制点亮。程序实现按下按键使电平翻转。下程序实现LED移位。
2023-10-25 10:59:33 39
原创 UART入门和串口屏使用
这里,对LED按钮的弹起事件编写:printh 01,即按下串口屏的LED按钮并弹起后,将通过串口发送16进制的数据:0x01到STM32中去。对于t2文本控件,不做编写,t2控件的改变是接收STM32串口发送来的字符串数据而改变的,这是在stm32中编写。1.unsigned int 32 (C语言标准表达方法) 2.uint32_t;勾选魔术棒 USEmicrolib!(1)控件的事件编写。
2023-10-18 11:42:09 121 1
原创 陶晶驰串口屏
重要提醒:❗❗❗ 如果我们的文本控件默认设置的是私有变量,那我们切换界面时其显示的文本为你初始的文本。所以我们与单片机通信使其显示数值的文本控件应设置为全局变量(如下图t3,t4,t5文本控件)。我们尽量将显示的固定文字在上位机中设计完成,单片机和串口屏之间尽量不要传汉字,那样占用资源而且容易出错。如果只连接串口屏,可以通过下载、COM3、调试助手实现交互。dim=h0.val//将滑块的值赋给屏幕亮度。设置虚拟串口,串口屏和调试助手一个五一个六。返回值1AFFFFFF就是错误了。在空白处的前初始化事件。
2023-10-17 21:05:38 986
原创 调试助手问题
首先在你的文件中找到main.c文件,然后使用记事本打开,然后保存另存为,选择ANSI编码(原来默认的是UTF-8),替换原来文件。.然后重新编译工程,下载到开发板,再打开串口调试助手,然后我们发现问题已经解决。(这里注意:如果不成功,重启开发板试试,波特率设置115200,太高也会乱码)
2023-10-16 11:37:37 153 1
原创 STM32函数总结
/定义字符串一helloworld。询问串口是否是串口一 huart是指向串口句柄的指针。if(Rx_dat==0xA1)//询问Rx函数的内容是不是0xA1。//发送(串口一,字符串2,字符串长度,时间)uint8_t Rx_dat =0;
2023-10-15 22:03:53 1220 1
原创 STM32定时器开发基础(有回调函数)
定时时间=(Prescaler+1)*(Counter Period+1)/定时器时钟频率。在it.c中找 HAL_TIM_IRQHandler(&htim2);(1)调时钟,通过计算,比如说想实现0.5s的定时。weak_后面的复制到main中BEGIN0。也是开始,但是没有使能中断。
2023-10-12 11:07:42 1864
原创 STM32串口数据收发基础
例:HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9,GPIO_PIN_RESET)//给某个引脚写0或1,但是不要理解成,写1就是使能之类的意思,有些寄存器写1是擦除的意思。上图中控制灯的开关目的是建立一个指示灯。下两图可实现hello world。1 uint8_t 就是定义。可以实现A1开灯,A2关灯。
2023-10-10 20:32:15 38 1
原创 STM32中断系统和外部中断
在it.c中找HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);复制void以及后面的一长串,粘贴到main.c中user code begin 0和end0之间。在HAL_GPIO_EXTI_Callback(GPIO_Pin);点callback返回定义。
2023-10-06 15:36:05 139 1
原创 STM32按键开发基础
MX_GPIO_Init 端口初始化(标准库的方法)找到MX_GPIO_Init右键GOTO再具体去改。按下KEY2,切换LED1 的状态。因为按键结构不一样,功能实现有差异。
2023-10-06 10:38:03 52 1
原创 基于STM32CUBEMX任务1led闪烁任务二跑马灯
配置RCC晶振——对照原理图和PCB图配置输出引脚OUTPUT——设置MDK—ARM(见下图)——产生代码——在keil中对应位置输入代码——编译下载到STM中实现功能。.中文变问号:EDIT——Configuration——Editor——encoding——ChineseGB2312。:代码写在BEGIN和END之间的位置,当外设发生改变,代码的改变相对容易。.右键主函数中的函数可以直接找到具体的对应点。Shift +S单层视图。shift+M放大镜。练手:实现LED闪烁。
2023-10-05 19:42:43 73
原创 9.26 STM32通用定时器的输出比较功能
通用定时器的输出比较模式(下图指的是1寄存器的输出比较模块的具体组成)输出比较通过比较CNT和CCR的关系,来实现OC1的置一和置零。下图为上图的输出模式控制器的具体控制状态。CCR:捕获、比较寄存器。高级定时器的输出比较模式。
2023-09-26 21:28:10 76 1
原创 9.24电力电子第二章
电感电流平衡:本质是电感电压的平衡=伏秒平衡。电容电压平衡:本质是电容电流的平衡=和电平衡。分别分析了Boost、Buck和Cuk的稳态。稳态:在一个周期内的初始值和结束值相同。
2023-09-24 16:30:49 105 1
原创 焊焊焊焊焊
左手找到合适方法拿镊子,小拇指顶住桌子,镊子尖轻轻抵住焊盘。先在一边点一个锡,放上之后再点另一边,用镊子调整位置。锡量不合适,用刀头抹一下。
2023-09-15 20:23:38 31 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人