专利名称:灯具遥控控制方法
技术领域:
本发明涉及灯具控制方法,特别涉及一种灯具遥控控制方法。
背景技术:
现有灯具的转动一般是通过步进电机来实现的,这种转动的控制是通过控制装置 来进行操作的,其控制方法一般采用一个驱动IC单一地控制一个步进电机。但如果要控制 多个步进电机,就需要多个驱动IC来进行驱动,这样就会增加灯具制作的成本,而且对于 灯具的控制操作也较为复杂。
发明内容
本发明的目的在于解决现有技术采用一个驱动IC单一地控制一个步进电机的缺 陷,而提供一种灯具遥控控制方法,可实现一个驱动IC控制多个步进电机,从而实现一个 驱动IC控制多个灯具。
本发明解决其技术问题所采用的技术方案是一种灯具遥控控制方法,通过单片
机控制步进电机来实现对灯具的控制,包括 a,对单片机进行初始化设置和资源配置的步骤; b,对单片机设置等待中断,当单片机接收到需对灯具进行控制的中断信号,调用 解码信息完成解码操作,并调用命令控制程序,完成指令控制步进电机的操作的步骤。
本发明中,在执行步骤b之后还包括 设置一等待中断信号,重复执行步骤a和b,以实现对下一个步进电机的控制操 作。 本发明中,所述中断信号为红外遥控信号或无线遥控信号,对应的解码信息为红 外解码信息或无线解码信息。 本发明中,若采用红外遥控信号,则将单片机的外部中断接上红外接收头数据输 出脚,当红外接收头接收到信号时,该数据输出脚输出低电平,触发外部中断,在中断响应 程序中调用红外信号解码程序和控制程序以实现红外遥控; 若采用无线遥控信号,则将单片机的UART接口接上无线模块,通过对该UART接 口进行读写操作,进行无线通讯,当无线模块接收到数据时,逐个字节传送至单片机的UART 接口 ,单片机每接收到一个字节,则触发中断一次,中断服务程序调用解码程序和控制程序
以实现无线遥控。 本发明中,所述初始化设置进一步包括开启/关闭系统,选择要操作的灯具,控 制选定的灯具上下左右转动,设置转动速度,设定转动角度,复位到初始参数;所述资源配 置进一步包括输入/输出资源配置,时钟资源配置以及中断资源配置。 本发明中,若为红外遥控信号,则所述对单片机设置等待中断,当单片机接收到需 对灯具进行控制的中断信号,调用解码信息完成解码操作,并调用命令控制程序,完成指令 控制步进电机的操作的步骤,进一步包括
低电平触发外部中断,进入中断服务程序的步骤; 关闭外部中断,设置定时器定时值,并设置计数时钟,打开溢出中断的步骤; 使能全局中断,并调用红外解码程序的步骤; 调用红外命令处理程序和命令控制程序的步骤。 本发明中,所述调用红外解码程序的步骤进一步包括 判断是否为连续按键标志位 如果是,则把上一次的码值作为这一次的键码,连续按键键码读取标志置1,清除 连续按键标志; 判断解码标志是否成功 如果是,则进入键码调用操作; 判断是否为键码正确标志位 如果是,则关断定时计时时钟,屏蔽计时溢出中断;否则判断是否为连续按键标志 位; 将键码正确标志位清零,解码完成标志位置l,跳出循环,结束红外信号解码操作。 本发明中,所述调用红外命令处理程序的步骤进一步包括 判断是否为解码完成标志位,如果是,则继续判断是否为连续按键键码读取标志; 否则,返回键码值,结束红外命令处理操作; 如果是,将连续按键键码读取标志清零,返回键码值,结束红外命令处理操作;否 则,返回0值,结束红外命令处理操作。 本发明中,所述控制步进电机的操作进一步包括如下步骤 开始命令控制程序; 执行相应的开机标志设置; 判断是否为开机状态标志,如果否,则断开外部中断,结束电机命令控制操作; 判断是否为开启步进电机标志,如果否,则断开外部中断,结束电机命令控制操 作; 关闭外部中断,将该开启步进电机标志清零; 调用步进电机驱动程序; 断开外部中断,结束电机命令控制操作。 本发明中,所述调用步进电机驱动程序进一步包括如下步骤 判断是否为所要遥控控制的步进电机号; 如果是,则使能对应的步进电机,否则,结束步进电机驱动操作; 读取该步进电机相位状态,从该相位的下一相位开始驱动步进电机; 按预设的参数,驱动步进电机,并记录当前相位状态; 关闭步进电机驱动程序,步进电机进入保持状态; 结束步进电机驱动操作。 通过采用本发明技术方案,与现有的技术相比,本发明具有如下优点 本发明所提供的一种灯具遥控控制方法,可以实现一个驱动IC控制多个步进电
机,从而实现控制多个灯具,相对于现有技术一个驱动IC单一地控制一个步进电机来说,
本发明降低灯具控制系统的成本,同时,也简化了灯具遥控控制操作。
图1是本发明所述灯具遥控控制方法的流程图; 图2是本发明的遥控器示意图; 图3是本发明的红外遥控信号的等待中断处理的流程图; 图4是本发明的无线遥控信号的等待中断处理的流程图; 图5是本发明的执行红外解码程序的流程图; 图6是本发明的执行红外命令处理程序的流程图; 图7是本发明的执行命令控制程序的流程图; 图8是本发明的执行步进电机驱动程序的流程图。
具体实施例方式
为使对本发明提供的灯具遥控方法有更进一步的了解与认识,用以较佳的实施例 及附图配合详细的说明,说明如下 如图l所示,本发明所述灯具遥控控制方法,通过一单片机控制多个步进电机,从
而实现对多个灯具进行控制,主要包括 步骤Sl,对单片机进行初始化设置和资源配置。 初始化设置是在单片机(如型号为ATMEL MEGA16 AVR单片机)中完成的,其初始 化设置包括开启/关闭系统,选择要操作的灯具,控制选定的灯具上下左右转动,设置转 动速度,设定转动角度,复位到初始参数等等,对应的遥控按钮控制如图2所示,P0WER开关 按钮1, RESET复位按钮2,数字区按钮3,灯具左转动按钮4,灯具右转动按钮5,灯具上转动 按钮6,灯具下转动按钮7, STEP SET步骤设置按钮8以及SPEED SET速度设置按钮9。
在完成单片机的初始化设置后,对单片机进行资源配置,本实施例中采用一个 ATMEL MEGA16 AVR单片机控制8个步进电机,当然根据单片机的类型还可以控制多个步进 电机,其资源配置包括输入/输出资源配置,时钟资源配置以及中断资源配置,具体如下
1、输入/输出(I/O)资源配置 PBO------>控制步进电机D线
持。
持。
持。
持。
PB1------>控制步进电机C线
PB2------>控制步进电机B线
--->控制步进电机A线
PB3——
PB4------>接LED,工作状态指示灯1。
PAO-
PAl-
PA2-
PA3-
使能步进电机Ml ,置1使能,该电机可控,置0关闭,该电机停止并保
使能步进电机M2,置1使能,该电机可控,置O关闭,该电机停止并保
使能步进电机M3,置1使能,该电机可控,置O关闭,该电机停止并保
使能步进电机M4,置1使能,该电机可控,置O关闭,该电机停止并保
6
PA4------>使能步进电机M5持。 PA5------>使能步进电机M6持。 PA6------>使能步进电机M7持。 PA7------>使能步进电机M8持。 UART----->接无线模块UART PD0—->接无线模块TX ;
PD1—->接无线模块RX ;
INTO——> 接红外接收头数据输出脚。当红外接收头接收到信号是,会输出低电 平,此PD2低电平触发外部中断INTO,进入红外信号解码模块并关闭此中断,等解码完成, 控制完成后才又开启此中断。 INT1-----〉和其他MCU通讯接口,接其他MCU的TX,低电平触发此中断。进入数
据接收模块PD3并关闭此中断,等接收到数据结束标志后才又开启此中断。等待接收下一 个数据包。 PD4------>和其他MCU通讯接口 ,接其他MCU的RX。通过此端口向其相连的MCU
发送数据? PD5------>接LED,工作状态指示灯2。 2、时钟资源配置 TMERO—-〉产生红外信号采样时钟。 TMER2—->产生与其他MCU通讯信号采样时钟。 3、中断资源配置 UART接收中断 一一> 当UART接收完一个数据包后中断,读出该数据包信息。
外部中断-----> 如上INTO、 INT1所述。 步骤S2,对单片机设置等待中断,当单片机接收到需对灯具进行控制的中断信号, 调用解码信息完成解码操作。 步骤S3,调用命令控制程序,完成指令控制步进电机的操作。本实施例的中断信号 为红外遥控信号或无线遥控信号,对应的解码信息为红外解码信息或无线解码信息。
若采用红外遥控信号,则采用红外通讯模块进行信号传输,本实施例中的红外遥 控信号解码格式是NEC upd6121的格式。将单片机的外部中断接上红外接收头数据输出脚, 当红外接收头接收到信号时,该数据输出脚输出低电平,触发外部中断,在中断响应程序中 调用红外信号解码程序和控制程序,实现红外遥控功能。 若采用无线遥控信号,则采用无线通讯模块进行信号传输。通过单片机的UART接 口与无线模块连接,对该UART接口进行读写操作以实现无线通讯功能。当无线模块接收到 数据时,就会逐个字节传送至单片机的UART接口 ,单片机每接收到一个字节,则触发中断 一次,中断服务程序调用解码程序和控制程序实现无线遥控功能。 采用无线遥控在具体的控制功能基本上与采用红外遥控的一样。以下将详细说明
,置1使能,该电机可控,置0关闭,该电机停止并保 ,置1使能,该电机可控,置0关闭,该电机停止并保 ,置1使能,该电机可控,置0关闭,该电机停止并保 ,置1使能,该电机可控,置0关闭,该电机停止并保采用红外遥控信号,其具体的控制功能如下 其中,若采用红外遥控信号进行中断,所述步骤S2中的等待中断的步骤具体包括 (如图3所示) 步骤S20,判断是否等待中断,如果是,则进入步骤S21 ;否则结束等待中断。
步骤S21 ,低电平触发外部中断,进入中断服务程序。 步骤S22,关闭外部中断,设置定时器定时值,并设置计数时钟,打开溢出中断。 步骤S23,使能全局中断,并调用红外解码程序。 步骤S24,调用红外命令处理程序和命令控制程序。 步骤S25,开启外部中断,准备接收下一个红外信号,返回步骤S20。 若采用无线遥控信号进行中断,这里等待中断的步骤具体包括(如图4所示) 步骤S26,判断是否等待中断,如果是,则进入步骤S27 ;否则结束等待中断。 步骤S27,通过UART接口完成接收中断。 步骤S28 ,调用UART解码程序。 步骤S29,调用命令控制程序,并控制成功反馈程序,返回步骤S26。 其中,上述S23步骤中,所述调用红外解码程序的步骤具体包括(如图5所示) 步骤S230,开始红外解码程序。 步骤S231,判断是否为连续按键标志位,如果是,表示连续按键标志位为l,进入 步骤S232 ;如果不是,表示连续按键标志位为O,进入步骤S233。 步骤S232,把上一次的码值作为这一次的键码,连续按键键码读取标志置l,清除 连续按键标志。 步骤S233,判断解码标志是否成功,解码标志为1表示成功,解码标志为0表示失 败。如果是,表示解码标志为1,则进入步骤S234 ;如果不是,解码标志为O,直接进入步骤 S235。 步骤S234,进行键码调用操作。 步骤S235,判断是否为键码正确标志位,标志位为1表示为键码正确标志位,如果
是,表示标志位为1,进入步骤S236 ;如果不是,表示标志位为0,返回步骤S231。 步骤S236,关断定时计时时钟,屏蔽计时溢出中断。 步骤S237,将键码正确标志位清零,解码完成标志位置1,跳出循环。 步骤S238,结束红外信号解码操作。 其中,上述S24步骤中,所述调用红外命令处理程序的步骤具体包括(如图6所 示) 步骤S240,开始红外命令处理程序。 步骤S241,判断是否为解码完成标志位。标志位为l表示完成,标志位为O表示未 完成。如果是,表示标志位为1,进入步骤S242 ;如果不是,表示标志位为0,进入步骤S245。
步骤S242,判断是否为连续按键键码读取标志,如果是,表示连续按键键码读取标 志为l,进入步骤S243 ;如果不是,表示连续按键键码读取标志为O,进入步骤S244。
步骤S243,将连续按键键码读取标志清零。
步骤S244,返回键码值。
步骤S245,返回键码值0值。
步骤S246,结束红外命令处理操作。 其中,上述S3步骤中,所述控制步进电机的操作主要是通过调用命令控制程序来 实现,具体包括如下步骤(如图7所示)
步骤S30 ,开始命令控制程序。 步骤S31,判断是否为开机状态标志,初值为1。如果是,表示标志为l,进入步骤 S34 ;如果不是,表示标志为O,进入步骤S32。 步骤S32,判断键码是否为POWER开关键。如果是,进入步骤S33 ;如果不是,进入 步骤S35。 步骤S33,将开机状态标志置l,进入步骤S34。 步骤S34,当键码值为1时,执行相应的设置,进入步骤S35。 步骤S35,再次判断是否为开机状态标志。上述步骤S31-S34在本实施例中是可选 步骤,可以有效地根据开机状态标志对步进电机进行控制操作。如果是,表示开机状态标志 为1,进入步骤S36 ;如果不是,表示开机状态标志为0,进入步骤S40。 步骤S36,判断是否为开启步进电机标志。如果是,表示步进电机标志为l,进入步
骤S37 ;否则,表示步进电机标志为0,进入步骤S41。 步骤S37,关闭外部中断,将该开启步进电机标志清零。 步骤S38,调用步进电机驱动程序。 步骤S39,断开外部中断。 步骤S40,断开全局中断,断开外部中断,进入睡眠状态。
步骤S41,结束电机命令控制操作。 其中,上述S38步骤中,所述调用步进电机驱动程序具体包括如下步骤(如图8所 示) 步骤S381,开始步进电机驱动程序。 步骤S382,判断是否为所要遥控控制的步进电机。如果是,进入步骤S383 ;否则进 入步骤S387。 步骤S383,使能对应的步进电机。 步骤S384,读取该步进电机相位状态,从该相位的下一相位开始驱动步进电机。
步骤S385,按预设的参数,驱动步进电机,并记录当前相位状态。
步骤S386,关闭步进电机驱动程序,步进电机进入保持状态。
步骤S387,结束步进电机驱动操作。 由此可知,本发明所提供的一种灯具遥控控制方法,可以实现一个驱动IC控制多 个步进电机,从而实现控制多个灯具,解决了灯具控制系统成本过高的问题;同时,也简化 了灯具遥控控制操作。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
9
权利要求
一种灯具遥控控制方法,通过单片机控制步进电机来实现对灯具的控制,其特征在于,包括a,对单片机进行初始化设置和资源配置的步骤;b,对单片机设置等待中断,当单片机接收到需对灯具进行控制的中断信号,调用解码信息完成解码操作,并调用命令控制程序,完成指令控制步进电机的操作的步骤。
2. 根据权利要求1所述的灯具遥控控制方法,其特征在于,在执行步骤b之后还包括 设置一等待中断信号,重复执行步骤a和b,以实现对下一个步进电机的控制操作。
3. 根据权利要求1或2所述的灯具遥控控制方法,其特征在于,所述中断信号为红外遥控信号或无线遥控信号,对应的解码信息为红外解码信息或无线解码信息。
4. 根据权利要求3所述的灯具遥控控制方法,其特征在于,若采用红外遥控信号,则将单片机的外部中断接上红外接收头数据输出脚,当红外接 收头接收到信号时,该数据输出脚输出低电平,触发外部中断,在中断响应程序中调用红外 信号解码程序和控制程序以实现红外遥控;若采用无线遥控信号,则将单片机的UART接口接上无线模块,通过对该UART接口进行 读写操作,进行无线通讯,当无线模块接收到数据时,逐个字节传送至单片机的UART接口 , 单片机每接收到一个字节,则触发中断一次,中断服务程序调用解码程序和控制程序以实 现无线遥控。
5. 根据权利要求1所述的灯具遥控控制方法,其特征在于,所述初始化设置进一步包 括开启/关闭系统,选择要操作的灯具,控制选定的灯具上下左右转动,设置转动速度,设 定转动角度,复位到初始参数;所述资源配置进一步包括输入/输出资源配置,时钟资源 配置以及中断资源配置。
6. 根据权利要求3所述的灯具遥控控制方法,其特征在于,若为红外遥控信号,则所述 对单片机设置等待中断,当单片机接收到需对灯具进行控制的中断信号,调用解码信息完 成解码操作,并调用命令控制程序,完成指令控制步进电机的操作的步骤,进一步包括低电平触发外部中断,进入中断服务程序的步骤;关闭外部中断,设置定时器定时值,并设置计数时钟,打开溢出中断的步骤; 使能全局中断,并调用红外解码程序的步骤; 调用红外命令处理程序和命令控制程序的步骤。
7. 根据权利要求6所述的灯具遥控控制方法,其特征在于,所述调用红外解码程序的 步骤进一步包括判断是否为连续按键标志位如果是,则把上一次的码值作为这一次的键码,连续按键键码读取标志置1,清除连续 按键标志;判断解码标志是否成功 如果是,则进入键码调用操作; 判断是否为键码正确标志位如果是,则关断定时计时时钟,屏蔽计时溢出中断;否则判断是否为连续按键标志位; 将键码正确标志位清零,解码完成标志位置l,跳出循环,结束红外信号解码操作。
8. 根据权利要求6所述的灯具遥控控制方法,其特征在于,所述调用红外命令处理程序的步骤进一步包括判断是否为解码完成标志位,如果是,则继续判断是否为连续按键键码读取标志;否 则,返回键码值,结束红外命令处理操作;如果是,将连续按键键码读取标志清零,返回键码值,结束红外命令处理操作;否则,返 回0值,结束红外命令处理操作。
9. 根据权利要求1所述的灯具遥控控制方法,其特征在于,所述控制步进电机的操作 进一步包括如下步骤开始命令控制程序; 执行相应的开机标志设置;判断是否为开机状态标志,如果否,则断开外部中断,结束电机命令控制操作;判断是否为开启步进电机标志,如果否,则断开外部中断,结束电机命令控制操作;关闭外部中断,将该开启步进电机标志清零;调用步进电机驱动程序;断开外部中断,结束电机命令控制操作。
10. 根据权利要求9所述的灯具遥控控制方法,其特征在于,所述调用步进电机驱动程 序进一步包括如下步骤判断是否为所要遥控控制的步进电机号;如果是,则使能对应的步进电机,否则,结束步进电机驱动操作; 读取该步进电机相位状态,从该相位的下一相位开始驱动步进电机; 按预设的参数,驱动步进电机,并记录当前相位状态; 关闭步进电机驱动程序,步进电机进入保持状态; 结束步进电机驱动操作。
全文摘要
本发明提供了一种灯具遥控控制方法,通过单片机控制步进电机来实现对灯具的控制,包括a.对单片机进行初始化设置和资源配置的步骤;b.对单片机设置等待中断,当单片机接收到需对灯具进行控制的中断信号,调用解码信息完成解码操作,并调用命令控制程序,完成指令控制步进电机的操作的步骤。本发明所提供的一种灯具遥控控制方法,可以实现一个驱动IC控制多个步进电机,从而实现控制多个灯具,解决了灯具控制系统成本过高的问题;同时,也简化了灯具遥控控制操作。
文档编号H05B37/02GK101782224SQ20091010516
公开日2010年7月21日 申请日期2009年1月20日 优先权日2009年1月20日
发明者周明杰, 廖启博 申请人:海洋王照明科技股份有限公司