[发明专利]一种支持多信号输入的数字舵机控制方法在审
申请号: | 201810286291.3 | 申请日: | 2018-04-03 |
公开(公告)号: | CN108549280A | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | 汪建文 | 申请(专利权)人: | 芜湖懒人智能科技有限公司 |
主分类号: | G05B19/042 | 分类号: | G05B19/042 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 241000 安徽省芜湖市鸠江开发*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解码 信号输入 舵机 舵机控制 读取 主控初始化 操作参数 处理数据 串口数据 定时周期 定位准确 动作指令 环形指针 解码数据 解码算法 解析数据 配置参数 输入串口 位置控制 运动算法 运行参数 总线信号 数据处理 实时性 适配性 双闭环 加载 写入 中断 冲突 保证 | ||
1.一种支持多信号输入的数字舵机控制方法,包括数据解码与指令执行,其特征在于,包括步骤:
S1)bootloader启动;
S2)APP启动,主控初始化;
S3)判断是否输入串口总线信号,若是进行串口数据接收并解码;
S4)判断是否输入PWM信号,若是进行PWM信号接收并解码;
S5)判断是否输入PPM信号,若是进行PPM信号接收并解码;
S6)将解码数据加载到RAM区或EEPROM区;
S7)执行PID算法,执行动作指令。
2.根据权利要求1所述的一种支持多信号输入的数字舵机控制方法,其特征在于,所述步骤S2)包括:
S21)系统时钟初始化;
S22)看门狗初始化;
S23)串口初始化;
S24)定时器初始化;
S25)ADC初始化;
S26)运行参数初始化。
3.根据权利要求1所述的一种支持多信号输入的数字舵机控制方法,其特征在于,所述步骤S3)通过串口接收中断接收并处理总线数据,包括:
S31)串口中断接收总线数据并存入待处理数据数组,数组尾指针tail表示已接收的数据长度;
S32)判断是否到达数据处理周期,若是,则进入步骤S33),若否,返回步骤S31);
S33)判断数组尾指针tail是否大于等于数组头指针head,若是,则进入步骤S34),若否,返回步骤S32);
S34)判断是否包含帧头,请求是否为本机ID或广播ID,若是,则进入步骤S35),若否,则进入步骤S311);
S35)接收数据并校验;
S36)提取有效载荷;
S37)判断是否为写命令,若是,则进入步骤S38),若否,则进入步骤S39);
S38)根据命令要求将指令写入EEPROM区或RAM区;
S39)指令为读命令,读取指定RAM区或EEPROM区数据;
S310)发送应答数据;
S311)处理数组头指针head,返回步骤S32)。
4.根据权利要求1所述的一种支持多信号输入的数字舵机控制方法,其特征在于,所述步骤S4)通过16位定时器的两个通道检测PWM信号的上升沿与下降沿并计算频率和脉宽,包括:
S41)记录第一个上升沿计数值C1N1;
S42)记录第一个下降沿计数值C2N1,计算脉宽duty=C2N1-C1N1;
S43)记录第二个上升沿计数值C1N2,计算频率freq=1000000/(C1N2-C1N1);S44)记录第二个下降沿计数值C2N2,计算脉宽duty=C2N2-C1N2;
S45)判断信号频率freq在45HZ-320HZ之间,判断脉宽duty在400us-2600us之间;
S46)将有效脉宽数值转换成目标角度值输入PID运算。
5.根据权利要求1所述的一种支持多信号输入的数字舵机控制方法,其特征在于,所述步骤S5)通过16位定时器的一个通道检测PPM信号的上升沿并提取信号的各通道脉宽,包括:
S51)判断信号引脚低电平持续时间是否超过2ms,若是,则进入步骤S52),若否,进行其他运算;
S52)PPM信号帧开始,依次记录各上升沿中断触发时的定时器计数值;
S53)计算相邻上升沿计数值之差,求得各通道数值;
S54)匹配舵机ID和对应通道数值,将通道数值转换成目标角度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芜湖懒人智能科技有限公司,未经芜湖懒人智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810286291.3/1.html,转载请声明来源钻瓜专利网。