自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 新能源汽车之电机控制器(MCU)

总的来说,电机控制器MCU的主要任务就是将动力电池提供的直流电转换成为三相交流电,以此来驱动电机的工作,该过程主要由开关器件IGBT完成;此外,在某些情况下,如再生制动的时候,电机控制器MCU也会将交流电转换为直流电,反向送回动力电池中,这一整流过程主要依赖二极管完成。电机控制器实时采集车辆数据,如温度、转矩、位置等状态信息,MCU通过分析这些数据输出相对应的控制信号;同时,通过采集到的实时状态信息,与设定的目标进行对比,存在差异的MCU进行实时的调整以达到最佳运行状态;

2025-02-19 16:02:39 1701

原创 新能源汽车之绝缘故障分析

绝缘故障:新能源汽车要求带有绝缘检测和绝缘监测功能,当绝缘电阻低于500Ω/V时,整车系统会报警并显示相应的故障代码,严重故障时会进行切断整车高压,以避免造成人员触电的意外情况。整车绝缘失效:出现绝缘故障,会产生瞬间大电流冲击电气件,造成电气件损坏,未进行保护措施不可触碰高压部分器件,防止触电。整车绝缘失效保护:整车绝缘检测系统会报出相应故障,整车控制系统根据故障等级进行相应的处理,按照故障处理流程进行断开高压,高压气件外壳都有相应的接地保护,防止人员触电。

2025-02-17 09:41:45 318

原创 新能源汽车之高压互锁机制

高压互锁电路通常由一个小电压的电路来完成,在高压插件内集成低压电路,采取的原理是低压插头比高压插头短,当接入的时候,高压先接入,此时低压插头未接好,高压互锁电路检测异常,进入高压保护状态;断开时,低压插头先拔出,高压互锁电路检测异常,进入高压保护状态。通常情况下,高压互锁保护机制采取串联的形式进行工作,即一个高压互锁电路串联多个高压器件,在正常工作状态下,若高压互锁电路检测异常,进入高压保护状态,首先可以检查高压插头是否插接完好无松动,排除因为装配问题引起的高压异常问题;

2025-02-14 16:32:17 169

原创 CAN总线协议(一)

ID不是代表发送消息的目的地址,而是表示访问总线的消息的优先级。当两个以上单元同时发送消息的时候,对各消息的ID进行总线仲裁,仲裁获胜(优先级高)的单元可以继续发送消息,仲裁失败(优先级低)的单元则立刻停止发送消息而进行接收工作。所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。

2025-02-12 11:07:48 399

原创 电控控制器的网络信息安全之硬件要求

④电源监控模块:需要对控制芯片供电电压进行监测,以确保电压稳定在正常范围内,避免因电压异常影响控制器的正常运行,进而保障网络信息安全相关的硬件基础稳定。⑥电流监控模块:监测电流,确保电流处于正常工作范围,避免过流等情况对硬件造成损害,保障控制器硬件在正常的电气环境下工作,维持网络信息交互的稳定性。②用于处理、存储和传输个人敏感信息的关键芯片(如处理器、存储模块、通信IC等)及安全芯片,应减少暴露管脚,降低被攻击的风险。芯片应支持多种加密算法,如AES、RSA、ECC等,以满足不同场景下的加密需求。

2025-02-10 16:23:21 937

原创 七、云端下发命令控制单片机LED灯的亮灭

在上图中可以看到我设置的指令超时时间是66s,所以在这66s发送一条指令到云端重新建立连接,就可以看到发送指令的返回值了。判断条件是根据数据收到的返回值来确定的,在上面用串口调试助手接收下发指令的返回值我们可以知道,下发1指令有“0101”这子串;下发0指令的时候有“0100”这个字串,但是因为上传数据的时候也会有返回值,而且也会返回“0100”这个字串,从而不能判断是否下发了0指令,所以又增加了一个判断条件“061F52”,这样才能唯一判断是否下发了指令0。同样在云端上要定义一个服务来实现这个功能。

2023-07-19 20:52:00 963

原创 六、MCU实时上报温度湿度到云平台

首先我们要在云平台上定义上报温度和上报湿度的服务,之前的文章也说过了怎么定义服务,这里就不再讲述。可以发现,在之前的测试数据中,采用的是16进制的形式,上报的是整型数据,这里sht30采集的温湿度是浮点数类型的,由于我现在没有实现将浮点数转16进制如何再通过AT命令上报到云端,所以我采用的是以字符串的形式上报,那么在云平台上定义服务的时候也要将服务的数据类型设置为字符串形式,我设置的是定长字符串,5字节。在采集温湿度的函数里增加将采集到的数据转化成字符串,同时完成上报云端,修改后的函数代码如下。

2023-07-19 18:30:09 426

原创 五、I2C协议之温湿度采样,JSON格式上报数据

下面来进行I2C引脚的配置:我的板子上sht30模块是PB13、PB14为I2C模式,所以首先先配置这两个引脚为I2C2_SCL和I2C2_SCL的模式,由于此时还没有使能I2C2功能,所以引脚为黄色状态,接下来使能I2C2,引脚就变为绿色状态,到此配置就完成了,ctrl+s生成代码。接下来就是代码部分,首先先编写sht30.h文件的代码,由于生成的项目中没有该文件,所以这个文件要我们自己创建,Inc--->New--->Header File,如何添加名字即可(由于我已经创建了,所以显示该文件已存在)

2023-07-19 17:32:48 345

原创 三、云平台的使用

IMEI号和IMSI号的获取如下:因为我用的是小熊座的单片机,单片机上自带BC28模块,首先用USB把单片机与电脑连接起来,通过串口调试助手发送AT命令,开启单片机电源开关,把BC28模块的拨码开关拨到“To BC28”,这样串口调试助手就可以和BC28模块进行通信了。如果想要接入自己的NB-IOT设备,首先要开通“天翼物联网云平台(AIoT)通用组件服务”,首页进入“控制台”, “开发导向”,“服务开通”,“立即开通”。(进行到这里,“状态”应该是“已注册”,因为我进行了其他操作,所以是“已激活”)

2023-07-19 00:20:46 671

原创 四、通过MCU连接云平台

在板子的内部,串口3是直接与BC28模块通信的,所以MCU可以通过串口3给BC28模块发送数据,从而与云平台进行通信。首先就是配置,RCC、SYS、时钟树正常配置,其次使能串口1和串口3,串口1是用来与串口调试助手通信,方便调试打印代码,串口3是MCU用来发送数据给BC28模块,与云平台进行通信的,其中串口3使能中断,采用中断的方式收发数据,调节串口3的波特率为9600。然后添加nbiot.h文件和nbiot.c文件,在下面两个文件夹下分别建立.h和.c文件。usart.h添加stdio.h。

2023-07-19 00:03:47 537

原创 二、AT命令

不同设备支持的AT命令可能会有所差异,但是大部分设备都支持一些通用的AT命令,如"AT+CSQ"用于查询信号强度,"AT+CPIN"用于查询SIM卡状态等。以上只是BC28模块的一部分AT命令,具体的命令集和功能可以参考BC28模块的AT命令手册,该手册通常由模块的制造商提供,可以在官方网站或者技术支持渠道获取。AT命令的作用非常广泛,可以用于调制解调器的连接、拨号、断开连接等操作,还可以用于设置和查询设备的参数,如网络设置、信号强度、SIM卡状态等。15、AT+CGPADDR:查询模块的IP地址。

2023-07-18 17:50:30 2675 1

原创 一、物联网通信技术:NBIOT

顾名思义,NB-IoT所占用的带宽很窄,只需约180KHz,而且其使用License频段,可采取带内、保护带或独立载波三种部署方式,与现有网络共存,并且能够直接部署在GSM、UMTS或LTE网络,即2/3/4G的网络上,实现现有网络的复用,降低部署成本,实现平滑升级。移动网络作为全球覆盖范围最大的网络,其接入能力可谓得天独厚,因此相较WiFi、蓝牙、ZigBee等无线连接方式,基于蜂窝网络的NB-IoT连接技术的前景更加被看好,已经逐渐作为开启万物互联时代的钥匙,而被商用到物联网行业中。

2023-07-18 17:34:38 1004 1

原创 DAC与ADC的转换

不同的单片机分辨率略有不同,我所用的单片机的DAC的分辨率为12位,所以就是2的12次方等于4096。我们可以看到,i,j的值近似相等,i值为我们手动输入的值,j值为单片机实际采到的值,存在一定的误差是正常的,i,j均为数字量的值。同样也是在单片机上找到拓展GPIO,选择其中一个作为DAC的引脚,这里我选择的是PA5,进行如下配置。在单片机上找到拓展的GPIO,在这里我选用的是PA7作为ADC的引脚,进行如下配置。本文章将基于单片机来理解DAC与ADC,用到的是小熊派L433系列的单片机。

2023-06-24 17:01:27 783 1

原创 STM32单片机实现简易声控灯控制

首先,先分析一下声控灯实现的原理,即当外界发出声音的时候,灯就会被点亮。从现时生活中我们可以知道,楼道声控灯并不是只要有声音就会把灯点亮的,当白天光线充足的时候,无论外界有多大的声音,灯都不会被点亮。但是我们知道声音是无处不在的,就算是到晚上,也并不是都会亮灯的。所以到这里我们可以知道,点亮声控灯的条件是:光强的值小于某个值且声音的值大于某个值。打开串口调试助手开看到当前的采样值,在单片机上观察当光强和声音改变时LED灯的状态,验证是否达到我们的预期值。7、在main函数中添加声控灯实现代码。

2023-04-20 20:40:42 3272

原创 STM32实现ADC采样

和Cubeprogrammer两个软件,串口调试助手APP,以及STM32L431RCT6单片机。可以在main.c文件中添加printf输出语句,验证串口是否可以输出相应的语句。功能:在单片机上对声音和光强进行采样,通过串口输出其采样值。10.编译烧录代码,在串口调试助手上查看是否得到采样值。4. 在usart.c中实现printf。3.在usart.h中添加头文件。8. 在adc.h中声明函数。9. 在main.c添加代码。6. ctrl+s生成代码。7.在adc.c中添加代码。

2023-04-17 00:01:28 3381 3

原创 STM32定时器控制LED灯

由于TIM6挂在APB1总线上,在时钟树的图上我们可以知道APB1是80MHZ,对定时器做预分频得到1MHZ,修改arr的值,arr=1us。7、编译、烧录代码。可以在单片机上观察到三色LED依次进行亮灭的过程,完成一次亮灭的时间周期大概在1s左右。功能:实现定时器的微秒级的延时,通过观察LED灯的亮灭来验证。4、ctrl+s生成代码,在tim.c文件中添加代码。6、在main.c文件中添加验证代码。5、在tim.h中声明函数。2、配置LED灯的引脚。

2023-04-13 16:21:26 2182 1

原创 按键控制LED灯

在System Core找到GPIO,点击其中一个引脚,如3所示,在原理图中可以知道按键接了一个上拉电阻,在4的位置我们把上拉电阻打开,另外两个引脚同理。中断模式较轮询模式不同的是我对引脚重命名了,方便记忆书写代码,重命名方式参考中断模式下对按键P12的配置。烧录代码成功后,在单片机上按下按键,当按下第一个按键是红灯亮,按下第二个按键时绿灯亮,其次蓝灯亮。3、配置LED灯引脚,即PB2,PC9,PC6。总结:轮询模式会打断CPU的工作,而中断模式不会,所以我们一般采用中断来完成此类工作。

2023-04-12 15:27:04 1205 1

原创 STM32单片机简单点灯实验(Delay延时函数)

然后进行3的操作,我们可以看到4的界面,随便点击其中一个,由于从原理图中可以知道三色灯已经连接了一个高电平,所以在5的位置我们选择高电平状态,这样灯的初始状态就是熄灭的,进行6的操作后(另外两个引脚操作同上),按ctrl+s生成代码。4、接下来我们进行芯片的配置,首先配置RCC。依次进行1、2、3的选择,然后我们可以看到4的两个引脚变绿了,说明我们进行了RCC的配置。2、依次输入项目的名称,禁止以中文命名,然后在2的位置选择合适的项目路径,在3的位置选择编译语言,在这里我们选择C语言,点击4生成项目。

2023-04-10 20:52:17 1612 1

空空如也

空空如也

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

TA关注的人

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