【有奖征集】分享你的开发故事-活动已停

  [复制链接]
爱笑 | 2023-8-31 10:28:11 | 显示全部楼层
可乐klelee 发表于 2023-8-31 09:30
[md]## 背景介绍

我来分享分享Android驱动开发遇到的那些离谱的事情:龙迅LT8912B - MIPI转HDMI 之 调了两 ...

哈哈哈哈最后互相甩锅嘛~~恭喜你,故事过关了!
用心做好保姆工作
回复 支持 反对

使用道具 举报

zundujiadugaga | 2023-8-31 10:36:10 | 显示全部楼层
小菜坤,学习大佬,跟上大佬步伐
回复 支持 反对

使用道具 举报

zundujiadugaga | 2023-8-31 10:59:32 | 显示全部楼层
爱笑 发表于 2023-8-7 10:17
哈哈哈哈哈成就感一下子就拉满了是不是!送你一块开发板继续加油~ ...

大佬,是这样的吗
回复 支持 反对

使用道具 举报

你会不会飞 | 2023-8-31 11:27:08 | 显示全部楼层
本帖最后由 你会不会飞 于 2023-8-31 11:33 编辑

        从19年从业家电软件工程师到现在是翻车无数,加不完的班和每个项目n多软件bug、IDE bug、硬件bug可谓是历经沧伤(生产后才发现的bug能让人心脏骤停!)。
    下面说一个四项八拍的步进驱动模块的开发过程。(出奇意外的顺利,本来是周六通知周日加班搞但是从来没接触过百度了一早上下午连写带调试不用一两小时搞定了)
    大致就是一个ULN2003芯片(芯片作用就是增加芯片IO输出电流)驱动四相八拍电机的四个控制脚,按照顺序输出高低电平达到控制电机内部线圈顺序输出磁力带动转子的目的。
    我用到的步进电机型号叫24BYJ48(五线四相步进电机) 24=电机直径24MM B=步进电机 Y=永磁电机 J=内部带减速箱 48=四相八拍
    代码极其简单  先定义四个IO分别是 ABCD  然后按照A---AB---B--BC---C---CD---D---DA顺序就能转起来,反转?那就是倒序驱动。
            --------------------下面上代码和电机模块图片---------------
提示:代码采用(左右转参数+转动的步数参数)来控制。



淘宝电机照片.jpg
代码头.png
代码1.png
代码2.png
回复 支持 反对

使用道具 举报

pzy | 2023-8-31 13:29:19 | 显示全部楼层

写在开头:

接触嵌入式大概两年时间了,所遇到的问题简直是五花八门,有时候想破脑袋都不会想到出问题的地方。使用排除法排除问题时,总是排除到最后一种情况才找到问题所在。

问题1:

最初接触嵌入式时,首先从单片机开始的,当时有个项目用单片机写个温控器的程序,需要用到NTC测量温度,数码管显示温度以及菜单,按键调整参数等。使用AD采集转换温度时参考电压选取的是单片机内部参考电压表,采集温度总是不准,怀疑分压电阻精度不够,换了精度更高的,问题同样存在,后面分析原因就发现采集电路电压不稳,虽然选的内部参考电压稳定不变但是外部电路不稳定导致采集的数据波动,,将参考电压直接更换成供电电压,经过计算约分,直接与电压没有关系了,精度控制在了0.2℃以内。

问题2:

有次用的别的厂家的板子需要自己更新固件,使用的是 JTAG仿真器,由于板子上没有设计仿真接口,只能自己焊接线出来连接,使用Jflash怎么也连接不上板子,自己百度摸索一上午也没解决,最后和厂家视频沟通让我将仿真器和板子之间的连接线尽可能缩短,半信半疑的照做了,果然连上了,至今没明白什么问题,难道线太长电阻太大??

问题3:

项目中接触的最多的通讯方式就是IIC,UART,485了,虽然原理图每次都是照抄,但是每次板子都会各种问题,UART是最好调试的,但是由此遇到一个板字的SDK最大一次接收19字节,多了会分次接收,导致我读到的数据不全,最后按照客户要求直接简单处理,在收到接收中断后延时10ms去读FIFO,这个时间数据百分百会收全(不建议使用此方法,可以使用环形队列等方法);IIC线序反了,IIC缺少上拉电阻等都会导致通讯异常,最好的方法就是用示波器量一下波形;遇到坑最多的是485电路,尤其要注意片子的供电电压,是否需要在UART和485片子之间加电压转换,485片子输出AB引脚上的限流电阻要合适,之前有次就是由于限流电阻过大,导致数据间接性丢失,一般485片子的规格书后面会附上推荐电路。

问题。。。。。。

当然还有各种关于蓝牙、WiFi调试过程中的问题,就不一一举例说明了。。。。。。

写在最后

感觉不管是软件还是硬件,开发的过程也是在解决BUG的过程

最后的最后,希望我们的硬件工程师少制造点问题,致:小刚子。

回复 支持 反对

使用道具 举报

xin_gelary | 2023-8-31 15:12:45 | 显示全部楼层
我是大二一名学生,在学校枯燥的学习空闲,也跟着QQ群一些大佬做一些开源的小玩具,期望能打个好工,,现在打工也不容易了哈,
说起开发是没那么多技能,边学边做,复刻大佬作品,自己学着画板子,焊接,相当艰难啊,在群里问,百度搜,往往一个电阻虚焊,都要搞很长时间,慢慢的随着学校的学习和自己摸索,学会了万用表使用,热风枪以及加热板,买了不少工具。上了大二才发现还有开发板可以直接用,走了不少弯路,第一个开发板用的是esp8266.做小车,翻车的地方太多,记忆深刻的还数第一次翻车,用杜邦线链接开发板,然后用TTL来烧录程序,反反复复总是不能烧录成功,能读取到com口,就是烧录不成功,经过各大QQ群的大佬指点,几乎更换了全套设备,还没有搞定,一个偶然的机会,和一会群友聊天,他说了他翻车的一件事,说廉价的杜邦线有时候会因为阻抗不一样,会导致烧录的时候断续,然后失败,我赶紧拿出我的更换了杜邦线为网线,然后再次烧录,就好了,这个廉价的杜邦线折腾了我半个月,以至于差点让我怀疑我是不是搞电子的料。
再接再厉,争取获得安信可开发板,好好学习,争取能有个好工做。
回复 支持 反对

使用道具 举报

爱笑 | 2023-8-31 15:36:09 | 显示全部楼层
pzy 发表于 2023-8-31 13:29
[md]## 写在开头:

### 接触嵌入式大概两年时间了,所遇到的问题简直是五花八门,有时候想破脑袋都不会想 ...

哈哈哈哈哈你要笑死我,致小刚子。
用心做好保姆工作
回复 支持 反对

使用道具 举报

不是你的猫 | 2023-8-31 16:26:42 | 显示全部楼层
  作为才学习两年电子信息工程的菜鸟来说,翻车是必不可少的,有幸参加了诸多暑期训练营,抱着从小对电子浓厚的兴趣让我选择了这个专业。接触安信可很久了,也买了很多安信可的模组,拿我今年参加立创训练营的作品来举例吧!
抱着挑战自己和学习的想法参加了物联网征集令活动,活动前前后后一个多月,pcb修改了3次,代码调试了n次,头发都掉了不少
虽然到现在项目还存在许多bug,但我已很满足!
我做的项目是一款基于ESP8266的炫彩频谱灯。
  • 最让人感到头皮发麻的是焊接64颗全彩灯珠,由于成本考量没有开钢网,手点的焊锡,中间不知道多少次因为灯珠虚焊导致的问题返修
  • pcb设计问题反复拆装8266时还弄掉了屏蔽罩.
  • 反复调试也不显示,后来发现电阻画错
虽然中间不停地翻车,还好结果还是令人满意的当时拿了个二等奖。还学习到了很多经验,得到了很多经验,痛并快乐着
希望安信可可以给我更多的机会来学习成长!撒花

制作的项目

制作的项目

虚焊的灯珠

虚焊的灯珠

掉了屏蔽罩的8266模块

掉了屏蔽罩的8266模块

画错了的pcb

画错了的pcb

修改后的pcb

修改后的pcb
回复 支持 反对

使用道具 举报

etcorn | 2023-8-31 16:43:16 | 显示全部楼层

本帖最后由 etcorn 于 2023-8-31 16:48 编辑

本帖最后由 etcorn 于 2023-8-31 16:44 编辑

在我探索ESP32开发板的旅程中,有一个令人难忘的经历,让我深刻体会到了问题解决和持续学习的重要性。

我决定利用ESP32开发板点亮一个简单的LED灯,听起来似乎很简单,但却引发了一系列的冒险。初始时,我编写了以下代码,试图点亮GPIO 13上的LED灯:

#include <Arduino.h>

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

然而,当我上传代码到开发板后,LED灯并没有按照预期的方式闪烁。我开始怀疑是硬件连接的问题,于是检查了电路连接和引脚设置,但一切似乎都是正确的。

在经过一段时间的尝试后,我开始怀疑是不是代码的问题。我查阅了ESP32的文档,发现GPIO 13在ESP32上实际上对应的是内置的LED_BUILTIN引脚。我决定修改代码,使用LED_BUILTIN来点亮LED灯:

#include <Arduino.h>

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

这次,LED灯成功地开始闪烁了!这个问题的解决之路虽然曲折,但我从中学到了很多关于硬件开发和问题排查的经验。同时,我也意识到了不断学习和查阅文档的重要性,因为这些都是解决问题的关键。

通过这个小小的闪烁LED灯的项目,我体会到了问题解决的成就感,也更加熟悉了ESP32开发板的特性。这段经历不仅让我在技术上有所收获,还让我对探索新技术充满了热情。

后期会考虑加入MQTT等技术,实现远程控制LED灯的开关

回复 支持 反对

使用道具 举报

爱笑 | 2023-8-31 17:00:02 | 显示全部楼层
不是你的猫 发表于 2023-8-31 16:26
作为才学习两年电子信息工程的菜鸟来说,翻车是必不可少的,有幸参加了诸多暑期训练营,抱着从小对电子浓 ...

问题不大,故事过关!私信我
用心做好保姆工作
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则