看MSP430如何实现的步进电机控制

发布者:创意小巨人最新更新时间:2020-09-08 来源: elecfans关键字:MSP430  步进电机控制  单片机 手机看文章 扫描二维码
随时随地手机看文章

  本文选择MSP430G2231为Launchpad核心板的单片机,采用Launchpad核心板加底板的形式,对步进电机进行控制。滑变,即滑动变阻器,用来控制电机的转速,本系统共有两个拨动按键,一个拨动按键用来选择步进电机的模式,如四相八拍或四相四拍,另一个拨动按键用来控制转动方向。数码管可用来显示模式和方向,以及转速的百分比。

  系统总体设计框图

  看MSP430如何实现的步进电机控制

  在硬件设计时,只需设计外围电路,留出与Launchpad核心板的接口即可,既节约了设计时间,又节省了成本,而且无需额外购买仿真器,从而使设计成本到达最低。


  在软件设计方面,可充分利用G2系列单片机的各个功能模块,如时钟系统、TA定时器、ADC10模数转换器,看门狗,以及IO口中断等资源,设计出高效率、低功耗、结构紧凑而又功能强大的产品。


  MSP430G2系列Launchpad开发板组成及硬件资源情况介绍

  MSP430G2系列Launchpad是TI推出的一款低成本的开发平台。它适用于适用于TI 最新MSP430G2xx系列产品,其基于USB 的集成型仿真器可提供为全系列MSP430G2xx器件开发应用所必需的所有软、硬件。


  LaunchPad 具有集成的DIP 目标插座,可支持多达20 个引脚,从而使MSP430 Value Line 器件能够简便地插入LaunchPad 电路板中。


  此外,其还可提供板上Flash 仿真工具,以直接连接至PC 轻松进行编程、调试和评估。LaunchPad 试验板还能够对eZ430-RF2500T 目标板、eZ430-Chronos 手表模块eZ430-F2012T/F2013T 目标板进行编程。此外,它还提供了从MSP430G2xx 器件到主机PC 或相连目标板的9600 波特UART 串行连接。其实物图如图2.1所示。

  看MSP430如何实现的步进电机控制

  图2.1.1 MSP430G2系列Launchpad开发板实物图


  MSP430G2系列Launchpad开发板硬件资源:

  • USB 调试与编程接口无需驱动即可安装使用,且具备高达9600波特的UART串行通信速度

  • 支持所有采用PDIP14 或PDIP20 封装的MSP430G2xx和MSP430F20xx 器件

  • 分别连接至绿光和红光LED 的两个通用数字I/O 引脚可提供视觉反馈

  • 两个按钮可实现用户反馈和芯片复位

  • 器件引脚可通过插座引出,既可以方便的用于调试,也可用来添加定制的扩展板

  • 高质量的20 引脚DIP 插座,可轻松简便地插入目标器件或将其移除


  关键器件选型以及性能指标参数

  一、步进电机

  本作品选用的是常州市德利来电器有限公司生产的35BY48BH10型步进电机,其技术数据、接线图、外形图和实物图如下所示。


  1. 技术数据

  看MSP430如何实现的步进电机控制

  2. 接线图 & 外形图 & 实物图

  看MSP430如何实现的步进电机控制

  二、L298N

  作为电机驱动的核心器件,电机驱动芯片的选型对整个系统的可靠性和性能都起着至关重要的作用。本作品中选用了意法半导体ST生产的L298N电机驱动芯片。其关键指标如下:

  看MSP430如何实现的步进电机控制

  图2.2.1L298N实物图


  1. 供电电压可高达46V,直流电流可达4A。完全满足步进电机的驱动要求。

  2. 低饱和电压。

  3. 过热保护。

  4. 逻辑0输入电压可达1.5V,可有效抑制噪声;逻辑1输入电压可低至2.3V,所以可以用430单片机直接驱动。


  综上可见,L298N电机驱动芯片可以完全满足本作品的要求。


  三、Max7219

  由于IO引脚有限,所以采用串行方式控制数码管,数码管驱动芯片选择Max7219,它最多能驱动8位数码管,能独立完成刷新扫描而不需要单片机的参与,每位独立控制,内部有解码器,可选择解码和不解码两种方式,亮度可以通过数字或模拟方式控制。从各个方面来讲,它都是本例的最佳选择。

  看MSP430如何实现的步进电机控制

  图2.2.1 Max7219实物图


  系统主要由单片机,电机驱动电路,控制电路,电源电路以及数码管显示电路组成,系统原理图如图2.3.1所示。

  看MSP430如何实现的步进电机控制

  图2.3.1系统原理图


  下面是各个模块的具体介绍:

  1.电机驱动模块

  因为L298N逻辑1输入电压可低至2.3V,所以可以用430单片机直接驱动,IN1、IN2、IN3和IN4接到单片机管脚上。Vss接供电电压,Vs接输入逻辑电压,可接3.3V,本例为了走线方便,直接接5V。


  EN A和EN B接高电平,I SEN A、I SEN B通过一个小电阻接地,目的是限制负载电流过大,OUT1、OUT2、OUT3和OUT4直接接步进电机,因为电机的感性器件,电流不能突变,所以接上8个二极管以保护电源。另外在Vss和Vs附近必须接一个100uF的电容,当这个大电容离器件太远时,必须在近处再接一个小电容。

  看MSP430如何实现的步进电机控制

  2. 电机控制模块

  如图所示,滑变用来控制电机的速度,Speed接到单片机的A7脚上,通过测量电压值,计算出恰当的延时时间,达到控制速度的目的。


  转动方向和Mode用来改变电机的转向和模式,即选择四相四拍或四相八拍模式。

  看MSP430如何实现的步进电机控制

  图2.3.3电机驱动模块


  3. 数码管显示模块

  由于IO引脚有限,所以采用串行方式控制数码管,数码管驱动芯片选择Max7219,它最多能驱动8位数码管,能独立完成刷新扫描而不需要单片机的参与,每位独立控制,内部有解码器,可选择解码和不解码两种方式,亮度可以通过数字或模拟方式控制。从各个方面来讲,它都是本例的最佳选择。

  看MSP430如何实现的步进电机控制

  图2.3.4电平转换模块

  看MSP430如何实现的步进电机控制

  图2.3.5数码管驱动模块

  看MSP430如何实现的步进电机控制

  图2.3.6数码管


  注意在使用时必须在该芯片附近接一个大电容,比如4.7uF。

  由于它是5V逻辑电平,而MSP430是3.3V电平,所以用74HC573进行电平转换。

  数码管用的是共阴极四位数码管,这是由驱动芯片Max7219决定的。

  PCB板与系统元器件清单

  1. PCB板

  看MSP430如何实现的步进电机控制

  图2.4.1 PCB板正面

  看MSP430如何实现的步进电机控制

  图2.4.2 PCB板背面

  2、系统元件清单如表

  看MSP430如何实现的步进电机控制

  PCB板设计要求和注意事项

  由于是大功率器件,所以100uF电容必须离芯片越近越好,否则应再在L298N附近加上一个小电容,此外二极管也必须离芯片输出引脚越近越好。Max7219的电容也应该离芯片越近越好。


  安装调试注意事项

  由于是大功率器件,所以要加散热片,安装时就先焊散热片,再插入L298N,用螺丝固定到散热片上后,再焊L298N的各个管脚。安装好的实验板、插上Laundrypad核心板后的实验板,以及连接上步进电机的实验板如下图所示。

  看MSP430如何实现的步进电机控制

  图六.1 安装好的板子

  看MSP430如何实现的步进电机控制

  图六.2插上Laundrypad核心板后的实验板

  看MSP430如何实现的步进电机控制

  图 六.3连接上步进电机的实验板

  程序流程图介绍

  本作品软件程序通过单片机P1.0、P1.1、P1.2和P1.3依次输出高或低产生一定的相序来驱动电机驱动芯片,进而驱动步进电机;而转向和模式是通过重复扫描相应按键,判断其相应的高低从而对电机的转向和模式进行控制。系统流程图如图3.1.1所示。

  看MSP430如何实现的步进电机控制

  图3.1.1系统流程图

  通过AD对滑变的电压值的采样来决定转动速度的快慢,这部分是在AD中断中进行的。AD中断服务子程序如图3.1.2所示。

  看MSP430如何实现的步进电机控制

  图3.1.2中断服务子程序

  本作品是以MSP430G2系列Launchpad开发平台为核心板,加上功能模块底板,实现了对步进电机的四相四拍和四相八拍控制,并实现了转动方向和转动速度的控制,并且用数码管显示转动方向和转动速度的百分比

关键字:MSP430  步进电机控制  单片机 引用地址:看MSP430如何实现的步进电机控制

上一篇:基于MSP430单片机的智能充电照明控制系统设计
下一篇:msp430系统时钟详解

推荐阅读最新更新时间:2024-11-09 11:38

单片机开发项目全局变量太多怎么管理?
最近有几个小伙伴反映说自己写程序感觉很乱,不知道怎么去规划,想到什么就写什么,全局变量满天飞,代码一多就出现好多问题。 而且如果自己写的程序不加注释的话,过几个月发现看不懂了。 一个工程师的成长过程,总是惊人地相似,曾经我也和大家一样,一直想解决程序如何写能更好这个问题。 全局变量太多难管理,看起来是个小问题,要想解决其实背后涉及很多东西,否则不如你直接加注释来得更直接。 变量确实要用,你省不了,你只能通过别的方式去规避乱的问题,比如说一些编程技巧和思维。 后面经过无数项目洗礼,我个人领悟是:一个程序写得好不好,主要看程序算法和程序架构。 先来说说算法好了,算法不是刚需。 很多新手以为程序要想写得好,跟英语和数
[单片机]
51单片机字符串口通信为什么乱码?终于找到原因了
被这个问题卡了3天,代码很简单就是乱码出问题,烦恼! 后来查资料找到原因,晶振12MHz和11.0592Hz的问题。 如果你用的是12Mhz的单片机,定时器初值TH1一般要设置到E6(2400bps)、F3(4800bps)。 对应的在上位机配置UART串口时,选取2400 4800bps。如果试了不行,那就换更低的1200bps。 修改前 修改后 做了半天才发现我的晶振是11.0592Mhz,为啥对应的开发板视频讲的是12Mhz。 以4800bps为例,TH1=TL1=0xF4,SMOD=1,波特率翻倍=2*2400bps。这样就不会乱码了 ------------------------------
[单片机]
51<font color='red'>单片机</font>字符串口通信为什么乱码?终于找到原因了
使用proteus仿真STM32单片机的注意事项
第1点: 我们用户编写的代码,必须放在 user code begin 和 end 之间;否则,当我们修改stm32cubemx 项目的 配置时,再次生成代码,就会删除之前的代码;正确做法如下图所示: 我们用户编写的代码,必须放在 user code begin 和 end 之间 第2点: 在proteus中,电源需要更改成3.3V,VDDA添加到电源VCC/GND中去;VSSA添加到GND中去;如下图所示: 电源需要改成3.3V 第3点: HAL_Delay(__IO uint32_t Delay)延时函数在stm32f1xx_hal.c里面,该函数能实现ms级别的延时;该函数体前面有一个关键字__weak,该关键字简
[单片机]
使用proteus仿真STM32<font color='red'>单片机</font>的注意事项
MCU巨头,血拼GPU性能
曾经,MCU是电子产品的控制核心,GPU是图像世界的掌控者,二者在过去很少有交集。随着越来越多图形处理需求,MCU中放GPU,已经不是什么新鲜操作。 最近一段时间,边缘AI概念的兴起,以及汽车图形显示性能的提升,越来越多的MCU厂商开始“卷”图像处理性能。 MCU的图形历史 在那个没有GPU的时代,所有图形还都是交给CPU绘制。虽然这没什么问题,但随着显示图形图像愈发复杂,CPU越来越力不从心。对计算机来说,低效率带来的就是延迟和卡顿,整体功耗也会随之攀升,GPU便应运而生,将CPU从繁重的图形计算任务中拯救了出来。 MCU也有类似的发展历程。早期MCU极少有图形显示的需求,即便有,也只是简单的12864之类
[单片机]
<font color='red'>MCU</font>巨头,血拼GPU性能
单片机stm32 USART串口实际应用解析
  stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm32的视频资料便于学习参考。   什么是串口   UART : Universal Asynchronous Receiver/Transmitter 通用异步收发器   USART : Universal Synchronous Asynchronous Receiver/Transmitter   通用同步/异步收发器   一种是常用也是最简单的串行数据传输协议。数据线只需要两根就可以实现全双工。   Tx: 发送数据线
[单片机]
STM32单片机智能电饭煲系统设计方案
一、功能简介 本项目使用Proteus8.12仿真STM32单片机控制器,使用继电器加热/保温模块、数码管模块、按键模块、LED指示灯、蜂鸣器模块等。 主要功能: 系统运行后,数码管默认不显示,当按下K5键选择功能模式,此时数码管会显示对应模式所需时间,且LED指示灯工作,系统默认有煮饭、煮粥、蒸、煲汤四种功能,还可按下K6键设置预约时间,通过K2和K3键修改时间,当设置好时间后,按下K4键开始,预约时间开始倒计时,当时间达到后,继电器开启加热,在所选功能时间倒计时结束后停止加热,开启保温。若不需要保温,可按下K1键关闭。 主要功能如下: (1)功能:煮饭、煮粥、蒸、煲汤; (2)按键:开始、取消、功能、加减、预约; 二、
[单片机]
STM32<font color='red'>单片机</font>智能电饭煲系统设计方案
MCS-51系列单片机存储器结构
由于采用改进型哈佛架构,51单片机具备独立的程序存储器ROM、数据存储器RAM,两者地址空间独立,且独立编址,如下是单片机的存储器结构图。 程序存储器ROM,用于存储用户代码,由于程序计数器PC是16位的,因此系统具备64kB寻址能力,地址空间为0x0000 ~ 0xFFFF,厂商在单片机内部实现一部分程序存储器,例如4kB、8kB,剩余的根据用户需要可以外部扩展。访问程序存储器使用MOVC A, @A + DPTR,MOVC A, @A + PC指令,只能进行读取访问,无法写入。 数据存储器分为RAM和外部RAM,两者地址空间独立,且独立编址。以子系列52为例,由于具备256B寻址能力,编址空间为0x00~0xFF。RAM除
[单片机]
51单片机的工作原理
51单片机与很多单片机的工作原理是一致的,而且都遵循冯诺依曼架构,即就是数据区和代码区是区分开来的。在单片机中的具体表现就是程序ROM区和数据RAM区。 本文将以应用最广泛的51单片机为例来解析单片机的工作原理。 一、微处理器 主要包括ALU(算数逻辑运算单元)和控制部件。 先来说ALU,它执行的是单片机的数学运算(如:+、-、*、/、%、 、 、++、--等等)。逻辑运算单元执行单片机的逻辑运算(如:与、或、非、==、!、!=、同或、异或、||、&&等等)。其实说到这里,我们很容易就能想到C语言也是在执行以上这些逻辑运算和数学运算。 再来看一下控制部件,它是控制单片机的程序计数器PC向程序存储器获取指令和操作数的
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved