• ROV设计导图
2019.3.26
  • 完善Flash读写结构
  • 添加servo.c 与 propeller.c
  • 添加设置 工作模式【 AUV_Mode or ROV_Mode 】 MSH方法
  • 计划任务

    • 返回舵机类设备 开启的当前状态
    • 当上一次值last_value != current_value 写入Flash
    • Flash 一般20W次读写(需要避免过度擦除、读写)

2019.3.31
  • 计划任务

    • 添加水深传感器MS5837驱动程序
    • MS5837-ADC转换时间 十分关键
  • 不知道为何 温度转换精度超过2048,温度会出现周期性脉冲尖峰,从而导致气压数据异常

    • 气压转换精度超过4096,气压数据非常大并且数据不变
    • 最后确定 温度精度为2048,气压精度为4096,数据测试正常 ,测试温度区间:4-50℃

  • 计划任务
  • 添加变焦摄像头驱动程序[步进电机]
  • 记忆当前变焦、聚焦位置
  • 变焦摄像头是否作为独立于主控[STM32F407]的一个设备,由STM8进行驱动,STM32只与STM8进行通信控制

硬件设计

24V稳压5V设计

  • TI WEBENCH在线设计参考
  • 电流监测接口设计

接口设计

  • 深度传感器

    • I2C上拉电阻
    • VCC (红色)
    • I2C SCL - PE10 (黑色)
    • I2C SDA - PE12 (黄色)
    • GND (绿色)
  • 变焦摄像头接口

    • 主从机控制 STM8控制变焦摄像头,串口连接主控核心板
  • 水平四浆对置推进器

    • TIM1 CH1 - PE9 【右上】
    • TIM1 CH2 - PE11 【左下】
    • TIM1 CH3 - PE13 【左上】
    • TIM1 CH4 - PE14 【右下】
  • 垂推推进器

    • TIM4 CH1 - PD12 【左中】
    • TIM4 CH2 - PD13 【右中】
TIM_SetCompare1(TIM1,propeller_power);  //右上
TIM_SetCompare2(TIM1,propeller_power);  //左下
TIM_SetCompare3(TIM1,propeller_power);  //左上
TIM_SetCompare4(TIM1,propeller_power);  //右下TIM_SetCompare1(TIM4,propeller_power);  //左中
TIM_SetCompare2(TIM4,propeller_power);  //右中
  • 机械臂舵机接口

    • TIM4 CH3 - PD14
    • 负、正、信号
  • 云台舵机接口

    • TM4 CH4 - PD15
    • 负、正、信号
  • 探照灯接口

    • 继电器 IO -
  • STM32 SWD下载接口【核心板SWD接口 上下都为互通】

    • SDO -
    • SCK -
  • OV2640【 上下都为互通】

数据包协议

  • 航向角
    规定 逆时针
    * N—— 0°
    * W—— 90°
    * S—— 180°
    * E—— 270°
编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
数据所代表的含义 包头 包头 数据长度位 深度锁定位 方向锁定位 X轴动力模拟量 Y轴动力模拟量 垂直运动方向位 旋转运动方向位 油门量 灯亮度控制位 变焦摄像头动作位 云台控制位 机械臂控制位 Reserve Reserve Reserve Reserve 启动停止位 校验位
具体描述 AA 55 10 x x x x SUM
数组编号 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

控制字格式:0xAA 0x55 0x10+控制字节(16字节)+校验字(所有字节相加后,保留最后一个字节)

  • 第1字节:包头位

  • 第2字节:包头位

  • 第3字节:数据长度位

  • 第4字节:0x01表示深度锁定,0x02表示人工控制(可指定默认值)

  • 第5字节:0x01表示方向锁定,0x02表示随水动(可指定默认值)

  • 第6字节:右摇杆模拟量 前后状态(0~255)即摇杆居中时大约为128

  • 第7字节:由摇杆模拟量 左右状态(0~255)即摇杆居中时大约为128

  • 第8字节:机器人垂直运动:0x01表示向上,0x02表示向下,0x00表示不动作(默认)

  • 第9字节:机器人旋转:0x01表示左旋,0x02表示右旋,0X00表示不动作(默认)

  • 第10字节:0x00~0xff (0~255) 表示的油门大小:4档位可调,LB加档,LT减档,可分别设置4个档位油门大小 【不用】

  • 第11字节:灯的亮度控制,0x01表示变亮,0x02表示变暗,0x00表示不动作(默认)

  • 第12字节:摄像头焦距控制,0x01表示聚焦,0x02表示变放焦, 0x11表示放大,0x12表示缩小,0x00表示不动作(默认)

  • 第13字节:云台转动,0x01表示向上,0x02表示向下,0x03表示归中,0x00表示不动作(默认)

  • 第14字节:机械手动作,0x01表示张开,0x02表示关闭,0x00表示不动作(默认)

  • 第15字节:保留

  • 第16字节:保留

  • 第17字节:保留

  • 第18字节:保留

  • 第19字节:0x00 默认 0x01表示启动, 0x02表示停止

  • 第20字节:累积和校验

  • 舵机电源稳压出 —— 11.3V

  • 探照灯电源稳压出——13.3V

一、线序定义

1.网线与SWD

SWD 【黄色】

网线

  • 只要把 橙白、橙、绿白、绿 接好网线就可以适用了【10M的速率】
  • 橙白接第一个,橙第二个,绿白第三个,绿第六个,第四五、七八不接。

[外链图片转存失败(img-9OGQWxqt-1562402491858)(en-resource://database/618:1)]

①内侧视图:

[外链图片转存失败(img-9gVZyD7x-1562402491860)(en-resource://database/620:1)]

②外侧视图(与内侧视图关于Y轴对称):

2.电源线

  • XT60 香蕉头,方正、尖负
  • +24V:红、白
  • GND:黑、绿
    [外链图片转存失败(img-vIG2PCP0-1562402491863)(en-resource://database/622:1)]

[外链图片转存失败(img-rvEtXblc-1562402491864)(en-resource://database/638:1)]

3.变焦摄像头

线序:

  • RX(STM32) 绿
  • TX (STM32)绿白
  • GND 橙白
  • VCC 橙
  • D+ 蓝
  • D- 蓝白

变焦手柄控制

  • 摇杆拉上:(变焦ZOOM)缩小,视野变宽
  • 摇杆拉下:(变焦ZOOM)放大,视野变窄
  • 摇杆拉左:(聚焦FOCUS)
  • 摇杆拉右:(聚焦FOCUS)

正方向:

[外链图片转存失败(img-4Wpme5NQ-1562402491866)(en-resource://database/664:1)]

指令集:

ZOOM:
AA 55 02 02 00 03

FOCUS:

AA 55 02 00 02 03

4.探照灯

  • +12V 蓝紫
  • GND 蓝橙

4.电源仓

[外链图片转存失败(img-NAGxo3dX-1562402491867)(en-resource://database/676:1)]

二、推进器定义

  • 正浆:顺时针切水方向【即下图】

  • [外链图片转存失败(img-jN4u3W80-1562402491873)(en-resource://database/642:1)]

  • 反浆:逆时针切水方向

  • 水平方向推进器:

    • TIM1 CH1 - PE9 【右上】
    • TIM1 CH2 - PE11 【左下】
    • TIM1 CH3 - PE13 【左上】
    • TIM1 CH4 - PE14 【右下】
  • 垂推方向推进器:

    • TIM4 CH1 - PD12 【左中】
    • TIM4 CH2 - PD13 【右中】

机身结构示意图:

[外链图片转存失败(img-Y2KJkVeU-1562402491876)(en-resource://database/646:1)]

三、树莓派定义

用户名与密码

  • Hostname:pi
  • Passward:219

静态IP

  • 192.168.137.219

Hi-WiFi 219 IP地址

  • 192.168.199.216
  • 发现USB转串口
    [外链图片转存失败(img-dvDwGYeE-1562402491877)(en-resource://database/634:1)]
  • 测试串口
    [外链图片转存失败(img-8zliSU5n-1562402491881)(en-resource://database/636:1)]

需要固定USB设备号

https://blog.csdn.net/ialex08/article/details/82784699

USB设备记录

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 1e4e:0109 Cubeternet
Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 005: ID 2304:4960 Pinnacle Systems, Inc.
Bus 001 Device 007: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $
  • Pinnacle Systems, Inc. 为变焦摄像头 8086 video1
  • Cubeternet 为普通摄像头 8085 video0
    [外链图片转存失败(img-f9CBlmE9-1562402491883)(en-resource://database/718:1)]

推进器镜像设置(匿名上位机ANO)

[外链图片转存失败(img-bPve5btQ-1562402491884)(en-resource://database/933:1)]

  • 数据当-1为 镜像,1为正常,只占用第一位P数据
  • PID13:右上
  • PID14:左下
  • PID15:左上
  • PID16:右下
  • PID17:左中
  • PID18:右中

【事项】ROV设计过程相关推荐

  1. 《大话软件工程—需求分析与软件设计》,给出了分析与设计过程中需要的理论、方法、工具和标准

    □ 做好一款软件从哪里开始呢?→ 客户需求的调研: □ 一款软件的价值高低由哪个环节决定呢?→ 软件的分析与设计: □ 软件顺利完成开发靠什么?→ 高效的项目管理: □ 软件开发的主要角色?→ 客户. ...

  2. labVIEW与单片机实现串口通信的设计过程

    1.概述 在现代测控系统中,我们经常会采用上位机和下位机的开发控制模式.下位机主要是用来采集数据,可以通过嵌入式控制器.单片机控制器.PLC等来实现.上位机主要是图形界面,用来实时显示采集数据,并进行 ...

  3. CMDB经验分享之 – 剖析CMDB的设计过程

    作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点.在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战.同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的 ...

  4. 从涂鸦到发布 —— 理解API的设计过程

    要想设计出可以正常运行的Web API,对基于web的应用的基本理解是一个良好的基础.但如果你的目标是创建出优秀的API,那么仅凭这一点还远远不够.设计优秀的API是一个艰难的过程,如果它恰巧是你当前 ...

  5. 《挖掘管理价值:企业软件项目管理实战》一2.4 软件设计过程

    本节书摘来异步社区<挖掘管理价值:企业软件项目管理实战>一书中的第2章,第2.4节,作者: 徐勤 责编: 杨海玲, 更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

  6. 【数据库原理及应用】经典题库附答案(14章全)——第六章:关系数据库设计过程

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  7. figma应用——面向用户的咖啡点单APP的设计过程记录

    目录 概述 设计阶段 1.Brainstorm 2.用户分析 (1)用户画像 (2)竞品分析 (3)用户旅程地图 (4)用户需求分析 3.点单APP的demo设计 (1)整体布局逻辑概览 (2)主要界 ...

  8. 软件工程(总体设计①设计过程)

    经过需求分析(https://blog.csdn.net/weixin_45626468/article/details/115324885)阶段的工作,系统必选"做什么"已经清楚 ...

  9. (软件工程复习核心重点)第四章总体设计-第一节:总体设计基本概念和设计过程

    文章目录 一:总体设计的概念 (1)定义 (2)主要任务 (3)步骤 (4)必要性(了解) 二:设计过程 (1)系统设计阶段 1:设想供选择的方案 2:选取合理的方案 3:推荐最佳方案 (2)结构设计 ...

最新文章

  1. iOS7与iOS8的比較
  2. 非此即彼的逻辑错误_MBA逻辑攻略-逻辑知识大全,快来收藏吧!
  3. 小马哥spring编程核心思想_Spring核心思想理解
  4. Android实例-ImageList与Image的应用
  5. RNN-循环神经网络和LSTM_01基础
  6. C++编程基础二 03-const形参与实参
  7. 计算机操作系统——死锁(产生的必要条件与处理死锁的四个关卡)
  8. openstack在xiandian界面登录提示无效证书_注意:2019年医师资格证书开始发放啦!...
  9. 蓝桥杯 ADV-108算法提高 分数统计
  10. MySQL binlog日志三种模式选择及配置
  11. 如何用MathType快速输入公式
  12. 应用数学是关于计算机,应用数学学科
  13. 踩坑_consul_“At least one health check on one instance is failing“
  14. 使用正则表达式处理金额
  15. 论:程序员成就之天梯排行榜
  16. 程序员独白:经济危机中,一个老女人15万包我一年
  17. 数据分析平台页面设计_平台设计剖析
  18. 与大数据相关的工作职位有哪些?
  19. 【预测性维护案例】助力硬盘制造商提高制造过程的质量和效率
  20. LCD 硬件原理(TN,STN,TFT之间的差别)

热门文章

  1. 未来制造业的厂内智能物流是这样吗?
  2. 删除SQL Server数据库
  3. 【Matlab入门】使用内置的函数和常量
  4. 桥接模式NAT模式 详解
  5. android 虚线画不出来的,Android shape画虚线,不显示或者显示是实线的解决方案
  6. AARRR模型——激活:获客红海背后的蓝海(下)
  7. iOS 中集合如何弱引用对象
  8. Qt开发技术:Q3D图表开发笔记(三):Q3DSurface三维曲面图介绍、Demo以及代码详解
  9. 转录组测序(RNA-seq)的数据如何分析?
  10. 统计计量 :统计学公开课大盘点(附下载)