Hackaday.io上的树莓派项目-carbt_v1
收藏
分享
脑图
Hackaday.io上的树莓派项目-carbt_v1
关于项目
项目描述:如果你像很多人一样,你的车可能有一个基本的立体声系统(没有辅助输入或蓝牙),你喜欢做东西,和/或者你很便宜。我正在处理所有三个问题。我的目标是设计一个系统, 将:
1. 播放 Android 或 ios 手机的音乐在任何汽车的立体声无线。
(没有侵入性修改,通过调频收音机做这一切)
1. 使用有辅助输入的汽车。
2. 控制播放,不使用语音或手机的触摸屏
3. 在液晶屏上提供视觉反馈,让手机做其他事情(GPS 等)
4. 有点美观的吸引力 (看起来不像炸弹)
5 . 价格低廉
项目图片
项目详情
carbt_v1项目的第一次迭代。这个项目的目标是提供一个廉价的替代升级你的车的立体声系统,以便轻松地播放音乐从您的手机在你的车。$5 树莓派零是项目的核心。
当前功能:
通过蓝牙 4.0 从兼容设备进行音乐源和播放控制
通过调频收音机无线播放音乐
用于信息显示的 TFT LCD
蓝牙 OBD2 适配器支持
完全通过 USB 供电
计划功能:
OBD2 统计日志记录
3.5 毫米音频输入和输出蓝牙和调频收音机的替代品
机载传感器, 如温度或任何可能
自定义 USB 设备支持(用作行车记录仪或延时摄像头的摄像头等)
项目文件
1 X 树莓派零
1 X QN8027 调频发射器 IC
1 X 蓝牙 OBD2 收发器
1 X USB 蓝牙 4.0 加密狗
1 X 2.2 英寸 320x240 TFT 液晶屏
1 X FE1.1s USB 集线器 IC
1 X DS1307 RTC
4 X 4-40 1/2" 螺栓、螺母和 1/4" 垫片
1 X CR1220 电池和支架
4 X 母微 USB 连接器
2 X 1x2 直角 0.1" 公接头
4 X 6x6 mm smd 触觉按钮
1 X 6x3 毫米 smd 触觉按钮
3 X 0603 白色 LED
1 X 0805 绿色 LED
2 X 0805 10K 电阻器
1 X 32.768khz 径向晶体
4 X 0603 100nf 电容器
2 X 0805 4.7uf 电容器
2 X 0603 33nf 电容器
2 X 0805 12pf 电容器
8 X 0603 10uf 电容器
1 X 0402 150nh 电感器
1 X 0603 1nf 电容器
2 X 0603 150 电阻器
2 X 0603 270 重机
2 X 12mhz 径向晶体
1 X 0603 2.7K 重机
1 X SOT23-3 NPN 3904 晶体管
1 X 0805 1uf 电容器
1 X 0805 1K 电阻器
我在之前的一篇文章中提到,我会从这个项目休息一段时间,直到今年夏天的某个时候。现在是夏天, 我在加拿大, 我有必要的时间恢复发展。几周前我就开始编程了,现在有值得展示的东西。这是一个基本的演示音频无线流从我的手机通过蓝牙到卡布特, 然后通过调频收音机, 几乎自动工作。
重新开始是为什么花了这么长时间才再次达到这个点的原因。由于对拉斯比安、Pulseaudio 和 Bluez 进行了所有更改,因此无法从以前的原型中转移太多工作。幸运的是,他们对拉斯比安·杰西所做的改变使得这个过程不那么痛苦。我松散地按照本指南让蓝牙音频工作,并添加了我自己的修复和性能调整。
当然,这些都没有任何问题。汽车的音频播放质量很糟糕,只来自单方。起初我以为Pulseaudio或alsa被困在某种单声道模式,但他们没有报告任何问题,也没有实验变化帮助。在便携式收音机上播放听起来确实更好, 但仍然只从一个扬声器中出来。这种问题缩小到调频发射机。Fm 发射器设置更容易更改,所以我从那里开始。
较旧的调频播放测试听起来很好,除了在后台高音调的呜呜声,这是不正确的晶体频率设置的结果。QN8027 接受 12MHZ 和 24MHZ 晶体,但默认为 24。我使用 24 进行原型设计, 它工作得很好, 但最终使用 12, 因为外形可用性。我确实确保测试 12 之前, 以确保它的工作原理, 但没有更多。纠正晶体设置解决了噪声问题,但显然造成了低质量、单声道的问题。
我决定研究调频收音机立体声传输是如何工作的, 看看这是否会让我得到任何线索。引导频率和MPX给了我一些与工作相关的东西,所以我回到QN8027数据表寻找任何相关的内容。QN8027 具有用于调整先导频率偏差的设置,称为GAIN_TXPLT。将其设置为最低,修复了单声道问题,收音机现在将从它接收立体声音频。然而,音频质量仍然不好,所以我继续寻找更多的频率相关的设置。唯一的其他相关设置控制整体传输频率偏差。搞砸没有坏处, 反正我的线索用完了。第一个变化使一切变得更糟,但经过更多的调整,低质量问题得到解决。现在,为什么支持的晶体值更改使整个过程变得必要?见鬼, 如果我知道的话。也许我用的水晶是出一路, 或天线电路的悲伤借口, 使一切可怕的开始。
最后一个问题相对较小,间歇性,与 USB 有关。我能够确定的是,集成的 USB 集线器出了问题,只有最后一个端口才能可靠地工作。这不是一个游戏突破的问题, 因为我只需要一个工作端口, 但它是一种限制。我希望树莓派零至少有另一个 Usb 端口或什么的。
撇开硬件问题不谈,是时候继续软件配置和编程了。我今天从基本的 Tft GUI 内容开始, 然后继续自动化和其他一切。一想到必须让只读的 fs 在这一切结束时工作, 这是可怕的。无论如何,留意这个项目的GitHub存储库,因为我将更新它,因为我的进展。
我现在已经完成了这个项目的组装阶段。虽然几乎所有事情最终都按计划进行,但这个过程并非没有问题。焊接或多或少是例行公事, 这很好。事实证明,该设备的半永久性、夹层PCB设计在调试和测试方面会导致问题。
第一个问题与调频发射器,因为它没有发射。其他一切工作正常, I2c 和一切。在使用外部天线电路进行测试后,我能够将问题缩小到板载天线电路中有缺陷的 SMD 电容器。我想这是使用来自 aliExpress 的非常便宜的零件时冒的风险。在使用的新电容器和一些软件重新配置使用低频晶体后,FM变送器工作完美。
下一个问题与 USB 集线器电路有关。最初,我认为只是我用于 USB 集线器的原理图是坏的,因为我在订购 PCB 之前实际上并没有为 USB 制作任何原型。我还没有必要的USB IC,等待它任何更长的时间将减少时间,我将不得不重新订购多氯联苯,如果任何大问题出现。然而,在面包板上测试相同的电路后,一切似乎都工作正常。然后,我开始断开部件与面包板电路,如电容器和电阻器,直到它停止工作。就我而言,FE1.1s 的 REXT 引脚上缺少的 2.7 K 电阻器足以阻止其轨道中的一切。我检查了问题设备上的相同电阻器连接,结果发现焊点连接不良。幸运的是,电阻器非常接近设备的边缘,因此转售它不是什么问题。否则, 我将不得不去卖 Pi 得到它, 重新开始和去卖 Pi 反正, 或只是放弃 Usb 集线器。经过简单的修复,所有与USB是好的。愚蠢的我设法在测试期间断开了 Usb 端口, 但它没有损坏任何其他端口, 还剩下两个好端口。
最后一个问题是我高估了前面电源 LED 的亮度。那些小小的绿色 LED 是令人眼花缭的明亮,我真的不想失明,而夜间驾驶。解决方案是一个简单的电阻器替换,然后使事情更可容忍。
总的来说,我对最后的结果非常满意。不过,整体设计仍可以使用一些改进。对于 v2,我计划进行以下一些更改:
添加光传感器和良好的 PWM 输出,用于 LED 控制
添加音频输入和输出插孔(如以前计划)
尝试找到更好的外形显示
删除一些不必要的内容,如串行引脚等
一般硬件配置
只是一个小更新, 从今天起, 我已经收到了我的 Pcbs 从奥什帕克!我有所有需要开始组装的零件, 所以我可能在今晚晚些时候或明天开始。
我已经完成了PCB的设计,并发送了设计到OSHPark进行。看看下面的最终设计!
我还张贴了一个粗略的3D模型的项目在草图,给你一个更好的想法,整个设备会是什么样子。纹理已损坏,但整体模型正确。不幸的是,一些设计妥协,不得不让一切适合,而不会使板太大。
首先,Pi Zero 将直接焊接到卡布特 PCB 上。虽然使用可移动的男/女头会很好, 它最终使整个事情太厚。鉴于 Pi Zero 非常便宜, 并且它在此项目中的目的, 永久连接应该不是什么问题。仍然可以访问 SD 卡、串行引脚、USB 和 HDMI。
对于 USB 集线器部件,使用微型 USB 端口而不是全尺寸 USB A 端口。这与 Pi 的主机 USB 端口的设计非常相似。全尺寸 USB 端口太厚,需要比微型端口更多的 PCB 表面积。小型且廉价的适配器将用于为标准全尺寸 USB 设备提供兼容性。USB 蓝牙适配器以草图模型为例。至于将 HUB 连接到 Pi 本身,两个引线将被焊接到 pi 上的 USB 测试板,然后连接到卡布特上的两个引脚。
RTC 的电池放置在一个易于访问的位置,在PCB的一侧,没有覆盖的Pi。FM 发射器天线的垫也暴露在该侧。用户可以选择使用内置的"天线"电路,或直接连接自己的天线(如果需要,使用放大器)。已提供用于在天线类型之间切换的焊接跳线。
设备正面的主要按钮附近有一些昏暗的白色 LED,以便在黑暗中轻松定位。额外的更亮的绿色 LED 用于表示设备何时通电。背面有一个较小的按钮,用于在 Pi 锁定时重置 Pi。由于整个事情将运行一个只读文件系统,使用重置按钮不应该有任何不利影响。
由于时间限制,我无法实现辅助音频插孔或传感器。这些将需要保存为未来的版本 2。此外,我能够包括几乎所有我想要的,并非常满意。我会张贴一个更新,一旦我收到板,当我能够开始组装这一切。
从上一篇发布以来,我已经完成了这个项目的硬件原型设计阶段。FM 发射器、GPIO 音频输出、硬件 RTC、按钮输入、蓝牙和外部 USB 都已重新添加。我只做了足够的软件测试,以确保一切工作在一起,所以没有太多的显示的功能。因此,请了解它当前的外观:
右下角的 LED 仅用于按钮照明,它们不做任何其他操作。我在 Pi 上的 USB 测试板上焊接了一些电线,因为我将在最终设计中加入 USB 集线器。蓝牙适配器需要 USB 集线器功能,并支持外部存储或 wifi 等功能。DS1307 硬件 RTC 已添加用于计时,因为设备不会正常连接到 Internet。例如,RTC 对于统计日志记录等非常重要。其他一切都和以前基本一样。
我保存做所有的实际编程今年夏天, 当我将访问我的 So 在加拿大 4 个月。除了最基本的内容外,我不会带任何工具,所以所有的硬件内容都需要在下个月结束之前完成。我处于可以开始设计 PCB 的点上, 所以当它准备制造时, 我会更新你们。
对不起, 比预期的要长, 我一直忙于个人业务和另一个小项目, 现在正在完成。在不久的将来, 我会在这里发布。
无论如何, 在举行期间, 我一直在思考这个项目更多, 并做了一些工作。我决定再次改变这个项目的结构。新的计划是使用新发布的树莓派零代替前一个。零将显著降低该项目的成本、规模和复杂性。为了进一步减小尺寸,我还打算将所有硬件直接焊接到 Pi 上的单个板上。不再需要具有自己的微控制器和支持硬件的单独模块。
一个小而便宜的TFT液晶屏(如这个)将取代目前使用的昂贵和笨重的LCD。它将由 Pi 直接控制,并允许显示更详细的信息。
复杂的电源管理电路也变得多余后,我做了一些小的变化,我的车。我买了一个很好的,基本的打火机USB适配器,这将始终保持插入。然后,我修改了我的车的打火机插孔,以便它只会在汽车打开时通电。我用廉价的保险丝水龙头敲开保险丝,该保险丝仅在钥匙设置为 ACC 或更高时才通电,然后将输出拼接到打火机上。幸运的是,无需拆卸即可到达汽车的中控台线路,使整个过程非常容易。由于整个设备仅在汽车打开时才通电,因此 Pi 的文件系统需要进行只读,以防止 SD 卡损坏。
否则,基本功能将基本保持不变。仍在使用蓝牙和调频收音机进行音乐传输, 汽车统计显示仍然存在, 等等。蜂鸣器可能移除,也可能不删除,这取决于它与 Pi 的合作程度。我现在将在这里更频繁地发布更新,因为我有时间再次处理这个项目。
从现在起至2016年2月中旬,我大概将暂停这个项目几个月。我有另一个更时间敏感的项目,我需要开始工作,我将很快在这里发布。一定要留心!
我一直在继续像往常一样在这个项目上取得进展,尽管速度相当缓慢。自上次更新以来,我一直在处理 ODB2 集成,并在显示模块中添加了一个蜂鸣器,用于音频反馈。我不得不为蜂鸣器使用的设置是不寻常的。由于 ATTiny44 的 PWM 限制,我可以有 2 个单独的固定频率 PWM 通道,也可以有一个可变 PWM/频率通道。由于我已经使用 PWM 进行照明,因此我不得不使用 555 为蜂鸣器创建可变频率。不过,我只能从中得到 3 种不同的音调,因为使用其他可用的 PWM 通道来控制 555 输出频率太不可靠了。为了得到这3个音调,我切换两个输出,通过一些电阻分频器,然后到555控制电压引脚。
评论
0 / 100
查看更多
Sen
2020-08-27
923
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号