球平衡PID系统的制作

电子说

1.3w人已加入

描述

第1步:PCB

pcb

pcb

pcb

pcb

PCB制造

我用 eagle 绘制了pcb,然后PCBWay.com制造了它。

PCB组装:

我焊接了所有没有焊剂助焊剂的smd组件。我不建议你像我这样做。

PCB采用5-6v 2A电源供电。

PCB组件:

1X Atmega32u4 

1X 1uf电容器

1X 0.1uf电容器

1X 10uf电容器

2X 22pf电容器

1X led 

1X 10K电阻器

1X 1K电阻器

2X 22电阻器

1X 16mhz Quartz

usb connecto r 

power jack

PCB的角色

PCB连续与计算机通信。该PCB仅用于控制伺服电机。

步骤2:3D打印

pcb

警告: inferieur.stl , superieur.stl 和 plateau.stl 文件不是3D可打印的。 inferieur.stl和superieur.stl由丙烯酸制成。您可以使用CNC制造这些零件,但您也可以在亚克力板上自行切割,因为这些零件的设计并不复杂。 plateau.stl 可以用纸板切割。

第3步:零件装配

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

机械部件:

Futaba伺服s3003

磁铁和球

13X M4 * 10mm螺栓

10X M4螺母

15X 

3X M4 * 10mm螺栓

3X M4螺母

USB网络摄像头

铝管:长474毫米,直径8毫米

步骤4:PCB编程

pcb

PCB包含与arduino leonardo相同的微控制器。因此可以使用Arduino软件进行编程。代码可以在这里下载。

在编程PCB之前,你必须刻录引导加载程序:Arduino作为ISP和Arduino引导加载程序

刻录引导加载程序

你需要一个Arduino

将ArduinoISP草图(arduino软件/例子/ArduinoISP)上传到你的Arduino板上

如图所示进行连接

从工具》主板菜单中选择“Arduino Leonardo”。

从工具》程序员

选择“Arduino as ISP”

运行工具》刻录引导程序

此过程可能需要几分钟。

断开所有电缆。

完成此步骤后,您必须使用USB电缆将pcb连接到计算机并上传此代码。

步骤5: Python程序

pcb

pcb

pcb

pcb

pcb

pcb

pcb

pcb

最重要的代码是在控制系统的计算机中。你可以在这里找到代码。

如何运作。第一步是找到球的位置。相机发送计算机实时视频。 python程序接收视频并且必须处理它。我使用OpenCV库来进行图像处理。该程序由于其颜色而检测到球。这里球是橙色的,然后程序将平均图像的所有橙色像素的位置以找到球的位置。

现在我们可以获得球位置了用PID(比例,积分和微分)控制计算电路板的倾斜度。该规定分三个阶段进行。第一步是最简单的。想象一下,我们想要将球稳定在棋盘中央。球离中心越远,就越需要倾斜球板。然后你必须测量球的速度:球离开中心的速度越快,你就越需要倾斜棋盘。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分