搜索
bottom↓
回复: 55

求助啊,HMC5883L 大面积阵亡

[复制链接]

出0入0汤圆

发表于 2011-12-29 19:31:23 | 显示全部楼层 |阅读模式
之前做了一批HMC5883L模块,在北京一家“中发电子元件”的淘宝店买的HMC5883L芯片,做出来模块没有问题。然后我又做了一批,仍然在他家购买芯片,生产出来了大面积阵亡,几乎全军覆没。。。悲惨啊。。PCB板子没变,和第一批一样的板子,我以为是工厂焊接温度过高。。后来我有买了些芯片自己焊接,还是出问题。。我当时石化了。。难道是芯片问题?我又焊接几个,发现只有两个开始好用,几分钟后就坏了。统一表现是输出数据在-50~+50间,有的甚至在一位数变化。而我第一批做的模块,输出数据都是在3位数变化。。中发一口咬定不是芯片问题,说只有我一家出了问题。我又找出一个第一批做的板子,将上面芯片吹下来,换在坏的板子上,神奇般的还是好用,完全没问题。我仔细观察芯片,发现芯片编号不一样。 第一批的芯片编号是2039, 后来阵亡的芯片全是2105批次的。
做点模块赚点小钱不容易啊,这一来就阵亡了这么多,心里那个血不停地流啊……不知道有没有人遇到这样的问题。。
在此公布我的设计图和测试代码,望高手能够指点迷津,到底是什么原因,本人用的是Arduino测试

HMC5883L原理图 (原文件名:QQ截图未命名.jpg)

HMC5883L Arduino 测试程序ourdev_708814ERCPAY.rar(文件大小:5K) (原文件名:HMC5883L.rar)

所得数据结果 (原文件名:QQ截图未命名2.jpg)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-12-29 20:09:35 | 显示全部楼层
我说今天下午怎么那家的人给我打电话呢,刚才看了一下,我的批号也是2105,不过我还没有焊,也是刚买的,板子还没有做好。要是这问题还真麻烦了,楼主是不是正在和他们沟通?有结果通报一下啊,谢了。

出0入0汤圆

发表于 2011-12-29 20:14:16 | 显示全部楼层
刚才看了一下楼主的电路:
SCL和SDA 应该用上拉吧?DATASHEET上推荐的是用2.2k电阻上拉。
楼主有板子,帮着试一下把你的那个电阻改成上拉会不会能够解决问题?有结果记得通知一下噢,谢了。

出0入0汤圆

 楼主| 发表于 2011-12-29 21:01:31 | 显示全部楼层
回复【1楼】kexiao  柯晓
-----------------------------------------------------------------------

是啊,估计你也是在他那里买的,赶快焊接一个试试……我现在不得不怀疑这个芯片有问题了,我已经买了其他批号的,打算焊接再试试……目前沟通还在僵持中,中发咬定是我的问题,理由是只有我一家出问题……其实他不攻自破。。我开始怀疑是芯片问题的原因是,中发电子元件主动给我打电话说有个客户用此芯片有问题,问我要不要写程序进去。我也说我的很多有问题,最开始没注意到数据正确性,后来有人用我的模块说数据输出错误,我才又测试了一边,,,结果,,悲剧啊……
目前还在沟通中……

出0入0汤圆

 楼主| 发表于 2011-12-29 21:03:56 | 显示全部楼层
回复【2楼】kexiao  柯晓
-----------------------------------------------------------------------

由于这个开始是给Arduino设计的,ATMega芯片自带了上拉,所以就没有加上拉……关键是,之前做了一批也是好的……这批才悲剧了。。。下午改了电路,加了上拉还是不行

出0入0汤圆

发表于 2011-12-29 21:10:23 | 显示全部楼层
下午在公交车给我打电话我还纳闷呢,结果回来一看就看到了这个贴子,我还没有板子……焊不了
悲剧……

出0入0汤圆

发表于 2011-12-29 21:14:10 | 显示全部楼层
卖家的东西已经下架了,怎么才能找它维权啊(要真是芯片的问题)

出0入0汤圆

发表于 2011-12-29 21:46:45 | 显示全部楼层
刚买的模块,是这个批号的,IC应该是一家的,我的模块读数正常.楼主可以检查下寄存器B的增益配置看看.

出0入0汤圆

发表于 2011-12-29 22:19:49 | 显示全部楼层
LZ啊,我在淘宝“龙戈电子”买的HMC5883L,和你的一样啊,完蛋了,也是2105批次的,依次读出13个寄存器总是这样的数据:

...
112,32,0,0,13,0,6,255,250,3,72,52,51,
112,32,0,0,13,0,6,255,250,3,72,52,51,
112,32,0,0,13,0,6,255,250,3,72,52,51,
112,32,0,0,13,0,6,255,250,3,72,52,51,
...

其中最后三位识别号是正确的,配置寄存器的值也是我写进去的值,就是XYZ完全不对!

我还想在这里发帖求助是不是我的片子阵亡了呢,就看到你的帖子。。。

出0入12汤圆

发表于 2011-12-29 22:31:43 | 显示全部楼层
请教1下楼主,这个难道就是 电子指南针???

出0入0汤圆

 楼主| 发表于 2011-12-30 11:03:08 | 显示全部楼层
回复【6楼】kexiao  柯晓
-----------------------------------------------------------------------

我的先确定是芯片问题。。。维权的事还没有想过
你买了多少片?赶紧测试一下

出0入0汤圆

 楼主| 发表于 2011-12-30 11:04:39 | 显示全部楼层
回复【8楼】dongfang_a  
-----------------------------------------------------------------------

可能吧,多半你的模块有问题,你问问龙戈电子

出0入0汤圆

 楼主| 发表于 2011-12-30 11:04:59 | 显示全部楼层
回复【9楼】skynet  青青草原
-----------------------------------------------------------------------

是的

出0入0汤圆

发表于 2011-12-30 11:55:47 | 显示全部楼层
q我回复【10楼】swseansw2007  
回复【6楼】kexiao  柯晓
-----------------------------------------------------------------------
我的先确定是芯片问题。。。维权的事还没有想过
你买了多少片?赶紧测试一下
-----------------------------------------------------------------------
我买了5片,板子还没有做好呢,暂时没有办法测……

出0入25汤圆

发表于 2011-12-30 12:27:04 | 显示全部楼层
ic 问题,建议lz 退货吧。  这批可能就是 前端时间 深圳流出来的  工厂 放出的 质量不合格 ic 。 价格低,就被 不良js 拿到市场上去,卖了!

出0入0汤圆

发表于 2011-12-30 15:08:10 | 显示全部楼层
汗!刚才看了下,我上个月买的也是2105的,买了6颗芯片,自己焊的,有一个自己修了一个,数据没问题呀,楼主是不是寄存器没配置好?另外,我看老板给的资料说这个IC对焊接温度有要求的。

出0入0汤圆

发表于 2011-12-30 16:06:49 | 显示全部楼层
回复【14楼】rei1984  
ic 问题,建议lz 退货吧。  这批可能就是 前端时间 深圳流出来的  工厂 放出的 质量不合格 ic 。 价格低,就被 不良js 拿到市场上去,卖了!
-----------------------------------------------------------------------

14楼业内人士啊。这鸟工厂也太不负责任了……无语

出0入0汤圆

发表于 2011-12-30 16:24:10 | 显示全部楼层
这种芯片深圳工厂应该也没这个能力做吧?
芯片流片都很贵的呀?
前段时间买的时候发现芯片和模块差价大,觉得不可思义,原来也不是没有道理.但自己也没那个能力,就买了模块,幸好...要不可能现在都调不出来,还在郁闷中
同情LZ.

出110入0汤圆

发表于 2011-12-30 19:50:41 | 显示全部楼层
回复【14楼】rei1984
-----------------------------------------------------------------------

这个事情做的太过了吧,分明就是毒大米的IC版嘛

出0入0汤圆

发表于 2011-12-31 00:28:25 | 显示全部楼层
同情下楼主,给我等后来人提了个醒

出0入0汤圆

发表于 2011-12-31 01:05:47 | 显示全部楼层
我擦 我也在弄这个模块 不过我只买了7 。8块芯片 也有好几个有问题 我以为自己焊接的问题 后来再去他们家买 就下架了
原来出了这档子事    被我赶上了 小本买卖 伤不起啊

出0入0汤圆

发表于 2011-12-31 01:10:45 | 显示全部楼层
回复【7楼】killin
-----------------------------------------------------------------------

killin 是买的我那个模块吧 你那个我测过  测试好了我才发货的

出0入4汤圆

发表于 2011-12-31 08:49:40 | 显示全部楼层
真是杯具啊,受不了啊

出0入0汤圆

发表于 2011-12-31 09:30:33 | 显示全部楼层
唉!这种东西都能够流出来
中国还有什么不敢给人吃 给人用?

出0入0汤圆

发表于 2011-12-31 09:53:25 | 显示全部楼层
HMC5883有带L的和不带L的两种。他们的pin脚定义略有不同。
我想LZ或者IC厂商有没有可能将这两种芯片搞混了呢?
之前我按照HMC5883的datasheet设计了电路并打了板,结果后来发现卖的都是HMC5883L。最后只好重新打板了。
如果LZ方便的话我有兴趣拿你的芯片试试,看看是不是这个原因?

出0入0汤圆

发表于 2011-12-31 11:20:12 | 显示全部楼层
HMC5883L可不是这么好玩的,这个芯片正规流程是焊前要经过烘烤的,而且最好是60度烧烤三天。这玩意对温度湿度要求都非常高,而且最好不要手工焊接,我看到有资料说这颗芯片最多支持3次返修,如果多于三次,那是你运气好,楼主还是别玩这个了。
另外,我想也是因为这玩意特别容易坏的原因吧,所以,有个“自测试模式”来测试你焊好的芯片究竟有没有坏。
另外,这颗芯片也不能长时间另热的。楼主研究清楚了再玩比较省银子。

出0入0汤圆

发表于 2011-12-31 12:08:22 | 显示全部楼层
可能是焊接的原因,在进焊炉之前,需要烘烤3天,强烈建议不要手焊。

出0入0汤圆

 楼主| 发表于 2011-12-31 22:30:13 | 显示全部楼层
回复【14楼】rei1984  
-----------------------------------------------------------------------

消息可靠么??
现在测试很奇怪,用热风枪一加热,数据就上去了,好像有些正常,温度降下来就不正常了

出0入0汤圆

 楼主| 发表于 2011-12-31 22:33:58 | 显示全部楼层
回复【24楼】htjgdw  
-----------------------------------------------------------------------

我的还是不正常,我在旺旺上面和你交流过
你在中发买的那一批,确定正常?

出0入0汤圆

 楼主| 发表于 2011-12-31 22:50:24 | 显示全部楼层
回复【20楼】Name_006  
-----------------------------------------------------------------------

你的问题是什么?

出0入0汤圆

发表于 2011-12-31 23:12:19 | 显示全部楼层
回复【29楼】swseansw2007
-----------------------------------------------------------------------

我的是自己焊接的  有几个没有数据 没仔细测试呢  

还有 我还不是很明白 怎么看别人回复自己的帖子呢  自己一个一个翻看吗 ??? 这个回复我是无意看到的

出0入0汤圆

发表于 2012-1-2 21:55:17 | 显示全部楼层
UP一下,才一片不值得,我已经放弃维权了。不过告诉LZ,你的那段代码我也用过,有内存非法引用的问题:

你看下面这个函数,返回的是函数内才有效的地址。

uint8_t* HMC5883L::Read(int address, int length)
{
  Wire.beginTransmission(HMC5883L_Address);
  Wire.send(address);
  Wire.endTransmission();
  
  Wire.beginTransmission(HMC5883L_Address);
  Wire.requestFrom(HMC5883L_Address, length);

  uint8_t buffer[length];
  if(Wire.available() == length)
  {
          for(uint8_t i = 0; i < length; i++)
          {
                  buffer = Wire.receive();
          }
  }
  Wire.endTransmission();

  return buffer;
}

出0入0汤圆

发表于 2012-1-4 09:47:10 | 显示全部楼层
回复【28楼】swseansw2007
回复【24楼】htjgdw   
-----------------------------------------------------------------------
我的还是不正常,我在旺旺上面和你交流过
你在中发买的那一批,确定正常?
-----------------------------------------------------------------------

我不是在中发买的。只买了几片,但是批号和你的一样,2105,里面就有一片坏的。剩下的还好。

出0入0汤圆

发表于 2012-1-31 16:53:35 | 显示全部楼层
回复【楼主位】swseansw2007  
-----------------------------------------------------------------------

我用楼主的程序 发现我的读出来的数据不变化……郁闷……
我的是maple 和arduino是兄弟

出0入0汤圆

发表于 2012-5-7 14:05:06 | 显示全部楼层
是不是你原理图C3和C4电容搞反了哦,C3是复位电容0.22uF,C4是储能电容4.7uF

出0入0汤圆

发表于 2012-5-7 14:25:06 | 显示全部楼层
不是吧~这么凄惨啊~批号不同也问题这么大啊?

出0入0汤圆

发表于 2012-5-7 16:50:33 | 显示全部楼层
我怎么越看越糊涂啊

出0入0汤圆

发表于 2012-5-7 16:51:01 | 显示全部楼层
这芯片就几块钱的东东,做假不值当吧

出0入0汤圆

发表于 2012-5-7 16:59:39 | 显示全部楼层
好吧   我昨天才在中发买了2块   不知道咋样呢

出0入0汤圆

发表于 2012-5-10 22:14:13 | 显示全部楼层
密切关注事件进展

出0入0汤圆

发表于 2012-5-11 00:16:48 | 显示全部楼层
密切关注芯片的最新测试结果

出0入4汤圆

发表于 2012-5-11 08:51:26 | 显示全部楼层
幸好我的还在购物车里呢!!!!!!!!!!!!!!!!!!!!!!!!!!!

出0入0汤圆

发表于 2012-5-11 13:07:07 | 显示全部楼层
进展如何,到底是芯片问题还是焊接或者测试的问题?

出0入0汤圆

 楼主| 发表于 2012-6-19 09:31:45 | 显示全部楼层
过了半年,35楼仁兄一语击破……
我都不好意思在此处说明原因,因为我们两个人断断续续检查了几周,最后放弃了……
在此也向“中发电子”表示歉意,他联系我说这个芯片自从我发了帖子后就没有卖出去几片(呵呵,虽然有些夸张,但是肯定是有影响的)。
此帖貌似没法删除,留着吧,一面后来人再犯这种低级错误……

出0入0汤圆

发表于 2012-6-19 09:45:41 | 显示全部楼层
顶一下44楼。

出0入0汤圆

发表于 2012-12-17 21:27:12 | 显示全部楼层
224和4.7u电容画反了吧

出0入0汤圆

发表于 2012-12-19 11:00:52 | 显示全部楼层
2105的批次,这是谁来害你们呢?
2105的,原厂都召回了

出0入0汤圆

发表于 2012-12-19 18:13:59 | 显示全部楼层
就是焊接问题.要烘烤,夏天和冬天不一样.夏天也许不烤就行,或凑巧买到别人烤过的了,就没这事

出0入0汤圆

发表于 2013-4-4 18:44:32 | 显示全部楼层
草~我也出现这个情况。焊了三个都不能用。风枪烙铁都试过了。读出来的数据就是这个鸟样:
  1. X:     3  ,Y: 65535  ,Z:     0
  2. X:     3  ,Y: 65535  ,Z:     0
  3. X: 65535  ,Y:     0  ,Z:     0
  4. X: 65534  ,Y: 65532  ,Z:     5
  5. X:     4  ,Y:     2  ,Z:     4
  6. X: 65534  ,Y: 65535  ,Z:     1
  7. X: 65534  ,Y: 65535  ,Z:     1
  8. X: 65532  ,Y: 65535  ,Z:     1
  9. X:     2  ,Y:     2  ,Z:     0
  10. X: 65535  ,Y: 65535  ,Z:     2
  11. X:     4  ,Y: 65532  ,Z: 65535
  12. X:     1  ,Y:     0  ,Z: 65530
  13. X:     1  ,Y:     0  ,Z: 65530
  14. X: 65534  ,Y: 65534  ,Z:     1
  15. X:     4  ,Y:     0  ,Z: 65535
  16. X:     6  ,Y: 65533  ,Z:     0
  17. X: 65533  ,Y: 65534  ,Z:     1
复制代码
请问这两个电容是不是一定要一样?接近行不行?
我用的是100nf和1u。
我的批号是2106

出0入0汤圆

发表于 2013-4-4 19:15:07 | 显示全部楼层
N个礼拜前在X宝A家买了100只AT24C16 结果SMT下来只有不到20%好的, 找A家 死活不认,又在B家买了100片,回来一看 X 连批号文字都和前100个一样 一种不祥上心头 硬着头皮又上机了 妈个B的 结果出来又是 只有十来片好的。。。。。。。
我X。X宝的芯片 真让人揪心

出0入0汤圆

发表于 2013-4-4 19:20:30 | 显示全部楼层
还有 某月前 因不小心焊反了EPCS4SI8N 烧了,就随便在X宝买了2个EPCS4SI8N  回来焊接 后诡异的事情发生了。。。。上电正准备烧程(还没烧程序 )与其搭配 EP2C8Q208C8N 的有IO接的几个LED居然自己有规律的闪了起来
妈个B的 一读这货 里面居然已经烧写了不知道什么程序了。。。。。。。。
结果一找卖家 又是死不认帐。。。

出0入0汤圆

发表于 2013-4-4 19:45:40 | 显示全部楼层
wangguanfu 发表于 2013-4-4 19:15
N个礼拜前在X宝A家买了100只AT24C16 结果SMT下来只有不到20%好的, 找A家 死活不认,又在B家买了100片,回 ...

天哪~这以后到哪买芯片呀~~

出0入0汤圆

发表于 2013-4-4 22:45:25 | 显示全部楼层
呵呵,学习了,高人很多,别犯低级错误了

出0入0汤圆

发表于 2014-5-2 20:41:02 | 显示全部楼层
我的跟你的一样,开始好用,几分钟后就坏了而且我的电容没有问题

出0入0汤圆

发表于 2014-7-12 10:31:04 | 显示全部楼层
ymy0511 发表于 2014-5-2 20:41
我的跟你的一样,开始好用,几分钟后就坏了而且我的电容没有问题 ...

我用的MS5611+HMC5883+MPU6050三合一的模块,读出来的磁力计角度基本在0-30和310-360之间变化,相同的程序用HMC5883单独的模块进行测试一切正常。不知道你有没有遇到过这种问题

出0入0汤圆

发表于 2014-8-25 11:36:05 | 显示全部楼层
小笨蛋 发表于 2013-4-4 18:44
草~我也出现这个情况。焊了三个都不能用。风枪烙铁都试过了。读出来的数据就是这个鸟样:请问这两个电容是 ...

你的这个问题后来咋解决的,我的自检全部输出1285,关闭自检后全部输出零....
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 17:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表