目录
六足机器人(hexapod robot)控制板
项目需求
项目方案
项目实施
项目报告
六足机器人(hexapod robot)控制板
项目参与人员及分工:
张瀚坤
李豪乾
任继伟
项目需求
功能要求
基于小脚丫FPGA板和树莓派设计六足机器人控制和驱动系统。
摄像头采集
避障
手机遥控
性能要求
运动流畅
电源能够保障持续工作20分钟以上
资源要求
进度要求
成本要求
其它要求
项目方案
方案综述:
1.控制电源模块:为Raspberry Pi、FPGA模块供电。
2.执行电源模块:为驱动模块供电,能满足驱动模块的总电流要求。
3.Raspberry Pi :控制中心。接收上位机的控制信息,控制FPGA输出正确的PWM波形。
4.FPGA:数据处理模块,控制驱动板。
5.驱动模块:驱动18个舵机使六足协调运动。
6.通讯:(模块间的通信协议)
Pi–FPGA:uart/I2C
Pi–PC:socket
关键元器件:
电源:
控制电源模块:LM2596
执行电源模块:LM2596(过流保护:自恢复保险丝)同上
电源 对比 :L298N
降压模块:Lobot 降压模块
隔离
光耦隔离:PC817 PC817C 光隔离器/C档/光耦 SOP-4
FPGA:
舵机:LDX-218
实施计划:
第一阶段:实现六足机器人的各个模块连接
FPGA :
PWM :测试 PWM波形测试(1.波形周期 2.最小步进距离)
确定与树莓派通信接口:Uart/I2C
数据分析 :通信数据格式
Pi:
Uart/I2C
摄像头
超声波
舵机:
0点的确定
特性
驱动电流
执行精度
电源:
LM2596模块
原理图:
18路PWM产生模块
18路舵机驱动模块
第二阶段:实现项目任务的一部分
FPGA:PWM+光耦隔离(做控制与驱动隔离)
电源:根据LM2596电源模块,自己设计电源模块
舵机:实现一条腿的控制
制板
第三阶段:实现传感器任务
PI:加入摄像头和超声波功能
FPGA:通过I2C挂载传感器
电源:根据LM2596电源模块,自己设计电源模块
舵机:实现简单的移动
制板
目前任务:
了解舵机特性
学习FPGA:
PWM如何生成
Uart/I2C如何做
定义与树莓派通信的数据格式
买材料
舵机及架子 价格:1600元
电源 LM2596 价格:15元
实体结构:
简单模块化设计
模块设计
安装方式
项目实施
PCB设计
PCB制造
PCB焊接、调试
FPGA连接和Verilog编程
系统测试
项目报告
项目简要总结
项目达到的指标
项目改进及相应的方案
参考文献
Diamond安装及调试
官网获取许可证:
http://www.latticesemi.com
软件安装教程:
Diamond的安装及配置
lattice_diamond的使用:跑马灯的简单例程
调试中出现的问题1:✘不能识别USB串口
解决:安装下载USB驱动,重新编译,下载。
FPGA的学习教程
树莓派资料:
http://www.eetree.io/doc/%E9%80%82%E9%85%8D%E6%9D%BF_%E6%A0%91%E8%8E%93%E6%B4%BE
树莓派+usb摄像头:
https://www.raspberrypi.org/documentation/usage/webcams/
树莓派+hc-sr04超声波测距:
https://tutorials-raspberrypi.com/raspberry-pi-ultrasonic-sensor-hc-sr04/
fpga产生pwm波资料1:
https://www.fpga4student.com/2017/08/verilog-code-for-pwm-generator.html
fpga产生pwm波资料2:
https://www.allaboutcircuits.com/projects/a-pwm-driver-for-fpga-and-soc-design-using-verilog-hdl/
fpga生成pwm波资料3:
http://referencedesigner.com/tutorials/verilogexamples/verilog_ex_09.php
小脚丫脉宽调制例程:
http://www.stepfpga.com/doc/9._%E5%91%BC%E5%90%B8%E7%81%AF
基于树莓派的六足机器人:
https://medium.com/@mithi/a-raspberry-pi-hexy-transcript-62533c69a566
六足机器人资料1:
https://www.robotshop.com/community/robots/show/hexpi-a-robopi-raspberry-pi-based-hexapod-robot
六足机器人资料2:
https://blog.hackster.io/modifying-a-cheap-hexapod-robot-toy-to-run-on-a-raspberry-pi-479e181daf78
小脚丫fpga 串口:
http://www.stepfpga.com/doc/uart%E4%B8%B2%E5%8F%A3%E6%A8%A1%E5%9D%97
Linux tcp/ip编程:
https://www.thecrazyprogrammer.com/2017/06/socket-programming.html
Linux 串口编程:
https://stackoverflow.com/questions/6947413/how-to-open-read-and-write-from-serial-port-in-c
六足机器人舵机:
https://item.taobao.com/item.htm?spm=a230r.1.14.11.252d28628nHb60&id=19653902949&ns=1&abbucket=18#detail
PWM风扇控制设计文档以及PWM风扇控制设计源代码:
http://www.stepfpga.com/doc/fpga_start
FPGA相关视频:
https://www.moore8.com/courses/list/?cid=3
树莓派的c语言编程:
https://raspberry-projects.com/pi/programming-in-c/i2c/using-the-i2c-interface
树莓派写iic:
https://raspberry-projects.com/pi/programming-in-c/i2c/using-the-i2c-interface