demi的博客

STM32延时函数

demi的头像
void delay_init(u8 SYSCLK) 
{ 
        SysTick->CTRL&=0xfffffffb;

 
         fac_us=SYSCLK/8;                        
        fac_ms=(u16)fac_us*1000; 
}

Systick 主要的作用就是拿来计时,其原理和应用简述一下就是这样的:通过配置寄存器 SysTick->CTRL来设定Systick的计时频率并Enable使Systick开始计数,这里的 SysTick->CTRL&=0xfffffffb应该很好理解,把第2位设定为0,查找应用手册可以知道这是把Systick的计时频率设定为CPU主频(SYSCLK)的1/8。

假定我们板子默认的晶振频率是8Mhz,默认CPU工作频率(SYSCLK)是9倍频,即72M,那Systick的频率就是72/8=9Mhz。

影响锂离子电池低温性能的因素有哪些?

demi的头像

随着锂离子电池在电动汽车及军工领域应用的迅速发展,其低温性能不能适应特殊低温天气或极端环境的缺点也愈发明显。低温条件下,锂离子电池的有效放电容量和有效放电能量都会有明显的下降,同时其在低于-10℃的环境下几乎不可充电,这严重制约着锂离子电池的应用。

锂离子电池主要由正极材料、负极材料、隔膜、电解液组成。处于低温环境的锂离子电池存在着放电电压平台下降、放电容量低、容量衰减快、倍率性能差等特点。

制约锂离子电池低温性能的因素主要有以下几点:

正极结构

正极材料的三维结构制约着锂离子的扩散速率,低温下影响尤其明显。锂离子电池的正极材料包括商品化的磷酸铁锂、镍钴锰三元材料、锰酸锂、钴酸锂等,也包括处于开发阶段的高电压正极材料如镍锰酸锂、磷酸铁锰锂、磷酸钒锂等。不同正极材料具有不同的三维结构,目前用作电动汽车动力电池的正极材料主要是磷酸铁锂、镍钴锰三元材料和锰酸锂。吴文迪等研究了磷酸亚铁锂电池与镍钴锰三元电池在-20℃的放电性能,发现磷酸铁锂电池在-20℃的放电容量只能达到常温容量的67.38%,而镍钴锰三元电池能够达到70.1%。杜晓莉等发现锰酸锂电池在-20℃的放电容量可以达到常温容量的83%。

高熔点溶剂

无人机的核心之一MCU是如何工作的?

demi的头像

如今,我们经常在很多公园或空旷场所看到有人玩那种小型无人机,每次看它们拿着手里的遥控器,让无人机自由翱翔于空中,这种感觉很“酷炫”,可是您知道无人机的工作原理吗?

无人机是利用无线电遥控设备和自备的程序控制装置操纵的不载人飞机,或者由车载计算机完全地或间歇地自主地操作。无人机在航拍、农业、植保、微型自拍、快递运输、灾难救援、观察野生动物、监控传染病、测绘、新闻报道、电力巡检、救灾、影视拍摄、制造浪漫等等领域均有广泛应用。

无人机由飞机机体、飞控系统、数据链系统、发射回收系统、电源系统等组成。飞行管理与控制系统,相当于无人机系统的“心脏”部分,对无人机的稳定性、数据传输的可靠性、精确度、实时性等都有重要影响,对其飞行性能起决定性的作用。无人机机体的核心就是飞行器控制器——主控MCU。

MCU也叫单片机,是把中央处理器的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。无人机的主控MCU在无人机飞行系统中地位很重要。

无人机工作原理

为什么单片机中既有Flash又有EEPROM

demi的头像

单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等存储器来实现。

插播一段:ROM最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了PROM,可以自己写入一次,要是写错了,只能换一片。随着不断改进,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改ROM中的内容了。

EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。是相对于紫外擦除的rom来讲的。但是今天已经存在多种EEPROM的变种,变成了一类存储器的统称。

电磁兼容小故障问题快速解决技巧整理

demi的头像

辐射发射超标

设备的辐射骚扰发射超标有两种可能,一种是设备外壳的屏蔽性能不完善;另一种是射频骚扰经由电源线和其他线缆的逸出。

判断方法是,拔掉不必要的电线和电源插头,继续做试验,如果没有任何改善迹象,则应当怀疑是设备外壳屏蔽性能不完善;如果有所改善,则有可能是线缆的问题。如果针对以上两种可能,采取了必要措施,仍然没有任何改进,刚有可能是设备上余下线缆的问题。

传导骚扰发射超标

设备的传导骚扰发射超标,主要是线缆方面的问题,但超标的频率通常都比较低,处理起来常感麻烦。

(1)对电源线的处理

①检查电源线附近有无信号电缆存在,有无可能是因为信号电缆与电源线之间的耦合使用电源线的传导骚扰发射超标(这种情况多见于超标频率的频段较高的情况下)。如果,或拉大两都间的距离,或采用屏蔽措施;

②加装电源线滤波器(如果已经有滤波器,则换用高性能的滤波器),要特别注意安装位置(尽可能放在机箱中电源线入口端)和安装情况,要保证滤波器外壳与机箱搭接良好。接地良好;

单片机常见的6种报警方式

demi的头像

常见的报警方式有6种

(1)指示灯或数码管显示出数据,以提醒操作人员注意。

(2)采用声、光及语音进行报警。其中,光效果通常取自发光二极管LED或其他光源器件;声效果可取自电铃、电笛、蜂鸣器、或音乐(语音)芯片等。

(3)合成语音报警。采用这种方式进行报警时,单片机应用系统将对语音信号进行采集、处理、合成和识别,使报警系统的功能更加完善,报警信息更加具体、生动、准确,直至给出报警对象的具体信息。

(4)图形、图像报警。这种系统设微型机控制的打印机或CRT显示器,使警卫人员在接受其他报警信号的同时,还能看到报警显示的画面或数据、文字,不但能将报警资料打印成文,而且可方便存档。

(5)具有控制功能的报警。这种报警系统具有控制功能,如:适时将自动操作切换到人工操作,防止事故发生;达到报警限时,执行机构动作;自动拨出电话号码,将警报情况报告给有关人员。

(6)具有信号远传功能的报警。能将报警信号远传至信号可以达到的远距离处,以供监视、控制用。常用的信号远传方法有:红外线、激光、微波、超声波、有线载波、无线电传输等。

利用单片机应用系统进行报警的常用方法是什么?

如何把交流电源变换为直流稳压电源

demi的头像

电子电路工作时都需要直流电源提供能量,电池因使用费用高,一般只用于低功耗便携式的仪器设备中。这里讨论如何把交流电源变换为直流稳压电源。一般直流电源由如下部分组成:整流电路是将工频交流电转换为脉动直流电。滤波电路将脉动直流中的交流成分滤除,减少交流成分,增加直流成分。稳压电路采用负反馈技术,对整流后的直流电压进一步进行稳定。

如何把交流电源变换为直流稳压电源

(1)半波整流电路:半波整流就是利用二极管的单向导电性能,使经变压器出来的电压Vo只有半个周期可以到达负载,如下:

如何把交流电源变换为直流稳压电源

(2)全波整流电路:利用副边有中心抽头的变压器和两个二极管构成如下图所示的全波整流电路,从图中可见,正负半周都有电流流过负载,提高了整流效率。

10个MCU常用的基础知识,收藏了!

demi的头像

1.MCU有串口外设的话,在加上电平转换芯片,如MAX232、SP3485就是RS232和RS485接口了。

2.RS485采用差分信号负逻辑,+2~+6V表示0,-6~-2表示1。有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。在RS485一般采用主从通讯方式,即一个主机带多个从机。
  
3.Modbus是一种协议标准,可以支持多种电气接口,如RS232,RS485,也可以在各种介质上传输,如双绞线,光纤,无线。
  
4.很多MCU的串口都开始自带FIFO,收发FIFO主要是为了解决串口收发中断过于频繁而导致CPU的效率不高的问题。

如果没有FIFO,则没收发一个数据都要中断处理一次,有了FIFO,可以在连续收发若干个数据(根据FIFO的深度而定)后才产生一次中断去处理数据,大大提高效率。

5.有些工程师在调试自己的系统时一出现系统跑飞,就马上引入看门狗来解决问题,而没有思想程序为什么会跑飞?

程序跑飞可能是程序本身的bug,也可能是硬件电路的问题(本身就是易受干扰或自己就是干扰源)。通常建议在调试自己的系统时,先不加看门狗,等完全调试稳定了,在补上(危机产品安全,人身安全的除外)。

步进电机控制器与伺服电机控制器有哪些不同?

demi的头像

步进电机和伺服电机是工控领域应用最广泛的两类产品,而它们的核心分别是步进电机控制器与伺服电机控制器,本文将给大家讲解这两种器件不一样的地方。

步进电机控制器与伺服电机控制器有哪些不同?

一、工作原理的不同

步进电机控制器与伺服电机控制器有哪些不同?

步进电机控制器:它是一种能够发出均匀脉冲信号的电子产品,它发出的信号进入步进电机驱动器后,会由驱动器转换成步进电机所需要的强电流信号,带动步进电机运转。步进电机控制器能够准确的控制步进电机转过每一个角度。驱动器所接收的是脉冲信号,每收到一个脉冲,驱动器会给电机一个脉冲使电机转过一个固定的角度,就因为这个特点,步进电机才会被广泛的应用到现在的各个行业里。

51内核软件延时和串口的巧妙方法介绍

demi的头像

不知道大家学习51是怎么过来的,反正我是一路忽悠过来的。现在用51来开发产品必须要充分用到它的内部资源,本来主频、资源就比不上32,不充分的利用怎么才能开发好的产品,那么今天我又学习到两个小技能:延时和串口的发送中断

情况是这样的,在产品的开发中,遇到了74HC595控制数码管,这个数字逻辑芯片用过的都知道,一位数码管还好,要是有多位那就得不断的刷新,为快不破,进而达到不同位显示不同断码(数字)的效果。这个刷新频率还有讲究,我不知道我的理论对不对,反正我知道民用电50Hz接在灯泡上,人眼是看不出灯泡在不断的闪烁的。那么就根据这个原理我只要保证在50Hz以上的频率(20ms以内)及时的刷新一次显示就行了。不过实际效果是我延时个5ms刷新一次才差不多看不到频闪,延时是软件的for循环延时,不太准,但是也差不多把。我也不明白为什么要到5ms才能把频闪给消除掉。反正就按照实际效果来咯。问题来了,5ms的周期性刷新,难道MCU就单纯的给这个数码管刷新不干别的活了,这往往是不太可能的。那在调试的过程中我实现的方法是这样的:

页面

订阅 RSS - demi的博客