基于PIC16F873单片机的步进电机控制系统
1
拍明芯城
基于PIC16F873单片机的步进电机控制系统
引言
步进电机作为一种将电脉冲信号精确转换为机械角位移或线位移的开环或闭环控制系统执行元件,在现代工业自动化和精密控制领域占据着至关重要的地位。其独特的控制特性,使得在非超载情况下,电机的转速、停止位置仅取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,这一特性为众多需要精确位置和速度控制的场景提供了理想的解决方案。

PIC16F873单片机作为Microchip公司生产的一款高性能CMOS EPROM微控制器,凭借其丰富的内部资源、强大的功能以及高性价比,在步进电机控制系统中得到了广泛应用。该单片机基于精简指令集计算机(RISC)架构,拥有较少的指令集,却能在非常快的时钟周期内高效执行指令,为步进电机的精确控制提供了坚实的硬件基础。本文将深入探讨基于PIC16F873单片机的步进电机控制系统的设计,包括优选元器件型号、器件作用、选择原因以及元器件功能等关键内容,旨在为相关领域的设计人员提供全面且实用的参考。
系统整体架构概述
基于PIC16F873单片机的步进电机控制系统主要由控制芯片、驱动电路、显示与按键处理电路、电源电路以及步进电机等部分组成。PIC16F873单片机作为系统的核心,负责生成控制步进电机的脉冲序列、处理用户输入指令以及实现与上位机的通信等功能。驱动电路则将单片机输出的弱电信号转换为能够驱动步进电机工作的强电信号,确保电机能够按照预定的方式运行。显示与按键处理电路为用户提供了直观的操作界面,方便用户设置电机的工作参数和查看运行状态。电源电路为整个系统提供稳定可靠的电力支持,保证各部分电路正常工作。步进电机作为系统的执行元件,将电脉冲信号转换为机械运动,实现精确的位置和速度控制。
优选元器件型号及详细分析
控制芯片:PIC16F873
器件作用:PIC16F873单片机是整个步进电机控制系统的核心,承担着生成控制脉冲、处理用户输入、实现通信以及系统监控等重要任务。它通过内部的定时器和计数器精确控制脉冲的频率和数量,从而实现对步进电机转速和转向的控制。同时,利用其丰富的I/O端口与显示、按键以及上位机进行数据交互,完成参数设置和状态显示等功能。此外,单片机自带的硬件看门狗功能能够有效防止系统死机,提高系统的可靠性。
选择原因:PIC16F873单片机具有诸多优点,使其成为步进电机控制系统的理想选择。首先,它基于RISC架构,指令周期短,执行速度快,能够满足步进电机控制对实时性的严格要求。其次,该单片机内部资源丰富,具备6通道10位A/D转换功能,可方便地读取模拟信号,如通过电位器调节电机速度;拥有2路PWM输出,可用于实现电机的调速控制;8 KB容量的FLASH存储器和368 B容量的SRAM为程序存储和数据运算提供了足够的空间;3个定时器和1个SPI串行通信口则满足了系统对定时控制和通信的需求。再者,PIC16F873单片机抗干扰能力强,超低功耗,工作电压范围宽(2V至5.5V),适用于各种不同的工作环境,尤其是对功耗和可靠性要求较高的场合。
功能特性:PIC16F873单片机具有高速SPI通信端口,可实现与外部设备的高速数据传输,方便与显示驱动芯片等进行通信。其内部的模数转换器(ADC)能够将模拟信号转换为数字信号,为系统提供了读取模拟量输入的能力,例如通过外接电位器实现电机速度的连续调节。定时器/计数器功能可用于产生精确的定时信号,控制脉冲的发送频率,从而实现对电机转速的精确控制。此外,单片机还支持多种中断源和中断优先级,能够及时响应外部事件,增强系统的反应能力。
驱动电路关键元器件
功率MOSFET管:IRF540N
器件作用:在步进电机驱动电路中,功率MOSFET管作为开关元件,负责将单片机输出的控制信号转换为能够驱动电机绕组的大电流信号。IRF540N具有较高的电流承载能力和较低的导通电阻,能够有效地将电能传递到电机绕组,使电机产生足够的转矩。同时,其快速的开关特性能够满足步进电机对高频脉冲信号的要求,确保电机能够平稳运行。
选择原因:IRF540N功率MOSFET管具有诸多适合步进电机驱动的优点。其额定电流可达33A,额定电压为100V,能够满足大多数步进电机的驱动需求。导通电阻仅为0.04Ω,在导通状态下能够减少功率损耗,提高系统的效率。此外,IRF540N具有快速的开关速度,开通和关断时间短,能够更好地跟随单片机输出的脉冲信号,减少电机的失步和振动。
功能特性:IRF540N功率MOSFET管采用N沟道增强型结构,具有高输入阻抗和低输出阻抗的特点。其栅极电容的存在使得对栅极的驱动电流表现为对电容的充、放电过程。通过合理设计驱动电路,可以改进其快速开通时间,减少前级门电路上的功耗,提高驱动电流的前后沿陡度,从而改善高频响应。同时,为防止栅源间过压损坏器件,在栅源间并接了稳压值为15V的齐纳二极管,起到过压保护作用。
快恢复二极管:FR107
器件作用:在驱动电路中,快恢复二极管起着至关重要的作用。反并联的快恢复二极管为电机相绕组提供续流通路,当功率MOSFET管关断时,绕组中的电流通过该二极管续流,避免产生过高的反电动势损坏功率管。另外两只快恢复二极管则用于防止功率MOSFET管内部的快恢复二极管流过反向电流,保证功率MOSFET管在动态工作时能够正常开关。
选择原因:FR107快恢复二极管具有快速恢复特性,其反向恢复时间短,能够满足步进电机驱动电路对高频开关的要求。在功率MOSFET管关断瞬间,绕组中的电流会迅速变化,产生较高的反电动势。FR107能够快速导通,为电流提供续流通路,有效抑制反电动势,保护功率管和其他电路元件。同时,其具有较高的反向耐压和正向导通电流能力,能够适应驱动电路的工作条件。
功能特性:FR107快恢复二极管具有快速的反向恢复特性,能够在极短的时间内从导通状态转变为截止状态,减少反向恢复电荷对电路的影响。其反向耐压可达700V,正向平均电流为1A,能够满足步进电机驱动电路对二极管的基本参数要求。在电路中,合理布局和连接快恢复二极管,能够充分发挥其保护作用,提高驱动电路的可靠性和稳定性。
显示与按键处理电路元器件
显示驱动芯片:ZLG7289A
器件作用:ZLG7289A是一款具有SPI串行接口功能的智能显示驱动芯片,可同时驱动8位共阴式数码管或64只独立LED。在步进电机控制系统中,它主要负责完成LED显示和键盘接口的全部功能。通过与PIC16F873单片机进行串行通信,接收单片机发送的显示数据,并将其转换为相应的段码和位码,驱动数码管显示电机的工作参数,如转速、转向等。同时,ZLG7289A还能够检测键盘的输入状态,将按键信息通过串行接口反馈给单片机,实现用户与系统之间的交互。
选择原因:ZLG7289A具有诸多优点,使其成为显示与按键处理电路的理想选择。首先,它采用串行方式与微处理器通信,相对于并行方式,接线灵活,占用单片机资源少,系统结构简化,易于形成用户的模块化结构。其次,ZLG7289A能够同时完成显示和键盘接口功能,无需额外的锁存器、驱动器、寄存器等元件,节省了硬件成本和电路板空间。此外,该芯片耗电较小,软件设计中也无需进行显示译码,省去了静态显示扩展芯片,大大节省了MCU的占用时间,提高了系统的整体效率。
功能特性:ZLG7289A具有SPI串行接口,串行数据从DIO引脚送入芯片,并由CLK端同步。当选信号变为低电平后,DIO引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。它能够直接驱动共阴式数码管,支持多种显示模式和键盘扫描方式。通过合理的编程设置,可以实现数码管的动态显示和键盘的防抖处理,提高系统的显示效果和按键操作的可靠性。
按键:4×4矩阵键盘
器件作用:4×4矩阵键盘为用户提供了输入指令的接口,通过按键操作,用户可以设置步进电机的工作方式、转速、转向等参数,实现对电机的灵活控制。例如,通过按键可以选择电机的正转、反转、停止等操作,还可以设置电机的加速、减速模式以及具体的转速值。
选择原因:4×4矩阵键盘具有按键数量多、占用I/O端口少的优点。在步进电机控制系统中,需要设置多种工作参数和操作指令,因此需要较多的按键。采用4×4矩阵键盘可以在满足按键需求的同时,减少对单片机I/O端口的占用,节省硬件资源。此外,矩阵键盘的布局整齐,便于用户操作和识别。
功能特性:4×4矩阵键盘由16个按键组成,通过行和列的交叉连接形成矩阵结构。单片机通过扫描行和列的电平状态,检测按键的按下情况,并根据预设的编码规则确定按键对应的操作指令。在软件设计中,需要对按键进行消抖处理,以避免按键抖动引起的误操作,提高系统的可靠性。
电源电路元器件
电解电容:100μF/25V
器件作用:在电源电路中,电解电容主要用于电源输入端的滤波,去除电源中的低频纹波和噪声,为系统提供稳定的直流电源。100μF/25V的电解电容具有较大的电容量,能够有效地平滑电源电压的波动,保证电源输出的稳定性。
选择原因:选择100μF/25V的电解电容是基于电源电路的需求。该电容的容量能够满足对电源低频纹波的滤波要求,同时其耐压值25V大于电源输入电压,保证了电容在正常工作时的安全性。此外,这种规格的电解电容在市场上较为常见,价格适中,易于采购。
功能特性:电解电容具有极性,在电路中需要注意正负极的正确连接。其内部采用电解液作为介质,具有较大的电容量和较低的等效串联电阻(ESR),能够在较低的频率下有效地滤波。在电源电路中,电解电容与高频瓷片电容配合使用,能够实现对电源不同频率成分的滤波,提高电源的质量。
高频瓷片电容:0.1μF
器件作用:高频瓷片电容主要用于电源电路中的高频滤波,去除电源中的高频噪声和干扰。在集成电路的电源输入端和接地端之间连接0.1μF的高频瓷片电容,能够有效地抑制电源线上的高频瞬态干扰,提高集成电路的供电质量,确保其正常工作。
选择原因:0.1μF的高频瓷片电容具有较小的电容量和较低的等效串联电感(ESL),对高频信号呈现低阻抗特性,能够快速响应高频噪声的变化,将其旁路到地,从而起到高频滤波的作用。这种规格的瓷片电容体积小、价格低,广泛应用于各种电子电路的高频滤波。
功能特性:高频瓷片电容采用陶瓷介质,具有稳定性好、温度系数小、绝缘电阻高等优点。其频率特性良好,在高频范围内能够保持较低的阻抗,有效地滤除高频噪声。在电源电路中,合理布局高频瓷片电容的位置,使其尽量靠近集成电路的电源引脚,能够提高滤波效果。
系统硬件电路设计
控制电路设计
控制电路以PIC16F873单片机为核心,通过合理的引脚分配和电路连接,实现与驱动电路、显示与按键处理电路以及电源电路的通信和控制。单片机的RA0口外接4.7kΩ的可调电位器,利用单片机内部的模数转换功能将电位器的模拟电压信号转换为数字量,进而控制输出脉冲频率的高低,实现步进电机速度的“连续”调节。过流检测的结果直接引入到RB6引脚,通过中断方式实现对电流的快速控制,当检测到电机电流过大时,单片机及时采取措施,如降低脉冲频率或停止电机运行,保护电机和驱动电路。
驱动电路设计
驱动电路采用分立元件构成功率MOSFET管驱动电路,以IRF540N功率MOSFET管为核心,配合FR107快恢复二极管等元件,实现对步进电机绕组的驱动。由于功率MOSFET管栅极电容的存在,驱动电路需要提供足够的电流对栅极电容进行充、放电,以实现快速开通和关断。图中电路通过合理设计,改进了功率MOSFET管的快速开通时间,减少了前级门电路上的功耗,提高了驱动电流的前后沿陡度,从而改善了高频响应。同时,为防止栅源间过压损坏器件,在栅源之间并接了稳压值为15V的齐纳二极管,起到过压保护作用。反并联的快恢复二极管为电机相绕组提供续流通路,另外两只快恢复二极管防止功率MOSFET管内部的快恢复二极管流过反向电流,保证功率MOSFET管在动态工作时能够正常开关。
显示与按键处理电路设计
显示与按键处理电路采用ZLG7289A智能显示驱动芯片实现LED显示和键盘接口功能。ZLG7289A通过SPI串行接口与PIC16F873单片机进行通信,串行数据从DIO引脚送入芯片,并由CLK端同步。当选信号变为低电平后,DIO引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。电路中仅采用4×4键盘和4位数码管,已完全满足设计需要。4×4矩阵键盘通过行和列的交叉连接形成矩阵结构,单片机通过扫描行和列的电平状态,检测按键的按下情况,并根据预设的编码规则确定按键对应的操作指令。数码管采用共阴式连接方式,与ZLG7289A的驱动输出端相连,实现电机工作参数的显示。
电源电路设计
电源电路为整个系统提供稳定可靠的电力支持,采用交流转直流电源模块将市电转换为系统所需的直流电压。在电源输入端,并联100μF/25V的电解电容和0.1μF的高频瓷片电容进行滤波,去除电源中的低频纹波和高频噪声。电解电容主要用于平滑电源电压的波动,高频瓷片电容则用于抑制电源线上的高频瞬态干扰。经过滤波后的直流电源为PIC16F873单片机、驱动电路、显示与按键处理电路等提供工作电压,确保各部分电路正常工作。
系统软件设计
主程序设计
主程序是系统的核心控制程序,负责初始化系统各部分参数、调用各个功能模块以及实现系统的整体调度。在主程序中,首先对PIC16F873单片机的各个寄存器进行初始化设置,包括定时器、中断、SPI通信接口等。然后初始化显示与按键处理电路,通过ZLG7289A芯片设置数码管的显示模式和初始显示内容,并对键盘进行扫描初始化。接着,根据系统默认参数或用户设置参数,初始化步进电机的控制参数,如初始转速、转向等。完成初始化后,主程序进入一个无限循环,不断检测键盘输入、处理中断事件以及更新电机控制参数和显示内容,实现系统的实时控制和监测。
加减速优化设计
在实际应用中,步进电机在升降速时,脉冲频率的变化不合理会导致电机失步或者过冲,使系统无法做到精确定位。同时,由于系统快速性的要求,电机需要很快地完成加减速过程。因此,采用指数型加减速优化控制方法,通过分析步进电机的动力学方程,结合电机的矩频特性曲线,计算得到加减速运行时每步所走的速度台阶,实现步进电机的平滑加减速。在软件设计中,利用牛顿迭代法和Matlab中的m - file编程,计算加减速曲线,并根据实际系统情况进行优化调整。通过合理设置加减速过程中的脉冲频率变化,避免电机在加速过程中因转矩不足而失步,以及在减速过程中因惯性过大而过冲,提高系统的定位精度和稳定性。
中断服务程序设计
中断服务程序用于处理系统中的各种中断事件,如过流检测中断、定时器中断等。当过流检测电路检测到电机电流过大时,向单片机的RB6引脚发送中断信号,单片机响应中断,进入过流检测中断服务程序。在中断服务程序中,首先停止发送脉冲信号,使电机停止运行,然后通过显示电路显示过流报警信息,提醒用户检查电机和驱动电路。定时器中断用于实现步进电机的定时控制,根据设定的加减速曲线和运行时间,定时更新脉冲频率,控制电机的转速和运行时间。在定时器中断服务程序中,根据当前的时间和加减速参数,计算下一个时间点的脉冲频率,并更新定时器的初值,实现精确的定时控制。
显示与按键处理程序设计
显示与按键处理程序负责实现数码管的显示更新和键盘的扫描处理。在显示处理程序中,根据系统当前的状态和参数,将需要显示的数据转换为相应的段码和位码,通过SPI接口发送给ZLG7289A芯片,驱动数码管显示。同时,根据系统的运行情况,实时更新显示内容,如电机的转速、转向、运行时间等。键盘扫描处理程序采用定时扫描的方式,定期检测键盘的行和列电平状态,判断是否有按键按下。当检测到按键按下时,进行消抖处理,确认按键的有效性后,根据预设的编码规则确定按键对应的操作指令,并更新系统的相关参数或执行相应的操作。
系统抗干扰设计
硬件抗干扰设计
电源抗干扰:在电源输入端,采用电解电容与高频瓷片电容并联去耦的方式,去除电源中的低频纹波和高频噪声。同时,在集成电路的电源输入端和接地端之间也接0.01μF陶瓷电容和0.1μF瓷片去耦电容,进一步抑制电源噪声对集成电路的影响。此外,合理布局电源走线,尽量减小供电环路面积,降低电源噪声的产生。对大电流的走线,尽可能将它们的宽度加粗,使传输压降减到最低。
合理布线:在PCB设计中,遵循合理布线的原则,将不同电路功能区域的地分开走线,最后汇到主接触地点。数字地与模拟地应分开布线、单点连接,避免数字信号和模拟信号之间的相互干扰。电源线尽可能与地线平行,以减小供电环路面积,降低电源噪声的产生。同时,注意信号线的走向和布局,避免信号线之间的交叉干扰,尽量减小信号线的长度,提高信号的传输质量。
电机驱动电路抗干扰:为了防止电机产生的噪声引起干扰,将单片机定时控制电路和电机控制电路分成两块电路板,这样有利于抗干扰,并提高电控板的可靠性。电机驱动信号由PIC16F873智能运算后加至电机驱动器,通过电平转换芯片输出。MCU的几个输出端口加接光电耦合电路,“耦合”两边的“地”分割开来,隔离电机驱动电路和单片机控制电路之间的电气连接,减少噪声干扰。电机的电源引线不要和其他引线捆扎在一起,避免绕过或覆盖电控板上的元器件而产生对复位信号的干扰,引起单片机死机。
软件抗干扰设计
数字滤波:在读取模拟量输入信号,如通过电位器调节电机速度时,采用数字滤波算法对采集到的数据进行处理,去除噪声干扰。常用的数字滤波算法有算术平均滤波、中值滤波、滑动平均滤波等。通过选择合适的数字滤波算法,可以有效提高数据的准确性和稳定性。
软件陷阱:在程序的关键位置设置软件陷阱,当程序跑飞时,能够使程序迅速恢复到正常运行状态。软件陷阱通常设置在未使用的中断向量区、未使用的程序空间以及程序区的跳转指令之后等位置。当程序意外进入这些区域时,软件陷阱将程序引导到一个固定的地址,执行出错处理程序,重新初始化系统并恢复正常运行。
看门狗技术:PIC16F873单片机自带硬件看门狗功能,在软件设计中合理配置看门狗定时器,定期对看门狗定时器进行清零操作。当程序正常运行时,看门狗定时器不会溢出;而当程序因干扰等原因跑飞时,无法及时清零看门狗定时器,导致看门狗定时器溢出,产生复位信号,使系统重新启动,恢复正常运行。
结论
基于PIC16F873单片机的步进电机控制系统通过合理选择优选元器件,并充分发挥各元器件的功能,实现了步进电机的精确控制。PIC16F873单片机作为系统核心,凭借其丰富的内部资源和强大功能,为系统提供了稳定可靠的控制平台。驱动电路中的功率MOSFET管和快恢复二极管等元器件协同工作,确保了电机能够获得足够的驱动电流,实现平稳运行。显示与按键处理电路采用ZLG7289A智能显示驱动芯片,简化了硬件设计,提高了系统的交互性。电源电路为系统提供了稳定的电力支持,保证了各部分电路正常工作。在软件设计方面,通过加减速优化、中断处理、显示与按键处理等程序模块,实现了系统的实时控制和监测。同时,采用硬件和软件抗干扰设计措施,提高了系统的可靠性和稳定性。该系统具有成本低、性能稳定、控制精度高等优点,广泛应用于各种需要精确位置和速度控制的场合,如工业自动化生产线、机器人、数控机床等领域。
方案元器件采购找拍明芯城www.iczoom.com 拍明芯城提供型号查询、品牌、价格参考、国产替代、供应商厂家、封装、规格参数、数据手册等采购信息查询PDF数据手册中文资料_引脚图及功能
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。

产品分类

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