2-Axis-Pan-Tilt-Camera-Module 教程

资料

云台开源程序

云台图纸

云台STEP模型

驱动板原理图


产品介绍

该摄像云台采用两个大扭矩总线舵机形成的双自由度设计,在水平平面PAN轴和竖直平面TILT轴实现了较广泛的旋转范围,分别为±180°(总范围360°)和-45°~90°(总范围135°),让摄像头覆盖区域更广泛。


基于通用机器人驱动板,可以与树莓派 4B/5 高度融合,使硬件选择变得更加灵活。开源的WEB控制程序让用户能够通过谷歌浏览器轻松控制云台,实现云台姿态调整、图像采集等功能。除了基本的拍照和摄像功能外,该摄像云台还提供了人脸检测和运动检测,为您提供更智能、更精确的监测体验。不仅开源了下位机的云台功能例程,树莓派摄像头相关功能的例程也全部开源,让用户可以根据自己的需求进行二次开发。


两个关节都采用高精度总线舵机直驱方案,角度传感器为360° 12 位磁编码器,可回传关节角度、负载等信息,实现闭环控制;虽然使用的总线舵机体积小,但达到了30kg.cm的关节极限扭矩,确保将云台集成到其它项目中。我们还附赠了鱼骨导轨与 1/4 的螺丝,开源了模型和图纸,使得用户能够根据自身需求进行扩展,创造更多的可能性。


驱动板介绍

  • 主控模组:ESP32-D0WD-V3
  • 驱动器旋转速度:40prm
  • 关节角度传感器:12位360°磁编码器
  • 驱动器堵转扭矩:30kg.cm
  • 供电电压:12V
  • 有线控制方式:USB、UART
  • LED补光灯功率:< 1.5W
  • 重量:441g


产品组装和配置教程

注:本产品的组装教程中含有树莓派的安装和 SD 卡的配置,需要自备树莓派和 SD 卡,该产品具体的配置清单请见产品详情页中。

  • 产品组装和配置视频版

【敬请期待】


产品使用

本产品下位机由 ESP32 驱动,默认通过 GPIO 串口或者 USB 线连接与上位机(例如树莓派)进行通信。我们目前提供的上位机例程是基于树莓派的,下位机例程的云台功能(除摄像头外相关功能)是可以脱离上位机使用的。在产品组装和配置教程部分,树莓派是通过 GPIO 串口与下位机进行通信的。


树莓派 WEB 端使用

在本部分中会介绍树莓派与下位机通过GPIO通信时该产品的使用。

使用配置的 12V 5A 电源线接入到云台上的电源接口,打开电源开关,通电即开机。树莓派开机后,可以通过访问树莓派的 IP 地址:5000 来访问树莓派的 WEB 端控制界面。例如:192.168.10.156:5000。注意:访问的设备要与树莓派设备在同一个局域网下才可访问成功。

访问成功后,可以看见树莓派摄像头拍摄的画面,下面分别介绍树莓派 WEB 端控制界面的按键功能:

  • 点击摄像头画面中间的拍摄按钮会进行拍照功能,拍出的照片会存储在下方的 Photo Gallery 模块中;
  • 点击“Record”按钮会进行摄像功能,摄像头录下来的视频存储在下方的 Video Files 模块中;
  • 点击一下Use4.png按钮会放大一倍当前摄像头拍摄的画面,点击两下会放大两倍,点击第三下会恢复成原始大小;
  • 点击“480P”可以进行拍摄清晰度调节,默认为 480P,调为 960P 会更清晰;
  • 拖拽摄像头画面处右下角的透明圆圈按钮,可以控制摄像头云台转动;
  • 右上的方块控制面板同样是可以控制摄像头云台上下左右转动,点击“AHEAD”按钮会恢复到设置的中位。
  • Detection Type:设置摄像检测的类型。
    • None:表示此时无需要检测的物体;
    • Movition:表示此时检测的物体为处于运动状态的物体;
    • Faces:表示检测的为人脸。
  • Detection Reaction:设置检测到物体后的反应,此反应为自动执行的。若无检测到的物体,该功能也无用。
    • None:表示此时无任何反应执行;
    • Capture:表示此时反应为自动拍摄状态;
    • Record:表示此时反应为自动录影状态。
  • Head Light Ctrl:开关摄像头上方 LED 灯。


Photo Gallery:存储拍摄的图片于此。若拍摄了多张图片,则可以点击“View Photo Gallery Page”来显示所有的图片,括号里的数字表示图片总数。点击图片可以放大查看;点击图片上右上角的按钮即删除该图片。


Video Files:拍摄的视频存储于此。若拍摄了多个视频,则可以点击“View Video Files Page”来显示所有的视频,括号里的数字表示视频总数。点击视频可以播放视频;点击视频右边出现的按钮即可删除该视频。


Bus Servos Initialization Setup:校准舵机设置。由于在产品组装的步骤中我们已经进行了舵机校准,因此这里不需要再进行设置。但若您要进行舵机 ID 和中位设置,也可以点击“Setting Page”进入设置页面跟着页面中的步骤执行即可。



JSON格式指令

我们下位机和上位机所有例程都开源,您可以根据自己的实际需求来更改通信内容,以下为默认例程中常用的通信内容介绍,波特率为115200:

  • EMERGENCY_STOP - 急停指令
    {"T":0}
  • GIMBAL_CTRL - 云台朝向基础控制指令
    {"T":1,"X":45,"Y":45,"SPD":0,"ACC":0}
  • OLED_SET - OLED 屏幕设置指令
    {T"3,"lineNum":0,"Text":"putYourTextHere"}
  • ALL_LIGHT_OFF - LED灯控制
    {"T":41,"SA":0,"SB":0}
  • LIGHT_PWM_CTRL - LED灯开关控制
    {"T":41,"SA":255,"SB":255}
  • BUS_SERVO_CTRL - 单独舵机控制
    {"T":50,"id":1,"pos":2047,"spd":500,"acc":30}
  • BUS_SERVO_MID - 舵机运动到中位指令
    {"T":-5,"id":1}
  • BUS_SERVO_INFO - 反馈舵机信息指令
    {"T":53,"id":1}
  • BUS_SERVO_ID_SET - 设置舵机 ID 指令
    {"T":54,"old":1,"new":2}
  • BUS_SERVO_TORQUE_LOCK - 设置舵机扭矩锁
    {"T":55,"id":1,"status":1}
  • BUS_SERVO_MID_SET - 设置舵机中位
    {"T":58,"id":1}
  • WIFI_INFO - 反馈 WIFI 信息
    {"T":65}
  • INA219_INFO - 反馈产品电压、电流灯信息
    {"T":70}
  • IMU_INFO - 反馈产品 IMU 信息
    {"T":71}
  • DEVICE_INFO - 显示云台的 MAC 地址
    {"T":74}