发作品签到
专业版

[内容详细]龟宝linux智能小电脑(基于泰山派)

工程标签

3.4k
0
0
0

简介

:)

简介::)
立创·泰山派开发板训练营

开源协议

Public Domain

(未经作者授权,禁止转载)
创建时间:2024-02-01 01:46:47更新时间:2024-05-13 09:57:29

描述

设计目的:通过泰山派开发板学习linux嵌入式开发

 

项目:基于泰山派开发板linux嵌入式平台的智能小助手

 

PS:本工程主要参考学习于泰山派训练营的小手机项目

       文档:【胖妞手机】实战项目资料 - 飞书云文档 (feishu.cn)

 

 

成品展示:

 

 

电路硬件部分

原理图设计:

核心板 : 立创开发板的泰山派

顶层应用扩展板 :

      通过泰山派引出的40pin GPIO , SPI等外设通道,设计的顶层应用扩展板。

      可用于学习在linux系统下的嵌入式应用层面开发

      扩展板使用40pin排母与泰山派直接连接,排针连接并不牢固,需要一定的支撑

      顶层应用扩展板配置:

      一、1.69寸spi接口tft lcd屏幕,可用于学习嵌入式屏幕开发,移植lvgl等等

                           

      二、DS18温度传感器, 经典的温度传感器器件,用于测量外界温度

           

      三、ADS1115   16位ADC转换器, 使用i2c通信,可用于采集电压,

            这里只引出了两个通道

           

      四、WS2812 RGB彩灯, 使用gpio口便可轻松控制,可用于炫彩灯光

                                                        

       五、四个按键

           

      六、CH343 USB转串口, 引出泰山派的RX与TX接口,

            通过板载的ch343实现串口转USB的通讯

                 

      七、QMI8658C 6D姿态传感器   ,设计参考了立创开发板esp32c3实战派

            的设计,加入姿态传感器,可以增加设备的物理可玩性

             

       七、QMC5883L 地磁传感器   ,设计参考了立创开发板esp32c3实战派

             的设计,用于学习地磁传感器,实现电子罗盘

             

中层媒体扩展板 :

            中层媒体扩展板参考了训练营的3.1寸屏幕扩展板设计,板载了麦克风与小喇叭

      使用六角螺柱等支撑与核心板连接

      顶层应用扩展板配置:

      一、3.1寸MIPI屏以及触摸接口,可连接大显家的3.1寸MIPI触摸屏

                                                                     

       二、3w小喇叭与咪头,通过pogo pin从泰山派核心板底部的触点引出喇叭

             和麦克风接口连接至板载的喇叭与咪头 

                                                             

       三、屏幕背光电路, 屏幕较小,背光不宜太大,所以不直接使用核心板的

             背光接口,设计背光电路使用i2c控制PWM从而实现无极调光

           

 

 

底层高速扩展板

      目前没有设计,一开始打算使用立创开发板官方设计的底层39pin扩展板的。

 

PCB设计:

顶层应用扩展板 : 

      该扩展板中并没有高速信号,射频等需要考虑的部分,layout时便简单连线了,

      布局时注意一下装配

中层媒体扩展板 :

      将MIPI信号走线使用地线包裹,同时考虑了差分线的等长

       

               

硬件样品:

                           

                           

      焊接后没有使用洗板水所以卖相很糟糕

      焊接难点:

             fpc座的焊接是一个难点,引脚间距十分小,0.3mm,上锡时

      使用烙铁或者风枪都可以,但是后续处理连锡时要使用烙铁,建议使

      用吸锡带,效果十分显著,上锡后烙铁加热一吸基本就能解决连锡           

               pogo pin的焊接建议用上夹具,我用的是直插式的,先在底部

      加热焊盘,再上一点锡,从上方将探针插入后扶正,便可拿开烙铁

      冷却固定              

 

 

外壳装配部分

外壳设计:

      本项目的整体是有顶层扩展板的,故不能直接使用训练营吴工设计的外壳

      外壳设计使用中望3D,尺寸等参考了胖妞手机外壳设计,因为本项目是想做

      一个智能助手龟宝,外壳设计采用了乌龟的元素,设计了顶盖,底盖,底座

      顶盖和底盖采用磁吸式连接,参考了该视频

      磁力吸附——盒子和盖子的合体姿势之二_哔哩哔哩_bilibili

      底盖顶盖开了接口的孔,添加了一些装饰以及散热,扩音的孔

      屏幕与板子和外壳的连接直接固定,都是摩擦力阻尼固定

            底座简单设计了一个乌龟造型,与主体部分是没有固定连接的,主体外壳可

      直接放上去作为乌龟壳:)

 

     

 

外壳装配:

     装配使用M3螺柱以及螺丝固定,POGO pin以及螺柱螺丝参数如图:

       装配过程:

注意:屏幕直接放进去并不稳,后续固定可以用胶水或者双面胶等等

         放磁铁时一定要分辨好磁极,非常非常容易翻车

 

 

 

                             

 

 

 

软件部分

屏幕驱动设计:

        屏幕,触摸,背光驱动均参考学习训练营的项目

        在配置dsi设备树时发现一个bug,板载debian系统下,若dsi使用vp1输出,

        屏幕无法正常显示桌面,只有一个鼠标指针,触摸正常,

        使用vp0输出后屏幕正常显示,目前未找出原因

                         

QT移植:

    本项目的智能小助手应用打算采用qt编写,程序的设计采用windows上的

     qt creator编程,在虚拟机ubuntu系统上交叉编译生成泰山派上linux

     系统可用的qt应用

     QT的移植按照文档共建里大佬共享的移植教程搭建⁤⁢⁡⁢‌​⁤⁣‬⁣‌⁤​​‌​‬​‍‌‌​​⁡​‬‍⁣⁣​‌​⁡⁡⁤⁤⁡​‍‍【共建】移植Qt5 - 飞书云文档 (feishu.cn)

       

 编译QT遇到的问题: 

     一.在ubuntu中编译QT前需要下载依赖库,否则后续容易报错

     sudo apt-get install bison build-essential gperf flex ruby python libasound2-dev libbz2-dev libcap-dev \

libcups2-dev libdrm-dev libegl1-mesa-dev libgcrypt11-dev libnss3-dev libpci-dev libpulse-dev libudev-dev \

libxtst-dev gyp ninja-build libglu1-mesa-dev libfontconfig1-dev libx11-xcb-dev libicu-dev

          二.make编译时容易报错

         aarch64-linux-gnu-gcc: Command not found

         经过验证后发现时教程里添加aarch64-linux-gnu-gcc文件夹环境变量对

         sudo操作并没有起作用,详情参考

ubuntu20.04出现sudo make modules_install: aarch64-linux-gnu-gcc command not found_aarch64-linux-gnu-g++: command not found-CSDN博客

         故需要在etc/sudoers文件中手动添加路径进去,后面便可交叉编译QT成功

     三.移植编译生成的QT库到泰山派后,设置好环境变量,再运行编写的QT程序

         很容易遇到问题,要么运行程序没反应,要么报linuxfb出错, 我的系统是sdk

         编译的debian,经过实验后发现QT程序运行前需要chmod改权限,运行时用

         sudo才能正常启动linuxfb

     四.移植编译生成的QT库到泰山派后,设置好环境变量,再运行编写的QT程序,

         运行正常,但是图片不显示,只有控件,后面去网上查资料找了一整天,试过

         各种方法。检查图片格式,改环境变量,改qt程序等等,几乎能尝试都尝试过

         了,最后还是失败,希望有大佬有一天能给出解决方法

 

更换方案:

         经过考虑,搞不定debian系统下泰山派正常跑qt程序,共建文档教程里还介绍了

         buildroot移植qt,前面我已经编译好buildroot,索性尝试一下,在buildroot

         menuconfig界面中设置好qt库,选上自己需要的依赖

         

         第一次使用这个界面设置,突然感觉到buildroot的强大,设置好后重新全编译

         用不了多久就生成镜像,烧录板子后,用挂载u盘来转移交叉编译生成的qt可执

         行文件进板子里,然后程序成功运行了:-) ,自此qt开发linux正式上路

         

 

QT设计:

       TODO

顶层应用扩展板驱动:

       TODO

         

 

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
龟宝外壳底盖.stl
6
2
龟宝外壳底座.stl
6
3
龟宝外壳顶盖.stl
6
4
greentor(QT测试程序).zip
67
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航