自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 算法 - 滤波算法

j = i - window_len/2 ,用于从选中元素的左半边开始选取,到右半边停止,算平均值;将两个或多个传感器的信号通过加权组合,利用它们在不同频段的优势,抵消各自的缺点。也就是说限制信号的变化速率,对快速变化信号进行衰减,对缓慢变化信号进行保留;这种方式比较简单,而且可以从matlab的图中看到,曲线变得更平滑了;这里先memcpy把需要处理的数组放进来,防止修改到原数组;FILTER_WINDOW 是窗口大小,我这用5,与低通滤波器相反,是过滤低频噪声,保留高频部分;

2025-12-23 09:54:35 268

原创 算法 - FOC

让 a 相电流直接等于 α 轴分量,从而可以只采集两路电流并省去一次额外的乘法/矩阵运算。在实际控制时,一般是用PWM占空比来控制电压,所以乘上一个电阻R,转成电压形式;比如机械角度旋转一圈,但是里面N对磁极,切割了N次,发了N个周期的电;之前克拉克变换时,是在定子线圈那里的,或者说是固定的。上面提到过了帕克变换、克拉克变换,都是电流形式;电机磁极对数,1个N极和1个S极为一对磁极;但是转子是转动的,所以引入Q-D坐标系;坐标系形成一定夹角,这里称为电角度。:电角度 = 机械角 * 极对数。

2025-12-23 09:41:20 634

原创 硬件 - BMS、电池整合

因为我们可以想象,充电的时候,把电池当作负载,那么PACK+是充电器正极,PACK-是充电器负极,假如是PACK+ -> 电池 -> GND的流向,那么就不构成回路了;的时候,因为电阻值还是存在的,比如这里的10mR,那么通过电流,SRP和SRN左右会存在一定的压差,虽然可能很小...主动均衡可支持更大的均衡电流,平衡速度更快,能更精准地消除单体差异,尤其在电池组老化后,仍能保持较好的均衡效果。然后放电的时候,把PACK+和PACK-这边当负载,电池电流从PACK+过负载,到PACK-到电流检测电阻;

2025-12-12 19:08:25 969

原创 硬件 - 电机相关部分整合

这里我推荐是立创商城直接搜 《高侧栅极驱动芯片》找个合适的IC,比如我下面这张,主要自举部分是R69,D16,C127,这里电阻作用就不必多说了,自举电容可以认为是给自举电容充电,利用电容两端电压不能突变原则,使得G极电压总是比S极高一些,然后这里的D16主要起到一个防止自举电容往反方向放电的作用;VCC=12V,Vgs(th)=2V,做上管的话起先S极电压是浮动的,我们就先算它是0V,那么G给个3V,Vgs=3V > Vgs(th)=2V,这里导通。这里为什么不能直接做上管?

2025-12-12 18:40:24 664

原创 硬件 - Layout合集

可以并联1-4个较大容值(1-22uf)的钽电容,这样负载很重的时候,器件周围电压可以保持正常;会形成一定的尖峰脉冲,对电路形成干扰,又由于等效电感与导线成正相关,所以可以在IC附近加个电容,跳变时利用电容充放电,减小等效电感形成的干扰。电源层和地层都存在阻抗,但是电源层阻抗>>地层阻抗,所以大量铺地就是尽量让电流从地层跑掉,减少发热量;这里可以作参考,高频为Mhz-Ghz级别,中频为Khz-Mhz级别,低频为<Khz级别;使用DCDC的时候,可以“入口处”,开关电源也是会产生干扰的;

2025-12-12 18:26:42 459

原创 硬件 - 高速协议设计整合

必要时进行 时钟抖动预算 与 功率完整性(PI)‍ 分析,确保满足代数对应的误码率(BER)要求。Fly‑by 拓扑对 地址/控制线的等长要求更严格(±50 mil)‍,而数据/ DQS 组的等长误差要求更紧(±10 mil)数据组:同一 Byte‑Lane 的 8 根 DQ、对应 DQS、DM 同层走线,保持 等长误差 ≤ ±10 mil(DDR4)或 ≤ ±5 mil(DDR5)CK‑P/CK‑N、DQS‑P/DQS‑N 必须 差分走线,保持 线宽‑间距匹配,差分阻抗控制在 100 Ω ± 10 %

2025-12-12 17:56:59 611

原创 硬件 - 常见通信协议整合

对应逻辑 1 的,称为隐性电平。对应逻辑 0 的,称为显性电平;闭环结构:隐性电平压差0V附近,显性电平压差2V附近;开环结构:隐性电平压差小于0V,显性电平压差大于2V;通常情况下只需要TX、RX和GND在RS232中,逻辑1一般是 -3V~-15V , 逻辑0一般为 3V~15V也就是和印象中的01倒过来的。

2025-12-12 16:50:39 659

原创 无人机 - 关于快速启停时尖峰问题

因为处于分区二时,有电流流过,但是存在阻抗,这时候若是时间较长,容易发生发热或者损坏。MOS关断后,内部二极管反向阻断,会产生一个反向恢复电流(Irr),这个电流叠加在寄生感应电压的di/dt上,会产生电流尖峰,并且提升电压尖峰;有种做法是TVS串联一个限流电阻,一般取2-5R,电阻更容易烧坏(TVS贵些),另外当烧坏电阻后,TVS对地端悬空,此时也能降低短路风险;无人机的电池在大电流突变的时候,内阻不恒定,这时候电压会出现瞬时的波动。无人机无刷电机的三相换相时,电流方向瞬间突变,也会产生电流尖峰。

2025-12-09 20:15:10 761

原创 硬件 - 电池预充电流与截止电流

应上次读者朋友的问题,这里简单谈论一下我对电池预充电流Iprecharge和截止电流Iterm的看法;

2025-11-28 09:55:24 399

原创 电量计 - 利用BQ40Z50获取电芯化学ID方法

获取化学ID时,需要对单颗电芯测试数据进行记录;

2025-11-21 13:14:23 97

原创 机器人 - 关于MIT电机模式控制

Mixed Integrated Torque为一种混合控制模式,在同一帧CAN数据里包含位置、速度、扭矩三类的闭环指令。驱动器里面把位置环、速度环、前馈扭矩相加,得到一个参考电流,然后再交给电流环完成精准扭矩输出。

2025-11-21 12:25:18 1583

原创 机器人 - 关于电机获取力矩反馈

这种方法硬件需求低,只需要获取电流。但是受到电机磁路非线性、温度、饱和等因素影响,需要校准;:利用电机的电感、反电动势常数 与转速信息,构建状态空间模型,使用。其中T为输出扭矩,Kt为电机的扭矩常数,Iq为电机的q轴电流;

2025-11-21 12:10:31 149

原创 Windows PC 上使用 ADB 调试运行 Ubuntu 系统的 RK3588 开发板

PC端执行,有xxxxxxxxxxx device 的输出,表示成功建立连接。在系统环境变量里添加刚刚解压好的Platform-Tools路径。先用板子调试成功一次,然后板子和PC在同一局域网,记下板子的IP。

2025-11-20 14:52:34 361

原创 激光雷达(LiDAR)说明

步骤关键要点说明发射激光器(波长 250‑1600 nm)发出短脉冲或连续波光束高亮度、方向性强、相干性好,使光束在空间中保持窄束传播 & 目标反射光束照射到目标后产生散射/反射,部分光返回传感器目标的材质、反射率决定回波强度接收接收光学系统(望远镜、光电探测器)捕获回波并转换为电信号常见的探测方式有时间飞行(ToF)和相位/频率调制(FMCW)计算距离通过测量发射‑回波的往返时间(ToF)或相位差,得到目标距离距离 = 光速 × 往返时间 / 2;

2025-11-18 10:13:11 713

原创 硬件 - 关于PCIe设计要求

在 PCIe TX/RX 端放置对称的 AC 耦合电容(0.1 µF ~ 1 µF),并在电源层布置足够的去耦电容(10 nF ~ 100 nF)以抑制电源噪声。使用自动匹配或手动微调,使每对差分线长度差 ≤ 0.15 mm(或 ≤ 5 mil),并在换层点前后保持相同走线路径。PCIe 走线应远离射频、音频、晶振及大电流电源走线,保持至少 5 mm(约 200 mil)间距,防止耦合噪声。推荐 4‑层或以上结构:顶层信号层、内部参考层(GND/PWR)交替排列,保证每条高速走线都有紧邻的参考平面。

2025-11-17 11:46:18 594

原创 硬件 - 关于DDR设计要求

Fly‑by 拓扑对 地址/控制线的等长要求更严格(±50 mil)‍,而数据/ DQS 组的等长误差要求更紧(±10 mil)同一 Byte‑Lane 的 8 根 DQ、对应 DQS、DM 同层走线,保持 等长误差 ≤ ±10 mil(DDR4)或 ≤ ±5 mil(DDR5)地址/控制/时钟组:同样要求 等长匹配,误差可放宽至 ±50 mil(DDR4)或 ±40 mil(LPDDR5)* 地址/控制/时钟等长误差 ≤ ±50 mil(DDR4)/≤ ±40 mil(LPDDR5)

2025-11-17 11:23:26 930

原创 硬件 - 硬件问题排查

在实际研发过程中,经常遇到各种硬件问题,这里主要简单介绍遇到硬件问题时,排查顺序。为了后续工作中debug的标准化、流程化;

2025-11-17 10:46:29 220

原创 硬件 - LM5122MH - 24V升压26.4V 10A

输出电压 26.4V ,最大电流10A。输入电压23.5V~24.5V。工作频率0.517MHz。

2025-11-07 13:23:44 228

原创 软件 - BQ40Z80命令

此类命令直接通过 SBS 协议发送,用于读取电池基础运行数据或配置基础功能,无需通过。两类接口功能互通,支持访问 “制造商访问系统(MAC)”,命令通过。(SMBus 块协议)发送,结果可通过。(SMBus 字协议)或。

2025-11-07 10:42:09 2330

原创 硬件 - CH224K - PD诱骗

2025-11-07 09:20:06 126

原创 硬件 - DRV8833 - H桥电机驱动

2025-11-07 09:16:50 120

原创 硬件 - SD卡座子

2025-11-07 09:09:49 122

原创 硬件 - MPU6050+LIS2MDLTR - 九轴惯导

2025-11-07 09:06:44 97

原创 硬件 - NSG2000高边驱动带四个NMOS(已测试)

图中R62也就是50R那个电阻封装要用1206的;

2025-11-07 08:57:48 184

原创 硬件 - Allegro - 通过改env来换快捷键,适合新手

比如 E:\06_Cadence\SPB_22.1\share\pcb\text。用记事本打开,然后把里面的内容全部替换成下面代码的内容;在安装Allegro的目录下面找到一个叫env的,这篇文章基于凡亿教育,主要是让新手方便修改;

2025-11-06 20:28:16 402

原创 硬件 - Cadence&Allegro入门使用常见问题

2.Options -> Grid Display -> Gird spacing 把默认的1,1改成1,2或者再多点;Setup(设置) -> User Preferences(用户偏好设置) -> Paths -> Library。然后File(文件) -> import(导入) -> Logic/Netlist。会发现元件全都放出来了,这里我把飞线去掉了,在显示那里点击隐藏飞线-全部;放置->快速放置,点击完放置后在背景板的地方,点一下左键。之后点击显示 -> 状态,能看到新导入的元件没放置。

2025-11-05 10:49:39 453

原创 硬件 - EMC简单介绍 (是啥、怎么形成、如何整改)

改原理图/PCB,比如加滤波器,或者装个罩子;电磁兼容,指电子设备在共同的电磁环境中能够。确定是RE(辐射)还是CE(传导)超标;根据干扰源来确定用上述的哪种方法;用频谱仪、近场探头找干扰源;

2025-11-04 17:55:08 437

原创 硬件 - BLDC半桥驱动

上下桥臂MOS、驱动IC、软启动;上下两个部分是,主要控制导通的时候电流流向;的话,可以防止电气、机械冲击。比如可以在MOS的栅-源极加个10nF的电容;除此之外,还可以在栅源极加个10K或者再高些的电阻,做到;然后上面的1N4148的二极管那块地方,在MOS被驱动的时候,电流通过R5从栅极那边过去,R5可以平滑一些振荡;在关断的时候,1N4148那里提供了一条回路,让电荷快速回去;C3那地方布局的时候记得靠近EG2133,它拉高电平用的;

2025-11-03 21:00:46 394

原创 单片机 - 关于RS485硬件与伪代码

利用差分信号传输、距离远、抗干扰能力强、支持半双工和全双工模式;RS485B - RS485A,看它们俩直接的压差;逻辑1 为 +2~+6V, 逻辑0 为 -2~-6V,-2~+2之间无效区;Modbus-RTU在RS485上采用8-N-1帧结构,[地址][功能码][数据][CRC]在单片机上的应用(以STM32为例)

2025-11-03 19:53:20 433

原创 无人机 - 关于无人机电池

实际上我们应该用这个来计算能量,这里会发现标称电压高的情况下,能量其实也会受影响变高;除此之外,高压锂电池一般能保持较好的电压稳定性,换句话说,在大电流的情况下,这类电池电压下降速度不会那么快。这可以使得在恒定功率的情况下电流会小一些;一般的锂电池单个电芯满充电压为4.2V,截止放电电压在2.5V左右,如sony US18650VTC6;我们都知道电芯在电压方面有四个注意点,截止放电电压、充电电压、标称电压、满充电压;还有一些高压电池,单个电芯满充电压为4.35V,截止放电电压在3.2V左右。

2025-11-03 08:36:37 469

原创 数学 - 基础线性代数(笔记,没啥好看的...草稿写的很乱)

注意有序、维度,行列向量其实一样,只不过为了方便写了计算用;

2025-10-25 20:23:16 276

原创 硬件 - 减小导线、铜层的线阻

在PCB板上的话,增加铜厚、增大线宽;金属电阻率会随着温度上升而增大,比如铜温度系数为0.004/℃,即温度每升 1℃,ρ 增加 0.4%;也就是在PCB布线的时候,尽量不要绕远路,尽量短走线;设计时,根据工作电流来定线宽、线粗,防止导致 线宽不够->发热->电阻率上升 的正反馈;信号频率>100kHz时,需要注意以下集肤效应,也就是电流主要集中在导线表面;(R 为电阻,ρ 为材料电阻率,L 为导线 / 铜层长度,S 为横截面积)比如,PCB中可以用开窗把铜层暴露,在铜层处加散热过孔;

2025-10-25 16:28:20 355

原创 算法 - PEC校验

接收端接收到数据后,也用相同式子计算,对比两者PEC校验码是否相同,相同的话认为数据完整可靠,不同认为这个包错误;PEC基于CRC-8,一般用在I2C / SMBus这样的地方,它没有纠错能力,只能判断数据是否完整可靠;发送端在发送数据时,利用一个式子把需要校验的数据进行计算,得到一个PEC校验码;

2025-10-24 16:22:22 182

原创 硬件 - 电量计配置GG详解 - 以BQ40Z80为例

Scale Factor 电流缩放因素,主要解决内部电流寄存器不够用的情况(最多到32A那里),我这边因为要用到50A以上,所以我设置为2,相对应的和电流、容量有关的全除2;不能出现OCC填正值(充电),因为充电过流保护后,充电MOS关闭了,这时候充不进去了,放电同理;这里显示输出传感器温度,11不使用,10是最低温度,01平均温度,00最高温;维护充电时的电流,主要就是充满的时候,一个保持电流;CC2,CC1,CC0用于设置电池串数,比如我这里6串,那么为110,

2025-10-21 17:33:05 789

原创 硬件 - BQ40Z80电量计应用详解(4) - 充电算法GG配置 -ing

这个可以在Advanced Charge Algorithm中,填入不同温度下的充电电压值,芯片会根据设计的串数,来决定充电电压;在Settings中的Configuration 的 FET Options中可以设置 PCHG_COMM,来调节预充电方式;当RSOCL=1时,剩余容量在终止结束前,会保持在99%,充完电后才达到100%,充电的时候,会根据温度、电芯电压、电芯状况等,控制充电时的参数,比如图4所示。使能CRATE=1后,会根据充满容量/设计容量,来调节充电电流;VCT 表示 有效终止充电;

2025-10-15 16:01:43 1157

原创 硬件 - BQ40Z80电量计应用详解(3) - 永久保护功能

在Gas Gauging中,可以对IT Cfg:[Referenc Grid]设置,这个是设置参考网格,0(满充电芯阻抗),14(满放电芯阻抗),我们可以选择默认值4,接近20%~100%SOC的平均值;1.电芯在参考网格下阻抗差值 > IMP:[Delta Threshold]*设计电阻(IT Cfg:[Design Resistance])更新次数;假设Pack中最大电芯容量为MAX[QMAX],最小电芯容量为MIN[QMAX],主要根据TS[1:4]返回的温度数据进行判断,用于检测电芯的;

2025-10-15 14:08:54 585

原创 硬件 - BQ40Z80电量计应用详解(2) - 保护功能

其中Hysteresis Temp 的作用,因为NTC温度检测回传时的噪声、实际温度的干扰,可能出现温度在某个区的边缘跳动,比如温度为T5,那么它小一点就会掉到Standard Temp Low,高一点会升到Rec Temp,这时候很容易造成充电电流一直在变换;并且有个Counter Dec Delay的值,在COV中可以设置,每触发一次COV,那么Delay值都会递减Counter Dec Delay,也就是每过压保护一次,下次就更容易触发过压保护;OCC2是针对过流大的充电电流,所以触发时间要短;

2025-10-14 17:36:24 850

原创 硬件 - BQ40Z80电量计应用详解(1) - 引脚复用(Pin Configuration)

设置方式为 MFP12_SEL[0:2] = 000,主要在7Cell时作为ADC,这里的ADC检测被限制在0~1V,又因为Pack包最大为32V,所以此处至少要做32:1的分压;设置方式为 MFP12_SEL[0:2] = 001,此模式下,RC2复用为TS3,用于连接外部的NTC检测温度;设置方式为MFP13_SEL[0:2] = 001,选用这个功能后,该引脚外接一个NTC,用于温度检测;11时弃用,高阻态;设置方式为 MFP12_SEL[0:2] = 1xx,这个方式后,该引脚会变成高阻态;

2025-10-14 13:22:56 956

原创 算法 - FOC闭环位置控制

灯哥FOC笔记。

2025-10-03 17:30:34 279

原创 算法 - FOC开环速度控制

灯哥FOC笔记。

2025-10-03 12:24:41 347

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除