ARM-control-underwater-robot

所属分类:处理器开发
开发工具:C/C++
文件大小:84KB
下载次数:15
上传日期:2013-03-28 14:28:24
上 传 者benjimmy350
说明:  利用ARM Cortex-M3芯片控制水下机器人的动作,源程序,直接就能用,源自一个项目。
(ARM Cortex-M3 chip control underwater robot action, source code, will be able to use directly from a project.)

文件列表:
File_Config.c (12308, 2012-03-08)
JLinkLog.txt (80078, 2012-08-25)
JLinkSettings.ini (573, 2012-04-09)
main.c (27267, 2012-08-28)
Retarget.c (4316, 2012-03-08)
RTX_Conf_CM.c (6018, 2012-04-23)
SDIO_STM32F2xx.c (12770, 2012-03-08)
SDIO_STM32F2xx.h (1582, 2012-03-08)
startup_stm32f2xx.lst (72257, 2011-09-20)
startup_stm32f2xx.s (29086, 2010-12-02)
stm32f2xx_conf.h (3620, 2011-04-21)
stm32f2xx_it.c (7046, 2012-06-20)
stm32f2xx_it.h (2115, 2012-04-09)
system_stm32f2xx.c (20783, 2011-04-21)
test.sct (479, 2011-09-20)
test.uvgui.Lch (134964, 2012-08-28)
test.uvgui_lch.bak (136669, 2012-08-27)
test.uvopt (29700, 2012-08-28)
test.uvproj (24870, 2012-07-23)
test_Target 1.dep (145685, 2012-08-28)
test_uvopt.bak (29701, 2012-08-27)
test_uvproj.bak (24870, 2012-07-23)

2012-4-17 任务分配: 任务1:串口1; 任务2:串口2; 任务3:串口3; 任务4:串口4; 任务5:串口6; 任务6:AD采集; 任务7:存储,将需要存储的数据存于SD卡内; 任务8:数据分析; 任务9:PWM1信号输出; 任务10:PWM2信号输出; 任务11:IO控制 通信协议(包含帧头共10个字节): 帧头三个字节 FF FF A5 地址信息,一个字节, 00 (此处为固定值) 命令信息,一个字节,00表示上传数据命令,01表示下传动作命令,其他未定义 长度信息 一个字节,不包括帧头,但包含帧尾 xx(此处固定为7) 数据信息两个字节 xx xx 校验和(简单和,取低字节) 帧尾一个字节 26(16进制) 其中数据信息格式如下: 第一个字节位信息: 0--0:系统暂停工作,1:系统开始工作 1-7:目前未定义 第二个字节,保留未定义 FF FF A5 00 01 07 01 00 09 26 深度、和陀螺仪,同时记录两个电机的开关 使用实时时钟。 1、目前完成各个串口的自身调试,尚未外接设备,需要根据各个设备实现各自协议 2、8路AD完成,注意各个通道的对应关系 3、已测试RL-FlashFS,可以使用 2012-06-10 1、深度计:使用AD通道1,直接2.5V。 2、倾角传感器:X方向角度使用AD通道4,5V;Y方向角度使用AD通道7,5V。 3、陀螺仪:使用AD通道2,5V,即5VAD插座4脚接信号, 4、电机方向控制:电机的速度是使用PWM脉冲的频率控制的,明天用示波器观察每个通道的禁止输出实现功能。---------切记 第一个通道控制一个电机,接线位置是PWM插座的2脚;方向控制使用P1插座的2脚,即PD10脚。 第二个通道控制另一个电机,接线位置是PWM插座的4脚。方向控制使用P1插座的3脚,即PD11脚。----没用到 注意:电机驱动板的信号输入端的电源接控制板上的5V。-------------------- 5、水泵电机控制:用PD12,PD13两个引脚控制水泵电机的电源供电方向,PD12为高时,PD13必须为低,反之亦然,不然电源短路。 ---------------切记,两个控制引脚不可同时为高------------------ 6、 初始化时,应该先将水泵电机关闭,定时器关闭(不输出PWM信号),根据指令再打开。 存贮格式: 时分秒 深度 陀螺仪 倾角X 倾角Y 电机1开关状态及方向 电机2开关状态及方向 水泵开关状态及方向 每次接收到下潜命令后开始记录数据,当深度计数据由小变大再有大变小到初始值时停止记录,保存文件,一次记录结束 使用无线通信方式,滑翔机内部地址为 00 02(十六进制)所以上位机在发送指令时前面要加上此地址才可以;下位机向上传 数据时亦要添加上位机地址 00 00(十六进制),否则通信不能建立 写上位机程序,功能: 1、发送开始命令; 2、处理SD卡内的数据。 上位机程序并不能停止下位机采集过程,下位机需要断电拿出卡才可以处理数据。 8-28通信协议修改 通信协议(包含帧头共10个字节): 帧头三个字节 FF FF A5 地址信息,一个字节, 00 (此处为固定值) 命令信息,一个字节,00表示上传数据命令,01表示下传动作命令,其他未定义 长度信息 一个字节,不包括帧头,但包含帧尾 xx(此处固定为 XX ) 数据信息包含以下信息: xx xx 吸水时间,两个字节,高位在前,低位在后 xx xx 电机正向运动时间 xx xx 下沉延时时间 xx xx 排水时间 xx xx 电机反向运动时间 xx xx 上升延时时间 xx xx 电机复位(正向)运动时间 校验和(简单和,取低字节) 帧尾一个字节 26(16进制) 其中数据信息格式如下: 地址 命令 帧长 具体命令 吸水时间40s 电机启动时间10s 下沉时间300s 排水时间40s 电机反转时间20s 上升延时时间900s 电机复位10s 校验和 帧尾 FF FF A5 00 01 14 01 00 28 00 0A 01 2C 00 28 00 14 03 84 00 0A 3E 26

近期下载者

相关文件


收藏者