·先打开发射机(遥控器)电源,再接通飞机电源。同时,确保各舵面及舵机运转没有障碍物阻碍,以免损坏舵面及舵机。
·调试电机、螺旋桨、旋翼时注意安全。
Futaba T18SZ是双叶公司2015年5月在既14SG之后又推出的一款全新的遥控设备。4.3吋全彩触摸屏让这款设备的档次一下可以与原先14MZ相提并论。T18SZ支持目前FUTABA 2.4G所有制式的接收机,在 *** 作系统上相比14SG也更加直观。但新的 *** 作系统会让不少玩家略有不习惯,厚重的说明书看着也让人头疼。本篇文章主要针对固定翼所需的基本调试方法和常用功能进行讲解。
发射机各部位名称
主页面
主页面里向使用者提供了名称、双向传输信号强度、接收机电池电压、外部电池电压、使用者名称、模型名称、条件名称、电量、计时器、时间、数字1微调信息、以及4个功能菜单:系统菜单、关联菜单、模型选择、模型菜单。
我们在拿到一架飞机进行设置时,打开发射机,首先进入关联菜单,对模型进行基本配置。
Linkage menu 关联菜单
关联菜单功能列表
[Servo monitor]:显示舵机测试和动作位置。
[Model select]:模型的添加、调试、删除、复制、命名。
[Model type]:选择模型类别、机翼类型、倾斜盘、尾翼类型。
[Servo reverse]:舵机转动方向反转。
[End point]:设置舵机最大行程量。
[Servo speed]:设定舵机速度。
[Sub-trim]:调节舵机中立点位置。
[Function]:对通道进行设定。
[Fail safe]:失控保护设定。
[System type]:接收机配对、接收机制式选择、双向传输等。
[T1-T6 setting]:设定微调调节量大小。
[Throttle cut]:灭车混空、油门锁。
[Idle down]:怠速混控。
[Stick alarm]: *** 纵杆在指定位置发出警告。
[Timer]:设定计时器。
[Function name]:更改功能名称。
[Sensor]:双向传感器登陆与变更。
[Telemetry]:显示接收机回传的双向通信数据,并可设定报警数值。
[Tele.setting]:双向通道回传提示音间隔、记录回传数据。
[Trainer]:教练功能。
[Warning setting]:开机报警。
[User menu setting]:快捷菜单设定。
[Date reset]:模型数据重置。
Servo monitor 舵机监控
舵机监控可以看到各各通道的状态、测试舵机中立点和往返模式。这个功能会在设定过程中会频繁用到,观察各各通道的设定状态及行程大小。
在混控及其他设定完之前,可以在监控器里查看舵机状态,这样可以防止由于未设定完行程而行程量过大而导致舵机卡阻。完模型类型和各类混控后,可以先在舵机监控器上查看设置情况,确认后再通电与飞机连接测试舵面状态。
中立点模式
中立点模式可以在安装舵机盘时将所有舵机归位到中点。
往返模式(用的比较少)
System type 系统设置
在这里可以选择不同的发射制式以及双向连接。Futaba不同的接收机使用的制式不同,可根据下表(说明书中原图)进行配置。双向传输功能将在后续推送中详细讲解。重置发射制式后设备会重启。
注意:在调试时不要将电机通电。
Model select 模型选择
警告:在模型发动机启动或电机处于连接状态时,绝不可更改模型选择。
Step1.建立新模型时,在Linkage menu(关联菜单)中点击[Model select](模型选择)。点击[New]新建一个模型数据,然后再选择新建的模型点击[Select],这时设备会重启,重启完毕就是选择的新模型数据。
选中一个模型可以进行命名和复制数据,不能删除正在使用的模型数据,只可以删除模型库中未在使用的模型数据。删除需谨慎,删除后将无法找回。需要删除时,选中模型,并点击[Delete]按钮。
Model type 模型类型
Step.2 新模型数据默认的配置是固定翼,机翼模式是单舵机,平尾是常规布局的单舵机平尾。我们可以根据模型的需求进行更改。
Model type 模型类型的变更:
一共有四大类可供选择:固定翼、直升机、滑翔机、多旋翼。其中,固定翼模式与滑翔机模式功能大部分相同,但建议针对不同机型准确选择。本篇先以固定翼为例,滑翔机、直升机和高级混控会在以后几篇细讲。
Wing 机翼类型
副翼在设成为双舵机时,在Function中,Aileron1是没有显示与J1、T1关联的,不需要再设置关联。但如果将此关联,另一个副翼通道(Ch5或Ch6或其他)将会没有反应。
无平尾模式的机翼设定
尾翼类型
普通尾翼和V型尾翼
(上表来源于说明书)
升降舵用两只舵机
(上表来源于说明书)
无尾翼型
(上表来源于说明书)
上表是在选择完模型类型后遥控器预设的通道。我们也可以根据实际情况在Function中按照自己需求和习惯重新调整。
Function 功能设置
Step.3 在Function功能设置菜单中可以更改各通道对应的功能以及各摇杆和微调对应的通道。在模型类型选择好后,其对应的摇杆已经与通道分配好,推荐使用设备分配的通道。如果需要更改通道设置也可以在这里 *** 作。
功能设置第三页右下角的[H/W reverse]是从 *** 作信号源更改摇杆、开关的反向的。(这里更改后,如右手的J1摇杆向右,则在设备里信号是向左,包括AFR里面的曲线设定。)这个功能不常用,如果您要更改舵机方向,请在[Servo reverse]中更改。
End point 舵机行程量
Step.4 [End point]调节的舵机形成量是舵机运行的总行程量。其中[Travel]调节的是 *** 作杆及双比率(D/R)所能控制调整的范围,设置某些混控是可以超过这个范围的;[Limit]是舵机总行程范围,任何混控都无法超过这个范围。[End point]是用来保护舵机以免舵机转到死点而卡阻损坏或损坏舵面结构。
在[End point]中调节舵机行程,如果左右行程不一致有可能会影响舵机中立点。舵机行程量会影响[AFR]中曲线的范围及舵机速度。在设置有双副翼、双升降舵、双襟翼等多舵机驱动的模型上。[End point]正负行程不同会导致中立点偏差,需要用Sub- trim调整。
注意:不要用[End point]调节飞机的舵量,舵量调节应在[AFR]中进行调节。
Sub-trim 中立微调
Step.5 [Sub-trim]调节的是舵机中立点,这不影响电子微调的调节范围。[Sub-trim]与遥控器上的电子微调按钮的区别是电子微调是在舵机行程区间内调整,而[Sub-trim]是调整整个区间位置。
注意:在我们安装飞机时,要先进行机械归零,再用[Sub-trim]进行调整。电子微调在飞行调整中使用。
Servo reverse 舵机反向
注意:
· 在每次飞行前都要确认模型类型、舵机方向、舵机动作及开关设定。
· 只有3通道在初始设定时是反向,请仔细确认电机及发动机风门的大小和方向。在调试电动模型时,请不要在安装螺旋桨或旋翼的状态下进行。
Step.6 Normal为正向,Reverse为反向。舵机正反向可以在模型通电后调整,但要注意一定要取下螺旋桨。对于双副翼舵机、双升降舵机、双襟翼舵机等多舵机模型,在每次安装时要注意对应通道,安装完再次确认舵机运转方向是否正确。
Throttle cut 油门熄火
Step.7 熄火开关页面。点击[INH]打开此混控,变为[OFF]或[ON],再点击Switch右侧按钮选择所需控制通道。右边的白色三角标记为油门位置,反应的是舵机的位置。黄线为发动机风门关闭的位置。默认设置[Cut position]为17(调整范围0-50),调节时根据需求调节发动机风门关闭位置。打开Throttle cut油门熄火混控后,油门杆从大车状态收下来后将会被锁在最低点。
(打开混控后未打熄火车开关时的状态)
更改 *** 作设置
点击Switch右侧按钮,更改 *** 作设置。在此页面可以更改所选开关及摇杆。
选中开关后,再点击[Set]按钮,可以选择开关开启位置。
红色是开关现在的位置,所对应的OFF和ON为开关状态。
(打开熄火混控开关后油门的位置状态)
Idle down 怠速降低
Step.8 [Idle down]功能常用在降落时使用。通过一个开关,让发动机转速降低。其设置方法与[Throttle cut]功能类似。
1、点击[INH]切换到OFF或ON,打开此混控功能。
2、点击[Switch]右侧按钮,选择开关。
3、点击[Offset]右侧按钮,调节最低怠速。“+”为降低怠速。该选项可以在发动机启动后根据实际情况调整。
Servo speed 舵机速度
Step.9 此功能可以降低舵机的转动速度,调整范围0-27,通道Ch1-Ch16。如襟翼、起落架收放舵机等,降低舵机速度后可以增加像真度。
Fail safe 失控保护(建议设定)
Step.10 失控保护功能可以在接收机接收不到信号或接收机电压降到一定程度时锁定或按照预设值让舵机保持在一个角度上。
失控保护分为[Hold]和[F/S]两档。其中,[Hold]是保持失控前最后 *** 作时的舵机角度,[F/S]是将舵机转到预设值。
[Mode]设置的是失控保护模式
[B.F/S]设置的是是否开启电池失控保护
[F/S-POS]设置是失控保护时舵机的位置
[Release battery F/S] 设置的是电池失控保护解除开关。
T1-T6 setting 微调设定
此页设定是数字微调的每格微调动作量和微调模式(联动[Comb]/个别[Separ])微调一共200小格,设定调节量越大,舵机条件动作幅度越大,调节越快。在试飞新飞机时,可以将微调量调大,以便能更快的修正飞机姿态,避免手忙脚乱。在细微调节时,可以降低微调量,使控制更精准。
(这是T1 Step四小格时,每调节一次T1,微调改变4小格,主界面显示T1调满为50格)
(这是T1 Step10小格时,每调节一次T1,微调改变10小格,主界面显示T1调满为20格)
Stick alarm *** 纵杆报警
此设置可以让油门杆到达指定位置时进行报警。
Timer 计时器
计时器功能可以用于飞行时长计时、比赛用特定时间计时等的正反向计时。每个模型的计时器都是可以独立设定的,一共有两个计时器可以使用。
计时器功能还是很常用的,在常规飞行中用于计算飞行时长,确保飞机不会因飞行时间过长而导致油料或电量耗尽而带来危险。在比赛或训练中,也可以作为辅助计时。
Function name功能命名
更改预备通道显示名称。
Trainer教练功能
发射机类型和教练模式设置一览表
注意:作为学生遥控器时要关闭电源,在不使用教练模式时,将此功能设定为[INH]。
Warning setting 开机报警设定
如果设定中的选项在开机时处于ON位,或油门未在最低点,都会启动报警。在此设定中可以改为取消报警或震动报警。在有报警时以及未按按要求复位开关时,发射机将不发射信号。
警告:必要的报警不可忽视,否则会有严重危险。
User menu setting用户菜单设定
在此页面可以选择最常用的功能按照自己的使用习惯进行设置。在主页面按遥控器右边的[U.MENU/MON]键可以直接进入此菜单,便于快速调整。
Model menu 模型菜单
Model menu 模型菜单是设置模型的混控以及高级设定,根据所选不同模型类别而异。
模型菜单中包涵:
[Servo monitor] 舵机监视器
[Condition select] 飞行条件选择
[AFR ]曲线设定
[Dual rate] DR双比率开关
[Program.mixes] 程序混控
[Aileron differential] 副翼差动
[Flap setting] 襟翼设定
以及各类飞行需要的混控。
AFR *** 纵曲线
Step.11 T18SZ中的曲线和双比率开关与以往的发射机设置略有不同。T18SZ是将曲线与开关在不同菜单进行设置。在AFR中可以设置CH1-CH16通道的 *** 控曲线。在您设置曲线之前,请先确保End point中行程量的设定。
[Offset]曲线偏置,可以调节舵机中立点
[Rate A]、[Rate B] 大小舵量设定
[EXP A]、[EXP B] 曲线设定
[Separ] 切换个别和联动,在联动时,左右数值同时改变。
在第二页可以更改设置曲线的通道和舵机速度调整。
Dual rate D/R 双比率
Step.12 设定两个 *** 控曲线可以使用开关切换,在飞特技时常用。
Program.mixes 程序混控
此功能可以设定任意的两个通道进行联动,联动的舵量大小、比率都可以在这里调整。用于改善模型的 *** 纵癖性或做特殊模型混控时的用途。
Flap setting襟翼设定
Step.13 用于调整襟翼偏转舵量大小。
以上就是一架带有襟翼功能的模型飞机设定的基本介绍。小编会在后续的文章中为大家进行混控及其他功能的讲解与不同机型在遥控设置的实际使用方法,敬请期待。
如果您没时间看说明书或觉得看说明书头疼,欢迎关注我们,我们会用最贴合实际的方法来讲解遥控设备的使用。
遥控器有分为美国手和日本手(除玩具遥控以外),(美国手的油门在左边,日本手油门在右边)一般国内普遍都是日本手,遥控的每个 *** 纵杆的动作对应一个通道,由于不知到你的是什么遥控,所以以6通道的遥控器为例,1通道是副翼,2通道是升降,3通道是油门,4通道方向,5通道是起落架或者是陀螺仪,6通道是襟翼或者是螺距,一般玩普通的固定翼,4个通道就可以了,对于飞机副翼的动作一般都是靠两个舵机来控制的,这两个舵机要并联插到第一个通道就可以了,遥控的接收器是有程序的,每个通道所要做的动作是什么都是已经编程好的,比如副翼的动作在有两个舵机的情况下,两个舵机的摇臂是方向是相反的,所以一个舵机控制一个舵面,舵面也就会是一个是向上一个是向下,混控是遥控器上的功能,是为了让一个遥控器能适应更多不同种类的航模飞机,一般混控有固定翼副翼襟翼混控,固定翼V尾混控,固定翼三角翼混控,至于怎么混控,遥控器说明书有说明怎样进行混控,(由于不知道你遥控的型号)所以没办法确定,新手最好要到航模论坛的新手区多潜水,学习学习,了解航模的一些基本知识, 看看遥控器的说明书,一般说明书上都有这些资料的,还有问题一点说清楚你的遥控器是什么型号的,不然很难回答你的问题假设您使用无线串口控制小车,那么你需要设计一个串口指令协议,一般来说,通信协议的数据帧包括3部分,一是指令头,又叫做帧同步字;二是指令内容,也叫帧内容;三是校验码。
同步字是为了便于程序分析连续传输的数据中,帧与帧之间的间隔,帧内容包含了所有经过16进制编码的各种控制指令和数据,校验码通常采用累加和与异或算法,为了计算本数据帧是否正确。(工业环境中,所有数据传输系统都存在一定的误码干扰,校验字能有效判别数据传输是否正确,进而通过错误处理机制,有效避免错误动作)。
刚好前段时间写了个小车的控制程序,使用的是双路H桥来驱动电机的,不过不是控制履带式的,稍微改动了下。
(注意,本程序仅适用于履带式小车,即左右电机正反转实现前后及转向,程序支持前后左右混控)
//********************************
// 遥控帧协议和结构
// FB|80|51|AA|FF|BB|FF|BY|BY|BY|BY|BY|BY|CR
// 00|01|02|03|04|05|06|07|08|09|10|11|12|13
// 14 byte
//FB 80 51 遥控帧同步字 00-02
//AA 前后控制量 128为中立位 03
//FF 恒定为0xFF 04
//BB 左右控制量 128为中立位 05
//FF 恒定为0xFF 06
//BY 备用控制指令 本程序为空 07-12
//CR 校验码,从00至12字节逐字节位异或 13
//********************************
// 遥测帧协议结构
// FB|80|61|AA|FF|BB|FF|BY|BY|BY|BY|BY|BY|CR
// 00|01|02|03|04|05|06|07|08|09|10|11|12|13
// 14 byte
// 重复遥控指令,除帧头外,其定义与遥控指令相同
#define BR 9600 //定义串口波特率
//遥控指令接收处理相关定义
#define TCDL 14 //定义遥控数据帧长度字节数
#define BUFF_LONG 30 //定义串口接收缓存的长度
byte BUFF[BUFF_LONG]//定义串口数据接收存储缓存
int BUFF_IDX = 0 //定义串口数据接收存储缓存的指针
//遥测指令发送处理相关定义
#define TMFQ 80 //定义遥测数据帧发送间隔为80ms
#define TMDL 14 //定义遥测数据帧长度字节数
byte TM_Data[TMDL] //定义遥测数据缓存
int TM_Index = 0 //定义遥测数据指针
unsigned long Time = 0//定义遥测发送计时器为0
//定义左、右电机与Arduino的驱动信号接口
//注意,这里用了4个PWM输出,部分Arduino板可能不支持,请查看手册
int Moto_Right_A = 3
int Moto_Right_B = 5
int Moto_Left_A = 6
int Moto_Left_B = 9
//数据接收指示灯相关定义
boolean IS_Blink = false //定义是否闪烁LED灯的变量
int LED = 13 //定义LED灯接口为13
//指令变量定义
byte RunPWM = 128 //定义前进、后退控制PWM指令变量
byte TurnPWM = 128 //定义左转、右转控制PWM指令变量
void setup()
{
pinMode(Moto_Right_A, OUTPUT)//定义输出
pinMode(Moto_Right_B, OUTPUT)//定义输出
pinMode(Moto_Left_A, OUTPUT)//定义输出
pinMode(Moto_Left_B, OUTPUT)//定义输出
pinMode(LED, OUTPUT)//定义LED管脚为数字输出
Port_Init() //初始化串口
Blink_LED(false)//关闭指示灯
}
void loop()
{
byte c
if (Serial.available() >0) //如果接收到串口数据
{
c = Serial.read() //读一个字节
Buff_AddChar(c) //塞进缓存进行存储、校验和解码
}
TM_Freq() //尝试按要求逐字节发送遥测数据
Driver_CAR(RunPWM, TurnPWM)//驱动左右电机正反转,实现运动控制
}
//驱动左右电机调速运行,实现左右正反转组合,实现控制
//前后、左右混控
void Driver_CAR(byte Run, byte Turn)
{
byte Run_L, Run_R //定义左右前进混合值
byte PWM_R_A, PWM_R_B, PWM_L_A, PWM_L_B// 定义4个信号的独立PWM
Run_L = Run - (128 - Turn) //将转向PWM混合到左路
Run_R = Run - (Turn - 128) //将转向PWM混合到右路
PWM_L_A = (255 / 128) * Run_L - 255 //左路混合值结算为左路A信号PWM
PWM_L_B = (-1 * 255 / 128) * Run_L + 255 //左路混合值结算为左路B信号PWM
PWM_R_A = (255 / 128) * Run_R - 255 //右路混合值结算为右路A信号PWM
PWM_R_B = (-1 * 255 / 128) * Run_R + 255 //右路混合值结算为右路B信号PWM
analogWrite(Moto_Right_A, PWM_R_A) //输出右路A信号
analogWrite(Moto_Right_B, PWM_R_B) //输出右路B信号
analogWrite(Moto_Left_A, PWM_L_A) //输出左路A信号
analogWrite(Moto_Left_B, PWM_L_B) //输出左路B信号
}
//********************************
//子程序 Port_Init()
//功能:初始化串口通信
void Port_Init()
{
BUFF_IDX = 0 //初始化串口缓存指针为0
TM_Data[0] = 0xFB //初始化遥测数据帧头
TM_Data[1] = 0x80 //初始化遥测数据帧头
TM_Data[2] = 0x61 //初始化遥测数据帧头
Serial.begin(BR) //定义波特率并启动串口
}
//********************************
// 子程序 Buff_AddChar(byte b)
// 功能:串口接收字节加入缓存
// 1、加入字节到缓存;
// 2、检测到帧头则尝试检测遥控帧;
// 3、管理缓存指针
void Buff_AddChar(byte b)
{
BUFF[BUFF_IDX] = b // 缓存[缓存指针] = 接收字节
if (BUFF_IDX >= 2)
{
if (BUFF[BUFF_IDX] == 0x51 &&BUFF[BUFF_IDX - 1] == 0x80 &&BUFF[BUFF_IDX - 2] == 0xFB) // 检测遥控帧头
{
if (BUFF_IDX == (TCDL - 1))
{
Buff_DCHK() // 检测校验码
}
BUFF_IDX = 0 // 缓存指针归零
return
}
}
BUFF_IDX++
if (BUFF_IDX >(BUFF_LONG - 1)) // 缓存指针越界
{
BUFF_IDX = 0 // 缓存指针归零
}
}
//********************************
//子程序 Buff_DCHK()
//功能:校验遥控帧校验字是否正确
void Buff_DCHK()
{
byte DCHK = 0x00
// 0xFB XOR 0x80 XOR 0x51
DCHK = BUFF[0]
DCHK = DCHK ^ BUFF[1]
DCHK = DCHK ^ BUFF[2]
int i
for (i = 0i <(TCDL - 4)i++)
{
DCHK = DCHK ^ BUFF[i]
}
if (DCHK == BUFF[TCDL - 4])
{
//校验字正确
Blink_LED(true)//闪烁LED
Get_CMD() //解码指令
}
}
//********************************
// 子程序 Get_CMD()
// 功能:解码遥控指令
void Get_CMD()
{
RunPWM = BUFF[0]
TurnPWM = BUFF[2]
//后面可以自己添加关于BY指令的解码处理
}
//********************************
//子程序 TM_Freq()
//功能:遥测数据发送帧率控制
void TM_Freq()
{
unsigned long t
if (TM_Index <TMDL) //如果一帧数据还没有发完
{
Serial.write(TM_Data[TM_Index])//继续发数据
TM_Index++ //指针累加
}
else //如果发完
{
if (Time == 0) //检测计时器是否为0
{
Time = millis()//是则赋予计时器初始值
}
else //不是
{
t = millis()
if (t - Time >= TMFQ) //检测计时器是否到达帧率控制的时间
{
Time = t
TM_Make_Data() //到达发送时间,则组一帧遥测数据,并开始发送
}
}
}
}
//********************************
// 子程序 TM_Make_Data()
// 功能:发送遥测数据
void TM_Make_Data()
{
// 遥测帧协议结构
//FB|80|61|AA|FF|BB|FF|BY|BY|BY|BY|BY|BY|CR
//00|01|02|03|04|05|06|07|08|09|10|11|12|13
byte CHK = 0xFB //赋值帧头
CHK = CHK ^ 0x80//赋值帧头
CHK = CHK ^ 0x61//赋值帧头
TM_Data[3] = RunPWM //回写前后指令
TM_Data[4] = 0xFF
CHK = CHK ^ TM_Data[3]//计算校验码
CHK = CHK ^ TM_Data[4]//计算校验码
TM_Data[5] = TurnPWM //回写转向指令
TM_Data[6] = 0xFF
CHK = CHK ^ TM_Data[5]//计算校验码
CHK = CHK ^ TM_Data[6]//计算校验码
CHK = CHK ^ TM_Data[7]//计算校验码
CHK = CHK ^ TM_Data[8]//计算校验码
CHK = CHK ^ TM_Data[9]//计算校验码
CHK = CHK ^ TM_Data[10]//计算校验码
CHK = CHK ^ TM_Data[11]//计算校验码
CHK = CHK ^ TM_Data[12]//计算校验码
TM_Data[13] = CHK//计算校验码
TM_Index = 0//清除遥测发送指针位置
}
//********************************
//子程序 Blink_LED()
//功能:闪烁内置LED灯
void Blink_LED(boolean Blink)
{
if (Blink == false)
{
IS_Blink = false
}
else
{
IS_Blink = !IS_Blink
}
digitalWrite(LED, IS_Blink)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)