数字化舞台布光灯具控制器的设计
安装尺寸均有一定的个体差异,因此不同的灯具上会有不同的控制参数。在设计中,应尽量减少需要调整的参数,对于一定要调整的部分,应将它们存储在EEPROM中,每次开机读取。
EEPROM中的参数关系到灯具控制器能否正常工作,一旦出厂,一股不建议更改。但是为了方便技术人员进行调试,在电路中仍设计了开发人员接口,在现场无需拆下,且无需编程器就可以使用计算机串口读取、修改EEPROM中的内容。
2CAN总线通信软件的设计
CAN总线是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通信总线,是最早在我国得到应用的现场总线之一。它实现了ISO/OSI七层模型中的物理层和数据链路层,总线上任何节点均可主动向其它节点发送信息,数据采用短帧结构,最长8个字节,不易受干扰,故障节点可自动脱离总线。
CAN总线通信控制器SJAl000由82C200发展而来,它兼容82C200的电气特性和工作模式,并对功能进行了扩展。它集成子CAN协议的数据链路层的全部功能,可自动完成数据编码、成帧、冲突检测、循环冗余校验、出错重传等工作。总线收发器82C250负责竹l电子和CAN总线差分电平之间的转换。
CAN总线软件包主要包括初始化函数、发送函数和接收中断函数。
初始化函数的主要工作流程见图2。
SJA1000有两种工作状态:复位状态和正常状态。复位状态在上电后直接进入,也可以通过软件置位进入。SJAl000的所有初始化操作需在复位状态完成。其中,接收滤波码来自EEPROM,每个灯具有不同的接收滤波码;为配合82C250,输出模式寄存器设置成推挽模式,正极性输出。初始化完成后,转入正常状态,填写发送缓冲区,释放接收缓冲区,即可正常发送接收。
发送函数首先判断上次发送是否完成,若完成则在缓冲区内填写新的数据,启动发送;否则等待直至超时,发送完成与否由状态寄存器指示。
接收函数采用中断方式,SJAl000内部包含深度为64字节的接收FIFO缓冲区,芯片无需CPU的干涉就可以自动对收到的信息按先后顺序排队,提供了很强的抗超载能力,因此在主程序中不需要自建接收FIFO,简化了编程。中断服务函数对接收到的数据进行简单的预处理并设置标志位后退出,并在主循环内完成回送数据帧等后续工作。
控制台与灯具控制器的应用层协议如下:命令帧由土控台发出,返回帧由灯具控制器回送,长度均为五字节(包括目标地址),其中前两字节是地址码,第三个字节是命令帧的类型,如设置位置帧、查询错误帧等,最后两字节是参数,如位置设置量等。
3闭环位置伺服控制
在开发初期阶段,曾经使用过分段PID进行闭环位置伺服控制,通过一定的调整,可以获得较好的效果。但是分段PID控制需调整的参数较多,对于不同种类和大小的灯具,调整工作量较大,而且Ki、Kd等系数的物理意义难于向普通调试人员解释,故最终选择了模糊控制算法。它的适应性好、鲁棒性强、调整少,且"中速"、"比较接近"等参数极易为人理解,实测各参数均有较大的适应性,不用过多调整。
典型的模糊控制器分为三个部分:输入变量模糊化、模糊推理和解模糊化。
灯具模糊控制器的输入量为位置残差e和转角速度v,输出是发送给电机驱动模块的P 《数字化舞台布光灯具控制器的设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/142292.html
EEPROM中的参数关系到灯具控制器能否正常工作,一旦出厂,一股不建议更改。但是为了方便技术人员进行调试,在电路中仍设计了开发人员接口,在现场无需拆下,且无需编程器就可以使用计算机串口读取、修改EEPROM中的内容。
2CAN总线通信软件的设计
CAN总线是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通信总线,是最早在我国得到应用的现场总线之一。它实现了ISO/OSI七层模型中的物理层和数据链路层,总线上任何节点均可主动向其它节点发送信息,数据采用短帧结构,最长8个字节,不易受干扰,故障节点可自动脱离总线。
CAN总线通信控制器SJAl000由82C200发展而来,它兼容82C200的电气特性和工作模式,并对功能进行了扩展。它集成子CAN协议的数据链路层的全部功能,可自动完成数据编码、成帧、冲突检测、循环冗余校验、出错重传等工作。总线收发器82C250负责竹l电子和CAN总线差分电平之间的转换。
CAN总线软件包主要包括初始化函数、发送函数和接收中断函数。
初始化函数的主要工作流程见图2。
SJA1000有两种工作状态:复位状态和正常状态。复位状态在上电后直接进入,也可以通过软件置位进入。SJAl000的所有初始化操作需在复位状态完成。其中,接收滤波码来自EEPROM,每个灯具有不同的接收滤波码;为配合82C250,输出模式寄存器设置成推挽模式,正极性输出。初始化完成后,转入正常状态,填写发送缓冲区,释放接收缓冲区,即可正常发送接收。
发送函数首先判断上次发送是否完成,若完成则在缓冲区内填写新的数据,启动发送;否则等待直至超时,发送完成与否由状态寄存器指示。
接收函数采用中断方式,SJAl000内部包含深度为64字节的接收FIFO缓冲区,芯片无需CPU的干涉就可以自动对收到的信息按先后顺序排队,提供了很强的抗超载能力,因此在主程序中不需要自建接收FIFO,简化了编程。中断服务函数对接收到的数据进行简单的预处理并设置标志位后退出,并在主循环内完成回送数据帧等后续工作。
控制台与灯具控制器的应用层协议如下:命令帧由土控台发出,返回帧由灯具控制器回送,长度均为五字节(包括目标地址),其中前两字节是地址码,第三个字节是命令帧的类型,如设置位置帧、查询错误帧等,最后两字节是参数,如位置设置量等。
3闭环位置伺服控制
在开发初期阶段,曾经使用过分段PID进行闭环位置伺服控制,通过一定的调整,可以获得较好的效果。但是分段PID控制需调整的参数较多,对于不同种类和大小的灯具,调整工作量较大,而且Ki、Kd等系数的物理意义难于向普通调试人员解释,故最终选择了模糊控制算法。它的适应性好、鲁棒性强、调整少,且"中速"、"比较接近"等参数极易为人理解,实测各参数均有较大的适应性,不用过多调整。
典型的模糊控制器分为三个部分:输入变量模糊化、模糊推理和解模糊化。
灯具模糊控制器的输入量为位置残差e和转角速度v,输出是发送给电机驱动模块的P 《数字化舞台布光灯具控制器的设计(第2页)》