一种转盘控制系统及其控制方法转让专利

申请号 : CN201210497113.8

文献号 : CN103034149B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张海涛杜盟盟胡金波张元亨

申请人 : 河南科技大学

摘要 :

本发明公开了一种转盘控制系统及其控制方法,采用DSP处理器和单片机作为主控制器,由DSP处理器完成模拟量采集、执行控制算法和输出控制量,而由单片机完成转盘速度和角度的显示,DSP处理器启动四片A/D转换器的A/D转换,并在中断程序中分别读取A/D转换结果,以及光电编码器的绝对位置信息,执行闭环控制算法,得到控制量,然后向四个电机驱动器同时发出控制信息,驱动四个直流力矩电机同时运动,使其迅速而稳定地到达给定位置,完成两转盘的精确定位;DSP处理器在读取编码器位置信息的同时,将位置信息写入双端口SRAM,单片机从双端口SRAM读取转盘位置信息,计算转盘速度,并在数码管上显示转盘位置和速度,且A/D转换器的转换时间小于30us,保证了系统的实时性。

权利要求 :

1.一种转盘控制系统的控制方法,所述的转盘控制系统包括DSP处理器及其信号输入端连接的用于采集四路模拟量信号的四个A/D转换器,所述DSP处理器的控制输出端通过四个电机驱动器对应连接四个直流力矩电机,前两个电机用于驱动控制第一转盘,后两个电机用于驱动控制第二转盘,所述DSP处理器的输出端连接有一个单片机,所述单片机与DSP处理器之间设有一个作为共享内存的双端口SRAM,双端口SRAM分别与DSP处理器和单片机的对应端口连接,所述单片机的控制输出端与对应的显示装置连接,其特征在于,该方法包括如下步骤:(1)四个A/D转换器分别采集远端设备传来的四路模拟量信号送入DSP处理器;

(2)DSP处理器对输入的信号进行处理,控制相应的电机驱动器,从而调整对应的电机速度,使其迅速而稳定地到达给定位置;

(3)DSP处理器将得到的转盘实际位置信息发送到用于和单片机通信的作为共享内存的双端口SRAM;

(4)单片机一旦检测到共享内存SRAM更新信息,就从双端口SRAM读取转盘位置信息,并计算转盘速度,然后在显示装置上进行显示;

步骤(2)中DSP处理器对输入的信号进行处理,控制相应电机驱动器的过程如下:①DSP处理器每隔设定时间启动一次A/D转换;四片A/D转换器同时工作,将四路模拟量转换为数字信号;

②四片A/D转换器均转换完成,即向DSP处理器发出中断请求信号;DSP处理器读取四路模拟量转换的数字量,作为两个转盘角度的给定值;

③DSP处理器读取四个光电编码器反馈的的绝对位置数字量,以便获得转盘的实际位置;

④DSP处理器将转盘角度的给定值和从光电编码器输送来的反馈值相减得到的偏差作为控制算法的输入,得到输出值大小;

⑤DSP处理器根据计算出的输出值大小,发出不同占空比的PWM信号给相应的电机驱动器,从而调整相应的电机速度,使其迅速而稳定地到达给定位置。

2.根据权利要求1所述的一种转盘控制系统的控制方法,其特征在于:为了保证控制的实时性,要求:步骤①中DSP处理器启动一次A/D转换的设定时间为100us;步骤②中A/D转换器的转换时间小于30us。

说明书 :

一种转盘控制系统及其控制方法

技术领域

[0001] 本发明属于工控领域,具体涉及一种根据远端设备传来的模拟量信号驱动转盘精确定位的转盘控制系统电路。

背景技术

[0002] 一种工业设备需要根据远端设备传来的四路模拟量大小发出角度位置命令,控制两个转盘。其中,每两路模拟量控制一个转盘,分别驱动转盘在水平和俯仰方向上实现精确定位。该设备与现存的转盘控制设备存在以下不同:一是转盘水平和俯仰方向上的角度均由一路大小为-10V~10V的模拟量作为控制信号,其大小对应着转盘角度的绝对位置,每个转盘的转动范围为0~360°;二是模拟量的更新时间为100us,故需要处理器有较快的执行速度,以便采集模拟信号量,执行控制算法,完成转盘的角度定位以及转盘位置和速度的显示;三是两个转盘需要同步。
[0003] 现有的转盘控制系统常采用DSP作为主控制器,使用其内嵌的A/D转换器和模拟开关采集模拟量。然而,在本系统中,如果采用DSP内嵌的A/D转换器,由于其输入模拟量大小的范围是0~3.3V,这就需要将输入的模拟量信号进行电平转换,这样就需要增加电平转换器件,难以保证采集精度;如果由单一的微控制器进行模拟量采集,执行控制算法,输出控制量,显示转盘速度和角度,也难以保证系统的实时性。另外,如果采用外置的A/D转换器和模拟开关采集四路模拟量,由于每路模拟量的转换均需要较长时间,则难以保证系统控制的实时性。

发明内容

[0004] 本发明的目的是提供一种转盘控制系统,以解决现有控制系统难以保证系统控制的实时性,无法使两个转盘快速而精确地定位的问题,同时提供一种利用该转盘控制系统的控制方法。为了实现以上目的,本发明提供的转盘控制系统的技术方案如下:一种转盘控制系统,包括DSP处理器及其信号输入端连接的用于采集四路模拟量信号的四个A/D转换器,所述DSP处理器的控制输出端通过四个电机驱动器对应连接四个直流力矩电机,前两个电机用于驱动控制第一转盘,后两个电机用于驱动控制第二转盘,所述DSP处理器的输出端连接有一个单片机,所述单片机与DSP处理器之间设有一个作为共享内存的双端口SRAM,双端口SRAM分别与DSP处理器和单片机的对应端口连接,所述单片机的控制输出端与对应的显示装置连接。
[0005] 所述四个直流力矩电机上各安装有一个绝对式光电编码器,所述光电编码器的信号输出端分别与DSP处理器及对应的电机驱动器的编码信号输入端连接。
[0006] 所述的显示装置为通过驱动显示芯片控制显示的数码管。
[0007] 所述的四个A/D转换器由DSP处理器的地址信号端通过一个译码器电路进行选择。
[0008] 本发明提供的转盘控制方法的技术方案如下:一种转盘控制系统的控制方法,该方法包括如下步骤:
[0009] (1)四个A/D转换器分别采集远端设备传来的四路模拟量信号送入DSP处理器;
[0010] (2)DSP处理器对输入的信号进行处理,控制相应的电机驱动器,从而调整对应的电机速度,使其迅速而稳定地到达给定位置;
[0011] (3)DSP处理器将得到的转盘实际位置信息发送到用于和单片机通信的作为共享内存的双端口SRAM;
[0012] (4)单片机一旦检测到共享内存SRAM更新信息,就从双端口SRAM读取转盘位置信息,并计算转盘速度,然后在显示装置上进行显示。
[0013] 步骤(2)中DSP处理器对输入的信号进行处理,控制相应电机驱动器的过程如下:
[0014] ①DSP处理器每隔设定时间启动一次A/D转换;四片A/D转换器同时工作,将四路模拟量转换为数字信号;
[0015] ②四片A/D器均转换完成,即向DSP处理器发出中断请求信号;DSP处理器读取四路模拟量转换的数字量,作为两个转盘角度的给定值;
[0016] ③DSP处理器读取四个光电编码器反馈的的绝对位置数字量,以便获得转盘的实际位置;
[0017] ④DSP处理器将转盘角度的给定值和从光电编码器输送来的反馈值相减得到的偏差作为控制算法的输入,得到输出值大小;
[0018] ⑤DSP处理器根据计算出的输出值大小,发出不同占空比的PWM信号给相应的电机驱动器,从而调整相应的电机速度,使其迅速而稳定地到达给定位置。
[0019] 为了保证控制的实时性,要求:步骤①中DSP处理器启动一次A/D转换的设定时间为100us;步骤②中A/D转换器的转换时间小于30us。
[0020] 本发明的转盘控制系统和方法采用DSP处理器和单片机作为主控制器,由DSP处理器完成模拟量采集、执行控制算法和输出控制量,而由单片机完成转盘速度和角度的显示,DSP处理器启动四片A/D转换器的A/D转换,并在中断程序中分别读取A/D转换结果,以及光电编码器的绝对位置信息,执行闭环控制算法,得到控制量,然后向四个电机驱动器同时发出控制信息,驱动四个直流力矩电机同时运动,使其迅速而稳定地到达给定位置,完成两转盘的精确定位;DSP处理器在读取编码器位置信息的同时,将位置信息写入双端口SRAM,单片机从双端口SRAM读取转盘位置信息,计算转盘速度,并在数码管上显示转盘位置和速度,且A/D转换器的转换时间小于30us,保证了系统的实时性。

附图说明

[0021] 图1是本发明转盘控制系统实施例的框图。

具体实施方式

[0022] 以下结合附图及实施例,对本发明进行进一步详细说明。
[0023] 如图1所示为本发明转盘控制系统实施例的结构框图,由图可知,该转盘控制系统包括DSP处理器及其信号输入端连接的用于采集四路模拟量信号的四个A/D转换器,DSP处理器的控制输出端通过四个电机驱动器对应连接四个直流力矩电机,前两个电机用于驱动控制第一转盘,后两个电机用于驱动控制第二转盘,DSP处理器的输出端连接有一个单片机,单片机与DSP处理器之间设有一个作为共享内存的双端口SRAM,双端口SRAM分别与DSP处理器和单片机的对应端口连接,且单片机的控制输出端与四个对应的作为显示装置的数码管连接,且每个数码管均由相应的驱动显示芯片进行控制显示。
[0024] 由于每个转盘具有水平和俯仰两个运动,为了快速启停转盘,系统选用了四个直流力矩电机及其相应的电机驱动器进行控制,四个直流力矩电机上各安装有一个绝对式光电编码器,其既输出绝对位置信息,也输出增量信息,光电编码器的信号输出端分别与DSP处理器及对应的电机驱动器的编码信号输入端连接;另外,四个A/D转换器由DSP处理器的地址信号通过一个译码器电路进行选择。
[0025] 为了保证系统的实时性,本系统采用DSP芯片TMS320LF2407和单片机AT89S51作为主控制器,由DSP完成成模拟量采集、执行控制算法和输出控制量,而由单片机完成转盘速度和角度的显示。此外,由于模拟量的大小决定了控制量的大小,为了保证控制精度,我们选用了12位的A/D转换器。
[0026] 本发明转盘控制方法包括如下步骤:
[0027] (1)四个A/D转换器分别采集远端设备传来的四路-10V~10V模拟量信号;
[0028] (2)DSP处理器每隔100us启动一次A/D转换;四片A/D转换器同时工作,将四路模拟量转换为12位数字信号;为了保证控制的实时性,要求A/D转换器的转换时间小于30us;
[0029] (3)四片A/D器均转换完成,即向DSP处理器发出中断请求信号;DSP处理器读取四路模拟量转换的12位数字量,作为两个转盘角度的给定值;
[0030] (4)DSP处理器读取四个光电编码器反馈的的绝对位置数字量,以便获得转盘的实际位置;
[0031] (5)DSP处理器将转盘角度的给定值和从光电编码器输送来的反馈值相减得到的偏差作为控制算法的输入,得到输出值大小;
[0032] (6)直流电机驱动器由两路信号控制电机的位置,一路信号的高低电平控制电机的正反转,另一路信号为PWM信号,PWM信号的占空比决定了电机的位置;电机驱动器内部嵌入了速度环和电流环,DSP处理器根据计算出的控制量大小,发出不同占空比的PWM信号给相应的电机驱动器,作为速度环的给定值输入,从而调整电机速度,使其迅速而稳定地到达给定位置;
[0033] (7)DSP处理器从光电编码器得到转盘实际位置的同时,将该位置信息发送到用于和单片机通信的作为共享内存的双端口SRAM;
[0034] (8)单片机一旦检测到共享内存更新信息,就从双端口SRAM读取转盘位置信息,并计算转盘速度,然后在数码管上进行显示。
[0035] 从图1可知,DSP处理器通过译码电路对高位地址线A4~A15进行译码,产生5个片选信号,其中,#CS0~#CS3分别用于选择四片A/D转换器AD1674;TMS320LF2407的地址线A1连接四片AD1674的R/#C引脚,该引脚为0则启动A/D转换,为1则是读取A/D转换数据;#CS4用于选择TMS320LF2407外扩的双端口SRAM芯片。
[0036] 远端设备传来的四路-10V~10V信号,分别引入四片A/D转换器AD1674的20VIN引脚,AD1674的转换时间为25us,通过将其引脚BIPOFF上拉到+10V,从而设置AD1674为双极性输入,可直接采集-10V~10V信号。
[0037] DSP芯片TMS320LF2407每隔100us顺序发出四条指令,分别使四片AD1674的引脚#CS=0,R/#C=0,从而启动四片AD1674同时进行A/D转换;四片AD1674同时工作,将四路模拟量信号转换为12位数字信号,一旦D1674的A/D转换完成,AD1674的引脚STS由高电平变成低电平。为此,将STS信号反向后,通过四输入与非门引入TMS320LF2407的引脚XINT1,当四片AD1674的STS引脚均由高电平转为低电平时,XINT1得到下降沿,从而引起TMS320LF2407产生中断。
[0038] TMS320LF2407在中断程序中分别读取四路模拟量转换的12位数字量,作为两个转盘的水平和俯仰角度的给定值;TMS320LF2407通过IOPC2~3引脚读取光电编码器1的绝对位置信息,通过IOPC5~6引脚读取光电编码器2的绝对位置信息,通过IOPE2~3引脚读取光电编码器3的绝对位置信息,通过IOPE5~6引脚读取光电编码器4的绝对位置信息;TMS320LF2407读取四个光电编码器反馈的的绝对位置后,就获得转盘的实际位置。
[0039] TMS320LF2407将转盘给定值和反馈值相减得到的偏差作为控制算法的输入,并执行控制算法,比如PID控制算法,以便得到控制器的输出量大小;TMS320LF2407使用IOPC4和T1PWM引脚控制电机驱动器1的方向引脚和位置引脚,从而决定直流力矩电机1的旋转方向和位置;TMS320LF2407使用IOPC7和T2PWM引脚控制电机驱动器2的方向引脚和位置引脚,从而决定直流力矩电机2的旋转方向和位置;TMS320LF2407使用IOPE4和T3PWM引脚控制电机驱动器3的方向引脚和位置引脚,从而决定直流力矩电机3的旋转方向和位置;TMS320LF2407使用IOPE7和T4PWM引脚控制电机驱动器4的方向引脚和位置引脚,从而决定直流力矩电机4的旋转方向和位置。
[0040] TMS320LF2407扩展了一片双端口SRAM,作为和AT89S51单片机的共享内存,以便实现两者的通信;从图1可知,仅利用了双端口SRAM的16字节用于存储位置数据,也就是每个光电编码器的位置数据占用两个字节,因此可将双端口SRAM的其余地址线全部上拉至高电平;TMS320LF2407在从四个光电编码器得到转盘位置的同时,将该位置大小发送到共享内存,并将IOPA7引脚置0,从而触发AT89S51d单片机的中断#INT0。
[0041] AT89S51通过P3.0~P3.2口驱动LED显示芯片MAX7219,从而点亮8个数码管,显示转盘1的水平方向位置和速度,其中位置和速度各占4位,小数点后有1位数据;通过P3.3~P3.5口驱动LED显示芯片MAX7219,从而点亮8个数码管,显示转盘1的俯仰方向位置和速度,其中位置和速度各占4位,小数点后有1位数据;通过P1.0~P1.2口驱动LED显示芯片MAX7219,从而点亮8个数码管,显示转盘2的水平方向位置和速度,其中位置和速度各占4位,小数点后有1位数据;通过P1.3~P3.5口驱动LED显示芯片MAX7219,从而点亮8个数码管,显示转盘2的俯仰方向位置和速度,其中位置和速度各占4位,小数点后有1位数据。