基于PIC16F73/PIC16F873单片机的步进电机驱动器
1
拍明芯城
基于PIC16F73/PIC16F873单片机的步进电机驱动器详细设计
步进电机作为一种将电脉冲信号转化为角位移的执行元件,在工业自动化、机器人、3D打印、数控机床等领域得到了广泛应用。其具有定位精度高、无累积误差、控制简单等优点,而基于单片机的步进电机驱动器能够灵活地实现各种复杂的控制策略,满足不同应用场景的需求。PIC16F73和PIC16F873是Microchip公司推出的两款8位单片机,它们具有丰富的外设资源、较高的性价比和较强的抗干扰能力,非常适合用于步进电机驱动器的设计。本文将详细介绍基于这两款单片机的步进电机驱动器的设计过程,包括优选元器件型号、器件作用、选择原因以及元器件的功能等内容。

一、系统总体设计概述
基于PIC16F73/PIC16F873单片机的步进电机驱动器主要由控制电路、驱动电路、电源电路、显示与按键处理电路以及抗干扰电路等部分组成。单片机作为系统的核心,负责产生步进电机的控制脉冲序列,控制电机的启动、停止、正反转以及加减速等运动状态。驱动电路则将单片机输出的弱电信号进行功率放大,以驱动步进电机正常运转。电源电路为整个系统提供稳定的电源,确保各部分电路正常工作。显示与按键处理电路用于实现人机交互,方便用户设置电机的工作参数和查看运行状态。抗干扰电路则用于提高系统的抗干扰能力,保证系统在复杂的电磁环境下稳定可靠地运行。
二、优选元器件型号及详细介绍
(一)控制芯片:PIC16F73/PIC16F873单片机
1. 型号选择原因
PIC16F73和PIC16F873单片机具有以下特点,使其非常适合用于步进电机驱动器的设计:
丰富的外设资源:两款单片机都集成了多个定时器、捕捉/比较/PWM模块、SPI/I²C通信接口、USART异步串行通信接口以及ADC模块等。这些外设资源可以方便地实现步进电机的脉冲输出、速度控制、方向控制、通信以及参数检测等功能。例如,定时器可以用于产生精确的脉冲序列,PWM模块可以用于实现电机的调速,ADC模块可以用于检测电机的电流、电压等参数。
较高的性价比:与一些高端的单片机相比,PIC16F73和PIC16F873价格相对较低,但功能却能够满足步进电机驱动器的基本需求。这使得在保证系统性能的前提下,可以有效降低系统的成本,提高产品的市场竞争力。
较强的抗干扰能力:Microchip公司的PIC系列单片机采用了独特的哈佛总线结构和精简指令集(RISC)技术,具有较高的执行效率和较强的抗干扰能力。在工业环境中,电磁干扰较为严重,较强的抗干扰能力可以保证系统的稳定可靠运行,减少故障发生的概率。
开发方便:Microchip公司提供了丰富的开发工具和软件库,如MPLAB X IDE集成开发环境、PICkit系列编程器/调试器等,方便开发者进行程序的编写、调试和下载。同时,网上也有大量的相关资料和示例代码可供参考,缩短了开发周期,降低了开发难度。
2. 主要功能
程序存储器:PIC16F73具有4KB的FLASH程序存储器,PIC16F873具有8KB的FLASH程序存储器,可以存储用户编写的控制程序,满足不同复杂度控制算法的需求。
数据存储器:PIC16F73具有192字节的RAM数据存储器,PIC16F873具有368字节的RAM数据存储器,用于存储程序运行过程中的临时数据。此外,两款单片机都集成了128字节的EEPROM数据存储器,可用于存储一些需要长期保存的参数,如电机的加减速曲线参数、运行速度设置等。
定时器:两款单片机都集成了3个定时器(Timer0/1/2),定时器可以用于产生精确的时间间隔,从而实现步进电机的脉冲输出和速度控制。例如,通过定时器中断可以产生固定频率的脉冲序列,控制电机的转速;通过改变定时器的计数值,可以实现电机的加减速控制。
捕捉/比较/PWM模块:该模块可以用于捕捉外部信号的边沿时间、比较输入信号与设定值以及产生PWM信号。在步进电机驱动器中,可以利用PWM模块实现电机的调速功能,通过改变PWM信号的占空比,调节电机的平均电压,从而控制电机的转速。
通信接口:PIC16F73和PIC16F873都支持SPI/I²C通信接口和USART异步串行通信接口。SPI/I²C接口可以用于与外部设备进行高速数据传输,如与显示驱动芯片、传感器等进行通信;USART接口可以用于与上位机进行通信,实现远程控制和数据传输。
ADC模块:PIC16F73具有5路8位ADC通道,PIC16F873具有5路10位ADC通道,可以用于将外部的模拟信号转换为数字信号。在步进电机驱动器中,可以利用ADC模块检测电机的电流、电压等参数,实现对电机的过流、过压保护等功能。
(二)驱动芯片:ULN2003A达林顿晶体管阵列
1. 型号选择原因
在步进电机驱动器中,单片机输出的脉冲信号功率较小,无法直接驱动步进电机,需要使用驱动芯片对信号进行功率放大。ULN2003A是一款常用的达林顿晶体管阵列驱动芯片,具有以下优点,使其适合用于步进电机驱动:
高电流增益:ULN2003A内部集成了7个达林顿晶体管,每个晶体管都具有较高的电流增益,能够将单片机输出的微弱电流信号放大为较大的电流信号,从而驱动步进电机的绕组。
大电流驱动能力:该芯片能够承受较大的负载电流,每个通道的最大输出电流可达500mA,峰值电流可达600mA,可以满足大多数小功率步进电机的驱动需求。
内置续流二极管:ULN2003A的每个输出通道都内置了续流二极管,当晶体管关断时,续流二极管可以为电机绕组中的感应电流提供泄放回路,防止感应电流对晶体管造成损坏,提高了驱动芯片的可靠性和稳定性。
低成本:ULN2003A价格相对较低,具有较高的性价比,适合在成本敏感的应用中使用。
2. 主要功能
ULN2003A主要用于将单片机输出的逻辑电平信号转换为能够驱动步进电机绕组的大电流信号。其输入端可以与单片机的I/O口直接相连,接收单片机输出的脉冲信号;输出端则与步进电机的绕组相连,为电机绕组提供驱动电流。当单片机的I/O口输出高电平时,对应的达林顿晶体管导通,电机绕组中有电流流过;当单片机的I/O口输出低电平时,晶体管关断,电机绕组中的电流通过续流二极管泄放。
(三)电源芯片:LM7805三端稳压器
1. 型号选择原因
步进电机驱动器需要稳定的电源为单片机、驱动芯片以及其他电路提供工作电压。LM7805是一款常用的三端稳压器,具有以下特点,使其适合用于系统的电源稳压:
输出电压稳定:LM7805能够将输入的直流电压稳定在5V,输出电压精度较高,能够满足单片机和其他数字电路对电源电压的要求。
输入电压范围宽:该芯片的输入电压范围较宽,一般为7V - 35V,可以适应不同输入电源的变化,提高了系统的适应性。
过载保护:LM7805具有过载保护功能,当输出电流超过额定值时,芯片会自动限制输出电流,防止芯片因过热而损坏,提高了系统的可靠性。
使用简单:LM7805只需要在输入端和输出端分别连接滤波电容,即可正常工作,电路设计简单,成本较低。
2. 主要功能
LM7805主要用于将输入的直流电压转换为稳定的5V直流电压,为单片机、驱动芯片以及其他数字电路提供工作电源。输入的直流电压经过LM7805稳压后,输出电压的波动较小,能够保证系统的稳定运行。
(四)显示驱动芯片:ZLG7289A
1. 型号选择原因
为了实现人机交互,方便用户设置电机的工作参数和查看运行状态,步进电机驱动器需要配备显示和按键处理电路。ZLG7289A是一款具有SPI串行接口功能的智能显示驱动芯片,具有以下优点,使其适合用于该系统:
串行接口:ZLG7289A采用串行方式与单片机通信,只需要占用单片机少量的I/O口资源,即可实现显示和按键处理功能。与并行接口相比,串行接口接线灵活,占用单片机资源少,系统结构简化,易于形成用户的模块化结构。
功能强大:该芯片可以同时驱动8位共阴式数码管或64只独立LED,并且具有键盘扫描功能,能够检测多个按键的状态。在步进电机驱动器中,可以使用数码管显示电机的工作参数,如转速、转向等;使用按键设置电机的运行模式、加减速曲线等参数。
抗干扰能力强:ZLG7289A内部具有硬件抗干扰电路,能够有效地抑制外界干扰对芯片工作的影响,提高了系统的稳定性和可靠性。
开发方便:ZLG7289A提供了丰富的应用示例和开发文档,开发者可以方便地根据文档进行程序编写和调试,缩短了开发周期。
2. 主要功能
ZLG7289A主要用于实现步进电机驱动器的显示和按键处理功能。其SPI接口与单片机的SPI通信接口相连,通过串行通信方式与单片机进行数据传输。单片机可以将需要显示的数字或字符发送给ZLG7289A,由该芯片驱动数码管进行显示;同时,ZLG7289A可以实时扫描按键的状态,并将按键信息通过SPI接口反馈给单片机,单片机根据按键信息进行相应的处理。
(五)光耦隔离芯片:TLP521
1. 型号选择原因
在步进电机驱动器中,为了防止电机产生的电磁干扰对单片机等敏感电路造成影响,需要在单片机与驱动电路之间进行电气隔离。TLP521是一款常用的光耦隔离芯片,具有以下特点,使其适合用于该系统的隔离:
电气隔离性能好:TLP521利用光电耦合原理实现电气隔离,能够将输入和输出之间的电气连接完全断开,有效地防止了干扰信号的传递,提高了系统的抗干扰能力。
传输速度快:该芯片的传输速度较快,能够满足步进电机控制信号的传输要求,确保控制信号的及时、准确传输。
成本低:TLP521价格相对较低,具有较高的性价比,适合在成本敏感的应用中使用。
使用方便:TLP521的引脚排列简单,使用方便,只需要在输入端和输出端分别连接适当的电阻,即可正常工作。
2. 主要功能
TLP521主要用于实现单片机与驱动电路之间的电气隔离。单片机的I/O口输出的控制信号作为TLP521的输入信号,经过光电耦合后,从输出端输出隔离后的信号,该信号再连接到驱动芯片的输入端,从而控制驱动芯片的工作状态。通过光耦隔离,可以有效地防止电机产生的电磁干扰对单片机造成影响,保证单片机的稳定运行。
三、系统硬件电路设计
(一)控制电路设计
控制电路以PIC16F73/PIC16F873单片机为核心,包括晶振电路、复位电路、电源电路等部分。晶振电路为单片机提供稳定的时钟信号,确保单片机能够按照预定的频率运行。复位电路用于在系统上电或出现故障时对单片机进行复位操作,使单片机恢复到初始状态。电源电路为单片机提供稳定的工作电压,保证单片机的正常工作。
(二)驱动电路设计
驱动电路主要由ULN2003A驱动芯片和相关的电阻、电容等元件组成。单片机的I/O口输出的脉冲信号经过光耦隔离后,连接到ULN2003A的输入端,ULN2003A将输入的脉冲信号进行功率放大后,输出到步进电机的绕组,驱动电机运转。在驱动电路中,还需要在电机绕组两端并联适当的电容,用于吸收电机绕组中的感应电流,减少电磁干扰。
(三)电源电路设计
电源电路采用LM7805三端稳压器将输入的直流电压转换为稳定的5V直流电压,为单片机、驱动芯片以及其他数字电路提供工作电源。在输入端和输出端分别连接滤波电容,用于滤除电源中的杂波,提高电源的稳定性。
(四)显示与按键处理电路设计
显示与按键处理电路采用ZLG7289A智能显示驱动芯片实现。ZLG7289A的SPI接口与单片机的SPI通信接口相连,数码管的段选和位选引脚分别连接到ZLG7289A的相应引脚,按键矩阵连接到ZLG7289A的键盘扫描引脚。单片机通过SPI接口与ZLG7289A进行通信,实现数码管的显示和按键的扫描功能。
(五)抗干扰电路设计
为了提高系统的抗干扰能力,在硬件电路设计中采取了以下抗干扰措施:
电源抗干扰:在电源输入端和输出端分别连接电解电容和瓷片电容进行滤波,减少电源中的杂波干扰。同时,将数字电源和模拟电源分开布线,并在适当的位置进行单点连接,避免数字信号和模拟信号之间的相互干扰。
信号线抗干扰:在信号传输线上采用屏蔽线或双绞线,减少外界电磁干扰对信号的影响。对于重要的信号线,如单片机的复位信号线、晶振信号线等,尽量缩短走线长度,并远离干扰源。
接地抗干扰:将系统的地分为数字地和模拟地,数字地和模拟地分别布线,最后在主接触地点进行单点连接。同时,将不同电路功能区域的地分开走线,减少地线上的公共阻抗干扰。
隔离抗干扰:在单片机与驱动电路之间采用光耦隔离芯片进行电气隔离,防止电机产生的电磁干扰对单片机造成影响。
四、系统软件设计
(一)主程序设计
主程序是系统的核心程序,负责完成系统的初始化、参数设置、电机控制等功能。主程序的流程如下:
系统初始化:包括单片机的初始化、定时器的初始化、SPI通信接口的初始化、ZLG7289A的初始化等。
参数设置:通过按键和数码管显示界面,设置电机的工作参数,如转速、转向、加减速曲线等。
电机控制:根据设置的参数,控制电机启动、停止、正反转以及加减速等运动状态。在电机运行过程中,实时监测电机的电流、电压等参数,进行过流、过压保护。
显示更新:根据电机的运行状态,实时更新数码管的显示内容,显示电机的工作参数和运行状态。
循环等待:主程序在完成上述操作后,进入循环等待状态,等待中断事件的发生。
(二)中断服务程序设计
中断服务程序用于处理定时器中断、按键中断等事件。定时器中断用于产生步进电机的控制脉冲序列,控制电机的转速和加减速。按键中断用于检测按键的状态,当有按键按下时,进入相应的按键处理程序,修改电机的工作参数。
(三)加减速控制算法设计
为了使步进电机在启动、停止和加减速过程中能够平稳运行,避免失步和过冲现象的发生,需要采用合适的加减速控制算法。本文采用指数型加减速控制算法,该算法能够根据电机的矩频特性曲线,合理地调整脉冲频率的变化率,使电机在加减速过程中能够获得足够的转矩,从而实现平稳运行。
指数型加减速控制算法的基本原理是根据电机的动力学方程和矩频特性曲线,建立电机的转速与时间的关系模型,然后根据该模型计算出每个时间点的脉冲频率,从而控制电机的加减速过程。在实际应用中,为了提高算法的实时性和计算效率,可以采用查表法来实现指数型加减速控制。即预先计算出不同加减速阶段对应的脉冲频率值,并将其存储在数组中,在程序运行过程中,根据当前的加减速阶段从数组中读取相应的脉冲频率值,输出给电机驱动电路。
五、方案元器件采购找拍明芯城
拍明芯城(www.iczoom.com)提供型号查询、品牌、价格参考、国产替代、供应商厂家、封装、规格参数、数据手册等采购信息查询,同时提供PDF数据手册中文资料及引脚图及功能介绍。在基于PIC16F73/PIC16F873单片机的步进电机驱动器设计中,涉及的元器件如PIC16F73/PIC16F873单片机、ULN2003A驱动芯片、LM7805三端稳压器、ZLG7289A显示驱动芯片、TLP521光耦隔离芯片等,均可在拍明芯城进行查询和采购。拍明芯城丰富的产品信息和便捷的采购服务,能够为开发者提供有力的支持,帮助开发者快速完成元器件的选型和采购,缩短开发周期,降低开发成本。
六、结论
本文详细介绍了基于PIC16F73/PIC16F873单片机的步进电机驱动器的设计过程,包括优选元器件型号、器件作用、选择原因以及元器件的功能等内容。通过合理选择元器件和设计硬件电路、软件程序,实现了步进电机的精确控制,包括启动、停止、正反转以及加减速等功能。同时,采用了硬件、软件抗干扰技术措施,提高了系统的抗干扰能力和稳定性。该步进电机驱动器具有成本低、性能稳定、控制灵活等优点,适用于工业自动化、机器人、3D打印等领域的应用。在实际应用中,可以根据具体的需求对系统进行进一步的优化和改进,以满足不同应用场景的要求。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。

产品分类

2012- 2022 拍明芯城ICZOOM.com 版权所有 客服热线:400-693-8369 (9:00-18:00)