基于STM32的电机数据采集系统的设计

基于STM32的电机数据采集系统的设计
基于STM32的电机数据采集系统的设计

现代机械设计方法大作业

-基于STM32的电机数据采集系统的设计

总体概况

由于现有的数据采集卡价格太高,设计出针对电机数据采集系统是有必要的。STM32是第一个基于ARM cortex-M3内核的微控制器,拥有32位CPU,并行总线结构,嵌套中断向量控制单元,调试系统以及标准的存储映射,是专为实现系统高性能与低功耗并存而设计的,同时它足够低廉的价格也向传统的8位(51)和16位微控制器发起了有力的挑战。本课题正是基于STM32,使用红外遥控器实现对电机的控制,同时将采集到的电机数据显示到LCD液晶屏上。从而实现对电机数据采集系统的设计。

1 电机的控制

在该设计中采用STM32的PWM对电机进行控制。PWM 是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式,其应用领域包括测量,通信,功率控制与变换,电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器,因此研究基于 PWM 技术的正负脉宽数控调制信号发生器具有十分重要的现实意义。

利用STM32的寄存器对PWM的空占比进行设置,从而改变电机转动的速度以及转动的方向。其中TIMx_ARR寄存器确定频率(周期)、由TIMx_CCRx寄存器确定占空比的信号。由于STM32提供的电压过小,不能够驱动电机。所以必须增加电机驱动模块。我使用的是UNL2003,ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。从而达到控制电机的目的。

2红外遥控

通过红外遥控器与红外接收器对STM32进行控制,可以通过红外遥控器上的按键对STM32的拐角,寄存器进行一些控制,从而达到对电机的遥控控制的目的。

通常红外遥控为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。

红外发射与接收的原理如图所示。

3液晶显示

使用STM32将电机的数据,比如电机的速度,加速度等信息进行采集之后在LCD上进行显示。TFT-LCD又叫做薄膜晶体管液晶显示器,我使用的液晶屏是8080模式,它有5条基本控制线和多条数据线。因为STM32引脚数在100以上都带有FSMC的接口,所以当操作SRAM,NAND FLASH,NOR FLASH和PSRAM等储存器的时候,我们不用自己操作IO口模拟这些存储器的操作时序了,使用FSMC模块可以直接帮我们读写这些寄存器。

下图为液晶屏控制的一些拐角的功能。其控制过程比较复杂,这里不做过多的介绍。

4 总体实现图

相关主题
相关文档
最新文档