msp430控制步进电机实验报告
- 格式:doc
- 大小:8.79 MB
- 文档页数:12
msp430实验报告msp430实验报告引言:msp430是一种低功耗、高性能的微控制器,被广泛应用于嵌入式系统和物联网设备中。
本实验报告将介绍我对msp430微控制器进行的一系列实验,包括实验目的、实验过程、实验结果以及对实验的总结和展望。
实验目的:本次实验的主要目的是熟悉msp430微控制器的基本功能和使用方法,以及学习如何进行简单的控制程序设计。
通过实验,我希望能够掌握msp430的基本操作和编程技巧,并且能够运用所学知识解决实际问题。
实验过程:在实验开始之前,我首先对msp430微控制器进行了一些基本的了解。
我了解到,msp430具有低功耗、高性能和丰富的外设接口等特点,可以满足各种嵌入式系统的需求。
接着,我根据实验指导书的要求,准备好实验所需的硬件设备和软件工具。
第一部分实验是关于GPIO口的实验。
我按照实验指导书上的步骤,将msp430与LED灯连接起来,并编写了一个简单的程序,实现了对LED灯的控制。
通过这个实验,我学会了如何配置GPIO口和编写简单的控制程序。
第二部分实验是关于定时器的实验。
我学习了如何配置msp430的定时器,并编写了一个简单的程序,实现了定时闪烁LED灯的功能。
通过这个实验,我深入了解了定时器的工作原理和编程方法。
第三部分实验是关于ADC的实验。
我学习了如何配置msp430的ADC模块,并编写了一个简单的程序,实现了对外部模拟信号的采样和转换。
通过这个实验,我了解了ADC的基本原理和使用方法。
实验结果:通过一系列实验,我成功地掌握了msp430微控制器的基本功能和使用方法。
我能够独立完成GPIO口的配置和控制、定时器的配置和编程、ADC的配置和采样等任务。
实验结果表明,msp430具有强大的功能和灵活的编程能力,可以满足各种嵌入式系统的需求。
总结和展望:通过本次实验,我对msp430微控制器有了更深入的了解,并且掌握了一些基本的操作和编程技巧。
然而,由于实验时间和条件的限制,我还没有完全发挥出msp430的潜力。
作品概述MSP430G2 系列 Launchpad 是TI 推出的一款低成本的开辟平台。
它合用于适 用于 TI 最新 MSP430G2xx 系列产品, 其基于 USB 的集成型仿真器可提供为全系 列 MSP430G2xx 器件开辟应用所必需的所有软、硬件。
本作品选择 MSP430G2231 为 Launchpad 核心板的单片机, 采用 Launchpad 核心板加底板的形式, 实现了对 步进机电的四相四拍和四相八拍控制, 并实现了转动方向和转动速度的控制, 并 且用数码管显示转动方向和转动速度的百分比。
本作品选择 MSP430G2231 为 Launchpad 核心板的单片机,采用 Launchpad 核心板加底板的形式,对步进机电进行控制。
滑变,即滑动变阻器,用来控制电 机的转速,本系统共有两个拨动按键,一个拨动按键用来选择步进机电的模式, 如四相八拍或者四相四拍, 另一个拨动按键用来控制转动方向。
数码管可用来显示 模式和方向,以与转速的百分比。
系统总体设计框图如下图 1.2.1 系统总体设计框图在硬件设计时, 只需设计外围电路, 留出与 Launchpad 核心板的接口即可, 既节 约了设计时间, 又节省了成本, 而且无需额外购买仿真器, 从而使设计成本到达数码管Launchpad 核心板拨动按键步进机电滑变.最低。
在软件设计方面,可充分利用 G2 系列单片机的各个功能模块,如时钟系统、TA 定时器、 ADC10 模数转换器,看门狗,以与IO 口中断等资源,设计出高效率、低功耗、结构紧凑而又功能强大的产品。
第一章作品硬件系统设计MSP430G2 系列 Launchpad 是TI 推出的一款低成本的开辟平台。
它合用于适用于 TI 最新 MSP430G2xx 系列产品,其基于 USB 的集成型仿真器可提供为全系列 MSP430G2xx 器件开辟应用所必需的所有软、硬件。
LaunchPad 具有集成的 DIP 目标插座,可支持多达 20 个引脚,从而使 MSP430 Value Line 器件能够简便地插入 LaunchPad 电路板中。
信息工程系课程设计报告书题目:基于MSP430单片机的多功能直流电机驱动器摘要本设计介绍了一种基于MSP430单片机实现的单闭环直流电机的调速系统,随着我国工业的发展,越来越多的生产机械要求能实现自动调速。
由于MSP430系列的单片机具有处理能力强、运算速度快、集成度高、外部设备丰富、超低功耗等优点, 本设计介绍了一种基于MSP430单片机实现的单闭环直流电机的调速系统,该系统利用MSP430单片机的Timer-A模式产生PWM波,通过改变PWM波的占空比来控制电机的速度,并着重介绍了PWM的调速原理。
其中采用光耦隔离的方法实现单片机与外部电路之间的电气隔离,PWM波经过功率驱动芯片放大后控制直流电机的电枢电压进行平滑调速并由霍尔元件检测出直流电机转速构成的速度反馈,设置四个独立性键盘分别控制电机的正反转、加速和减速,最后通过LED动态显示出直流电机的转速。
采用MSP430单片机控制直流电机的转速取代了以往的模拟控制,使控制精度高,而且方便系统的升级和改进,灵活性和适应性更强。
关键词:MSP430 PWM调速直流电机目录摘要 (2)目录 (3)1 任务提出与方案论证 (4)1.1 课题研究的目的意义 (4)1.1.1设计目的 (4)1.1.2设计的意义 (5)1.2 主要内容及方法手段 (5)1.2.1主要内容 (5)1.2.2方法手段 (5)2具体电路设计 (6)2.1 系统设计原理 (6)2.2 单片机的最小系统 (7)2.2.1电源 (7)2.2.2复位电路 (8)2.2.3晶体 (9)2.3 PWM波调速 (10)2.3.1直流电机PWM的调速原理 (10)2.3.2 Timer-A实现PWM (10)2.4 电机驱动电路 (11)2.4.1电气隔离电路 (11)2.4.2驱动电路 (12)2.5 LED显示 (14)2.6 测速电路 (15)3总结 (17)3.1 总结 (17)参考文献 (18)1 任务提出与方案论证1.1 课题研究的目的意义1.1.1 设计目的随着我国工业的发展,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
msp430 实验报告Title: MSP430 Experiment ReportIntroductionThe MSP430 is a series of microcontroller units (MCUs) developed by Texas Instruments. These MCUs are known for their low power consumption and high performance, making them ideal for a wide range of applications including consumer electronics, industrial control, and medical devices. In this experiment report, we will discuss the results of our experiments with the MSP430 MCU and its performance in various applications.Experiment 1: LED BlinkingIn our first experiment, we programmed the MSP430 to control the blinking of an LED. We used the MSP430 LaunchPad development kit, which includes a development board with an MSP430 MCU and various peripherals. By writing a simple program in the MSP430 Integrated Development Environment (IDE), we were able to control the blinking frequency of the LED. This experiment demonstrated the ease of programming and the low power consumption of the MSP430 MCU.Experiment 2: Sensor Data AcquisitionIn our second experiment, we connected a temperature sensor to the MSP430 and programmed it to acquire and process the sensor data. The MSP430's built-in analog-to-digital converter (ADC) allowed us to easily interface with the sensor and read the temperature values. We then used the MSP430's serialcommunication interface to transmit the data to a computer for further analysis. This experiment showcased the versatility of the MSP430 in interfacing with external sensors and communicating with other devices.Experiment 3: Power ManagementOne of the key features of the MSP430 is its low power consumption, which makes it suitable for battery-powered applications. In our third experiment, we tested the power management capabilities of the MSP430 by programming it to enter low-power modes when not actively processing data. We measured the current consumption in different power modes and compared it to the datasheet specifications. The results confirmed the MSP430's low power consumption and its ability to prolong battery life in portable devices. ConclusionOur experiments with the MSP430 MCU have demonstrated its versatility, ease of programming, and low power consumption. The MSP430's performance in controlling peripherals, interfacing with sensors, and managing power consumption makes it a compelling choice for a wide range of embedded applications. As technology continues to advance, the MSP430's capabilities will continue to make it a popular choice for developers seeking a reliable and efficient microcontroller solution.。
一、实训背景随着科技的飞速发展,步进电机在工业自动化、精密定位、医疗设备等领域得到了广泛的应用。
为了深入了解步进电机的原理和应用,提高自身的动手实践能力,我们进行了步进电机控制实训。
二、实训目标1. 理解步进电机的原理和工作方式。
2. 掌握步进电机的驱动方法和控制方法。
3. 学会使用单片机对步进电机进行编程和控制。
4. 提高团队协作能力和问题解决能力。
三、实训内容1. 步进电机原理步进电机是一种将电脉冲信号转换为角位移或线位移的执行元件。
其特点是响应速度快、定位精度高、控制简单。
步进电机每输入一个脉冲信号,就转动一个固定的角度,称为步距角。
步距角的大小取决于电机的结构,常见的步距角有1.8度、0.9度等。
2. 步进电机驱动步进电机的驱动通常采用步进电机驱动器。
驱动器将单片机输出的脉冲信号转换为驱动步进电机的电流信号,实现对步进电机的控制。
常见的驱动器有L298、A4988等。
3. 单片机控制本实训采用AT89C51单片机作为控制核心。
通过编写程序,控制单片机输出脉冲信号,实现对步进电机的正转、反转、停止、速度等控制。
4. 实训步骤(1)搭建步进电机驱动电路,连接单片机、步进电机、按键等外围设备。
(2)编写程序,实现以下功能:- 正转、反转控制;- 速度控制;- 停止控制;- 按键控制。
(3)使用Proteus仿真软件进行程序调试,验证程序的正确性。
(4)将程序烧录到单片机中,进行实际硬件测试。
四、实训结果与分析1. 正转、反转控制通过编写程序,实现了对步进电机的正转和反转控制。
在Proteus仿真软件中,可以观察到步进电机按照设定的方向转动。
2. 速度控制通过调整脉冲信号的频率,实现了对步进电机转速的控制。
在Proteus仿真软件中,可以观察到步进电机的转速随脉冲频率的变化而变化。
3. 停止控制通过编写程序,实现了对步进电机的停止控制。
在Proteus仿真软件中,可以观察到步进电机在停止信号后立即停止转动。
基于MSP430F149单片机实现的步进电机通用控制器The General Step-motor Controller Based On The MSP430F149北京北京科技大学8706#信箱100083李颖宏郭栋摘要本文主要介绍了基于MSP430F149单片机实现的步进电机通用控制器该控制器可同时控制多台步进电机按曲线方式运行包括加减速定位及换向功能等文中重点探讨了步进电机升降速曲线的设计方案及其实现方法关键词MSP430F149单片机步进电机通用控制器Abstract:The paper introduce the design of step-motor controller based Abstract:on the MSP430F149 . The controller can control many step-motor systems in the meantime, and made motor run in multi-curve including speed-up, speed-down, orientation and direction's change. It mainly discussed the method how to design and fulfill the curve of the speed control . Keywords:MSP430F149, single chip, step-motor, general controller Keywords:1.前言基于步进电机的控制系统除了步进电机一般还需要专门的驱动电源驱动电源仅仅完成功率驱动部分用户并不能使整个控制系统按预定的期望的工作状态运行必须对它的驱动电源予以控制用户需要再次开发鉴于此设计了基于MSP430F149单片机实现的步进电机通用控制器可以满足大多数控制场合下的要求控制器的主要功能为可控制多套步进电机驱动系统目前可同时控制3套系统工作方式灵活可按设定的曲线运行曲线最多达8段可按外部检测到的控制信号运行可按模拟调节测试功能运行2系统的设计2.1系统的结构本控制器主要实现了多台步进电机在多段曲线上的运行控制系统结构如图1所示图1 系统结构框图22微处理器的选择本设计选用了TI公司所生产的MSP系列单片机MSP430F149目的是应用其丰富的接口资源和强大的定时器功能MSP430F149的性能特点如下6个八位并行接口完全可以实现该系统所有信号的输入输出无须硬件扩展其中P1P2八位并行端口的每根口线都具有中断功能使键盘的软硬件设计变的非常简单12位A/D转换器ADC完成模拟设定功能强大的定时器功能TIMER-A3TIMER-B7分别为带有3个和7个捕捉/比较寄存器的16位定时器可以满足系统速度的设定及曲线定时的要求液晶驱动模块内置2KB RAM60KB的FLASHMSP430F149所提供的丰富资源外围硬件扩展只需做很少的工作不仅设计变得非常简单而且该控制器体积小可靠性高23步进电机起动及加/减速控制方案步进电动机的最高起动频率突跳频率一般为0.1KHz到3-4KHz而最高运行频率则可以达到N*102KHz以超过最高起动频率的频率直接起动将出现"失步"现象甚至无法起动较为理想的起动曲线应是按指数规律起动但实际应用对起动段的处理可采用按直线拟合的方法即"阶梯升速法"可按两种情况处理已知突跳频率则按突跳频率分段起动分段数n=f/fq未知突跳频率则按段拟合至给定的起动频率每段频率的递增量后称阶梯频率f=f/8,即采用8段拟合在运行控制过程中将起始的速度频率分为n分作为阶梯频率采用"阶梯升速法"将速度连续升到所需要的速度然后锁定按预置的曲线运行如图2所示图2 阶梯升速起动用单片机实现步进电机的加/减速控制实际上就是控制发脉冲的频率升速时使脉冲频率增高减速时相反如果使用定时中断来控制电机的速度加减速控制就是不断改变定时器的初值速度从V1V2如果是线性增加则按给定的斜率升/降速如果是突变则按"阶梯升速法"处理在此过程中要处理好两个问题速度转换时间应尽量短为了缩短速度转换的时间可以采用建立数据表的方法结合各曲线段的频率和各段间的阶梯频率便可以建立一个连续的数据表并通过转换程序将其转换为定时初值表通过在不同的阶段调用相应的定时初值控制电机的运行定时初值的计算是在定时中断外实现的并不占用中断时间保证电机的高速运行保证控制速度的精确性要从一个速度准确达到另外一个速度就要建立一个校验机制以防超过或未达到所需速度24步进电机的换向问题步进电机换向时一定要在电机降速停止或降到突跳频率范围之内再换向以免产生较大的冲击而损坏电机换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个CP脉冲前发出如图3所示对于CP脉冲的设计主要要求其有一定的脉冲宽度一般不小于5s脉冲序列的均匀度及高低电平方式在某一高速下的正反向切换实质包含了降速换向升速三个过程25速度与定时器初值的转换本系统的速度控制是依靠定时产生CP脉冲来完成的设定的速度与产生CP脉冲的定时器初值间存在一定关系MSP430F149定时器的工作方式有多种本设计定时器工作在连续方式下在连续模式定时器从它的当前值开始计数当计到0FFFFH后又从"0"开始重新计数在该方式下将定时器的当前值和比较寄存器CCRX相比较如相等则产生中断并在该中断服务程序中可以将下一个事件发生的时间加到比较寄存器CCRX上如图4如此这样便会得到连续的定时时间间隔并在每一个定时间隔到来产生中断请求定时初值=所需定时值/计数周期对于步进电机其速度值常以频率形式给定诸如运行在20KHZ下因此上式可转换为定时初值=计数频率/速度值其中计数频率为系统时钟频率3结束语该控制器可以实现步进电机在多段设定曲线下的运行控制具有硬件简单体积小可靠性高的特点已将其用于电线生产线上的排线控制部分,取得了令人满意的效果该课题为北方工业大学校科研基金资助项目参考文献1. 胡大可. MSP430系列FLASH型超低功耗16位单片机. 北京航空航天大学出版社2001.2. 李仁定. 电机的微机控制. 机械工业出版社1999.3. 陈理璧. 步进电动机及其应用. 上海科学技术出版社1985.4. MSP430 Assembler, Linker, and Librarian Programming Guide Texas Instruments Corportation.作者简介李颖宏女出生于1968年4月北方工业大学自动化学科讲师1992年毕业于北京理工大学取得硕士学位毕业以来多年从事电机及单片机教学和科研工作经验丰富郭栋男出生于1980年3月2002年7月毕业于北方工业大学现就读于北京科技大学系统工程专业研究生爱好单片机开发精通MCS51,MCS96及MSP430F149单片机曾开发过多个项目具有较为丰富的实际开发经验。
基于MSP430单片机的步进电机控制器的设计与实现步进电机是一种常见的电动机类型,它通过以固定的步进角度运动来驱动机械装置。
MSP430单片机是一种低功耗、高性能的微控制器,适合用于步进电机控制器的设计与实现。
本文将介绍基于MSP430单片机的步进电机控制器的设计与实现方法。
首先,我们需要了解步进电机的原理和工作方式。
步进电机的转动是通过控制电流的方向和大小来实现的。
根据步进电机的类型和设计参数,我们可以确定所需的控制电流和相位方式。
常见的步进电机类型有单相和双相两种,其中双相步进电机是最常见的。
接下来,我们需要确定MSP430单片机的引脚分配。
通常,步进电机的驱动信号需要4个引脚来控制,分别是两个控制电流的引脚(A+和A-)和两个控制电流的引脚(B+和B-)。
根据MSP430单片机的引脚数量和功能,我们可以选择适当的引脚来连接步进电机。
设计步进电机控制器的核心是编写控制算法。
在MSP430单片机上,我们可以使用C语言或汇编语言编写程序来控制步进电机的转动。
下面是一个简单的C语言程序示例:```c#include <msp430.h>#define APlus BIT0 // P1.0对应步进电机A+引脚#define AMinus BIT1 // P1.1对应步进电机A-引脚#define BPlus BIT2 // P1.2对应步进电机B+引脚#define BMinus BIT3 // P1.3对应步进电机B-引脚void delay(unsigned int ms) //延时函数unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 110; j++);void main(void)WDTCTL=WDTPW,WDTHOLD;//停止看门狗定时器P1DIR = APlus , AMinus , BPlus , BMinus; // 设置引脚为输出模式while (1)P1OUT = APlus , BPlus; // 设置两个控制电流引脚为高电平delay(500);P1OUT = AMinus , BPlus; // 设置两个控制电流引脚为高低电平delay(500);P1OUT = AMinus , BMinus; // 设置两个控制电流引脚为低电平delay(500);P1OUT = APlus , BMinus; // 设置两个控制电流引脚为高电平低电平delay(500);}```以上程序实现了一个简单的步进电机控制器。
第1篇一、实验目的1. 理解步进电机的工作原理及控制方法。
2. 掌握单片机与步进电机驱动模块的接口连接方法。
3. 学习使用C语言编写程序,实现对步进电机的正反转、转速和定位控制。
4. 通过实验,加深对单片机控制系统的理解。
二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是控制精度高、响应速度快、定位准确。
步进电机控制实验主要涉及以下几个方面:1. 步进电机驱动模块:常用的驱动模块有ULN2003、A4988等,它们可以将单片机的数字信号转换为步进电机的控制信号。
2. 单片机:单片机是整个控制系统的核心,负责接收按键输入、处理数据、控制步进电机驱动模块等。
3. 步进电机:步进电机分为单相、双相和三相等类型,本实验使用的是双相四线步进电机。
三、实验设备1. 单片机开发板:例如STC89C52、STM32等。
2. 步进电机驱动模块:例如ULN2003、A4988等。
3. 双相四线步进电机。
4. 按键。
5. 数码管。
6. 电阻、电容等元件。
7. 电源。
四、实验步骤1. 硬件连接(1)将步进电机驱动模块的输入端(IN1、IN2、IN3、IN4)分别连接到单片机的P1.0、P1.1、P1.2、P1.3口。
(2)将按键的输入端连接到单片机的P3.0口。
(3)将数码管的段选端连接到单片机的P2口。
(4)将步进电机驱动模块的电源端连接到电源。
(5)将步进电机连接到驱动模块的输出端。
2. 编写程序(1)初始化单片机I/O端口,设置P1口为输出端口,P3.0口为输入端口,P2口为输出端口。
(2)编写按键扫描函数,用于读取按键状态。
(3)编写步进电机控制函数,实现正反转、转速和定位控制。
(4)编写主函数,实现以下功能:a. 初始化数码管显示;b. 读取按键状态;c. 根据按键状态调用步进电机控制函数;d. 更新数码管显示。
3. 调试程序(1)将程序烧写到单片机中;(2)打开电源,观察数码管显示和步进电机运行状态;(3)根据需要调整程序,实现不同的控制效果。
msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。
本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。
实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。
通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。
这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。
实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。
通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。
这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。
实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。
通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。
这个实验让我对MSP430的模拟信号处理有了更深入的了解。
实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。
通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。
这个实验让我掌握了MSP430与外部设备进行数据交互的方法。
结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。
MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。
通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。
未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。
湖南大学本科生实习报告实习题目:MSP430单片机实习时间:2011.7.15---2011.7.24 专业:班级:学生姓名:指导教师:目录第1章调试平台-----------------------------------------------------------------------3 1.1 简介------------------------------------------------------------------------------3 1.2 下载指令------------------------------------------------------------------------3 1.3程序调试指令-------------------------------------------------------------------3 1.4 各种设置------------------------------------------------------------------------4第2章实验内容----------------------------------------------------------------------4 2.1 内容简介------------------------------------------------------------------------4 2.2 定时器时钟---------------------------------------------------------------------42.2.1 基本功能介绍--------------------------------------------------------------42.2.2 总体方案介绍--------------------------------------------------------------42.2.3 定时器时钟硬件图-------------------------------------------------------42.2.3.1 独立式键盘-----------------------------------------------------------42.2.3.2 LED显示模块-----------------------------------------------------52.2.3.3LCD显示模块----------------------------------------------------52.2.4 软件系统设计---------------------------------------------------------------62.2.4.1 主流程图----------------------------------------------------------------62.2.4.2 扫描函数流程图-------------------------------------------------------72.3 测试结果------------------------------------------------------------------------72.4 总结------------------------------------------------------------------------------73.1 ADC12----------------------------------------------------------------------------73.1.1基本功能介绍----------------------------------------------------------------73.1.2总体方案介绍----------------------------------------------------------------83.1.3 AD微处理器片内温度测量硬件图--------------------------------------83.1.3.1 MSP430芯片AD通道------------------------------------------------83.1.3.2 AD电压检测-滑动变阻器--------------------------------------------93.1.3.3 LCD模块--------------------------------------------------------------93.3.3.4 LED模块----------------------------------------------------------------93.1.4软件系统设计----------------------------------------------------------------103.1.4.1 程序流程图-------------------------------------------------------------103.1.5 测试结果---------------------------------------------------------------------103.1.6 总结---------------------------------------------------------------------------10 附录1---------------------------------------------------------------------------------------10 附录2---------------------------------------------------------------------------------------16第1章调试平台1 IAR调试平台1.1简介:IARsystems 是全球领先的嵌入式系统开发工具和服务的供应商,本次实验所用的IAREW430就是其产品之一。
MSP430单片机_步进电机与直流电机控制设计步进电机和直流电机是常用于控制系统中的电机类型,它们在工业自动化、机器人、医疗设备等领域有着广泛的应用。
本文将重点介绍MSP430单片机控制步进电机和直流电机的设计。
步进电机是一种将电脉冲信号转化为角位移或线性位移的电机,它具有定步进角、驱动简单、精度高等特点。
下面是步进电机控制设计的主要步骤:1.确定电机的参数:步进电机的参数包括相数、相电阻、相感应、步距角等,这些参数决定了控制步进电机的电流大小和步进角度。
2.选择正确的驱动电路:常见的步进电机驱动电路有双极性驱动和四相八线驱动。
双极性驱动适用于电流较大的步进电机,而四相八线驱动适用于电流较小的步进电机。
3.设计控制电路:步进电机的控制电路通常是由一个逻辑电平产生器和一个驱动电路组成。
逻辑电平产生器用于产生脉冲信号,而驱动电路则根据脉冲信号控制步进电机的运行方向和速度。
4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口输出脉冲信号,将步进电机驱动起来。
控制程序需要根据步进电机的参数来确定脉冲频率和方向,以实现步进电机的转动。
5.调试和优化:通过调试和优化控制程序,调整脉冲频率和方向,使步进电机能够按照预定的角度或线性位移进行运动。
直流电机是一种常见的电动机,在各种控制系统中被广泛应用。
下面是直流电机控制设计的主要步骤:1.确定电机的参数:直流电机的参数包括额定电压、电流和功率等,这些参数决定了控制直流电机的电流大小和速度。
2.选择正确的驱动电路:常见的直流电机驱动电路有H桥驱动和单向驱动。
H桥驱动适用于正反转控制,而单向驱动只能实现单一方向的运动。
3.设计控制电路:直流电机的控制电路通常由一个PWM信号发生器和一个驱动电路组成。
PWM信号发生器产生调制信号,控制电机的转速和转向,驱动电路则根据PWM信号给电机供电。
4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口产生PWM信号,将直流电机驱动起来。
基于MSP430步进电机控制器的设计摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
本设计是采用MSP430单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括MSP430单片机的电源模块、键盘控制模块、测速模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块6个功能模块的设计,以及各模块在电路板上的有机结合而实现。
软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。
软件采用在IAR for MSP430软件环境下编辑的C语言。
本系统具有智能性、实用性及可靠性的特点。
关键词:步进电机 MSP430单片机角位移转速控制方向控制AbstractWith the development of microelectronics and computer technology, increasing demand for stepper motor, which is widely used in printers, electronic toys and consumer products such as CNC machine tools, industrial robots, medical equipment and electrical products, and its various national fields are applied. Of stepper motor control system to improve the control accuracy and response speed, energy conservation and so important.This design is used MSP430 of Stepping motor control, through the IO port as a square wave output of the timing of step motor control signal, the signal through the ULN2003 driver chip stepper motor; the same time, with four buttons to the status of the motor control, and dynamic display with digital control motor speed.System consists of hardware and software design of two parts. Among them, the hardware design, including minimum system MSP430 microcontroller, power supply module, keyboard control module, stepper motor drive (integrated Darlington ULN2003) module, digital display (SM420361K digital control) module, speed modules (including the Hall probe UGN3020) six function modules, and each module in the circuit board to achieve the organic combination. Software design, including keyboard control, stepping motor pulse, the digital dynamic display and speed signal acquisition module, control procedures, and ultimately to the stepper motor rotation direction and rotation speed control of stepper motor rotation speed and dynamic display in the LED digital tube, real-time monitoring of the speed display. Software used in the software environment to edit IAR for MSP430 C language. This system has the intelligence, practicality and reliability features.Key Words:Stepping motor MSP430 Angular displacement Speed control Direction control目录摘要 (I)第一章绪论 (1)1.1课题背景 (1)1.2国内外发展现状 (1)1.3本文设计的任务 (3)第二章系统概述 (4)2.1系统的总体框架 (4)2.1.1 系统的组成 (4)2.1.2系统的工作原理 (5)2.2系统的主要功能 (5)2.2.1 步进电机的主要功能 (5)2.2.2 系统的特点 (5)3.1MSP430系列单片机简介 (6)3.1.1 MSP430系列单片机功能特性 (6)3.1.2 MSP430系列单片机的应用 (8)3.2MSP430F149型单片机 (8)3.2.1 MSP430F149的引脚图 (8)3.2.2 MSP430F149的微处理器CPU (9)3.2.3工作方式 (9)3.3步进电机 (11)3.3.1 步进电机概述 (11)3.3.2 步进电机的特性 (11)3.3.3 步进电机的种类 (12)3.3.4 永磁步进电机的控制原理 (12)3.4步进电机控制器系统的组成 (14)3.4.1 电源设计 (15)3.4.2 键盘控制电路 (15)3.4.3 LED数码显示电路 (16)3.4.4 测速电路介绍 (18)3.4.5 步进电机驱动电路 (19)第4章控制系统软件的设计 (22)4.1程序设计前期准备 (22)4.1.1 程序设计平台 (22)4.1.2 程序设计思路 (24)4.2程序流程图 (25)4.2.1 主程序流程图 (25)4.2.2 读键盘子程序流程图 (26)4.2.3 键盘处理子程序流程图 (27)4.2.4 电机控制中断程序流程图 (30)第5章系统调试 (35)5.1系统的调试 (35)5.2运行结果 (35)第6章总结 (37)致谢 (38)参考文献 (39)附录 (41)南京工业大学本科生毕业设计(论文)第一章绪论1.1 课题背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。
基于MSP430实现的步进电机控制步进电机是一种常见的电动机,特点是步进角固定,平稳运行,精度高,广泛应用于机械和自动控制领域。
本文主要介绍基于MSP430微控制器的步进电机控制实现。
步进电机是一种将电能转换为机械能的装置,其转子每次运动一定的角度,可以控制定位的精度。
步进电机由定子和转子组成,定子上有若干个绕组,每个绕组对应一个磁极。
转子上有若干个永磁体,与定子的磁极相对应。
定子绕组按照特定的顺序通电,可以使转子定角度运动。
MSP430是一种低功耗的微控制器,广泛应用于嵌入式系统中。
它具有丰富的外设和强大的运算能力,适用于实时控制任务。
步进电机控制的关键是按照特定的顺序给定子绕组通电。
常见的控制方式有单相全步进、双相全步进、单相半步进等。
每种控制方式具有不同的定位精度和工作效率。
在MSP430上实现步进电机控制,需要连接步进电机驱动电路并编写控制程序。
步进电机驱动电路由MSP430的IO口控制,通过输出高低电平来控制步进电机的运动。
控制程序需要按照特定的顺序将对应的IO口设置为高电平,从而达到控制步进电机运动的目的。
以下是基于MSP430实现步进电机控制的一般步骤:1.连接步进电机驱动电路:根据步进电机的型号和电路要求,连接驱动电路到MSP430的IO口。
通常需要一个或多个MOSFET或BJT来控制步进电机的相位。
2.初始化IO口:在程序开始时,需要将用来控制步进电机的IO口初始化为输出模式,并设置初始电平。
3.编写控制程序:根据步进电机的控制方式,编写相应的控制程序。
通常使用循环结构,按照特定的序列控制IO口的高低电平。
4.循环控制:在控制程序中,使用循环结构无限循环执行步进电机的运动。
根据步进电机的控制方式,确定每一步的运动方向和步长。
5.延时控制:步进电机的转动需要一定的时间间隔,控制程序中需要添加延时函数,保证每步的时间一致。
可以使用MSP430的定时器来实现精确的延时操作。
6.控制运动范围:根据需要控制步进电机的运动范围,可以通过控制循环次数或其他方式实现。
计算机硬件应用课程设计一、实验内容及要求题目:步进电机控制设计使用单片机为核心,设计一个步进电机控制器。
基本要求:使用单片机为控制核心,编写程序并设计硬件结构,实现对步进电机的控制。
步进电机按固定方向连续转动。
对电机的运行方向进行控制,如:要求按下A 键时,能够控制步进电机正转;按下B键时,能够控制步进电机反转。
提高要求(选作):用LED数码管显示步进电机的转动状态;增加启动、停止控制按键。
二、小组成员三、实验软硬件环境简介硬件环境:MSP430G2553单片机一块,五线四相步进电机一个,驱动芯片ULN2003一块,开关三个,下载线一根。
软件设计:仿真软件PROTEUS 8.0 Professional;代码编写软件IAR;WINDOWS操作系统。
四、设计方案分析步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电设备,它实际上是一种单相或多相同步的步进电机。
单相步进电机由单路电脉冲驱动,输出功率一般很小,故需要加一个驱动电路。
当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就会发生改变,转子会转过一定的角度(称为步距角)。
正常情况下,步进电机转过的总角度和输入法的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
步进电机的不同驱动方式,都是在工作时,脉冲信号按一定顺序轮流加到三相绕组上,从而实现不同的工作状态。
步进电机有三线式、五线式、六线式三种,但其控制方式均相同,都必须以脉冲电流来驱动。
若每转一圈以20个励磁信号来计算,则每个励磁信号前进18°,其旋转角度与脉冲数成正比,正反转可以由脉冲顺序来控制。
步进电机的励磁方式可分为全部励磁及半步励磁,其中全部励磁又有1相励磁及2相励磁之分,而半步励磁又称为1-2相励磁。
1相励磁法:在每一瞬间只有一个线圈导通。
消耗电力小,精确度良好,但转矩小,振动较大,每一励磁信号可走18°。
若以1相励磁法控制步进电机正转,其励磁顺序表如下。
若以励磁信号反响传送,则步进电机反转。
本实验中采用这个方法。
2相励磁法:在每一瞬间会有2个线圈同时导通。
因其扭矩大,振动小,故为目前使用最多的励磁方式,每送一个励磁信号可走18°,若以两相励磁法控制步进电机正转,其励磁顺序如下表。
若以励磁信号反向传送,则步进电机反转。
1-2相励磁法:为1-2相交替导通。
因分辨率提高,且运转平顺,每送一励磁信号可走9°,故也被广泛采用。
若以1相励磁法控制步进电机正转,其励磁顺序见表,若以励磁信号反向传送,则步进电机反转。
步进电机的负载转矩与速度成反比,速度越快负载转矩越小,但速度快至极限时,步进电机将不再运转。
所以每走一步后,程序必须延时一段时间。
五、系统硬件结构1、硬件设计思路及芯片选择5.1.1 单片机系统P1.0-P1.3作为输出端口,控制步进电机的励磁信号,进而控制步进电机的运行状态。
P2.0-P2.2作为输入端口,连接开关,决定开关的闭合状态。
5.1.2 开关设计本实验中采用三个开关,分别控制电机的正转、反转、加速。
其连接图如下所示:在开关未闭合的时候,连接电阻与电源,输出为高电平;在开关闭合的时候,连接GND,输出为地。
5.1.3 驱动电路单相步进电机由单路电脉冲驱动,输出功率一般很小,故需要加一个驱动电路。
本实验中采用驱动芯片ULN2003A(达林顿驱动芯片),与P1.0-P1.3相接。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于在使用TTL COMS,由达林顿管组成驱动电路。
它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。
通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM 引脚应该悬空或接电源。
ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。
ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2003A引脚如下:5.2系统框图驱动器及步进电机部分MSP430G2553芯片开关控制部分六、软件系统说明1.软件设计思路由单片机的P1.0-P1.3端口来控制小型步进电机,步进每步为18°。
直接采用ULN2003驱动电路。
该电路使用两相步进电机,采用1相激磁法,正转的激磁信号时序为0FEH,0FDH,0FBH,0F7H。
循环5次为20步,该步进电机每步为18°,20步为一圈。
反转的激磁信号时序为0F7H,0FBH,0FDH,0FEH。
当闭合加速开关时,通过变量的值来控制不同的延时时间,来达到调节转速的功能。
3.各个模块说明6.3.1 延时函数void delayus(uint t){uint i;while(t--)for(i=1300;i>0;i--);延时参数为t,不同的t对应不同的延时时间,达到改变速度的目的。
6.3.2 正转主程序if((P2IN&0X07)==0X06){while((P2IN&0X07)==0X06){P1OUT=0XFE;delayus(100);P1OUT=0XFD;delayus(100);P1OUT=0XFB;delayus(100);P1OUT=0XF7;delayus(100);}}6.3.3 反转主程序if((P2IN&0x07)==0X05){while((P2IN&0X07)==0X05)P1OUT=0XF7;delayus(100);P1OUT=0XFB;delayus(100);P1OUT=0XFD;delayus(100);P1OUT=0XFE;delayus(100);}}6.3.4 正转的加速主程序if((P2IN&0X07)==0X02){while((P2IN&0X07)==0X02){P1OUT=0XFE;delayus(m--);P1OUT=0XFD;delayus(m--);P1OUT=0XFB;delayus(m--);P1OUT=0XF7;delayus(m--);if(m<4)m=80;}}通过m--使延时时间不断减小,但是当延时时间过短时,脉冲频率过大,使电机无法转动,故当m小于4时,恢复原来的速度。
6.3.5 反转的加速主程序if((P2IN&0X07)==0X01){while((P2IN&0X07)==0X01){P1OUT=0XF7;delayus(m--);P1OUT=0XFB;delayus(m--);P1OUT=0XFD;delayus(m--);P1OUT=0XFE;delayus(m--);if(m<4)m=80;}}6.3.6 其他情况下if((P2IN&0X07)==0X07) //其他情况下静止 P1OUT=0XFF;其他情况下时,电机处于静止不动的状态4.源程序#include <msp430g2553.h>#define uchar unsigned char#define uint unsigned int/************延迟函数**********/void delayus(uint t){uint i;while(t--)for(i=1300;i>0;i--);}/***********主函数**********/void main(void){WDTCTL=WDTPW+WDTHOLD;P1DIR=0xFF;P1SEL=0X00;P1OUT=0XFF;int m=80;while(1){if((P2IN&0X07)==0X06) //正转{while((P2IN&0X07)==0X06){P1OUT=0XFE;delayus(100);P1OUT=0XFD;delayus(100);P1OUT=0XFB;delayus(100);P1OUT=0XF7;delayus(100);}}else if((P2IN&0x07)==0X05) //反转{while((P2IN&0X07)==0X05){P1OUT=0XF7;delayus(100);P1OUT=0XFB;delayus(100);P1OUT=0XFD;delayus(100);P1OUT=0XFE;delayus(100);}}else if((P2IN&0X07)==0X02) //正转加速 {while((P2IN&0X07)==0X02){P1OUT=0XFE;delayus(m--);P1OUT=0XFD;delayus(m--);P1OUT=0XFB;delayus(m--);P1OUT=0XF7;delayus(m--);if(m<4)m=80;}}else if((P2IN&0X07)==0X01) //反转加速 {while((P2IN&0X07)==0X01){P1OUT=0XF7;delayus(m--);P1OUT=0XFB;delayus(m--);P1OUT=0XFD;delayus(m--);P1OUT=0XFE;delayus(m--);if(m<4)m=80;}}else if((P2IN&0X07)==0X07) //其他情况下静止 P1OUT=0XFF;}}七.系统设计结果1.正转的仿真图2.反转的仿真图八.实验改进1.在激磁法上,可以使用1-2相励磁,可以增加更大的扭矩。
2.此实验还可以增加减速,以及数码管显示功能。