自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凡是过往,皆为序章

BMS软件开发学习,ABB机器人网络通信,嵌入式的学习分享

  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 嵌入式常见简易校验算法

主要介绍了CRC校验的几种算法

2024-04-03 16:19:59 242

原创 keil中打开双精度浮点运算模块

在keil中使用浮点数处理数据时,要开启FPU单元,还要进行设置

2024-04-03 15:33:38 891

原创 用循环队列来写缓冲区模块

循环队列是一种高效的数据结构,适用于缓冲区和数据流应用,例如串口通信接收缓冲。

2024-04-03 15:17:43 364

原创 BQ76942配置:充电时AFE自行休眠现象

在使用BQ76942的过程中,我发现充电时这款AFE有个bug就是偶发自行休眠,这个bug发生的具体原因我还没找到,这里做一个学习记录。TI 的这款AFE芯片目前是存在充电休眠的偶发现象的,根本原因无从得知,可能是一个bug,目前已采取其他手段对这个问题进行规避。

2024-04-02 12:06:35 1170

原创 BQ76942配置:采样断线对MOS的影响

电芯电压采样线断线会对采样和故障诊断造成干扰,因此电芯采样线断线检测也是重要的故障诊断需求。以上便是今天的主要分享内容,采样线断线实际使用过程中可能会发生我们意想不到的事情,需要总结积累经验。

2024-04-02 10:53:20 424

原创 BQ76942配置:过压保护(SOV)配置

BMS中如果电池包电压过高达到极限电压阈值,是不允许再进行充放电的,使用过程中触发极限过压的处理方式一般是熔断保险丝。下面我们看一下SOV配置有哪些注意事项。按照以上配置能满足大部分项目要求,能确保过压故障正常触发且不易误触,毕竟保险丝属于不可恢复的元器件,熔断就要更换。

2024-04-02 10:33:19 500

原创 BQ76942配置:与MCU通信——软件I2C or 硬件I2C?

第一章 BQ76942配置:使用AFE FET寄存器来控MOS第二章 BQ76942配置:与MCU通信——软件I2C or 硬件I2C?第三章 BQ76942配置:电流采样配置第四章 BQ76942配置:过压保护(SOV)配置第五章 BQ76942配置:采样断线对MOS的影响第六章 BQ76942配置:充电时AFE自行休眠现象我们都知道I2C分为软件I2C和硬件I2C,软件I2C是通过模拟电平的时序来实现和器件之间的通信,硬件I2C则是直接通过MCU内置的I2C模块进行通信。BQ76942这款AF

2024-04-01 11:02:05 1979

原创 BQ76942配置:电流采样配置

BQ76942提供了多个数字化电流值, 包括两个使用单独的硬件数字滤波器 CC1 和 CC2, 以及一个固件滤波器 CC3。下面将介绍如何查询AFE采集的电流,以及相应的配置。以上便是电流采样的主要配置,主要就是配置好单位,两个增益寄存器,就可以使用直接命令进行进行电流采样了。

2024-04-01 10:18:39 1344

原创 BQ76942配置:使用AFE FET寄存器来控MOS

BQ76942 产品是一款高度集成的精密电池监控器和保护器, 适用于 3 节至 10 节串联锂离子、锂聚合物和磷酸铁锂电池包。BQ76952 器件支持系统中保护 FET 的串联配置和并联配置, 以及不使用一个或两个 FET 的系统。

2024-03-29 18:59:21 735

原创 模拟I2C波形出现毛刺的现象

可能大家也遇过这样的情形:使用I2C进行通信时,用示波器或者逻辑分析仪抓取I2C的波形,会看到SDA上出现小于1ms的毛刺,但是数据传输又是正常的,会比较困惑。主机发送了八个字节以后,需要放弃IIC控制权,将控制权交给从机,需要从机响应应答位。波形中出现的这种毛刺属于正常现象,没必要去刻意消除,对数据传输没有影响。3.这时候从机响应了第九个时钟,开始获取SDA控制,将SDA拉低。主从控制权交换发生在SCL的下降沿,这也符合上面抓取到的毛刺现象。以上只是一瞬间,表现为SDA会出现毛刺,且是周期性的。

2024-03-29 17:39:36 975 2

原创 N32G43x芯片浮点数计算偶发错误

在用这款芯片做浮点数计算时,却经常出现一些匪夷所思的现象,例如非负的两个浮点数相除得到了负数,两个非负浮点数相减得到一个更大的非负数。,与其中遇到的问题类似,并且都是M4的芯片,发现计算浮点数过程中, 若触发中断, 浮点数如果未能正常入栈, 导致中断结束后从栈中取出来的浮点数出现乱码, 从而导致偶发性计算错误。在程序中,复制一份相同的浮点数变量,进行同样的浮点数运算,但是复制的那个变量每次进行浮点数运算时进行关中断保护。而这款MCU是支持浮点数运算的,软件中也正常开启了浮点数运算功能(FPU)。

2024-03-29 17:17:08 615

原创 LT268A 串口屏开机闪现雪花

查阅芯片手册将控制背光的引脚为PWM01,将背光点亮控制在MCU读取外部FLASH结束即可,稳妥一点是让MCU读取FLASH结束后返回一个信号用于点亮背光,这里简单一点,直接延时50ms再点亮背光。,得知MCU点亮背光过早,导致MCU初始化读取FLASH的垃圾数据的过程也被呈现出来了,最终变成看到的花屏现象。最近在用乐升半导体的LT268A TFT串口屏做项目,屏幕出现一上电闪现雪花,然后显示才正常的现象。

2024-03-28 18:50:37 498

原创 ABB机器人与Qt上位机Socket通信传输数据时连接自动断开的问题解决

文章目录项目场景:问题描述:原因分析:1. 排除2. debug3. 抓包4. 异常中断原因解决方案:修改程序static的作用总结项目场景:在本项目中,搭建了ABB机器人与Qt上位机之间的Socket通信,可以实现用上位机给机器人发送指令,机械臂接受指令后自动移至目标位姿,再给上位机反馈已到达指定位姿,上位机收到后可以控制其他设备开始工作,例如:焊枪,喷枪,扫描相机,当其他设备完成作业后,上位机再自动给机器人发下一个移动的指令,依次循环。实现使用上位机控制ABB机器人的自动化作业。相关背景可以查看

2021-07-30 23:16:31 3560 1

原创 Qt制作简易上位机实现与ABB机器人的Socket通信

文章目录前言QtClientSocket.pro文件MainWindow.hmain.cppmainwindow.cpp实现效果总结前言使用Qt开发上位机实现与ABB机器人的TCP/IP通信,并且可以在上位机实现读取机器人的位置信息和给机器人发送指令。本文提供实现Socket通信的核心代码,对于后续的优化和增加各种功能,就不作展示了。对于ABB机器人服务端和C语言实现的客户端的详细内容可以参考ABB机器人与上位机进行Socket通信的RAPID代码实现(服务端)ABB机器人与PC进行Windows

2021-07-30 20:38:53 3134 5

原创 ABB机器人与上位机进行Socket通信的RAPID代码实现(服务端)

文章目录前言1.实现的功能2.建立Socket通信2.1 ABB机器人的IP地址:2.2 SocketAccept的说明3.服务端接发信息3.1 核心代码3.2 CurrentPos函数4.完整代码5.实现效果前言本文采取TCP/IP中Socket的方式实现ABB与上位机的通信。其中上位机做为客户端,机器人作为服务端,此方法可以为ABB机器人的二次开发的网络通信部分提供一点参考。1.实现的功能上位机先给机器人发送字符串,机器人收到后开始向第一个目标点移动,当到达目标位置后,机器人自动给上位机返回一个

2021-07-30 18:34:07 9354 3

原创 ABB机器人与PC进行Windows下的Socket通信的C代码实现(客户端)

文章目录前言编译器选项建立Socket连接通信成功验证客户端完整代码实现效果前言ABB机器人的二次开发中,如果需要开发能让机器人与PC通信的上位机,可以采取TCP/IP、UDP或者串口通信的方式。本文采取TCP/IP中Socket的方式实现两者的通信。其中PC做为客户端,机器人作为服务端,至于两者谁做客户端谁做服务端视具体情况而定。编译器选项本文采用DevC++来编译,编译前需要在编译器选项中加入如下命令:-lwsock32建立Socket连接本文采取的是本地网络IP:127.0.0.1,

2021-07-30 14:27:24 5445

原创 ABB机器人虚拟软件RobotStudio和开发环境的安装包

文章目录RobotStudio的安装包PC SDK与ABB Robot Communication RuntimeRobotStudio的安装包RobotStudio5.15安装包下载链接:链接:https://pan.baidu.com/s/1q-A9W6ERyspI48oxZyss-Q提取码:5kxi注意事项:1、使用项目式教学相关打包文件,ROBOTSTUDIO及ROBOTWARE的版本已更新至5.15.01,。2、解压压缩包3、安装顺序:先安装robotware,然后安装robot

2021-07-30 13:37:24 5640

原创 使用Qt实现Mysql数据库的增删查改

文章目录前言工程文件(student.pro)的配置头文件(student.h)源文件main.cpp源文件student.cppUI界面设计前言利用Qt导入Mysql数据库,对数据库内容进行增加,删除,查找,修改。在项目需要创建数据管理系统时经常用到。工程文件(student.pro)的配置在.pro文件中添加sql头文件(student.h)#ifndef STUDENTDIALOG_H#define STUDENTDIALOG_H#include <QDialog>#

2021-07-30 12:51:19 3795

原创 利用ABB机器人的CRobT写一个判断机器人是否移动至目标位置的函数

文章目录前言RAPID位置函数CRobT的说明判断是否达到目标位置的代码实现前言在使用ABB机器人做二次开发时,可能会需要根据机器人目前的位置来判断是否需要进行下一步的指令执行,ABB机器人提供了获取机器人实时位置状态的函数,查阅ABB官方的手册可以找到。我再根据此函数写了判断机器人是否到达目标位置的功能,仅供参考。RAPID位置函数这里选取CRobT这个函数来实现需要的功能。CRobT的说明没有特殊情况的话,选取它的两个主元[\Tool][\WObj]初始化就行,即CRobT(\Too

2021-07-30 11:14:19 9067 2

原创 ABB机器人使用Waituntil函数时关闭示教板警告框的方法

文章目录前言Waituntil函数的说明SimulateMenu的说明操作步骤前言在ABB机器人使用RAPID编程时,如果使用了Waituntil函数,在机器人手动模式下,等待时间超过3秒,示教板就会弹出警告框,如果想关闭这一功能,可以采取下面的方法。Waituntil函数的说明查阅ABB的官方编程手册关于Waituntil的说明可以看到若想关闭该警告框,则需要修改系统参数SimulateMenu为0SimulateMenu的说明官方对SimulateMenu的说明如下:操作步骤

2021-07-30 10:34:46 2327

原创 链表的各种操作与代码实现(下节)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言5、链表:打印一个链表(递归):6、链表:反转一个链表(递归):7、链表:双向链表的实现:8、链表:双向链表的实现:总结前言最近在学数据结构,对链表的一些常见操作以及代码实现进行了总结,分享一下。提示:以下是本篇文章正文内容,下面案例可供参考5、链表:打印一个链表(递归)://Print Linked List using Recursion#include<stdio.h>#include<

2021-07-29 22:17:59 223

原创 链表的各种操作与代码实现(上节)

1、在链表头部插入节点:head-“头指针”,仅指向头节点,而不是头节点本身,头节点是链表的第一个节点//Linked List: Inserting a node at beginning#include<stdlib.h>#include<stdio.h>struct Node { int data; struct Node* next;}; struct Node* head;// global variable,can be accessed

2021-07-29 21:58:27 104

关于Qt的案例学习资料

Qt学习案例,包括PyQt、QtExcel、QtSQL、QtEmail、Qt控件提升等等

2021-08-03

Mysql安装包+sqlyo安装包+Mysql学习手册.zip

主要包括Mysql安装包+sqlyo安装包+Mysql学习手册等资料

2021-07-30

ABB机器人RAPID编程技术参考手册

ABB机器人RAPID编程技术参资料,包含《ABB PC SDK文件》 (开发C#上位机所需要环境)、《RAPID语言概览》、《RAPID指令、函数和数据类型》,用RAPID编程ABB机器人所需查的手册基本都在里面了。

2021-07-29

空空如也

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

TA关注的人

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