|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
蓝色斗鱼制作先上两张电路图吧
目前代码支持的云台结构(水平0-180度,俯仰0-180度)
180度水平舵机在达到0度或180度时,垂直舵机和俯仰舵机会同时翻转(期间有短暂延时),使天线朝向反方向,实现360度指向。
简单说一下:
1、可自适应GPS波特率
2、可以用电脑串口或蓝牙显示状态、设置参数
Cmd=="h" 手动设置家(4颗星以上即可)
Cmd=="c" 清空家数据
Cmd=="s" 显示接收到的坐标数据
Cmd=="sh" 显示家的坐标数据
Cmd=="js" 开始监视,显示接收到的坐标数据
Cmd=="tz" 停止监视
Cmd=="spfx" 水平舵机反向
Cmd=="fyfx" 俯仰舵机反向
Cmd=="sppy+" 水平舵机中立点偏移量+5
Cmd=="sppy++" 水平舵机中立点偏移量+50
Cmd=="fypy+" 俯仰舵机中立点偏移量+5
Cmd=="fypy++" 俯仰舵机中立点偏移量+50
Cmd=="spbc+" 水平舵机行程补偿+5
Cmd=="spbc++" 水平舵机行程补偿+50
Cmd=="fybc+" 俯仰舵机行程补偿+5
Cmd=="fybc++" 俯仰舵机行程补偿+50
-、--类似
Cmd=="spcs" 测试水平舵机
Cmd=="fycs" 测试俯仰舵机
Cmd=="cs" 测试跟踪
Cmd=="zdszj" 自动设置家
Cmd=="szfx" 设置飞行方向(舵机恢复中立位置,平板指向为飞机方向)
3、在烧制发射端时,注意将Hard/SoftwareSerial的_SS_MAX_RX_BUFF设成512,避免GPS严重丢帧,烧制接收端时改回,减少内存占用。【如果使用硬件串口(默认),搜索:HardwareSerial.cpp,修改其中的SERIAL_BUFFER_SIZE;如果使用软串口,搜索:SoftwareSerial.h,修改其中的_SS_MAX_RX_BUFF】
#if (RAMEND < 1000)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 64
#endif
把这里的64改成512即可(烧制接收端时注意改回来),程序在编译时会将所有地方的“SERIAL_BUFFER_SIZE”看成是512
4、喇叭接A1管脚
5、电子罗盘功能(AAT自动判断方位,不用经常调整云台方向)还没弄
6、程序对arduino板子的内存需要较大,尽量买内存大的(好像是2k)
7、有什么疑问直接发帖说吧
接收端电容大小及作用:
单个的那个电容用的是2200uf,作用是稳定电压基准点。另外一个接喇叭的电容也是2200uf,作用是隔直流,通交流 。
两个的那个电解电容也是2200uf,另一个是瓷片电容,容量是0.22uf(图上的标错了),作用是隔直流,通交流,瓷片电容的作用是优化高频性能吧,对电路不是很精通。
接个喇叭是用来提示状态:
当设置家成功后,发出1234声音提示,当接收到有效GPS数据后发出高音,当6s内没有有效GPS数据时,发出低音
Arduino nano 和Arduino mini 不完全相同,第一种支持USB和3.3V输出,支持12V输入,第二种板子更简单、重量轻, 但烧录时需要usb转串口模块,且没有3.3V输出,电源需要接5V
增加电子罗盘功能:
1、先在接收端烧录电子罗盘校准代码,串口调试窗口键入init命令,灯亮前保持不动,灯亮时缓慢转动板子,灯灭后完成校准(完成校准后,校准参数会保存到eeprom)。2、烧录AAT接收端,检查电子罗盘是否相对准确,如不准确,需重新校准。(串口调试窗口键入ma命令,可转换电子罗盘测试方式,一共6种【xy,yx,xz,zx,yz,zy】)
[media=x,500,375]http://v.youku.com/v_show/id_XNjg1MjA0NzIw.htm[/media]
改造说明及注意事项:
1、需要购买滑环一个(非过孔的就行,至少4芯,50元以内),空心齿轮2个,减速步进电机(四拍)及驱动板1套(10元左右的也能用,但力量有点小,电机轴转动1圈的步进数一定要大于360)
2、除了电池、降压模块放在云台下边外,其它设备放在云台上边,滑环的四芯作用分别是:地、+5V、+12V、视频信号
3、建议详细看下“RX_Main.ino”中的中文注释,对制作和使用有帮助。
4、部分命令有变动,详情请见“bool ExecCmd(String cmd) {”下面的语句。
5、电子罗盘建议平放(使用ma命令将MagAttitude【d命令可查看】调为0:正面向上或1:正面向下),如果没有电子罗盘,请将“#define USE_GY85 1” 中的1改为0。
6、接收端开机自检及测试(键入cs命令)时天线应逆时针旋转,否则使用spfx命令来更改。
7、语句“Stepper stepper(2048, 10,11,12,13)”中的2048为电机轴转动1圈的步进数,请根据实际情况自行修改(自检时旋转一周说明设置基本正确)
8、那两个空心齿轮,一个放在云台下面固定部分的中心(一定要正中心,避免转不动或卡顿),滑环线从齿轮中间穿过,另一个齿轮固定在电机轴上,放在云台上面活动部分,偏离中心,与固定部分的齿轮能很好咬合。
9、为了便于安装和利用圆心,建议云台上下颠倒使用。
10、俯仰舵机在中位时安装,安装时与云台成45度角,这样可以可容易转到水平或垂直位置。
11、有电子罗盘模块调试时,先调整自检时云台转动方向,自检后如果天线不指北,用jd++或jd--等命令调整(命令键入后天线不会动,需要用dw命令进行重新定位检查)。
12、天线转动过快(容易带不动)或过慢时,调整”stepper.SetSpeed(3);“中的数字,数字越大,速度越快。自检时电机有震动但天线不动,则有可能是数字太大了,调小试试。
13、加电测试时请仔细检查接线,烧坏设备别找我。
14、电子罗盘连接方法:只要连接VCC,GND,SDA,SCL四条线。
Arduino GND -> HMC5883L GND
Arduino 3.3V -> HMC5883L VCC
Arduino A4 (SDA) -> HMC5883L SDA
Arduino A5 (SCL) -> HMC5883L SCL
(注意,接线是A4,A5,不是D4,D5)
15、一定要注意,所有模块(arduino、蓝牙★、电子罗盘、舵机、步进电机控制板电源★、降压模块的输入输出、GPS、图传、喇叭等)都要共地,已经有不止一次因没共地造成问题。
16、蓝牙建议与arduino的“地、5V、2、3”连接(Arduino的D2、D3端口分别与蓝牙的TX、RX连),使用软串口,避免电脑串口、arduino、蓝牙之间相互冲突,程序使用软串口的方法:将“#define UseSoftwareSerial 0” 中的0改为1。
17、蓝牙的硬件串口连接方法:与arduino的“地、5V、RX、TX”连接(RX、TX交叉连接)
18、需要修改程序代码的,基本都在文件“RX_Main.ino”中。
19、发射端状态判断方法:
未连接GPS时:LED灯长亮长灭(时间一样长),发送测试数据
连接到GPS时:
LED灯闪亮(时间短) :接收到有效GPS数据并发送
LED灯熄灭(时间长) :未收到有效GPS数据,发送上次有效数据
20、烧制发射端时别忘记改缓冲区大小,烧制接收端时改回来,另外如果库文件(arduino-1.0.4\libraries)中有Stepper目录,请删除。
好东西在下面
|
| |