自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件编写流程

2.编写硬件初始化模块初始化硬件,并验证功能。对于同一类的硬件但是不是同一个也要分开验证,因为参数可能有不同设置,导致效果不一样,类似轴的初始化,对于不同回零速度得到的效果就不一样。3.每写一个功能块就去验证一下硬件功能,硬件软件要螺旋交替检查。1.编写软件或者测试用例验证各个硬件模块。

2025-03-25 23:56:11 70

原创 NPN和PNP三极管

型、PNP型。三极管的三极:B(基极)、C(集电极)、E(发射极)。

2024-12-27 09:33:42 2700

原创 HUB、交换机、路由器和串口服务器

交换机:工作在数据链路层,收到数据后,会根据目的地址的IP向对应的端口转发数据全双工的工作模式,就不再是对讲机了,而是手机,双方可以同时听说。进线的网速是2M的话,那么连到交换机上的主机,无论接几台,理论上的网速也是可以享受2M的带宽的。使用串口服务器可以在世界的任何位置,通过网络,用您的计算机来存取、管理和配置远程的设备。由于一般用户的 PC端软件还是打开串口和设备通信的,此时由于改用了网络所以必须在计算机上虚拟一个串口,虚拟串口负责与串口服务器建立连接,并将数据转发给打开虚拟串口的用户程序。

2024-12-26 19:28:15 1084 1

原创 直流电源如何输出恒压源和恒流源

输出电流达到预定值时,变成稳流特性。输出电压达到预定值时,变成稳压特性。

2024-12-25 23:09:46 481

原创 函数void申明 和 .h文件

所以这两者可以看成一样的,用void放在文件最前面占位还是用.h文件占位,效果一样。都是说明:有一个叫XX的函数,你要用到的时候去找出来他。2.typedefine 定义的数字。1.void 函数的申明。都是预先加载的占位内容。

2024-10-27 00:57:01 119

原创 步进、闭环、交流伺服三类电机驱动方案对比

步进电机是恒电流控制,发热和噪音较大,同时没有过载能力,电机力不够就会堵转,故选型时应预留1.4-2倍安全系数。同时伺服电机编码器具备反馈功能,伺服电机每旋转一个角度,编码器都会发出对应数量的反馈脉冲,反馈脉冲和伺服驱动器接收的脉冲形成闭环控制,这样伺服驱动器就能够很精确的控制电机的转动,从而实现精确的定位。2)闭环步进适用于普通步进达不到的中速场合,中长行程点位运动,对噪音和振动发热和定位时间有一定的要求,精度较高,带报警输出,防止损坏机械设备浪费贵重原材料,雷赛闭环步进基本无需调试、价格适中。

2024-09-04 15:41:28 1961

原创 伺服增益调整原理及应用经验

例如丝杠连接负载时,增加刚性可以提高系统响应,当提高到一定程度时,有时会发生高频共振,电流发生震荡,使用转矩低通滤波器会有较好的效果。如果惯量比和刚性调整后,依然无法达到现场的应用要求,需要对位置环和速度环的参数一一进行微调时,但需要注意的是,如果改变其中一个参数,则其他参数也需要重新调整,请不要对某一个参数做较大额的更改。设置值越小,系统的响应性越能很好的控制,但受机械条件限制;位置和速度带宽的选择是否合适是由机械的刚性和现场应用场合决定的,一般的应用场合,调整惯量比和刚性即可达到现场的响应和定位要求。

2024-09-03 15:07:32 1559

原创 振动抑制技术

该伺服系统采用基于FFT检测位置/速度/电流中出现的低频振动,在获得振动频率信息,使用低频抑制滤波器等获取抑制补偿值,并将此补偿值添加到阻尼参数中进行振动抑制。如下图,为示波器采集位置/速度/电流等信号抓取的摆振现象,可见,在指令命令结束后,各采集信号存在较大幅度的波动,但在系统阻尼作用下振幅逐渐减小。通过抓取数据,分析伸缩轴在指令命令结束时刻的频谱,分析得知:位置/速度/电流均含有相同频率的低频分量,该频率点大约在10Hz附近。

2024-09-03 14:37:48 918

原创 步进电机相关

步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。B、采用带有细分功能的驱动器,这是最常用的,最简便的方法。C、换成步距角更小的步进电机,如三相或五相步进电机,或两相细分型步进电机。A、如步进电机正好工作在共振区,可通过改变减速比提高步进电机运行速度。

2024-09-03 14:28:31 560

原创 自动控制原理——数学模型建立

给系统施加某种测试信号,记录输出响应,并用适当的数学模型去逼近系统的输入输出特性。传递函数适用情况(零初始条件下、单输入单输出系统、线性定常系统)初始条件引起的响应就是求时域时的齐次方程的解(忽略R(s ))描述系统输入、输出变量以及内部个变量之间的关系的数学表达式。就是输入的误差,输出的是反馈信号,这两个的关系。用尾一标准型,系统系数为增益 (此时为1)(PID)看曲线调参就是这种?现在主要是应用与(线性定常系统的分析。结构图:(可用的数学关系)2.3.1 传递函数的定义。闭环系统的开环传递函数?

2024-01-21 00:15:16 1100 1

原创 电气走线——部件、线缆、线号、端子排

元器件选型。

2023-10-05 19:16:12 401

原创 电气元器件——变频器、自锁开关、电磁继电器、温度检测

16讲-21讲的老师不错,适合小白。

2023-10-05 16:07:26 352

原创 电气基础——电源、变压器、接触器、断路器、线缆

YJVR是XLPE insulated PVC sheathed copper core flexible cable(交联聚乙烯绝缘聚氯乙稀护套铜芯软电缆),YJV是硬芯的 , 就是里面的铜芯分软硬 ,R为软,不标示就是硬。断路器是有灭弧装置的,可操作负荷电流,故障电流,不能通过观察来判断开合状态,可带负荷拉合闸,隔离开关没有灭弧装置,总体属于不能带负荷操作,结构简单,检修时有明显开断点。三相电路和家庭两相电路都是比较常见的一种电路形式,那么两相电和三相电的区别是什么?一、两相电和三相电的区别是什么。

2023-10-03 14:36:51 575

原创 const和volatile和restict

高速缓存:两次操作都没有改变上述代码的值,x就被保存在寄存器中,使用时才读取,节约时间。volatile:程序不可改变,但代理(其它程序)可以改变的变量。在形参中使用最常见,防止函数修改被传入的参数。const:使变量限定为不可改变。防止某一函数修改 全局变量。

2023-09-14 22:10:58 237

原创 内存分配malloc和free

动态内存分配的使用时:在一般只使用100个内存时,偶尔也需要使用1000个内存的情况,一直申请1000的内存消耗太大。malloc分配的内存不会为其赋名,但是确实会返回动态分配内存块的首地址。申请后返回的指针是void*,在c中可以不用转换 ,但是在c++中不可以。程序存在一块内存无法访问也无法释放,在程序结束前耗尽了所有内存。栈存储自动变量,新创建的变量先加入内存,然后已相反的顺序销毁。在使用完内存后记得释放,因为有些系统不会自动释放。自动数据(局部变量)一个区。静态(全局)变量一个区。

2023-09-14 19:56:07 144

原创 c存储类别、连接、内存管理

在 { } 块内的 static变量,存储在静态变量中,生存周期是整个程序,表面作用域是块 { } 内,但是可以用指针传递地址访问。有 动态分配malloc、自动、寄存器、静态块作用域、静态外部链接、静态内部链接。用register申请 register int quick;申请一个在cpu寄存器中储存的变量,不一定会成功。static使文件存储在静态变量中,等于 { } 块内变量,作用域是 { }块内。解释:内存的使用/声明方式。作用域也是 { }块内。

2023-09-14 14:00:56 167

原创 字符串函数

word为存储地址,len为获取长度,stdin为从标准输入键盘获取。比较前5个字符 能匹配上返回0,否者非0(有一定规律asc11)以第一个非空白字符开始,以空格、换行、制表、空行结束。能匹配上返回0,否者非0(有一定规律asc11)新标准新增gets_s(words,len)在字符串p1后加上 字符串p2的全部内容。将p2,p3的内容拼接起来,放入p1中。fgets()可以获取指定长度的字符。将p2字符串内的12个字符加给p1。p2内容拷贝至p1第6个字符开始,p2内容的5个字符,拷贝至p1内。

2023-09-13 10:05:52 96

原创 八股——const 关键字

这样限定的是指针p不能修改指向的值 *p 或 p[2],但是仍然可以修改p的指向或者ar。显示数组的函数不小心修改了指针指向的值,这时候没有加const关键字,编译器不会报错。这样限定的是指针p能修改 指向的值*p / p[2],但是不可以修改p的指向。这样限定的是指针p不能修改 指向的值*p / p[2],也不可以修改p的指向。显示数组的函数不小心修改了指针指向的值,这时候 加const关键字,编译器报错。限定的是自己,限定的是常量,3.const的3种用法。const的限定有限,

2023-09-12 19:45:59 490

原创 设计模式——工厂模式介绍

提供创建对象的最佳方法,在创建对象时不会对客户端暴露创建逻辑,对象的创建在一个地方,并通过一个通用接口指向新创建的对象把接口暴露出来给其它函数使用。设计模式有23种,其用途是让代码稳定(添加功能时其它功能被破坏,引入了设计模式)、可读性更强、可以重复使用。代码设计经验的总结,稳定,拓展性更强,一系列编程思想。struct Animal{ //类。软件设计模式,一套代码设计经验的终结。类:用户自己定义的结构体。

2023-09-11 21:32:14 94

原创 基于Linux的智能家居(工厂模式)

主函数-----实现UART和Tcp两个接收线程,不断接收指令并解析指令调用不同的设备函数封装。输出设备模块----实现设备初始化、设备启动、设备关闭的函数封装放在种。程序分为3部分-------------1.输入控制 2.输出设备 3.主函数-多线程。亮点,在封装了一个类,调用可以编码一个对象,然后用链表将一类对象串起来。输入控制的模块----实现指令的收集,并将数据放在一个定义的头文件种。堆栈的存储:在函数体前面的变量,后面的函数可以直接用。

2023-09-11 09:58:17 552

原创 C语言编程的7个步骤

首先将c代码转换成01的机器语言放在目标文件夹里,然后连接库函数01代码和启动代码才能生成一个可执行文件。主要debug是两方面1是程序不能运行(语法错误,括号,传参) 2是程序能运行但达不到我i们想要的目标。设计目标的实现路径,使用什么接口函数、如何组织程序、如何处理数据、如何表达结果。这里也不设计代码编写。程序编写不是一蹴而就,而是反复修改,好的习惯是模块化编程和多些注释。1、2步也显得很重要。我们要知道我们的设计程序的目标是什么,这里不涉及代码编写。这里就是将第二步的程序设计框架编写成C代码。

2023-09-10 17:27:26 1230

原创 Orangepi安装外设库 wiringPi

注意:mobaXterm传送文件要在SSH登陆环境下才可以。同时电脑和orangepi都在同一个wifi下。

2023-09-03 20:34:31 400

原创 Orangepi 香橙派配置wifi网络

【代码】Orangepi 香橙派配置wifi网络。

2023-09-03 20:26:53 1126

原创 香橙派Orangepi Zero2 刷机步骤

香橙派 Orangepi Zero2 全志H616刷机

2023-09-03 16:24:14 858

原创 Linux下 Socket服务器和客户端文件互传

在put 发送文件中,当文件大小超过给定字节就会溢出,导致整个结构体崩坏,破坏cmd。思考:除了加大给定字节大小,还有其它办法吗?strcpy是怎么实现的read函数读的字节小于fd文件字节,会崩坏buf里的数据。strtok函数会破坏使用的字符串,要保留原来字符串需要strcpy复制出来处理。本地命令不用服务器处理的命令,ret=5,ret=6不要进入hanle_server_msg用recv函数组赛。

2023-09-03 09:51:42 1084

原创 Linux系统下建立Socket聊天服务器

1.服务器结构。

2023-09-01 12:56:06 1137

原创 香橙派 Orangepi Zero2 全志H616——简介

指令是计算机运行的最小的功能单位,而硬件的作用是完成每条指令规定的功能。就是加、减、乘、除、指数运算、等的命令集合。就相当于造房子中砌砖的方式。

2023-08-31 15:08:33 936

原创 STM32开发——总结

32中引脚都有很多功能,如图,PA0和PA15都可以做为TIM2_CH1的输出IO,但是也只能一个引脚,通过CubeMX配置后,你就不能重复定义TIM2_CH1的输出了,防止错误。

2023-06-27 22:35:50 300

原创 STM32开发——智能小车(循迹、避障、测速)

tim2:产生PWM波20ms(左右轮调速ch1、ch2) 产生PWM波20ms(舵机ch3) 7199、199。tim2:产生PWM波20ms(左右轮调速ch1、ch2) 产生PWM波20ms(舵机ch3) 7199、199。tim3:定时1s(Oled发送速度)tim1:定时1us(超声波测距)tim1:定时1us(超声波测距)PB14:外部中断——测速累加。左边红外D0——PB12。右边红外D0——PB13。)——应该是硬件设计问题。motor.c代码相同。I2C很容易和IO冲突。

2023-06-27 22:32:58 19187 9

原创 STM32开发——非标协议(DH11+LCD1602)

编译的总文件夹dh11andlcd,C文件不能跨文件夹查找,新增的分文件,需要都放调用的文件夹下C文件和H文件理解:H文件是门脸,放在前面给别人的,别人一看就知道有什么东西。C是给内部人用的,不用放在门脸上。

2023-06-22 13:56:00 933

原创 STM32开发——IIC(OLED屏幕)

在oled屏幕上显示文字或者图像。IIC协议——OLED屏幕_趣知boy的博客-优快云博客。

2023-06-20 11:09:07 1275

原创 STM32开发——ADC(烟雾传感器)

作用:用于读取电压值,然后转换为数字量传给单片机,单片机再通过计算,可以得到电压值。ADC的性能指标量程:能测量的电压范围分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如:8、10、12、16位等;位数越多,分辨率越高,一般来说分辨率越高,转化时间越长转化时间:从转换开始到获得稳定的数字量输出所需要的时间称为转换时间ADC特性12位精度下转换速度可高达1MHZ供电电压:V SSA :0V,V DDA :2.4V~3.6V。

2023-06-19 22:39:39 3245 1

原创 STM32开发——DMA(数据搬运)

DMA(Direct Memory Access,直接存储器访问) 提供在外设与内存、存储器和存储器、外设与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。代替 CPU 搬运数据,为 CPU 减负。1. 数据搬运的工作比较耗时间;2. 数据搬运工作时效要求高(有数据来就要搬走);3. 没啥技术含量(CPU 节约出来的时间可以处理更重要的事)。

2023-06-19 10:26:18 1747

原创 STM32开发——看门狗

窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测程序运行时间的场合。窗口看门狗的本质是一个能产生系统复位信号和提前唤醒中断的6位计数器。

2023-06-16 15:22:30 1765

原创 STM32开发——串口通讯(第2篇)——WIFI(Esp8266)

注意:1.在中断中一般不直接在中断服务函数里处理数据,而是在收到数据后直接丢给队列,再处理数据;2.在中断服务函数里尽量减少使用延时函数及打印函数。

2023-06-15 16:01:22 3136

原创 STM32开发——串口通讯(第1篇)——蓝牙(非中断+中断)

通过中断的方法接受串口工具发送的字符串,并将其发送回串口工具。串口发送数据,使用超时管理机制串口接收数据,使用超时管理机制串口中断模式发送串口中断模式接收作用:以阻塞的方式发送指定字节的数据形参 1 :UART_HandleTypeDef 结构体类型指针变量形参 2:指向要发送的数据地址(指针),(用数组时不用取地址)(用字符变量需要取地址&)形参 3:要发送的数据大小,以字节为单位 strlen(ch)形参 4:设置的超时时间,以ms单位,最大0xffff。

2023-06-09 22:21:07 4580 1

原创 STM32开发——感应垃圾桶(舵机、超声波测距、振动检测)

PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右。确定 定时时间=1/频率其中:Tclk:定时器的输入时钟频率(单位MHZ)Tout:定时器溢出时间(单位为us)eg;4999eg:7199如果周期为20ms,则 PSC=7199,ARR=199角度控制0.5ms-------------0度;2.5% 对应函数中CCRx为51.0ms------------45度;5.0% 对应函数中CCRx为10。

2023-06-08 19:47:26 2310

原创 STM32开发——定时器led、PWM呼吸灯

定时器分类:基本定时器(TIM6~TIM7)通用定时器(TIM2~TIM5)高级定时器(TIM1和TIM8)A.输入捕获B.输出比较C.PWM 生成(边缘或中间对齐模式)D.单脉冲模式输出A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)C.输入捕获D.输出比较E.支持针对定位的增量(正交)编码器和霍尔传感器电路F.触发输入作为外部时钟或者按周期的电流管理。

2023-06-07 21:13:40 1932

原创 STM32开发——电动车报警装置

单片机供电VCC GND接单片机产品不震动,输出高电平,模块上的DO口产品震动,输出低电平,绿色指示灯亮AO口不用编程实现需求:当振动传感器接收到振动信号时,使用中断方式点亮LED1。重新中断服务函数//如果中断来源是PA4 PA4为低进入了中断//led1亮500ms后熄灭如果直接在中断服务函数里调用 HAL_Delay 函数,则会造成系统卡死。原因:程序初始化时默认把滴答定时器的中断优先级设为最低,其它中断源很容易打断它导致卡死。

2023-06-07 10:26:36 838

原创 STM32开发(CubeMX+HAL)——点灯(轮询、中断)

中断优先级中的级别抢占优先级:高抢占可以打断低抢占响应优先级:高响应不可以打断低响应中断是软件级别的事事件是硬件级别的事//中断/事件线/*!disabled.//EXTI 模式/*!//触发类型/*!//EXTI 控制/*!lines.DISABLE */EXTI_Mode_Interrupt = 0x00, //产生中断EXTI_Mode_Event = 0x04 //产生事件EXTI_Trigger_Rising = 0x08, //上升沿。

2023-06-06 14:58:05 1646

基于Matlab的机器学习BP神经网络预测模型

用于构建BP神经网络模型 用途:通过对历史数据学习构建预测模型,可用于对未来数据的预测 说明:采用Matlab内置模型,包括数据归一化,学习,预测,数据反归一化。 可以自己设定相关的内置参数

2023-02-18

数学建模国赛美赛模板word

内容:数学建模国赛美赛通用word模板 写作框架已经搭建好,只需要填充内容即可 每小节写作技巧也有相应提示 一键匹配写作格式

2023-02-17

空空如也

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

TA关注的人

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