CN106787970A - 一种基于WiFi无线局域网的有刷直流电机网络化调速平台 - Google Patents

一种基于WiFi无线局域网的有刷直流电机网络化调速平台 Download PDF

Info

Publication number
CN106787970A
CN106787970A CN201611244052.9A CN201611244052A CN106787970A CN 106787970 A CN106787970 A CN 106787970A CN 201611244052 A CN201611244052 A CN 201611244052A CN 106787970 A CN106787970 A CN 106787970A
Authority
CN
China
Prior art keywords
motor
brushed
module
speed governing
wifi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611244052.9A
Other languages
English (en)
Inventor
林金星
任康磊
蒋国平
高志峰
丁洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201611244052.9A priority Critical patent/CN106787970A/zh
Publication of CN106787970A publication Critical patent/CN106787970A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P5/00Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
    • H02P5/46Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors for speed regulation of two or more dynamo-electric motors in relation to one another
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P7/00Arrangements for regulating or controlling the speed or torque of electric DC motors
    • H02P7/06Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current
    • H02P7/18Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power
    • H02P7/24Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices
    • H02P7/28Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices
    • H02P7/2805Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices whereby the speed is regulated by measuring the motor speed and comparing it with a given physical value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Control Of Multiple Motors (AREA)
  • Control Of Direct Current Motors (AREA)

Abstract

本发明公开了一种基于WiFi无线局域网的有刷直流电机网络化调速平台,包括远程PC、ARM11开发板、L298N电机驱动模块、E6B2‑CWZ6C旋转编码器、计数电路模块、有刷直流电机(可扩展10台)以及电源模块。远程PC利用WiFi无线局域网向ARM11开发板发送各电机转速信号,ARM11微处理器将各转速信号转换成对应的多路PWM波输出至电机驱动模块L298N,L298N电机驱动模块输路模块,实现信号的鉴相、倍频和计数处理,然后进入ARM11开发板的GPIO口。取GPIO的GPN口为外部中断接收口,ARM11微处理器采集计数电路模块的计数脉冲,路模块,实现信号的鉴相、倍频和计数处理,送至GPIO口。本发明将WiFi与微处理器相结合,突破地域性限制的同时,能充分利用开发板的底层接口,实现多台有刷直流电机的无线网络调速与检测。

Description

一种基于WiFi无线局域网的有刷直流电机网络化调速平台
技术领域
本发明涉及基于WiFi无线局域网的有刷直流电机网络化调速平台领域,具体涉及一种最新的基于ARMv6架构、支持无线通信的ARM11微处理器的多台有刷直流电机网络化调速平台设计。
背景技术
随着通信技术、计算机网络以及控制科学的发展和交叉渗透,系统结构变得越来越复杂,空间分布越来越广,控制性能的要求也越来越高。这给自动化技术的发展带来了新的机遇和挑战。网络化控制系统与传统的控制系统最大的不同在于其通信方式是基于网络的,而不是传统的点对点的通信方式,它体现了控制系统向网络化、集成化、分布化、节点智能化的方向发展。而基于无线网络的网络化控制系统,它能够实现区域资源共享、远程操作与控制、安装与维护简便、有效减少系统的重量和体积、增加系统的灵活性等诸多优点。尤其是WiFi无线局域网络的成功应用,它的发展程度与技术集成度都很高、拥有标准的网络通信协议与接口、无线便捷、运行成本和维护费用低等诸多优点,在日常的生产实践中得到了广泛应用。因此,将WiFi无线局域网络运用到网络化控制系统中,正成为当今网络化控制的发展趋势之一。
有刷直流电机作为最重要的机电能量转换装置,具有良好的起、制动性能,适宜大范围内平滑调速,广泛应用于国民经济的各个领域,特别是工农业生产、交通、国防、航空航天,以及日常生活的家用电器和消费电子产品。
目前,对有刷直流电机网络化调速平台的研究比较少,大多数是通过有线网络进行通信,平台的灵活性差,且易受地域性的影响。并且现有的平台一般是基于单片机、DSP以及STM32等处理器而设计的控制系统,仅利用单一的裸机程序进行控制。因此,对于脱离操作系统的内核而言,一方面,在面对复杂算法或程序内部运算时,没有强大的运算器作为支撑;另一方面,对于系统内部软硬件资源调用以及有突发事件发生时,缺乏思想性。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供了一种基于WiFi无线局域网的有刷直流电机网络化调速平台。
本发明的目的通过以下的技术方案实现:
一种基于WiFi无线局域网的有刷直流电机网络化调速平台,包括远程PC、开发板、微处理器、电机驱动模块、旋转编码器、计数电路模块、有刷直流电机以及电源模块,远程PC利用WiFi无线局域网向开发板发送各电机转速信号,微处理器将各转速信号转换成对应的多路PWM波输出至电机驱动模块,电机驱动模块输出相应的电压实现电机转速的调节,有刷直流电机通过轴联器与旋转编码器相接,采用硬件计数的方式,编码器输出的A、B两路脉冲信号首先经过计数电路模块,实现信号的鉴相、倍频和计数处理,然后进入开发板的GPIO口,取GPIO的GPN口为外部中断接收口,微处理器利用中断方式采集计数电路模块的计数脉冲,计算出各电机的转速值,并将转速值通过WiFi反馈至远程PC,电源模块除了用于向各模块提供工作电压外,还用于电压转换。
进一步,上述开发板搭载的是Linux操作系统,对Linux内核做适当裁剪,编译成平台所需的zImage映像,再将制作的u-boot和文件系统共同形成Linux操作系统。
远程PC与开发板之间的无线通信是基于TCP/IP协议,通过设计socket套接字的C/S网络通信程序实现。
为了控制多台有刷直流电机,除了开发板GPIO的GPF14和GPF15产生2路PWM波外,还可以利用多余的GPIO,通过复用定时器和中断的方式来产生不同频率的PWM波。
微处理器的内核会根据设计的PWM波输出驱动程序,将接收的电机转速信号转换成微处理器内部定时器的计数缓冲寄存器TCNTBn和比较缓冲寄存器TCMPBn对应的数值,改变两个寄存器内部值,可使平均电压值发生变化,进而调节电机转速。
为了使PWM波输出信号被电机驱动模块识别,可以提供电机驱动模块的驱动程序以。
上述的有刷直流电机选用工作电压12V,转速维持在6000~9000转左右的电机。
上述的计数电路模块使用D触发器,并结合逻辑门电路,实现鉴相和倍频,采用硬件计数的方式,编码器脉冲计数的分辨率为216P/R以下以保证平台的实时性。
为了使编码器与计数电路的计数脉冲能被开发板的GPIO识别,可以提供编码器计数设备驱动程序。
上述的电源模块除了提供12V的工作电压,还包含一个电压转换电路,将编码器脉冲输出的12V电压转换至开发板所需的5V工作电压。
本发明与现有技术相比,具有如下的优点:
一、利用功耗低、安全性高、辐射范围广的WiFi作为整个平台通信的媒介,使平台既能够脱离繁琐的有线通信,又能脱离地域性的干扰。在WiFi无线局域网的基础上设计socket套接字的网络通信程序,使电机具备了被外界信号控制的能力。
二、使用了ARM公司最新推出的基于ARMv6架构的ARM11处理器,其强大的内核可保证复杂无线网路通信和控制算法的快速计算和实现,同时为ARM11微处理器移植Linux操作系统,既可便于将后续设计的复杂控制算法加入控制器中进行网络化实验的验证分;又能使内核充分利用底层接口,实现对更多对象的控制研究。
三、编写对应的设备驱动程序,使设计的应用程序能更好的与设备驱动程序更好的配合调用,更好的访问规范化的底层接口,更好的保证平台运行的稳定性。
四、将编码器与计数电路模块结合构成反馈模块,使平台能够构成闭环,并能实时检测多台电机转速值。
附图说明
图1为本发明的整体结构示意图;
图2为本发明的基于TCP/IP协议设计的socket套接字网络通信流程图;
图3为Linux字符设备驱动程序设计的原理框图;
图4(a)ARM11微处理器内部定时器的结构图、(b)利用寄存器TCMPBn调节PWM脉宽的波形图;
图5(a)电机驱动电路L298N与两台有刷直流电机连接电路图、(b)L298N控制直流电机正反转原理图;
图6(a)旋转编码器A、B鉴相、(b)编码器A、B两相脉冲输出处理流程图、(c)计数电路模块接口设计电路图;
图7为本发明电压转换电路的设计图。
具体实施方式
为了更好的理解本发明,下面结合附图和实施例对本发明作进一步详细描述。
现提供一个实施例:基于WiFi无线局域网的有刷直流电机网络化调速平台可以包括远程PC、ARM11开发板、L298N电机驱动模块、E6B2-CWZ6C旋转编码器、计数电路模块、有刷直流电机(可扩展10台)以及电源模块。ARM11微处理器所选用ARM1176JZ-S内核的S3C6410。ARM11开发板搭载的是Linux操作系统,对Linux内核做适当裁剪,编译成平台所需的zImage映像,再将制作的u-boot和文件系统共同制作成一个功能完善的Linux操作系统。所述的在TCP/IP协议基础上,设计socket套接字的C/S网络通信程序,实现远程PC与ARM11开发板之间的无线通信,即:远程PC向ARM11开发板发送控制电机转速的信号,ARM11开发板将测量的电机转速值通过WiFi向远程PC进行反馈。
为了使用户空间的应用程序能够识别并且能够控制底层硬件的接口,需设计与本平台硬件相关的设备驱动程序,设计的设备驱动程序可动态编译进ARM11微处理器的内核。为了控制多台有刷直流电机,除了ARM11开发板GPIO的GPF14和GPF15产生2路PWM波外,还需利用多余的GPIO,通过复用定时器和中断的方式来产生不同频率的PWM波。
ARM11微处理器的内核会根据设计的PWM波输出驱动程序,将接收的电机转速信号转换成ARM11微处理器内部定时器的计数缓冲寄存器TCNTBn和比较缓冲寄存器TCMPBn对应的数值,改变两个寄存器内部值,可使平均电压值发生变化,进而调节电机转速。
电机驱动模块选用的型号为L298N。为了使PWM波输出信号被电机驱动模块识别,需设计电机驱动模块的驱动。有刷直流电机选用工作电压12V,转速维持在6000~9000转左右的电机。旋转编码器选用的型号为E6B2-CWZ6C。计数电路模块使用D触发器,并结合逻辑门电路,实现鉴相和倍频;为了保证平台的实时性,采用硬件计数的方式,需利用4片74LS193,满足分辨率为216P/R以下编码器脉冲计数的能力。
为了使编码器与计数电路的计数脉冲能被ARM11开发板的GPIO识别,需设计编码器计数设备驱动程序。电源模块除了提供给L298N、电机、编码器以及计数电路模块12V的工作电压外,还需设计一个电压转换电路,将编码器脉冲输出的12V电压转换至ARM11开发板所需的5V工作电压。
本发明研究的是一种基于WiFi无线局域网的有刷直流电机网络化调速平台。一方面,远程PC利用WiFi无线局域网向ARM11开发板发送控制电机转速的命令,另一方面,ARM11开发板再将测量的电机转速值通过WiFi无线局域网反馈给远程PC。
如图1所示,基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:包括远程PC、ARM11开发板、L298N电机驱动模块、E6B2-CWZ6C旋转编码器、计数电路模块、有刷直流电机(可扩展10台)以及电源模块。
远程PC是平台开发的基础也是重点。一方面,在VMware虚拟机里搭建Linux操作系统,将植裁剪后的Linux操作系统板移到ARM11的微处理器、完成socket网络通信程序设计与调试以及硬件设备驱动程序的设计,另一方面远程PC还是整个平台的控制终端,用来完成对电机转速的设定和电机转速的反馈。
所述的ARM11微处理器所选用ARM1176JZ-S内核的S3C6410。它是本平台信号处理的中心,也是运算与控制的中心。一方面ARM11微处理器既要接收远程PC发送的电机转速值,微处理器S3C6410再将转速信号转换成PWM波输出信号,控制直流电机的转速;另一方面,微处理器S3C6410利用GPN口作为外部中断口,接收编码器产生的电机转速计数脉冲,完成对电机转速值计算后,再将转速值通过WiFi无线局域网反馈至远程PC。
所述的ARM11微处理器搭载的是Linux操作系统,对Linux内核做适当裁剪,编译成平台所需的zImage映像,再将制作的u-boot和文件系统共同制作成一个功能完善的Linux操作系统。为了使搭载了Linux操作系统,并且内存资源有限的ARM11微处理器S3C6410能够运行的更快,效率更高,还需对不必要的功能进行适当裁剪,满足平台所需的要求,尽可能将内核裁剪到最小,且功能都能涵盖。
所述的在TCP/IP协议基础上,设计socket套接字的C/S网络通信程序,实现远程PC与ARM11开发板之间的通信。socket套接字,是一种特殊的I/O,是一种文件描述符,也是一个复杂的软件概念,包含一定的数据结构和很多选项,由操作系统内核进行管理。本平台选用的是流式套接字(SOCK_STREAM),它能够提供可靠的、面向连接的有序数据流。
如图2所示,基于TCP/IP协议设计的socket套接字网络通信流程图。首先,服务器端通过socket()创建套接字,并通过bind()函数将套接字描述符与地址和端口绑定,任何客户端想要连接到新建立的服务器端口,服务器必须设为等待连接,接着利用listen()函数来初始化服务器可连接队列,服务器处理客户端连接请求时是按顺序处理的,一旦服务器监听到客户端的连接请求后,服务器端会用accept()函数接受来自客户端的请求,但是这时需要建立一个全新的套接字描述符来处理这个客户端的通信请求。服务器设置好上述步骤后,客户端建立套接字,无需对地址进行绑定就可以直接连接服务器,使用connect()函数来连接指定参数的服务器,与服务器建立好连接后,服务器等待客户端的发送控制电机转速的命令,客户端使用send()函数向服务器发送数据,发送的数据包含控制电机转速的数字信号,也就是寄存器TCMPBn和TCNTBn的设定值,用来调节PWM波的占空比,从而实现电机转速值的变化。服务器端利用recv()函数接收来自指定套接字描述符上的网络数据,并且保存到指定的buf中,buf中的数据就是对寄存器TCMPBn和TCNTBn的设定值,服务器根据TCMPBn和TCNTBn的设定值,输出多路不同频率的PWM波模拟信号,完成对多台电机转速的设定,此时,在服务器端的recv()处,完成对电机转速设定的处理后,将ARM开发板上的GPN口作为外部中断口,对编码器输出的脉冲进行计数,完成对电机转速值的测量,服务器再利用send()函数,将测量的电机转速值发送回客户端的recv()函数的buf中,使电机完成正常转速值的设定的同时,能够保证正常的转速值的反馈。最后,使用close()函数关闭socket套接字连接,关闭已经打开的socket连接并使内核释放相关的资源。
为了使用户空间的应用程序能够识别并且能够控制底层硬件的接口,需设计与本平台硬件相关的设备驱动程序,设计的设备驱动程序可动态编译进ARM11微处理器的内核。本平台主要需要考虑的是字符设备驱动,包括生成PWM波输出的设备驱动、利用GPIO口产生PWM波的设备驱动程序、电机驱动电路驱动以及编码器脉冲计数采集设备驱动,具体的驱动设计可参考图3的Linux字符设备驱动程序设计的原理框图。
ARM11微处理器的内核会根据设计的PWM波输出驱动程序,将接收的电机转速信号转换成ARM11微处理器内部定时器0、1的计数缓冲寄存器TCNTBn和比较缓冲寄存器TCMPBn对应的数值,改变两个寄存器内部值,可使平均电压值发生变化,进而调节电机转速。由图4(a)ARM11开发板内部定时器的结构图可知,可利用内部定时器0、1产生2路PWM波,通过GPF14和GPF15口输出。
S3C6410内部定时器的寄存器TCNTn和TCMPn可以分别从TCNTBn和TCMPBn寄存器中加载值,再将内部定时器0、1设置成自动加载模式,在不停止当前定时器的情况下设置下一轮的定时操作。当TCNTn的值和TCMPn的值相同时,定时器会发送生反转,在输出引脚输出一个电平,然后TCNTn继续减1,直至为0时,再次发生反转,在引脚输出一个电平,这样就实现了高低电平的反转,减为0时会触发中断,TCNTn会自动加载TCNTBn中的值。PWM输出信号占空比=TCMPBn/TCNTBn。由图4(b)可知,寄存器TCMPBn用来实现PWM功能,减少TCMPBn的值可以有更高的PWM值,增加TCMPBn的值可以有更低的PWM值。
PWM波输出设备驱动设置占空比函数的关键代码如下:
编写完设备驱动后,还需把驱动添加到内核中,在Linux内核源码中dev/char目录下Kconfig添加PWM驱动信息,这样在内核配置时可以选择PWM驱动程序,修改Makefile添加pwm_control.o,配置添加PWM驱动后就可以将pwm_control.ko添加到内核中了。
在Makefile中添加如下代码:
obj-$(CONFIG_S3C6410_pwm_driver)+=pwm_control.o
为了控制多台有刷直流电机,除了ARM11开发板GPIO的GPF14和GPF15产生2路PWM波外,没有多余的PWM波输出口。因此,利用多余的GPIO,通过复用定时器和中断的方式来产生不同频率的PWM波控制更多电机的转速。S3C6410是16/32位的RISC微处理器,有17个GPIO口,包含187个多功能输入/输出端口管脚,L298N可以控制2台电机,一台电机需要1路PWM输出,2路GPIO控制电机旋转方向的输入,2路编码器产生的A、B脉冲计数,所以一台电机需要5个GPIO口。因此,ARM11开发板除板载固定功能接口外,利用底板上的空闲接口,最多能控制10台电机。
由图3字符设备驱动程序原理框图可知,假设利用空闲的GPE1和GPE2口再来产生2路PWM波控制2台有刷直流电机。若有更多的有刷直流电机需要搭载时,则参考下面关键的驱动程序进行修改,添加其他空闲的GPIO口作为产生PWM波的接口即可。利用GPIO设计的PWM设备驱动程序的关键部分如下所示。
上述代码利用中断的方式,使GPE引脚产生2条PWM波。因为是通过GPIO口输出,所以设备不需要读写操作,则驱动的file_operations的ioctl函数如下所示:
要把驱动添加到内核中,要在Linux内核源码中dev/char目录下Kconfig添加用GPIO产生PWM波的设备驱动信息,这样在内核配置时可以选择GPIO产生PWM波的设备驱动程序,修改Makefile添加gpio_pwm_driver.o,配置添加PWM驱动后就可以将gpio_pwm_driver.ko添加到内核中了。
在Makefile中添加如下代码:
obj-$(CONFIG_S3C6410_l298n_driver)+=gpio_pwm_driver.o
所述的电机驱动电路选用的型号为L298N。L298N是SGS公司的产品,其内部包含4通道逻辑驱动电路,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机,它的OUT1、OUT2和OUT3、OUT4之间可分别接1个有刷直流电机,图5(a)为L298N与两台有刷直流电机连接电路图。并且由图5(b)可知,以L298N控制单个有刷直流电机为例,IN1与IN2为一组,控制对应电机的正反转,而ENA为使能端,高电平有效,PWM输出接入使能端ENA作输入。
为了使PWM波输出的模拟量被电机驱动电路识别,需设计电机驱动电路的驱动。电机驱动电路驱动的ioctl函数部分代码如下:
上述代码实现对GPL引脚的输出电压控制,即电机正反转的控制,此设备不需要读写操作,因此此驱动的file_operations如下所示。
要把驱动添加到内核中,要在Linux内核源码中dev/char目录下Kconfig添加电机驱动器驱动信息,这样在内核配置时可以选择电机驱动器驱动程序,修改Makefile添加L298N_driver.o,配置添加PWM驱动后就可以将L298N_driver.ko添加到内核中了。
在Makefile中添加如下代码:
obj-$(CONFIG_S3C6410_l298n_driver)+=L298N_driver.o
本平台选用工作电压12V,转速维持在6000~9000转左右的有刷直流电机,它具有效率高、响应快、实时性高等特点。
所述的编码器选用的是型号为E6B2-CWZ6C,电源电压DC为5~24V,2000P/R的分辨率,最高响应频率100kHz,最高旋转数6000 r/min,NPN集电极开路输出,并有负载短路、电源逆接线保护功能。旋转编码器作为速度和位移反馈的传感器,广泛应用于角位移或角速率的测量,通常有A,B,Z三相输出。
如图6(a)所示,旋转编码器在正向旋转时,A相超前B相90°,在A相脉冲的下降沿处,B相为高电平;而在编码器反转时,B相超前A相90°,在A相脉冲的下降沿处,B相为低电平。这样,编码器旋转时通过判断A、B两相边沿处的电平高低就可以判断编码器的旋转方向。
如图6(b)所示,旋转编码器所用电源电压一般都高于5V,这与ARM11开发板的TTL电平不兼容,为提高电路稳定性,要先对旋转编码器输出电路进行隔离和电平转换;然后,根据图6(c)计数电路模块电路图,使用D触发器,并结合逻辑门电路,可实现鉴相和倍频,为了保证平台的实时性,采用硬件计数的方式,利用4片74LS193对脉冲进行计数,并输出到S3C6410的计数中断口GPN处理。
编码器在本平台中的作用是测量电机转速,反馈给控制器,以便控制器能够实时掌握电机的速度,实时做出调节。仅需要注册read函数,以及利用request_irq函数注册中断函数即可。在open函数中调用request_irq注册中断,设置中断方式为IRQ_TYPE_EDGE_BOTH,即边沿触发。
在初始化时定义内核定时函数代码如下:
init_timer(&key_timer);
key_timer.function=key_timer_func;
add_timer(&key_timer);
在读操作时定时100ms,mod_timer(&key_timer,jiffies+HZ/10);
wait_event_interruptible(button_waitq,ev_press);
中断处理函数:
当定时时间到时唤醒等待队列wake_up_interruptible(&moter_waitq);将中断次数拷贝给用户空间。要把驱动添加到内核中,要在Linux内核源码中dev/char目录下Kconfig添加测速传感器驱动信息,这样在内核配置时可以选择测速传感器驱动程序,修改Makefile添加moter_speed.o,配置添加PWM驱动后就可以将moter_speed.ko添加到内核中了。
在Kconfig中添加如下代码:
在Makefile中添加如下代码:
obj-$(CONFIG_S3C6410_speed)+=moter_speed.o
所述的电源模块除了提供给L298N、电机、编码器以及计数电路模块12V的工作电压外,还需要一个电压转换电路,选用的电压转换芯片型号是:AMS1117。AMS1117是一个正向低压降稳压器,由一个PNP驱动的NPN管组成,为确保AMS1117的稳定性,在输出端并联一个不小于22uF的钽电容,当电流较大时有限流和热保护功能,设计的电路如图7所示。平台所设计的电压转换电路可将编码器脉冲输出的12V电压转换成ARM11开发板能接受的5V工作电压。

Claims (10)

1.一种基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:包括远程PC、开发板、微处理器、电机驱动模块、旋转编码器、计数电路模块、有刷直流电机以及电源模块,远程PC利用WiFi无线局域网向开发板发送各电机转速信号,微处理器将各转速信号转换成对应的多路PWM波输出至电机驱动模块,电机驱动模块输出相应的电压实现电机转速的调节,有刷直流电机通过轴联器与旋转编码器相接,采用硬件计数的方式,编码器输出的A、B两路脉冲信号首先经过计数电路模块,实现信号的鉴相、倍频和计数处理,然后进入开发板的GPIO口,取GPIO的GPN口为外部中断接收口,微处理器利用中断方式采集计数电路模块的计数脉冲,计算出各电机的转速值,并将转速值通过WiFi反馈至远程PC,电源模块除了用于向各模块提供工作电压外,还用于电压转换。
2.根据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:所述的开发板搭载的是Linux操作系统,对Linux内核做适当裁剪,编译成平台所需的zImage映像,再将制作的u-boot和文件系统共同形成Linux操作系统。
3.据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:远程PC与开发板之间的无线通信是基于TCP/IP协议,通过设计socket套接字的C/S网络通信程序实现。
4.根据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:为了控制多台有刷直流电机,除了开发板GPIO的GPF14和GPF15产生2路PWM波外,还可以利用多余的GPIO,通过复用定时器和中断的方式来产生不同频率的PWM波。
5.根据权利要求4所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:微处理器的内核会根据设计的PWM波输出驱动程序,将接收的电机转速信号转换成微处理器内部定时器的计数缓冲寄存器TCNTBn和比较缓冲寄存器TCMPBn对应的数值,改变两个寄存器内部值,可使平均电压值发生变化,进而调节电机转速。
6.根据权利要求5所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:可以提供电机驱动模块的驱动程序以使PWM波输出信号被电机驱动模块识别。
7.根据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:所述的有刷直流电机选用工作电压12V,转速维持在6000~9000转左右的电机。
8.根据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:所述的计数电路模块使用D触发器,并结合逻辑门电路,实现鉴相和倍频,采用硬件计数的方式,编码器脉冲计数的分辨率为216P/R以下以保证平台的实时性。
9.根据权利要求12所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:提供编码器计数设备驱动程序,以使编码器与计数电路的计数脉冲能被开发板的GPIO识别。
10.根据权利要求1所述的基于WiFi无线局域网的有刷直流电机网络化调速平台,其特征在于:所述的电源模块除了提供12V的工作电压,还包含一个电压转换电路,将编码器脉冲输出的12V电压转换至开发板所需的5V工作电压。
CN201611244052.9A 2016-12-29 2016-12-29 一种基于WiFi无线局域网的有刷直流电机网络化调速平台 Pending CN106787970A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611244052.9A CN106787970A (zh) 2016-12-29 2016-12-29 一种基于WiFi无线局域网的有刷直流电机网络化调速平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611244052.9A CN106787970A (zh) 2016-12-29 2016-12-29 一种基于WiFi无线局域网的有刷直流电机网络化调速平台

Publications (1)

Publication Number Publication Date
CN106787970A true CN106787970A (zh) 2017-05-31

Family

ID=58928670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611244052.9A Pending CN106787970A (zh) 2016-12-29 2016-12-29 一种基于WiFi无线局域网的有刷直流电机网络化调速平台

Country Status (1)

Country Link
CN (1) CN106787970A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108233782A (zh) * 2017-12-15 2018-06-29 南京邮电大学 一种基于WiFi的永磁无刷直流电机网络化调速平台
CN110661459A (zh) * 2019-09-06 2020-01-07 重庆东渝中能实业有限公司 一种使用io口中断反馈来监控pwm脉冲数的方法
CN111565379A (zh) * 2020-01-14 2020-08-21 杭州法博激光科技有限公司 基于无线通讯网络的软镜辅助系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202679300U (zh) * 2012-02-23 2013-01-16 中国人民解放军国防科学技术大学 用于有刷直流电机的控制器
CN103324178A (zh) * 2013-06-14 2013-09-25 南昌大学 一种基于wifi的无线机器人远程控制系统
CN203838546U (zh) * 2014-04-02 2014-09-17 深圳市达科为医疗科技有限公司 一种电机控制电路
CN203911816U (zh) * 2014-06-23 2014-10-29 济南科亚电子科技有限公司 一种高效双有刷直流驱动器
CN104175308A (zh) * 2014-08-12 2014-12-03 湖南信息职业技术学院 自主服务机器人

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202679300U (zh) * 2012-02-23 2013-01-16 中国人民解放军国防科学技术大学 用于有刷直流电机的控制器
CN103324178A (zh) * 2013-06-14 2013-09-25 南昌大学 一种基于wifi的无线机器人远程控制系统
CN203838546U (zh) * 2014-04-02 2014-09-17 深圳市达科为医疗科技有限公司 一种电机控制电路
CN203911816U (zh) * 2014-06-23 2014-10-29 济南科亚电子科技有限公司 一种高效双有刷直流驱动器
CN104175308A (zh) * 2014-08-12 2014-12-03 湖南信息职业技术学院 自主服务机器人

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙宏宇: "基于ARM的轮式机器人控制系统设计", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
彭超: "基于嵌入式的智能小车的研究和设计", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108233782A (zh) * 2017-12-15 2018-06-29 南京邮电大学 一种基于WiFi的永磁无刷直流电机网络化调速平台
CN110661459A (zh) * 2019-09-06 2020-01-07 重庆东渝中能实业有限公司 一种使用io口中断反馈来监控pwm脉冲数的方法
CN111565379A (zh) * 2020-01-14 2020-08-21 杭州法博激光科技有限公司 基于无线通讯网络的软镜辅助系统
CN111565379B (zh) * 2020-01-14 2023-09-01 杭州法博激光科技有限公司 基于无线通讯网络的软镜辅助系统

Similar Documents

Publication Publication Date Title
CN102904504B (zh) 一种车用永磁同步电机控制系统
CN103199773B (zh) 基于总线技术的伺服驱动系统
CN102510252B (zh) 基于dsp+arm直接转矩控制系统及控制方法
CN209676083U (zh) 一种bldc电机接口子线路板及bldc电机
CN106681213B (zh) 一种自动代码生成加载平台系统
CN106787970A (zh) 一种基于WiFi无线局域网的有刷直流电机网络化调速平台
CN102934351B (zh) 一种电子换向电机接口信号转换子线路板
CN101860290A (zh) 多功能交流伺服驱动器
CN103901814B (zh) 一种多轴运动数控系统
CN206878730U (zh) 电机驱动器
CN202524349U (zh) 一种自动配置多种类型接口的电机控制器
CN103701369A (zh) 一种新型高功率密度直流无刷电机驱动器电路
CN102852842A (zh) 一种基于fpga的机箱风扇控制系统及其控制方法
CN205212736U (zh) 集成式多电机控制器以及多电机系统
CN108233782A (zh) 一种基于WiFi的永磁无刷直流电机网络化调速平台
CN103135488A (zh) 基于FlexRay的车载综合开发平台
CN203119827U (zh) 基于mcu的无刷直流电机控制器
CN109120207A (zh) 一种电机伺服控制系统及电机控制方法
CN204836010U (zh) 一种步进电机控制系统
CN106407155A (zh) 用于开关磁阻电机控制的基于dsp和fpga的双核控制器及方法
CN209545476U (zh) 一种直流无刷电机接口信号转换子线路板及电机
CN107835108A (zh) 基于OpenWrt的MAC层协议栈验证平台
CN107294430A (zh) 一种新型电机控制系统
CN202991569U (zh) 风扇转速与正反转的控制电路
CN206270718U (zh) 参数调整装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication