孙八瓶
这个作者很懒,什么都没留下…
展开
-
【嵌入式硬件】光耦
光耦一般用于信号的隔离。当两个电路的电源参考点不相关时,使用光耦可以保证在两边不共地的情况下,完成信号的传输。原创 2024-04-02 15:43:33 · 987 阅读 · 0 评论 -
【嵌入式硬件】三极管伏安特性曲线-饱和区
三极管工作电路如下图所示。三极管伏安特性曲线书本上的描述:截止区:三极管工作在截止状态,当发射结的电压Ube导通电压(0.6V-0.7V),发射结没有导通;集电结处于反向偏置,没有放大作用。放大区:三极管的发射极加正向电压(锗管约为0.3V,硅管约为0.7V),集电极加反向电压导通后,Ib控制Ic,Ic与Ib近似于线性关系。饱和区:当三极管的集电结电流Ic增大到一定程度时,再增大Ib,Ic也不会增大,超出了放大区,进入了饱和区。原创 2024-04-02 14:45:47 · 670 阅读 · 0 评论 -
【嵌入式硬件】步进电机
1)通电方式单极性,同相绕组两个引脚分别供电,改变磁场;双极性,同相绕组两个引脚改变通电方向,改变磁场;2)绕组结构实现相同的功能,单极性比双极性多需要1倍绕组;1)特点反应式:结构简单,生产成本低,步距角小。但因反应式步进电机不使用永久磁铁,其定转子磁场强度与激磁电流成正比,要想增大磁场强度,就需要很大的激磁电流,因此温升很高,散热片也很大,并且动态性能差,效率低,可靠性差。永磁式:永磁式步进电机输出力矩大,动态性能好,但步距角大。混合式:步距角小、输出力矩大、动态性能好。但结构复杂,成本较高。原创 2024-03-21 16:22:09 · 2641 阅读 · 0 评论 -
【嵌入式】STM32控制脉冲个数
控制脉冲个数两种方式:中断技术、主从定时器技术。原创 2024-03-01 15:20:25 · 543 阅读 · 0 评论 -
【嵌入式】CAN总线
CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN 为底层协议专为大型货车和重工机械车辆设计的 J1939 协议。原创 2024-02-20 23:02:55 · 196 阅读 · 0 评论 -
【嵌入式】STM32定时器(基本+通用+高级+看门狗)
定时器分类:基本定时器、通用定时器、高级定时器、看门狗定时器。原创 2024-02-18 10:38:12 · 168 阅读 · 0 评论 -
【嵌入式】通信接口(IIC/UART/SPI/RS232/RS485/CAN/)
1)串行、半双工通信;2)IIC 由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。3)通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。4)在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工,SPI和uart为双工。起始条件:当SCL为高电平的时候,SDA线上由高到低的跳变被定义为起始条件。原创 2024-02-14 21:23:13 · 377 阅读 · 0 评论 -
【嵌入式】ADC(模数转换器)
模数转换器:A/D 转换的作用是将时间连续、幅值连续的模拟信号转换成时间离散、幅值离散的数字信号。A/D 转换一般要经过取样、保持、量化、编码 4 个过程。在实际电路中,取样和保持、量化和编码往往同步实现。其原理框图如下图所示。输入模拟电压信号VI经采样电路、保持电路输入到模数转换器,模数转换器将输入信号经过量化和编码过程输出为n位数字信号D(Dn-1 Dn-2 ...D2 D1 D0)。Vi:输入;Vref:参考电压;K:比例系数;每个ADC都不一样,根据硬件不同。原创 2024-02-17 18:02:18 · 449 阅读 · 0 评论 -
【嵌入式算法】排序
// 插入法排序void InsertSort(int a[],int n){ int temp; int i; int j; for(i=0;i<n;i++) { j = i+1; temp = a[j]; while((temp<a[j-1]) && (j>0)) { a[j] = a[j-1]; j--; .原创 2021-06-02 11:32:15 · 201 阅读 · 1 评论 -
【嵌入式算法】滤波
1.滑动中值滤波/*uint16_t Median_Filter(uint16_t *data_buff)作用:中值滤波参数://data_buff--输入--原始数据返回值:中间值*/uint16_t Median_Filter(uint16_t data){ static uint8_t i=0; static uint8_t i_0=0; static uint16_t data_buff[15]; if(i_0<15) //最初数据 {原创 2021-04-16 09:37:34 · 1115 阅读 · 1 评论 -
【嵌入式算法】连续PID及离散PID
1.连续PIDPID控制律 或者可以写成传递函数形式 比例控制能提高系统的动态响应速度,迅速反映误差,从而减少误差,但是不能消除误差,简单来说就是越大越快越小越慢但是可能会超调或者过慢有很多弊端,并且太大了会不稳...原创 2020-02-28 09:51:31 · 348 阅读 · 1 评论 -
【嵌入式算法】离散波形的产生方法--正弦、余弦、三角波、方波、锯齿波
1.正弦波int GenSineWave(int numElements, float64 amplitude, float64 frequency, float64 *phase, float64 sineWave[]){ int i=1; for(;i<=numElements;++i) sineWave[i-1] = amplitude*sin...原创 2019-11-22 14:49:30 · 2215 阅读 · 1 评论 -
【嵌入式硬件】MOS管
MOS管是一个四端器件,具有源极 (S)、漏极 (D) 和栅极端子 (G) 和体 (B) 端子。在栅源短接,漏-源额定电压(VDSS)是指漏-源未发生雪崩击穿前所能施加的最大电压。该参数是指设计中,实际通过mos管的电流与漏源两端的电压差值乘积,不应大于该值。所以该值的很大程度取决于mos管中实际流过的电流值。可以持续承受的电流值,在设计中,产品的实际通过电流值应远小于该值,至少应小于1/3以下。阈值电压是指当控制栅极电压达到一定数值时,MOS管开始导通的电压。(3)漏源电压(Vdss)原创 2023-12-14 16:03:41 · 466 阅读 · 0 评论 -
【嵌入式硬件】TMC5160说明书
1)线圈电流最大20A(外部MOSFET);2)带SixPoint斜坡 的运动控制;3)带有 微步插值MicroPlyer 的步进/方向 接口;4)电压范围8-60V DC;5)SPI和单线UART;6)编码器接口 、2个参考开关输入;7)最高分辨率 256微步/全步;8)提供安静的操作和平稳的运动;9)中频谐振的谐振阻尼;10)高动态电机控制斩波器;11)负载相关速度控制;12)高精度无传感器电机负载检测;13)电流控制可实现高达75%的节能;14)被动制动和自由滑行模式;原创 2023-12-14 14:34:45 · 4146 阅读 · 0 评论 -
【嵌入式硬件】步进电机丢步原因分析、解决方案
1)改变方向时丢脉冲,表现为往任何一个方向都准,但一改变方向就累计偏差,并且次数越多偏得越多;2)启动速度太高,加速度太大,引起丢步;3)在用同步带的场合软件补偿太多或太少;4)步进电动机本身的工作转矩不足,没有足够的能力来驱动负载;5)控制器受干扰引起误动作;6)驱动器受干扰引起;7) 软件缺陷;原创 2023-12-19 15:32:05 · 1055 阅读 · 0 评论 -
【底层编译】Cmake1:语法
1)介绍命令中多个参数之间使用空格进行分隔,而 cmake会将双引号引起来的内容作为一个整体,当它当成一个参数,假如你的参数中有空格(空格是参数的一部分),那么就可以使用双引号。2)例子第一个 message 命令传入了两个参数,而第二个message命令只传入一个参数;在第一个 message 命令中,打印信息时,会将两个独立的字符串Hello和 World 都打印出来,而且World 会紧跟在Hello 之后。而第二个 message命令只有一个参数。原创 2024-02-02 14:01:28 · 1220 阅读 · 0 评论 -
【底层编译】Cmake2:语法+常用命令
1)作用:将一个目录中的添加到一个中。2)变量:(1)dir:要搜索源文件的目录名称(2)variable:变量,用于存储找到的源文件列表函数会搜索指定目录(dir)下的所有源文件,并将它们的文件名(包括路径)存储在变量variable中。这个函数会自动将所有符合条件的源文件添加到变量中,所以不需要手动一个一个地列举所有的源文件。4)举例将common文件夹下面所有源文件的文件名(包括路径)存储在变量variable中。原创 2024-01-29 11:45:58 · 878 阅读 · 0 评论 -
【底层编译】Cmake3:常用变量
1)介绍PROJECT_SOURCE_DIR变量表示工程的顶级目录,也就是顶层文件所在目录;PROJECT_BINARY_DIR变量表示工程的BINARY_DIR,也 就是顶层源码对应的BINARY_DIR(输出文件目录),camke命令所在文件夹。2)例子目录结构执行结果。原创 2024-02-02 10:35:49 · 893 阅读 · 0 评论 -
【图像处理】音视频色彩:RGB/YUV
RGB是一种颜色标准,指的是R(red)红色、G(green)绿色、B(blue)蓝色这三种颜色,所有的颜色是通过对这三种颜色通道的变化以及相互之间的叠加来得到的,是目前运用最广的颜色系统之一。1)YUV是指亮度参量和色度参量分开表示的像素格式.其中“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。原创 2024-02-07 14:24:05 · 1712 阅读 · 0 评论 -
【linux】线程池(Linux +C)
(1)使用线程池之后,将任务和线程分离,建立一定数量的线程,使线程重复利用(不销毁),不断将任务添加到线程中。(c)创建任务队列(task类型):pool->taskQ = (Task*)malloc(sizeof(Task) * queueSize);(2)根据任务数量增减,自动添加或者减少线程,使得线程维持在最优数量,节约系统资源。(a)通过线程池提供的api函数,将待处理的任务添加到任务队列,或者从任务队列删除;(c)线程池的使用者,也就是调用线程池函数往任务队列中添加任务的线程就是生产者线程。原创 2023-12-04 13:53:22 · 917 阅读 · 0 评论 -
波形识别算法
1.波形识别算法/*uint16_t Get_Peak_Echo(float *l_Thre_Curve,float *l_adc_value,uint32_t Echo_Addr_Star,uint32_t Echo_Addr_Stop,CONVEX_ECHO * Echo_PAR)定义:回波拆解参数://l_Thre_Curve----输入--阈值曲线//l_adc_value-----输入--比较数据//Echo_Addr_Star--输入--数据起始//Echo_Addr_Sto原创 2021-04-16 09:40:08 · 478 阅读 · 1 评论 -
最小二乘法拟合曲线
/*曲线拟合int CurveFitter(int x_data_addr, float* y_data);y_data--------输入--y数据返回值-------最大值下标*/#define rank_ 3float atemp[2 * (rank_ + 1)] = { 0 };float b[rank_ + 1] = { 0 };float a[rank_ + 1][rank_ + 1];float fit_data[60];int CurveFitter(float* y.原创 2021-04-15 17:47:52 · 52 阅读 · 1 评论 -
【力学】固有频率介绍
1.固有频率的定义 结构系统在受到外界激励产生运动时,将按特定频率发生自然振动,这个特定的频率被称为结构的固有频率,通常一个结构有很多个固有频率。固有频率与外界激励没有关系,是结构的一种固有属性。不管外界有没有对结构进行激励,结构的固有频率都是存在的,只是当外界有激励时,结构是按固有频率产生振动响应的。2.固有频率的影响因素 从上面的公式我们可以看出,结构的固有频率只受刚度分布和质量分布的影响,而阻尼对固有频率的影响非常有限。而在百度百科中说固有频率受形状、材质的影响,...原创 2020-05-11 17:14:17 · 20930 阅读 · 2 评论 -
【力学】模态分析是什么?为什么采用模态分析?
1.模态分析的概念 (1)模态:物体按照某一阶固有频率振动时,物体上各个点偏离平衡位置的位移是满足一定的比例关系的,可以用一个向量表示,这个就称之为模态。 模态这个概念一般是在振动领域所用,你可以初步的理解为振动状态,我们都知道每个物体都具有自己的固有频率,在外力的激励作用下,物体会表现出不同的振动特性。 (2)一阶模态:是外力的激励频率与物体固有频率相等的时候出现的,此时物体的振动形态叫做一阶振型或主振型;二阶模态是外力的激励频率是物体固有频率的两倍时候出现,此时的振动外形叫做...原创 2020-05-11 15:34:06 · 37000 阅读 · 2 评论