基于ARM的直流电机调速系统的设计与实现
作者:赵庆松 苏敏 来源于:微计算机信息
摘要:阐述了基于ARM的嵌入式智能小车系统中的直流电机调速子系统,此调速系统主要由S3C44B0X处理器和L298N电机驱动芯片构成,主要功能是驱动小车的两个车轮,调节小车的行驶速度和方向。文中详细介绍了S3C44B0X处理器中的相关寄存器设置及工作方式,给出了系统硬件设计原理图和软件程序代码。
关键词:S3C44B0X; L298N; 嵌入式; 直流电机
引言
在智能小车的研制开发中,很重要的一部分就是智能小车要能根据周围障碍物的情况自主的调节行驶速度和行驶方向。本文中所设计的直流电机调速系统是智能小车的一个重要组成部分,直流电机调速系统主要由S3C44B0X处理器和电机驱动芯片L298N构成,主要功能是驱动小车的两个车轮,调节小车的行驶速,通过改变两个车轮的转速差调节行驶方向。
1 硬件设计
由ARM公司设计的采用RISC架构的ARM处理器性能强,功耗低,体积小,支持Thumb(16位)/ARM(32位)双指令集,指令执行速度快。目前ARM系列微处理器在32位RISC嵌入式产品中已经占据75%以上的市场份额。尤以ARM7TDMI系列应用最广,其性价比也是最高。
1.1 S3C44B0X简介
S3C44B0X是由Samsung公司推出的基于ARM7TDMI核的16/32位RISC处理器。此款处理器提供了丰富的通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置。S3C44B0X具有6个16位定时器,每个定时器可以按照中断模式或DMA模式运行。定时器0,1,2,3,4具有PWM功能,定时器5是一个内部定时器。定时器0和1,2和3,4和5分别共享一个8位的预分频器(Prescaler),预分频值的范围为0—255,通过寄存器TCFG0设定这三个预分频器的值;定时器0,1,2,3还各拥有一个具有5个不同分频信号(1/2,1/4,1/8,1/16,1/32)的时钟分割器(Divider),定时器4和5则各具有一个包含4个分频信号(1/2,1/4,1/8,1/16)的时钟分割器。这6个定时器的分割值通过寄存器TCFG1设定。
定时器输入时钟频率=MCLK/Prescaler/Divider。其中MCLK=60MHz是系统的主频。
1.2 硬件实现
为提高系统效率、降低功耗,功放驱动电路采用基于双极型H桥型脉宽调制方式(PWM)的集成电路L298N。L298N是SGS公司的产品,内部包含二个H桥的高电压大电流桥式驱动器,接收标准TTL逻辑电平信号,可驱动46伏、2安培以下的电机,工作温度范围从-25度到130度。其内部的一个H桥原理图如图1所示。EnA是控制使能端,控制OUTl和OUT2之间电机的停转, IN1、IN2脚接入控制电平,控制OUTl和OUT2之间电机的转向。当使能端EnA有效,IN1为低电平IN2为高电平时,三极管2,3导通,1,4截止,电机反转。当IN1和IN2电平相同时,电机停转。表1是其使能引脚,输入引脚和输出引脚之间的逻辑关系。
图1. H桥原理图
表1.电机运行逻辑关系
另一个H桥的工作原理同上。由EnB控制OUT3和OUT4之间电机的停转,根据IN3、IN4脚的输入电平情况控制OUT3和OUT4之间电机的转向。
由于S3C44B0X本身就带有5个PWM输出口,直接输出控制信号到L298N即可,无须另加电路。系统原理框图如图2所示。系统中选用了工作在中断模式下的定时器1和2作为产生PWM的定时器。通过编程设定I/O口PE4和PE5作为定时器1,2输出PWM的端口,接入L298N的EnA和EnB端口,根据定时器1,2输出的PWM频率分别控制两个直流电机的转速。 PE6设定为输出端口连接IN1并通过一反向器连接IN2;同样,PE7也设为输出端口,接入IN3并经一个反向器接入IN4。通过接入反向器,IN1和IN2,IN3和IN4就不会同时处于高电平或低电平,即不会因为IN1和IN2,IN3和IN4电平相同而使电机停止转动。电机的停止操作可以通过调制脉冲宽度为0即占空比为0或者关闭定时器的使能位实现。这样只需一路信号PE6就可控制IN1和IN2的状态,PE7控制IN3和IN4的状态,从而使得系统的控制信号得到减少,在一定程度上简化了系统。为保证L298N驱动芯片正常工作,还要在其与直流电机之间加入四对续流二极管用以将电机中反向电动势产生的电流分流到地或电源正极,以免反向电动势对L298N产生损害。
实验属性:非独立设课课程编号:04000050课程(实验)中文名称:微机原理及应用课程(实验)英文名称:The Principle & Application of Microcomputer实验学时:16实验学分:无独立学分实验课开课学期:6面向专业:自动化、测控技术与仪器、电气工程及其自动化、探测制导与控制技术、生物医学工程 一、实验目的和任务 微机原理及应用课程是一门实践性很强的课程,学生通过搭建实验电路、调试运行自己设计的程序等实验环节,达到进一步巩固和理解课堂上讲授的知识,使学生熟悉汇编语言编程环境及调试方法, 能够熟练进行汇编语言程序设计, 掌握8259A、8255A、8253接口电路结构、功能、初始化编程及应用实例。 通过实践环节,提高学生观察现象、提出问题、分析问题和解决问题的能力。二、实验的基本要求 1、了解微机原理实验仪器的运行环境、基本配置、功能特点,掌握实验仪器操作规程及注意事项,按要求撰写实验报告。2、掌握分支程序、循环程序设计方法。3、掌握8259A工作原理及编程。4、熟练掌握8255A、8253工作原理及编程。
我现在那样