记录一个小项目——道岔机遥控
使用场景为工厂,环境存在433MHz对讲机干扰,通信要求可以一对一通信,也可以多对一通信,但是发送端同时还要接收接收端的回传信息,同时接收端留485进行MODBUS RTU通信,接入PLC。(最多99发99收)
开始考虑第一种方案:时分,也就是一个固定频率,利用信道侦测技术进行随机避让发送,但是这存在一个问题,太容易撞包,并且毫无并发能力,同时工作的设备一多直接趴窝了,实际测试后放弃。
后面采用了第二种方案,采用频分,因为设备的ID是固定的,我们可以设定一个base freq,同时规定interval freq,在发射端内部维护一张表,记录不同ID的接收机的频率,需要与某个ID通信时进入对应频率即可,由此杜绝撞包,后面实测效果不错。
这讲的都是一对一通信,还要求可以多对一,这里多对一的意思是,PLC下还会挂一些有线设备,这些设备是不具备无线能力的,所以设计了接收机的“网关”模式,也就是可以设置接收机为网关,并且设定其下面挂载的PLC下的执行机构的ID,当发射机发现该设备ID挂载在网关下后,就会切换到对应网关ID的频率,这部分通信采用时分,自动避让设计,最后效果还行,暂时没出问题。
如果 ...
PX4 io mcu固件信息
io mcu在这里是stm32f1xx系列芯片
px4io的bootloader文件为px4_io-v2_bootloader.bin,烧录地址为0x08000000
px4io的firmware文件为px4_io-v2_default.bin,烧录地址为0x08001000
px4_io-v2_bootloader.bin下载地址:https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/io-v2/extras/px4_io-v2_bootloader.bin
px4_io-v2_default.bin下载地址(For PX6X):https://github.com/PX4/PX4-Autopilot/blob/main/boards/px4/fmu-v6x/extras/px4_io-v2_default.bin
调试记录 三电平TL Boost
最近做了个项目,用的是三电平TL Boost,输入电压20V,输出30-50V可调。相比普通的Boost电路,TL Boost可以减少开关器件的电压应力,也可以提高效率,纹波也会有所降低。
查阅书籍找到以下资料:
进行拓扑的仿真:
最终主拓扑电路:
调好开环后效果不错,效果如图:
然后开始做闭环,一开始想的是用ina228来采集电压,但是由于这个拓扑的输出地与系统地不是一个电平的,所以ina228不能用了,普通的分压测量也不能用了,最后用ina826仪表放大器做了一个差分转单端的采样,设计图如下,适合我这次的要求(测量20-100V电压):
这里面开始没有加电容,后来测试发现ADC_V的波形很有特点,可以看到很明显的开关频率,且峰峰值较大,所以加入了C1、C2、C3来抑制这个频率,然后发现该频率依旧存在,但是峰峰值明显减小,此时考虑是系统的3.3V耦合了开关频率,在ina826的供电端加入滤波电容,再次测试发现开关频率被有效抑制。
关于单片机,这次用的是STM32F1,为了移相180度,可以这样做:
1234567891011121314// 在初始化的时候uint32_ ...
一本接口定义手册
一本小而美的接口定义手册
符合我的习惯,简洁、小而美、不失专业性
Pinouts.org
比如USB-C的接口定义
常见的开发板的Pinout
usbipd出现error Loading vhci_hcd failed
问题描述WSL用usbipd.exe共享USB端口,出现
error: Loading vhci_hcd failed.
问题解决在WSL里面执行
1sudo modprobe vhci_hcd
这样就解决了
复位之后无法自动枚举USB
问题描述单片机的USB在soft-reset复位之后有时无法自动重新枚举
问题原因复位之后拉低一下USB引脚
VS2022编译在.h头文件出现“fatal error RC1004 unexpected end of file found”错误
问题描述VS2022中编译是在.h头文件出现“fatal error RC1004: unexpected end of file found”错误,错误提示指向最后一行#endif
问题原因头文件最后一行需要一个回车,可能是因为通过拷贝粘贴时将回车换行去掉了
最近在做机载总线实验,编写一个软件实现MIL-STD-1553B的RT和BC通信,碰到了这个问题,一直以为是文件编码问题,试了好久发现竟然是一个回车的事,真坑!
下载测速文件(100M/1GB/10GB/100GB)
某些链接已经失效。 2024/07/15
原文链接:VPS下载测速文件100M/1GB/10GB - 多记 - LOT.PM
本文搜集了一些可用于VPS/服务器的下载测速文件,从100MB到10GB。测速文件来源较为丰富,包括Cloudflare、Vultr、OVH、Hivelocity等国外厂商的测试文件,同时为了方便中国大陆用户测试,文章也列举了由QQ、Apple等提供的在中国大陆有CDN节点的测速文件。可以说,下列的文件可以满足大部分的下载测速场景。需要注意的是,Vultr的测速文件有一定限制,多次重复下载可能会返回错误代码。
推荐:全球通用(Cloudflare Anycast)速度极快,推荐国外使用。
100MB1https://speed.cloudflare.com/__down?during=download&bytes=104857600
1GB1https://speed.cloudflare.com/__down?during=download&bytes=1073741824
10GB1h ...
Github中一些缩写
PR: Pull Request. 拉取请求,给其他项目提交代码
LGTM: Looks Good To Me. 朕知道了 代码已经过 review,可以合并
SGTM: Sounds Good To Me. 和上面那句意思差不多,也是已经通过了 review 的意思
WIP: Work In Progress. 传说中提 PR 的最佳实践是,如果你有个改动很大的 PR,可以在写了一部分的情况下先提交,但是在标题里写上 WIP,以告诉项目维护者这个功能还未完成,方便维护者提前 review 部分提交的代码。
PTAL: Please Take A Look. 你来瞅瞅?用来提示别人来看一下
TBR: To Be Reviewed. 提示维护者进行 review
TL;DR: Too Long; Didn’t Read. 太长懒得看。也有很多文档在做简略描述之前会写这么一句
TBD: To Be Done (or Defined/Discussed/Decided/Determined). 根据语境不同意义有所区别,但一般都是还没搞定的意思
在 RT-Thread Studio 环境中为 ART-Pi 2 移植 CherryUSB(以 usb_device 为例)
开始之前ART-Pi 2 搭载了 STM32H7R7x 芯片,这是 ST 推出的一款自带 Internal HS PHY 的 MCU。目前论坛里资料较少,故尝试在 RT-Thread Studio 中移植 CherryUSB,本文从创建工程开始,事无巨细地记录了移植的全过程。
移植过程1. 新建工程
如图示,新建基于 ART-Pi 2 开发板的项目。
工程的目录结构如下:
2. 添加CherryUSB的package
在工程中一键添加CherryUSB的包,按下 Ctrl+S 保存设置,自动开始下载 CherryUSB,这里要注意网络畅通,因为要从 Github 上拉取 最新的 release,成功后控制台信息如下:
3. 配置CherryUSB在软件包里找到 CherryUSB 的配置项,我们以usb_device为例,进行如下配置,不要忘记保存:
将 ./packages/CherryUSB-v1.4.3/cherryusb_config_template.h 拷贝到 ./board/port 里面,并命名为 usb_co ...

