基于Arduino的直流电机转速控制系统的制作方法

文档序号:16424121发布日期:2018-12-28 19:33阅读:4391来源:国知局
基于Arduino的直流电机转速控制系统的制作方法

本实用新型属于电机领域,涉及一种直流电机转速控制系统。



背景技术:

直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。正是这些技术的进步使直流调速系统发生翻天覆地的变化。其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并正向全数字控制方向快速发展。电动机的驱动部分所用的功率器件亦经历了几次更新换代。目前开关速度更快、控制更容易的全控型功率器件MOSFET(金氧半场效晶体管)和IGBT(绝缘栅双极型晶体管)成为主流。功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。脉宽调制控制方法在直流调速中获得了广泛的应用。

1964年把PWM技术(脉宽调制技术)应用到电机传动中从此为电机传动的推广应用开辟了新的局面。进入70年代以来,体积小、耗电少、成本低、速度快、功能强、可靠性高的大规模集成电路微处理器已经商品化,把电机控制推上了一个崭新的阶段,以微处理器为核心的数字控制(简称微机数字控制)成为现代电气传动系统控制器的主要形式。PWM常取代数模转换器(DAC)用于功率输出控制,其中,直流电机的速度控制是最常见的应用。通常PWM配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。在直流电动机的控制中,主要使用定频调宽法。

目前,电机调速控制模块主要有以下三种:

(1)采用电阻网络或数字电位器调整直流电机的分压,从而达到调速的目的;

(2)采用继电器对直流电机的开或关进行控制,通过开关的切换对电机的速度进行调整;

(3)采用由IGBT管组成的H型PWM电路。用单片机控制IGBT管使之工作在空比可调的开关状态,精确调整电动机转速。

传统直流电机控制系统是基于PWM脉冲宽度调制控制直流电机转速的调速和控速,该方案的基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。该方案所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比,这是一个开环的转速控制系统,无法达到电机转速稳定的状态,只能使转速达到相对稳定的状态。

多数的Arduino控制器都是基于Atmel公司的AVR系列单片机的,AVR单片机的片内资源非常的丰富,有ADC、定时器、外部中断、SPI、IIC、PWM等功能,且Arduino控制器的PWM采用的是定时器相位修正PWM(频率约为490Hz)和快速PWM(频率约为980Hz),这也就导致了全部的定时器都被被占用了,从而不能很方便的使用定时器设置一个中断来实现一个周期的任务,而一般需要通过读取系统已运行时间来判断定时时间是否已经达到。例如,通过增量式编码器来测量电机的转速,常规的单片机的程序架构是通过定时器来实现精确的时间定时,并使用外部中断来实现对脉冲数目的计数,然后计算出一定时间内脉冲的数目,从而得到转速数值并输出。直流电机是Arduino机器人制作中的主要动力来源,但是由于电机的参数一致性有所差别,即使是相同型号的电机在相同电压下的转速都不完全相同,而且在带负载或负载不同的情况下,更加会导致电机转速发生变化,这就会导致制作的Arduino轮式机器人不能实现直线行走,是一个开环控制,没有任何反馈信号返回。



技术实现要素:

为了解决开环控制下直流电机转速不稳定的问题,本实用新型提出如下技术方案:一种基于Arduino的直流电机转速控制系统,包括直流电机、电机驱动模块、联轴器、编码器、Arduino控制器、数据采集卡、上位机LabVIEW系统,电机驱动模块与直流电机相连,直流电机与联轴器相连,联轴器与编码器相连,编码器的A相与Arduino控制器的数字端2相连,编码器的B相与Arduino控制器的数字端3相连,Arduino控制器与数据采集卡相连,数据采集卡与上位机相连且采集数据被传输至上位机LabVIEW系统,所述的上位机LabVIEW系统与电机驱动模块连接,所述的上位机LabVIEW系统中的控制器是PID控制器。

进一步的,电源Vcc与Arduino控制器的5V端相连,Arduino控制器的0V端接地,

进一步的,电源Vcc与Arduino控制器的5V端相连,Arduino控制器的0V端接地所述电机驱动模块是芯片L298N。

进一步的,电源Vcc与Arduino控制器的5V端相连,Arduino控制器的0V端接地所述的数据采集卡是芯片NI USB-6009。

进一步的,电源Vcc与Arduino控制器的5V端相连,Arduino控制器的0V端接地所述的芯片L298N的OUT1端由第2连线连接在电机B的一端,芯片L298N的OUT2端由第3连线连接电机B的另一端;稳压二极管P1的负极接高电压,P1的正极接第2连线;稳压二极管P5的负极接第2连线,P5的正极接地;稳压二极管P2的负极接高电压,P2的正极接第3连线;稳压二极管P6的负极接第2连线,P6的正极接地。

进一步的,电源Vcc与Arduino控制器的5V端相连,Arduino控制器的0V端接地所述的芯片L298N的OUT3端由第13连线连接在电机A的一端,芯片L298N的OUT4端由第14连线连接电机A的另一端;稳压二极管P3的负极接高电压,P3的正极接第13连线;稳压二极管P7的负极接第13连线,P7的正极接地;稳压二极管P4的负极接高电压,P4的正极接第14连线;稳压二极管P8的负极接第14连线,P8的正极接地。

有益效果:本实用新型直流电机与联轴器相连,联轴器与编码器相连,编码器的A相与Arduino控制器的数字端2相连,编码器的B相与Arduino控制器的数字端3相连,Arduino控制器与数据采集卡相连,数据采集卡与上位机相连且采集数据被传输至上位机LabVIEW系统,由该手段将直流电机的电机旋转位移信号经联轴器传输至编码器,并由编码器将电机旋转位移编码为一串数字脉冲信号,并被采集卡采集,由采集卡采集数据传输至Arduino控制器以解析为频率信号,并输出至上位机,以得到转速信息,并由PID控制器对其转速信息与历史信息校对以得到反馈信息,并传输至电机驱动模块,以调节电机转速。而芯片L298N与电机相连的部分,增加稳压二极管,也促进了电机转速测量的稳定性。

附图说明

图1是基于Arduino的直流电机转速控制系统的结构框图;

图2是电机驱动模块与电机连接示意图;

图3是PID控制器原理图;

图4是转速和PWM显示在LabVIEW上位机显示图。

具体实施方式

如图1所示,一种基于Arduino的直流电机转速控制系统,包括直流电机、电机驱动模块、联轴器、编码器、Arduino控制器、数据采集卡、上位机LabVIEW系统,直流电机与电机驱动模块(L298N)相连,给电机驱动模块通电,EA高电平,IN1高电平,IN2高电平,使直流电机正转,由联轴器将直流电机与编码器相连,编码器的A、B两相与Arduino控制器数字端2、3相连,电源Vcc与Arduino控制器的5V相连,OV端接地,Arduino控制器与NI数据采集卡相连,数据采集卡与上位机相连,上位机的LabVIEW系统对转速信息显示,并输出反馈控制信息至电机驱动模块,本实用新型可以对转速的不稳定进行调整,使转速趋于稳定,还可以用于工业生产过程中,它的稳定性可以保证生产过程的安全,还可用于基于Arduino的机器人的研究开发。

基于Arduino的直流电机转速控制系统的控制方法,包括如下步骤:

S1、采集电机转速:电机旋转,由联轴器将电机旋转位移形成信号并传输至编码器,编码器将电机旋转位移转换成一串数字脉冲信号,并使用NI USB-6009便携式数据采集卡采集编码器所转换的数字脉冲。

S2、将采集卡所采集的数字脉冲信号输入到Arduino控制器中;

S3、Arduino控制器中,其处理器使用现有的测频法测量电机转速:在Arduino控制器中,一定时间内,旋转引起的单位时间内的脉冲数被记录,用于对旋转轴转速测量,其适用于高、中转速的测量,当被测信号在时间段T内的脉冲个数为N时,这里的频率即转速,被测信号在固定时间段T内,由编码器测得电机在时间T内转过N转,此时的电机转速即可被测出,此时的电机转速f=N/T。例如,在时间段1秒内,由编码器测得电机转过60转,则此时电机转速f=60r/s。

S4、将Arduino控制器中所测得的转速信息输入到上位机,即上位机LabVIEW系统;

S5、上位机LabVIEW系统运行PID控制方法对电机转速进行控制:PID控制方法是目前常用的控制算法,原理是:PID控制器(比例-积分-微分控制器),由比例单元P、积分单元I和微分单元D组成。通过Kp,Ki和Kd三个参数的设定来实现对某个变量的实时控制,主要适用于基本上线性,且动态特性不随时间变化的系统。PID控制器是一个在工业控制应用中常见的反馈控制器,其原理如图3所示,其将采集的数据和设定参考值进行比较,然后将这个差值通过PID三个模块计算出新的控制值用于执行,计算差值的目的是让系统的数据达到或者保持在设定的参考值。PID控制器可以根据历史数据和差别的出现率来调整输入值,使系统更加准确而稳定。

本实用新型是基于Arduino与LabVIEW的直流电机转速控制系统,从俩方面对直流电机转速进行测量并控制,第一,首先利用Arduino控制器对电机转速进行处理,得到非常精准的直流电机转速,第二,将测量到的电机转速输入上位机LabVIEW系统进行显示,并利用PID控制器进行控制,利用闭环反馈系统可以控制电机转速的快慢,并达到所需要的稳定转速,还可以在上位机LabVIEW上直观的观察出直流电机的转速变化,该系统较传统电机转速控制系统复杂,但所测得的转速较为精准,克服了电机转速不稳定,无法使电机可以长期稳定运行的难题。

以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1