找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4239|回复: 0
打印 上一主题 下一主题
收起左侧

Autumn Servo Controller - 舵机控制器

[复制链接]
跳转到指定楼层
楼主


OpenJumper Autumn Servo Controller - 舵机控制器

模块特点:
1. 自动识别波特率,免去对舵机控制器波特率设置;
2. 1us高精度32路同步PWM输出,满足舵机控制时的同步及进度要求;
3. 每路PWM输出速度可调,可同步调速可异步调速;
4. 每路PWM输出加速度可调,可同步加速可异步加速;
5. PWM输出频率可调,1-500Hz,适用舵机范围更广;
6. 方便接插tiny作为主控器件,同时可接插蓝牙,apc等无线通信模块;
7. 可以脱机储存动作组380条,每条255字节;
8. 动作组间可以跳转,一条指令可以控制255条动作组的执行;
9. 动作组间跳转可以正向执行可以逆向执行;
10. 使用在线编程,实现高速读写片内flash。在不使用256kbit(32k)或512kbit(64k)的eeprom情况下获得高达76K的脱机储存空间及更高速的读写速度。

模块规格
1. 主芯片      NXP LPC12xx;
2. 工作电压  3.3V;
3. 输入电压  5~16V;
4. 长宽尺寸  5.5*4.5cm;

使用说明:
(一). Autumn舵机控制器上端左右各有一颗LED,右端为电源指示灯,左端为波特率识别指示灯(如图所示):
        1. CPU电源接口接上提供的接线端子,左端为电源正极,右端为电源负极。若未反接切供电电压稳定,电源指示灯将会点亮。输入电压5~16V,推荐输入电压为5~7.2V;
        2. 主机或电脑通过串口发送字符‘a’或者'A'用于识别器件及自动识别波特率,识别成功后左端波特率识别指示灯会自动点亮,若识别失败将不会点亮,用户按下复位按键再次识别即可;

(二). Autumn舵机控制器与舵机连接(如图所示):
        1. 舵机控制器上排针为白红黑三种颜色塑封——白色为舵机控制信号PWM、红色为舵机供电正极、黑色为舵机供电负极。与大部分舵机上引出线颜色相同,可直观的表达排针含义让减少用户反接可能;
        2. 舵机供电分为两组供电,0-15号为VS1,16-31号为VS2。红色接线柱旁有标注电源正极,按正负要求接线,切勿反接,舵机供电端推荐使用4.8V~6V电源接入,以免过压烧坏舵机;
        3. 舵机控制器左上角有3针为电源选择跳线接口,依次为VS1、VS2、VM。VS1为0-15舵机供电正极,VS2为16-31号舵机供电正极,VM为CPU供电正极。若需VS1与V2共用一个电源时可在VS1与VS2间接上短接跳帽。

(三). Autumn舵机控制器指令集:
        1. 舵机控制器启动后波特率自动识别命令:
            a或者A
            a或者A      字符,必须发送;
                    结束回车符,ASCII中的13,必须发送。
        2. 舵机控制器启动后舵机控制信号频率设置命令:
            FR
               Pulse Width Modulation frequency   舵机控制信号PWM的频率,单位Hz,默认启动后自动设置为50hz,0-500,可选设置;
                                                                      结束回车符,ASCII中的13,必须发送。
        3. 单个或多个舵机运动控制命令:
            #PS... #PSTAG
              servo control channel                    舵机控制通道号,为0-31,必须发送;
              servo control position                    舵机控制器输出控制信号脉冲宽度,单位us,为500-2500,必须发送;
               servo control time                         舵机控制单个通道速度,单位us,0-65535,可选发送,默认2000;
              servo control speed                       舵机控制多个连续通道速度,单位us,0-65535,可选发送,默认2000;
              servo control accelerate                 舵机控制单个通道脉冲单位周期内步进加速度值,单位us,0-255,可选发送(但是必须发送或后再发送),默认0;
              servo control group accelerate       舵机控制多个连续通道脉冲单位周期内步进加速度值,单位us,0-255,可选发送(但是必须发送后再发送),默认0;
                                                           结束回车符,ASCII中的13,必须发送。
        4. 舵机控制器当前输出脉宽查询命令:
            QP
            query servo control position    发送后返回舵机控制器所以通道号当前输出控制信号的脉冲宽度,单位us;
        5. 舵机控制器进入写入运动控制动作组命令:
            AM
            autumn servo controller memory    发送后若舵机控制器成功进入写入动作组模式,舵机控制器将返回  ASCMemoryReady!  此时可写入需要保存的动作组,动作组写入成功将会返回  ASCMemorydone! %d Array  返回数据%d为动作组编号,方便用户记录保存了多少组动作组。若写入动作组失败将会返回  ASCMemoryError!;
        6. 舵机控制器退出写入运动控制动作组命令:
            AN
            autumn servo controller none array   发送后舵机控制器将退出写入动作组模式并返回  ASCMemoryQuit!  ;
        7. 单个或多个舵机运动控制动作组调用命令:
            SQ...SQ
              servo control arry query        调用执行动作组编号,0-379;
        8. 多个舵机运动控制动作组调用跳转命令;
            SQX
                  servo control arry query                调用执行指定动作组编号,0-379;
                xiphoid servo control arry query    调用跳转到指定动作组编号,0-379(但是abs( - ),即前后两动作组编号相减后的绝对值不能大于255);
(四).Autumn舵机控制器调试方法:

焊上排座的Autumn,未焊排座的Autumn,蓝牙模块,Tiny 2.0,蓝牙适配器;

当插上蓝牙或者Tiny2.0时直接与Autumn通信时将通信选择拨向左端;
如果需要同时插上蓝牙和Tiny2.0时可以拨向右端,Tiny2.0使用软串口与蓝牙通信;

Tiny2.0中若有烧写如下测试程序:

void setup(){
  Serial.begin(9600);//串口初始化;
  Serial.println('a');//发送波特率识别码让Autumn初始化串口并识别波特率;
}

void loop(){
  Serial.println("#0p500t1a2");//0号舵机每周期步进1us,步进加速值2us运动到负90度位置;如:1s时候速度为3us,2s时候为5us;
  delay(3000);
  Serial.println("#0p2500t1a2");//0号舵机每周期步进1us,步进加速值2us有负90度位置运动到正90度位置;
  delay(3000);
}

插上蓝牙,打开电脑蓝牙即可调试,若电脑没有蓝牙,配上蓝牙适配器即可调试。

/*
待更新,暂存
*/
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表