Hackaday.io上的树莓派项目-TKIRV - 太阳能互联网漫游者
收藏
分享
脑图
 Hackaday.io上的树莓派项目-TKIRV - 太阳能互联网漫游者
关于项目
项目描述:我一直喜欢 Rc 汽车, 长大后, 我一直梦想着把相机放在汽车上, 尽可能驾驶它。现在是 2016 年, 技术正在达到一个点, 我可以让这一切成为现实。TKIRV 的目标是制造一种不仅可以远程控制任何有移动信号的车辆,而且通过使用太阳能电池板和智能电源策略,让其无限期地运行。
项目细节
TKIRV(TK互联网远程车辆)是一个我想做很长一段时间的项目。这个想法首先是建立一个远程控制车,可以通过移动网络控制。一起扔一个摄像头和树莓派, 我们应该在业务。但它也不止于这些。其理念是利用太阳能和智能电源策略,使设备能够无限期地在野外运行,从而可能使车辆在一段时间内穿越很远的距离。
TKIRV 是围绕 20 年代初无线电棚 RC 汽车
建造的。它有四轮驱动,悬挂,并处理城市地形,如混凝土,沥青和草相当不错。有足够的空间,用树莓派来控制,用电源管理的 Arduino 和摄像头进行控制。在约500毫米长300毫米宽,这是一个很好的大小和几乎完美的平台,我们想做的事。
通过白天保持休眠状态,TKIRV将花费日照时间为电池充电,然后在夜间打开树莓派大脑和移动数据
连接。然后,这将允许TKIRV通过互联网远程控制和驱动周围。执行夜间任务后,TKIRV将停在一个希望不显眼的区域,在白天再次充电,然后在日下后重新完成任务。
通过使用这种电源策略,希望它将给予TKIRV一个无限期的操作能力,而无需回家充电的锂
电池。这将允许TKIRV进行长途作业,每晚少量旅行,白天停下来充电,进一步进入现场。
项目的第一阶段将涉及让汽车到可以远程控制在互联网上,并可以从车载摄像头发送回视频源
点。第二阶段将涉及太阳能电池板和电力管理系统的实施。第 3 阶段将添加额外的功能来包装东西 - 导航的 GPS 和大灯,使夜间驾驶更容易。
我们有一个相当好的想法,我们将如何实现所有这些功能,但它经常说,没有计划生存的第一次接触的敌人 - 和电子也不例外,这个规则。观看此空间,了解 TKIRV 如何发展!
相关列表
从一开始,这个项目的目标是建立一个R/C汽车,可以广泛行驶。这就需要一种在比典型无线电控制设置那样远远的距离内远程控制车辆的方法。值得庆幸的是,人类已经看到了适合发展高速蜂窝互联网连接,这是完美的这个目的。我们有很多工作要做,但我们破解了它。
当然,使用蜂窝连接时存在问题。不幸的是,除非你使用非常具体的商业级计划,否则这里的电信公司不会为您提供公共 IP,您很难让蜂窝连接接受传入连接。这对我们来说是个问题;TKIRV 以"服务器"方式运行 Python 程序,我们从笔记本电脑"客户端"连接到该程序以发出驱动器命令。我们还需要能够 Ssh 到树莓派控制节目。最简单的方法是在家庭连接上设置 VPN 服务器,并让蜂窝远程工作站重新连接到它。然后,您可以像两台计算机都放在本地网络上一样工作。我用 OpenVPN 来实现此目的, 它相对无痛。这是非常有据可查的,有很多伟大的指南,如何使用它与树莓派和Windows。但是,我以后在网络摄像头流中确实遇到了问题。
一个基本但非常重要的步骤是向树莓派零添加 USB 集线器。我们需要连接网络摄像头,移动互联网加密狗,WiFi偶尔故障排除,甚至键盘和鼠标有时,所以我们需要更多的端口。我去了可堆叠树莓派零集线器从Makerspot 。四个端口,没问题。我购买了一些额外的聚碳酸酯安装硬件,我能够用螺栓固定,将整个 Pi Zero 组件安装到 TKIRV 上,没有任何问题。
接下来的议程是让网络摄像头流在 TKIRV 上运行。我找到了一个微软 Livecam Vx - 20 20 美元, 这似乎是一个不错的选择。谢天谢地, 它有很大的 Linux 兼容性, 因此与树莓派工作得很好。然而,我很快了解到,以我想要的方式流式传输网络摄像头实际上并不是那么容易。
现在,几乎任何一台计算机都很容易让网络摄像头源运行。无论您是希望每隔几秒钟更新一个静止图像,还是想要视频,这一点也不难。但是,我们需要能够使用网络摄像头进行驾驶,因此延迟是一个大问题。我们需要尽可能接近实时的流式处理。在这一点上,事情变得非常头痛。经过大量的研究,我碰巧在一个叫MJPEGstreamer的工具。我花了整整 10 个小时才把它编译和正常运行, 突然 - 胡扎!我有一个网络摄像头流, 在 3g 蜂窝调制解调器上运行的延迟不到 500 毫秒。但即使这样也不够好。出于这样或那样的原因,当连接速度变化时,MJPEGstreamer 不会丢弃帧。这意味着,您可能从 500ms 的延迟开始,但如果吞吐量暂时下降,它将开始提示帧进行传递,确保发送每个帧 - 并且在实时更新后面越来越远。仅仅过了一两分钟,我看到超过六秒钟的延迟!我怀疑这是由于 Mjpegstreamer 使用 Tcp 在 Udp, 但我不能肯定。我只知道我需要另一个解决方案
然后, 我碰巧在格斯特勒对面。这是一个令人难以置信的灵活的程序,但它也是我曾经使用过的最复杂和神秘的软件之一。这是为你为权力付出的代价, 但该死的。我认为,也许更大的问题之一是,就我所看到的那样,它不是超级有据可查的;我最终修补在一起的工作发送和接收 "管道" 后, 组装废料从不同的论坛的人做和我一样。我最头疼的是让 gstreamer 运行在 Vpn 连接上。我的笔记本电脑基站能够连接到 RPi 流, 但实际上不会显示任何东西。几个小时后,拉我的头发,我意识到,由于流是一个传出连接从TKIRV,我可以简单地喷在我的笔记本电脑在互联网上,完全忽略VPN。然后,我需要的是设置一个动态 DNS,使 TKIRV 总是可以在互联网上找到我的笔记本电脑,我很好去。现在我有一个流运行超过 3g, 不到 300ms 滞后在好日子!最后。
因此,它来到了测试的时间。在开发过程中,我们使用 Optus 3G USB 加密狗进行蜂窝连接。我们发射了网络摄像头流,并连接了控制程序,但我们遭受了巨大的滞后和频繁的辍学。流是错误,我们的Python命令和控制应用程序不断失去连接。我怀疑这是一个带宽问题, 所以我们运行了一个快速测试, 使用我的手机作为 4g Wifi 热点。事情改善得够多了,我们冲出去给自己买了一个4G挂钩。不幸的是,超市里没有任何4G USB加密狗,其他一切都在周末关闭,所以我们用4GWiFi热点解决了,让我们现在继续前去。
Tkirv 与它的新 4g Wifi 设备录音, 因为它已经很晚了, 该死的, 我们需要一个结果!行得通吗?哦, 男孩做了工作。
当亚历克斯把车走到人行道时, 这绝对是令人惊天动的 — — 视频流畅而反应迅速, 我们实际上可以开车!第一天晚上,我们确实有一些问题,与主电机驱动器,我们后来跟踪到低电池电压,这是很容易修复。能尽可能驾驶这个东西的感觉完全是电动的。
我们轮流驾驶和步行与TKIRV,做所有系统的震动。我们确实找出了一些问题。我们目前可以平稳运行网络摄像头的最大分辨率是160x120;任何更多,我们遇到带宽问题。我怀疑这是由于流式处理我们的网络摄像头的本机 MJPEG 格式效率低下;如果我们能在某个地方便宜地得到一个, 我们也许能够用 h.264 本机摄像头运行更高的分辨率。我们还在崩溃过程中网络摄像头安装被撞倒的问题,所以这是改进的主要候选。
另一个改进的主要目标是控制。目前,我们的主要驱动器是硬前进或硬反向;我们的转向是硬左或硬右。这使得在狭小的空间内控制车辆变得困难,尤其是在网络摄像头和控制延迟发挥作用时。
TKIRV 再次滚动 - 现在可控制 Wifi
在我们最后一集结束时, 我们有转向和驱动器控制通过树莓派...只是。但是,我们获得了它牺牲了一些可怜的吹晶体管和事情不是真的太顺利。
在这个情节中,我们用伺服代替原来的转向箱,并重新组装整辆车。然后是时候尝试远程控制与我们的 Python 代码通过 Wifi...它的工作原理!这是一种真正令人振奋的感觉, 让东西尖叫周围的厨房和浴室都无线地通过网络完成。
首先,我们从树莓派(原味)切换到 Pi 零。为什么?嗯,该项目的长期目标涉及太阳能和Pi零吸引的电流比树莓派的其他模型少。那, 亚历克斯想要他的皮回来, 这样他就可以再次玩模拟器了。该死。
它真的是无痛的从原来的 Pi 到 Pi 零 - 我们字面上只是交换了 Sd 卡和东西直接启动!我觉得那真的令人印象深刻。然后, 我们得到了这个可爱的小原型零 "帽子" 的 Pi 零。它基本上是一个原型板,整齐地适合外形,并允许我们真正整理我们的布线。
在第 2 部分中,我们对原车的转向电子设备造成了很大的损坏,并完成了修复这些电子装置的绝对斧头工作。我的理由, 也许是时候只是子在一个大脂肪伺服从霍比金。这太棒了...除了我在这个过程中炸毁了我们的 Pi 零提示 3 周等待更换船舶。他们不容易得到抓住。 这项工作涉及大量的环氧树脂和特殊的塑料胶水,以适应原来的转向箱的伺服保存器,以适应新的伺服,并有点黑客离开,让一切适合很好。但一旦它完成,它是坚固和整洁的。
现在突然间,我们发现自己处于转向、驾驶的点...我们只是需要权力和地狱, 我们可以开这个东西!我有一个预感一个典型的 12V 2A USB 汽车充电器将运行只是罚款关闭 8 个左右的伏特在我们的 2 芯锂电池。我想我是对的;初步测试表明, 它拿出一个坚实的 5.1V 负载下运行 Pi 零大脑的操作。然后,是时候把所有东西都用电胶带包起来,然后试一试。最后。
我巧妙地插上电池, 在地板上设置了 TKIRV 。跳回我的笔记本电脑, 我 Ssh 'd 到 Pi, 并运行 Python 控制程序。我感觉自己像个 90 年代好莱坞电脑黑客很棒我在笔记本电脑上触发了遥控器程序, 握手发生在 Wifi 上, 突然...一切都连接。
我的手悬停在光标键上方。我期待地吸了一口气。
这件事立刻就太棒了。在撞到走廊的墙上大约十六次后, 我们拿了东西在厨房里转了一圈, 该死的, Tkirv 手柄, 兄弟。事情可能会有所不同, 当它在现实世界中与 200ms + 滞后的 3g 连接, 但通过 Wifi 这东西是一个梦想。然后,它的时间一些大屠杀。
可怜的家伙从没见过它的到来。它是如此伟大, 终于得到这个东西再次滚动后, 有这么多的头痛和延迟等待零件。我们现在有一个滚动平台,我们可以通过WiFi开车;我们现在只需要分几个部分, 我们将是真正的移动。在那之前, 享受日志和视频...大事还没有到来。
我寻求我友好的当地亚历克斯 (TM) 的帮助, 我们必须工作跟踪 PCB 和找出汽车如何控制转向和驾驶。最初,我们有很多运气,我很快就找到了一种方法来控制转向和驾驶;这些早期的收获很快就被破坏了, 因为我年轻的过度兴奋导致我犯了一些布线错误, 让烟雾消失。要了解整个故事,请查看视频!下图说明了我们控制汽车的基本知识。
电机驱动简单;散热器上有一个大胖的 Npn Fet (没有图片; 板的另一边), 可以打开或关闭电机。我发现一个很好的方便点在板上触发这个FET时,我绑到地面,所以它很简单,挂钩一个小NPN BJT(BC547)到树莓派控制电机驱动器。电机的向前和反向由继电器控制(无图;电路板的另一侧),继电器根据您想向哪个方向交换电机引线极性。为了控制这一点,我切开一个微量,将线圈连接到地面,并高高地绑住线圈的另一侧。然后, 我再次能够弹出一个 Bc547 切换继电器从树莓派。
在此阶段,我们有电动驱动在前进和
反向。目前为止,一切都好。这是当事情开始崩溃的时候。
当我开始试图找出转向时, 我真的
很兴奋。从对板顶部的目视检查中,我看到了一系列晶体管,总共三对两对,我想那是一个用来控制转向马达的小网络。然后,我很快在主 IC 上找到了两个引脚;当我在 Rc 发射器上向左拿着时, 一个变高了, 另一个在右边拿着时变高了。当你不转向,汽车自我中心其转向,这是伟大的,太。所以我想我可以尝试自己把那些针脚拖得高一点, 看看转向是否有效。做到了!
然而,我注意到,手动拉这些引脚高是绘制15mA,这是太多,只是打开几个晶体管在
网络。我确定,如果我切断连接转向网络到主 IC 的轨迹,我仍然可以激活转向左或右,但目前的绘制率要低得多。它仍然以自我为中心。所以我被定了!
当我用几个 PNP BJT (BC557s) 将这些转向销连接到树莓派时, 一切都
崩溃了。首先,我仍然将晶体管的发射器连接到RC汽车PCB上的2.8V(奇怪的电源电压,对吗?我也忘了把RPI和RC车的地面绑在一起,所以晶体管都处在一起。最后,我忘了PNP是通过将基座拉到地面打开的,这与NPN正好相反,所以我同时打开左右晶体管网络。我相信是这些因素的结合导致了随之而来的悲剧...
我让烟掉,为了我的愚蠢,一个勇敢的PNP死在我的怀里。经过许多脱焊和晶体管测试,我确定这是唯一可验证的死晶体管,但我更换了几个在板反正。这些A928As特别是高电流类型额定为2A,我取代了BC557s我手头,我认为只有额定约100mA。我再次转向抽搐, 但它仍然不能正常工作。最后,我决定撕开主IC后,发现一些奇怪的电压,和...成功!我可以通过手动向转向销施加电压,再次左右转向。然而,我已经失去了由主IC读取转向编码器控制的自中心能力。
虽然我确实恢复了一些功能转向后, 如此彻底炸毁它, 我目前在两个选项之间撕裂。我可以推和线转向编码器到RPi和编码到自我中心,但我的风险,规格不足的更换晶体管燃烧和PCB焊盘和晶体管引线都看到了更好的日子,并可能失败下振动相当容易后,我更换他们2或3次。在这一点上, 我很想从 Rpi 的硬件 Pwm 线路中分到伺服中。现在,这是另一天的问题。
感谢您的阅读, 并留意 Tkirv 的下一次更新!
TKIRV 的工作仍在继续!此时此刻,该车的树莓派控制系统的初步工作已经开始。我们使用 Python 运行内容,这是一种出色的语言,可以快速高效地构建内容。到目前为止,我们已经有一些LED在网络上闪烁,这是我们的目标的重要的第一步。
TKIRV也已进入2016年哈卡迪奖。我们的目标是"任何去"类别。TKIRV 的基本功能概述如下。
TKIRV 的目标是利用蜂窝连接、太阳能和智能电源策略,构建能够无限期运行的远程车辆平台。有了这项技术,TKIRV理论上将能够漫游,只要手机互联网接入可用,控制通过互联网从许多公里远 - 甚至可能从不同的国家。
除了相机外,TKIRV还可进一步配备传感器有效载荷,使其能够执行更复杂的任务。这可能包括环境监测(温度、辐射传感器)、制图(地形数据高度传感器 + GPS)或用于实现更自主操作的包(测距仪、计算机视觉)。这与TKIRV通过太阳能长期运行的能力相结合,为连续监测应用提供了许多优势。
车轮脱落容易 - 汽车实际上附带了一个小工具,用于撤消螺栓,并把它们打开和关闭。为什么, 我无法想象 - 这样做没有什么可以实现的!乐趣, 虽然。
随着车身外壳的拆除,汽车看起来大不相同。看看车底,悬架连接和驱动轴是可见的,以及一个奇怪的9V电池仓,你只能通过拆掉整辆车打开。我不知道它有什么用, 那里没有联系人或任何东西, 汽车运行了 7.2v 镍氢包反正。太奇怪了
接下来,我看看主PCB。我还没有钻得太深, 但我有一个粗略的想法, 做什么。我们有我们的主要IC,我想是负责解码无线电信号从原来的控制器和控制转向和驱动电机。我们有电源晶体管安装在散热器上,散热器最有可能运行主驱动电机,一个拉丝直流单元。我有一个预感,继电器用于反转电机连接到功率晶体管的极性,以向前和反向切换。这是一个有趣的继电器,由5V信号控制,而不是更常见的12V。然后,我们有一点点的分立晶体管,我认为可能是帮助驱动转向马达和做其他小事情在这里和那里。随着项目的进行,更多的调查要进行。
最后,我们有转向箱。这包含一个小型拉丝直流电机、一个用于产生更多扭矩的齿轮系和一个编码器。这允许汽车在用户停止左右按住后,将前轮开回直行位置。与这个接口可能有点头疼, 但我认为我们会找到一种方法。
因此,接下来的议程是找出如何与主PCB接口,以控制驱动器和转向,并开始工作,树莓派的远程控制,将运行一切。有关拆解的更多详细信息,请观看此帖子顶部的视频,并留意下一次更新!

评论

0 / 100
查看更多
1503881740
2020-08-15
888
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号