- 博客(50)
- 资源 (11)
- 收藏
- 关注

原创 STM32小四轴超低成本方案开源项目
先分享几个小四轴无人机项目新唐M452飞控开源项目,虽然完全开源但是还不够成熟,PID调节感觉还有些问题https://www.cirmall.com/articles/6597MWC飞控,采用arduino编程,方案比较成熟,对创客教育很友好,以后做scratch也方便,但是成本比较高https://blog.csdn.net/yjy728/article/details/69678049Crazepony 采用STM32成本比较低,方案也比较成熟,下面的方案基本上是基于Craze..
2020-11-03 17:34:16
12653
20
转载 单片机测电流
在嵌入式(单片机)开发过程中,会有测量电流的需求。以上的需求电路都可以有一个基本的电路(如下):同相放大电路如果这是一个理想电路的话,待测电路中的电流为100uA(500KΩ)那在测量电阻上的电压就是100uA*1KΩ = 10mV,经过放大器10倍放大之后就是100mV。经过单片机的ADC采样就可以推算出电流值了。...
2022-08-10 17:35:43
5900
1
转载 STM32F1 高级定时器TIM1定时不准确
配置:使用高级定时器TIM1设置定时器 5ms进入一次中断 实现LED1s闪烁。根据公式可求出频率:72000000/(7199+1)/(49+1) = 200Hz ~ 5ms;理论上是LED每1s改变一次状态,但实际上却是每2s改变一次。 对于这个问题反复检查了时钟配置、定时器配置都没问题,于是搜索到在定时器配置中加一句TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; 就可以解决。果然,加入之后LED每1s改变一次状态。TIM_Repetiti
2022-07-13 14:27:27
3176
2
转载 三分钟带你看懂HDMI接口的PCB设计
HDMI-耳机-typec的公头母座规格书-嵌入式文档类资源-CSDN下载本文主要讲解的是HDMI的设计,包括作用和运用的总结,希望大家看了以后能轻松的应对各种HDMI方案的PCB设计。一、什么是HDMI?高清晰度多媒体接口(英文:High Definition Multimedia Interface,HDMI)是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,其可同时传送音频和影音信号,最高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模...
2022-04-29 14:35:03
5420
原创 Arduino CLI 添加 LGT8F328P
出了一款国产芯片LGT8F328P,价格只要五块多,可以代替连连涨价的ATMEGA328P。LGT8F328P使用的编译器和ATMEGA328P相同,但是库不同,只需要添加库文件即可使用。先介绍arduino IDE中添加方法:首选项--添加开发板管理器网址并确定:https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json--到开发板管理器--搜索lgt--安装Ar
2022-02-22 11:04:10
1806
原创 scratch3.0定制 支持microbit arduino ESP8266 ESP32
有实时模式,离线模式,自动更新,自定义扩展软件截图:
2022-02-16 15:12:40
3397
5
转载 MOS管电流方向能反吗?体二极管能过多大电流?
今天来说两个问题:1、MOS管导通电流能否反着流?D到S,S到D方向随意?2、MOS管体二极管能过多大的电流?为啥会有这两个问题?我们在最开始学习MOS管的时候,应该都是从NMOS开始的,电流的方向都是从D到S的。而实际应用电路,NMOS会有电流从S到D的情况,比如下面这个NMOS管防电源反接电路(仅仅是个示意图,实际电路需要多考虑一些因素)。原理我还是先大致说下。1、在电源正常接入的时候电源正极VCC经过后级负载电路接到体二极管,那么体二极管就会导通,于是.
2022-01-13 19:19:18
1372
1
转载 TVS相关参数与选型
一、介绍 TVS(Transient Voltage Suppressor)二极管,又称为瞬态抑制二极管,是普遍使用的一种新型高效电路保护器件,它具有极快的响应时间(亚纳秒级)和相当高的浪涌吸收能力。当它的两端经受瞬间的高能量冲击时,TVS能以极高的速度把两端间的阻抗值由高阻抗变为低阻抗,以吸收一个瞬间大电流,把它的两端电压箝制在一个预定的数值上,从而保护后面的电路元件不受瞬态高压尖峰脉冲的冲击。主要用在具有静电和电压尖峰的电路中起保护作用。二、TVS工作过程 ...
2021-11-27 14:48:01
3471
原创 AD17 画差分蛇形走线
差分走线可以看:Altium Designer -- 精心总结_的博客-CSDN博客走线注意事项可以看:Altium Designer -- 差分布线和阻抗匹配_的博客-CSDN博客差分线先画再调节长度,AD软件快捷键U-P可以进行差分蛇形走线按下TAB进入设置,一般去掉修剪目标长度,调节振幅间隙等获得蛇形走线增加线长最好再线长不同的位置增加,线长通常优先于平行...
2021-11-26 15:31:10
3136
转载 Altium Designer -- PCB 叠层设计
讲之前,我想先看一下,各层的含义都是什么?一、PCB的各层定义及描述: 参看:altium designer PCB各层含义1、TOP LAYER(顶层布线层):设计为顶层铜箔走线。如为单面板则没有该层。 2、BOMTTOM LAYER(底层布线层):设计为底层铜箔走线。 3、TOP/BOTTOM SOLDER(顶层/底层阻焊绿油层):顶层/底层敷设阻焊绿油,以防止铜箔上锡,保持绝缘。在焊盘、过孔及本层非电气走线处阻焊绿油开窗。 焊盘在设计中默认会开窗(...
2021-11-26 15:12:34
1079
1
转载 Altium Designer -- 差分布线和阻抗匹配
一、PCB差分布线操作参看:Altium Designer -- 精心总结PCB 差分布线已经讲的很清楚了,在此不做介绍。二、差分布线优缺点参看:实际运用中差分信号线的分析和 LAYOUT参看:差分信号 -- 维基百科(1) 差分信号首先来看一下什么是差分信号吧。1、差分信号差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号。信号接收端比较这两个电压的..
2021-11-26 14:44:36
7575
转载 Altium Designer -- 精心总结
出处:http://blog.csdn.net/qq_29350001/article/details/52199356以前是使用DXP2004来画图的,后来转行。想来已经有一年半的时间没有画过了。突然转到AD,有些不适应。用了下发觉很多功能确实比DXP要来的强大。花了不少时间和精力,将之前的一些经验技巧,进行整理总结。希望这篇文章,可以让人少走线些弯路。让初学者可以快速入门。好了,言归正传,开始启程!AD17出了,试试好玩不,后面有介绍新添加功能。首先下载AD17:Altium Desig
2021-11-26 10:39:30
3461
原创 51单片机STC8G1K08驱动ws2812记录
使用51单片机控制17个2812灯,这里选择STC8芯片,最大频率可以达到35M,参考网上的各种文章案例,使用定时器做的时候实测做不到规格书要求的245-345ns,STC8G1K08不带PWM,所以只能使用nop来做,好在单片机在这里只有做编程灯的功能,省略测试过程,下面是程序,使用的是24MHz内部晶振//设置一个灯珠void SendOnePix(unsigned char *ptr){ unsigned char i,j; unsigned char temp; fo...
2021-11-25 17:59:59
6724
7
转载 ros:游戏手柄控制海龟
手柄:罗技游戏手柄nodeLinux版本:14.04iosRose版本:ros-indigogit首先安装手柄驱动,进入/dev/input文件中含有js0的文件夹。服务器安装手柄测试程序:测试$sudo apt-get install joystickthis安装一个功能包spa$sudo apt-get install ros-indigo-joystick-drivers设计测试手柄$sudo jstest /dev/input/js03d出现以下的数据,按下手
2021-11-01 18:22:34
989
转载 Project ‘cv_bridge‘ specifies ‘/usr/include/opencv‘ as an include dir, which is not found.的解决方法
在学习jetson nano 2G时,在编译ROS的package时可能会出现cmake的错误:Project ‘cv_bridge’ specifies ‘/usr/include/opencv’ as an include dir, which is not found.这不是因为我们编写的程序有误,而是NVIDIA的32.3.1image自带的是opencv4版本,把opencv命名成了opencv4修改方法:只需修改上述路径中的cv_bridgeconfig.cmke文件,将10.
2021-11-01 17:51:11
1458
转载 Jetson Nano 2G ROS 调用 CSI摄像头
1.安装ROS的CSI摄像头软件包TX2推荐安装jetson_csi_cam,而Nano推荐安装jetson_nano_csi_cam。1.1 jetson_csi_cam注意:与下面的jetson_nano_csi_cam二选一。参考:GitHub - peter-moran/jetson_csi_cam: A ROS package making it simple to use CSI cameras on the Nvidia Jetson TK1, TX1, or TX2 wit..
2021-11-01 17:48:21
2491
转载 ROS launch 启动文件的使用方法
参考:古月21讲launch文件介绍launch文件:通过XML文件实现多节点的配置和启动(可自启动ROS Master)。正常一套程序运行时节点是很多的,不可能每次运行都要一个一个手动打开。所以需要launch来启动所有节点和功能。launch文件内的语法为xml<launch>\<machine>\<node>\ …,这些叫做标签。name\address\type\ …,这些叫做属性。每一个node都相当是一个rosrun命令...
2021-11-01 16:26:46
759
原创 jetson-inferenc显示fatal error: connect_parts.hpp
https://github.com/dusty-nv/jetson-inference/issues/1188/home/x/jetson-inference/c/poseNet.cpp:32:10: 致命错误:connect_parts.hpp: 没有那个文件或目录#include "connect_parts.hpp"^~~~~~~~~~~~ ~~~~~~~编译终止。CMakeFiles/jetson-inference.dir/build.make:1207: 目标'CMakeFiles
2021-11-01 16:07:55
745
转载 linux : Address already in use 解决方案
第一:netstat -apn | grep 2181(这里的端口号,替换成你被占用的那个端口号,比如Tomcat是8080,namenode是8020之类的,还有最好用root来使用这些系统级的命令)然后得到这样的结果:最后一排其实就pid,然后我们通过kill -9 pid 就可以杀掉对应的进程(例如,kill -9 4438)但是kill前,我们还是要确定下到底这个哪里开的进程能不能随便杀掉,所以。。。第二:ps -ef | grep 4438这样就可以看看你这个进程到底是谁开的,在
2021-11-01 16:04:42
1328
原创 jetson nano 2g使用记录
官方资料Jetson Nano 2GB Developer Kit User Guide | NVIDIA DeveloperJetson Nano 2GB Developer Kit | NVIDIA Developer1、虽然不能用ssd_mobilenet_v2_coco,但是可以用ssdlite_mobilenet_v2_coco,不过也是超卡。https://github.com/NVIDIA-AI-IOT/jetbot/issues/4302、不能训练模型,会内存溢出,可以用..
2021-10-30 16:50:31
240
转载 HSV色彩空间表和cv2.inRange()的用法
HSV色彩空间表和cv2.inRange()的用法结合cv2.inRange()可以清晰看到某个颜色区域影象位于影象的什么地方。用法cv2.inRange(img,low,high),函式会将位于两个区域间的值置为255,位于区间外的值置为0。比如想要看到红色的区域处于影象中的什么位置,红色的区域是[0,43,46],[10,255,255]hsv = cv2.cvtColor(rgb_image, cv2.COLOR_BGR2HSV) lower_red = np.array([0,4
2021-09-04 10:31:28
6330
转载 Jupyter 交互输入(ipywidgets控件)
交互式输入用到的包是ipywidgets,如果还未安装,可以在终端中使用pip install ipywidgets安装。如果安装后无法正常显示控件,请在终端运行jupyter nbextension enable --py widgetsnbextension --sys-prefix。如果你是jupyter lab用户,请运行jupyter labextension install @jupyter-widgets/jupyterlab-manager并重启Jupyter lab,同时确保Jupy
2021-09-04 10:04:46
13077
3
转载 从电容、滤波器、电感等角度解决电机的电磁兼容问题
马达,特别是带电刷的马达,会产生大量的噪声。电器要满足电磁兼容标准的要求,必须对这些噪声进行处理。解决电磁兼容的手段无非是电容、电感(扼流圈)、电源滤波器和接地。不幸的是,电磁兼容问题通常是在产品已彻底完成设计并组装完毕时发现。这时考虑 电磁兼容是十分困难的。制造商不仅面临着时间上的紧迫而且项目预算已经用完,责任工程师已经调到其它项目上,不能随时解决有关的问题。解决这些问题的最好时机是在产品的设计阶段,而不是产品开发周期最终阶段。许多试验是可以在产品装入最终机壳之前进行的。电容电容通过向噪声
2021-07-12 18:10:53
815
转载 LC 电路串联谐振与并联谐振
本文是对一些关于LC电路的资料进行汇总所得,请大家辩证看待,其中有错误的地方请指摘:一、LC串并联电路定性认识: 在LC电路中,感抗和容抗相等时对应的频率值称为谐振频率,如下图1所示。在接收广播电视信号或无线通信信号时,使接收电路的频率与所选择的广播电视台或无线电台发射的信号频率相同就叫做调谐。图1 感抗与容抗曲线LC串联谐振电路的特点: LC串联谐振电路是指将电感器和电容器串联后形成的,且为谐振状态(关系曲线具有相同的谐振点)的电路,如图2所示。在串联谐振电路中...
2021-07-12 17:30:19
27593
3
转载 小功率直流电机上并电容的作用
今天又看见小功率直流电机上并104的瓷片电容。想想了还是系统的归纳总结下,顺便复习复习,所谓是温故而知新。1,从功率角度分析。大家可以不忽略R计算看看下,有惊喜!总之在选取一定的电容值会改善功率因子哦,在不忽略R的情况下,可以有纯阻抗的情况出现。2,安全角度分析消除直流电机电刷产生的火花高频干扰用的。3,EMC角度分析下面的分析网上很常见,我见直接复制过来了:直流电机电气噪音的典型频谱是一频带很宽且杂乱的脉冲信号,如未采取必要抑制措施,很多情况其电气干扰电平会超过限值(EMC)。.
2021-07-12 15:58:08
5387
原创 V2版本microbit的micropython(Mu)库环境搭建编译
我是在win10系统下,搭建Ubuntu子系统做的,也可以直接用Ubuntu系统。1.在Microsoft Store安装Ubuntu18.04子系统,打开后创建用户名和密码。安装方法可以参考网上教程(只需要打开Linux子系统的服务后,重启电脑):https://blog.csdn.net/zhangdongren/article/details/826639772.输入Bash开启子系统。3.安装编译需要的工具用户可以安装所需的软件包:sudo apt-get updatesudo
2021-06-28 17:51:08
2000
转载 STM32F103RCT6移植到STM32F103C8T6步骤
目前市面上见的较多的STM32单片机一般都是开发板,由于这些开发板又很丰富的例程,因此使用起来非常方便,但是我们实际在应用的时候,有时候可能用不了那么多的管脚,因此会造成管脚资源的浪费,而且管脚多的成本也会很高。同时这些STM32单片机的基础的库基本都是一样的,因此理论上来说,应该是可以进行移植的,博主今天来分享一下代码移植的方法。本次采用stm32f103rct6的代码移植到stm32f103c8t6。其他STM32单片机之间的移植方式和这个类似,大家要学会举一反三。博主在做一些项目的...
2021-04-07 17:01:21
7319
5
原创 microbit积木块菜单图标
图标对应文本,例如 icon="\uf0b2"{"text": "\uf000", "id": "fa-glass"},{"text": "\uf001", "id": "fa-music"},{"text": "\uf002", "id": "fa-search"},{"text": "\uf003", "id": "fa-envelope-o"},{"text": "\uf004", "id": "fa...
2021-03-20 15:40:30
10571
原创 树莓派Raspberry Pi Pico使用记录
官方网站https://www.raspberrypi.org/products/raspberry-pi-pico/,大部分固件、SDK、硬件资料都可以找到。一、micropython部分1、刷入官方给的固件,安装Thonny就可以使用,写法参考官方SDK以及micropython,在Thonny中输入help()也能查看各种库,串口部分官方没介绍,写法与micropython类似。from machine import UARTuart = UART(0, 115200, bits=8,
2021-03-04 15:58:12
1237
1
转载 由浅及深PCB布线设计
第一部分在当今激烈竞争的电池供电市场中,由于成本指标限制,设计人员常常使用双面板。尽管多层板(4层、6层及8层)方案在尺寸、噪声和性能方面具有明显优势,成本压力却促使工程师们重新考虑其布线策略,采用双面板。在本文中,我们将讨论自动布线功能的正确使用和错误使用,有无地平面时电流回路的设计策略,以及对双面板元件布局的建议。自动布线的优缺点以及模拟电路布线的注意事项 设计PCB时,往往很想使用自动布线。通常,纯数字的电路板(尤其信号电平比较低,电路密度比较小时)采用自动布线是没有问题的。但是,.
2021-02-24 10:34:36
2562
1
原创 microbit V2.0兼容性相关问题记录
1、IIC不是开漏输出(不知道官方会不会修改),导致和部分IIC设备通讯有问题,其中与STM8S105K4(QFN-32)单片机通讯无法拉低数据。2、IIC中间串联电阻会导致通讯异常,必须是直连且上拉电阻。3、功耗变大。4、按键的P5、P11口做IO使用会有异常。5、IIC速率变快,有可能与低速单片机通讯导致单片机卡死,适当加入延时即可。6、靠时间长短获取数据的,因为速率变快,数据都不准确。7、红外遥控不能用的参考https://github.com/DFRobot/pxt-maqu
2021-02-22 16:03:31
3301
18
转载 一个无线遥控通讯协议破解实例
2.4G无线遥控通讯协议破解—美嘉欣 准备做平衡车,缺个遥控器,又不想用手机App。刚好手中有个之前买的遥控直升机,配套的2.4G遥控器看着还行,就打算拿来用在平衡车上。于是就开始了破解。先看图吧! 经拆解发现(遥控器端2.4G模块是COB封装的看不出,只能在接收端看芯片型号)为BK2423(和nRF24L01兼容)。于是就可以nRF24L01为接收机接收遥控器数据。当然反过来,也可以用nRF24L01来遥控直升机。 查数据手册:...
2021-01-26 18:36:25
8584
13
转载 自定义Micro:bit软件包
配置过一次之后,以后只要makecode不更新就只要定位到microbit文件夹位置执行pxt serve即可;最近microbit V2版本开始更新,最好重建文件夹pxt target microbit;1.搭载环境1.1.安装node.js下载地址:https://nodejs.org/en/,根据32位或64位系统下载不同版本,并安装,推荐安装官方推荐版本:检查是否安装成功:打开Windows命令行,输入node -v,输出版本号则表明安装成功:若未正常显...
2021-01-07 18:28:29
1551
5
转载 树莓派I2C接口技术及Python SMBus、串行I2C EEPROM应用编程
一、I2C接口技术I2C接口是嵌入式系统中常用的网络接口之一,它采用串行通信方式将MCU/传感器连接到系统总线,通过主机/从机的方式协调工作。I2C/IIC(Inter-Integrated Circuit)总线是由PHILIPS公司于1982年针对MCU/传感器等应用需求而研制的一种两线式串行总线,用于连接MCU及传感器等设备。I2C总线的主要特点如下:(1)I2C总线最主要的优点是其简单性和有效性。(2)由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片
2021-01-07 15:08:57
3044
转载 Type-C、PD原理
最近有个项目用到TYPE-C供电,因为默认5V,不用做协议,看到详细的TYPE-C介绍,所以收藏备用。第一部分包含:一、二、三、四第二部分包含:五、六目录一、Type-C简介以及历史二、Type-C Port的Data Role、Power Role三、Type-C的Data/Power Role识别协商/Alt Mode四、如何进行数据链路的切换五、相关参数/名词/状态解释六、PD协议简介一、Type-C简介以及历史 自1998年以来,...
2021-01-07 12:22:59
5681
转载 四轴PID讲解
PID原理普及1、 对自动控制系统的基本要求: 稳、准、快: 稳定性(P和I降低系统稳定性,D提高系统稳定性):在平衡状态下,系统受到某个干扰后,经过一段时间其被控量可以达到某一稳定状态; 准确性(P和I提高稳态精度,D无作用):系统处于稳态时,其稳态误差; 快速性(P和D提高响应速度,I降低响应速度):系统对动态响应的要求。一般由过渡时间的长短来衡量。2、 稳定性:当系统处于平衡状态时,受到某一干扰作用后,如果系统输出能够...
2020-11-03 16:37:06
1470
转载 安装包制作工具 SetupFactory API清单
SetupFactory中可以通过其API控制很复杂的业务需求。 下图中展示了其内置的API种类与具体分类函数。 序号 API名称 API说明 1 Application.Exit 退出安装程序,并返回一个可选的返回代码 2 Application.GetInstallLanguage 返回一个包含当前安装语言的表格 3 Application.GetLastError 返回最后的...
2020-11-03 10:46:18
653
转载 安装包制作工具 SetupFactory 使用详解
Setup Factory是一个强大的安装程序制作工具。提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序。可建立快捷方式,也可直接在 Windows 系统的注册表加入内容,还能在 Win.ini 和 System.ini 内加入设定值,更可以建立反安装选项等等。它内附的向导可以一步步的带领您做出漂亮又专业的安装程序。 本篇通过一个WinFrom项目制作安装包程序过程详细介绍其使用方法。 下面截图中使用的SetupFactory版本为V9.0...
2020-11-03 10:42:53
6352
1
转载 Scratch3.0 & Blockly如何对Arduino编译下载
感谢伟大的开源思想,开源是自由的。今天在这里一下如何使用Scratch3.0 & Blockly去编译Arduino(当然编译其他的原理都一样)这里就以Arduino为例了,正文如下:CMD-Arduino编译其实Arduino的官方已经提供了使用第三方编译的方式,可以通过命令行的方式去进行构建编译以及上传,我们就以windows下的CMD实现编译下载:我们可以实现打开文件,编译,烧写,安装库文件等操作。1-首先我们cd到Arduino安装路径的下,或者配置一下环境变量,就可以
2020-11-03 10:02:45
1341
2
Arduino CLI ,包括arduino系列、esp32、esp8266、LGT8fxBoards等常用开发板
2022-02-22
microbit V2V1 红外遥控的库,上传GitHub即可直接使用,包含两种不同的写法。
2022-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人