数码之家

 找回密码
 立即注册
搜索
查看: 4230|回复: 28

[C51] 修复一个杜洋mini3216

[复制链接]
发表于 2020-5-7 12:08:59 来自手机浏览器 | 显示全部楼层 |阅读模式
本帖最后由 wq1310699368 于 2020-5-7 12:18 编辑

小学那时我就成为了电子爱好者,杜洋工作室带我认识了什么是单片机,如何画PCB板,但我的英语不好,C语言到现在都不精,那是我四年级的时候,自己攒钱斥资200多买了杜洋的mini3216套件,但是比较倒霉,当时买的套件单片机让卖家焊好,我焊其他东西,不知道是程序问题还是什么问题,做好后不能调时,现象是时间都显示99,再加上当时焊工不精,焊接micro接口时锡搞多了一坨锡弄了进去,插电一用力接口和焊盘就掉下来了,但后来我飞线搞定了,但是因为供电接口焊盘损坏,返给卖家不能调时的锅就变成我背了,当时换PCB50块钱,卖家焊接手工费60对于小学的我来说简直就是大出血,当时用了一段时间手贱拔下点阵来看由于焊盘设计不牢固没几次就掉了,电源借口也摇摇欲坠,就吃灰了。高二时我有飞线修复点阵掉的焊盘但有几根信号线不正常又继续吃灰。现在大一趁疫情来修复看看。先上尸体照

原本打算洞洞板飞线重头修复,但大概测量了下线路,一根数据线连4个脚,全部得飞几百根线,想想还是算了,话说感觉这布线有点乱啊,不知道是不是直接自动布线的

另外一个方案是把背面焊盘刮开,排孔直插焊好飞线

飞好线后显示正常,估计高二的时候飞线把数据线短路了几根,但是有几次发现小时会显示28点??

而且。。。。祸不单行,测试好后装梁上时一不小心从三米高的地方摔下来又把飞的几根线摔断了。。。。。

运行了几天,这个小时显示确实有问题,有时候显示正常,有时候以28小时为一天算,有时候又以33小时为一天算,这是程序的bug还是焊接问题,有买过杜洋mini3216的小伙伴出现过这个问题吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 4家元 +46 收起 理由
jf201006 + 16 謝謝分享
hongo + 10 原創內容
玛德陛下 + 10 謝謝分享
家睦 + 10

查看全部打赏

发表于 2020-5-7 12:57:34 | 显示全部楼层
这焊接的手法还需要多多练习啊
回复 支持 反对

使用道具 举报

发表于 2020-5-7 16:06:47 | 显示全部楼层
看到你的经历,年龄应该不大,但也算是老手了,向你学习!
回复 支持 反对

使用道具 举报

发表于 2020-5-7 17:07:41 来自手机浏览器 | 显示全部楼层
找些废板子,练习一下焊接吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 19:21:53 来自手机浏览器 | 显示全部楼层
cat_li 发表于 2020-5-7 17:07
找些废板子,练习一下焊接吧

这个焊接是在原来没有焊盘的基础上刮开阻焊油焊的,实在是没有办法了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 19:39:04 来自手机浏览器 | 显示全部楼层
2n3055 发表于 2020-5-7 12:57
这焊接的手法还需要多多练习啊

这个板子原来设计是黑面焊盘阻焊油全覆盖,只有正面留焊盘,排母把脚剪短只焊正面,没几次拔插正面焊盘就掉了,背面焊盘我用刀刮开的有的刮到线就焊成这样了
回复 支持 反对

使用道具 举报

发表于 2020-5-7 19:51:50 来自手机浏览器 | 显示全部楼层
估计还是飞线问题,这货要200多太坑了。买76e003只要8毛包邮,再做论坛上的ch552 烧录器,撸点sop转dip板,小面包板,杜邦线,拆机搞点电阻电容二极管,不到10块钱就可以玩了。
回复 支持 反对

使用道具 举报

发表于 2020-5-7 19:53:26 来自手机浏览器 | 显示全部楼层
有机会撸个led胸牌,比那数码管好玩。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 21:33:48 来自手机浏览器 | 显示全部楼层
玛德陛下 发表于 2020-5-7 19:51
估计还是飞线问题,这货要200多太坑了。买76e003只要8毛包邮,再做论坛上的ch552 烧录器,撸点sop转dip板, ...

但是断线的只有点阵的线,时钟芯片和单片机连的线是完全没有动过的,小时出现问题会不会程序算法bug,显示年到一定年份后小时就开始出错了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 21:34:44 来自手机浏览器 | 显示全部楼层
玛德陛下 发表于 2020-5-7 19:53
有机会撸个led胸牌,比那数码管好玩。

以前撸了两个,还在吃灰中
回复 支持 反对

使用道具 举报

发表于 2020-5-7 22:03:56 来自手机浏览器 | 显示全部楼层
玛德陛下 发表于 2020-5-7 19:51
估计还是飞线问题,这货要200多太坑了。买76e003只要8毛包邮,再做论坛上的ch552 烧录器,撸点sop转dip板, ...

对,看着都心痛。只是焊接学不到什么东西,只有自己折腾在错误中才有乐趣。
回复 支持 反对

使用道具 举报

发表于 2020-5-7 22:29:25 来自手机浏览器 | 显示全部楼层
没有时钟芯片?其实自己做一个也挺好的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-7 23:00:06 来自手机浏览器 | 显示全部楼层
触景情伤 发表于 2020-5-7 22:29
没有时钟芯片?其实自己做一个也挺好的

有时钟芯片,但是当时这么贵买来弃之可惜
回复 支持 反对

使用道具 举报

发表于 2020-5-8 01:34:03 | 显示全部楼层
其实单正面焊接你可以用锡浆试试,正面上低温锡浆,背面加热应该也能化
回复 支持 反对

使用道具 举报

发表于 2020-5-8 08:27:07 | 显示全部楼层
看到杜洋的名字,真是感慨啊,大概是08年,读了他在无线电杂志上的单片机入门文章,受益匪浅啊
回复 支持 反对

使用道具 举报

发表于 2020-5-8 08:42:18 | 显示全部楼层


时间问题估计是8025引起的。
我以前用8025也出现过类似问题,是芯片初始化不当引起的。


没想到我也用了同样的方案。这两个芯片便宜好用。
建议楼主重新画个板子,别在这上面浪费时间了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2020-5-8 22:01:00 | 显示全部楼层
lyy-cy 发表于 2020-5-8 08:42
时间问题估计是8025引起的。
我以前用8025也出现过类似问题,是芯片初始化不当引起的。

我最近也发现了这个时钟芯片的问题,现象是用一段或长或短的时间就出现时间混乱的问题,虽然我已经改用了DS3231但是还是希望层主分享一下代码否则好些片RX8025就要仍了。
回复 支持 反对

使用道具 举报

发表于 2020-5-9 01:02:12 | 显示全部楼层
慕名而来 发表于 2020-5-8 22:01
我最近也发现了这个时钟芯片的问题,现象是用一段或长或短的时间就出现时间混乱的问题,虽然我已经改用了 ...

测试了十几天了,没有问题。micropython的不知能否帮到你。


  1. from machine import Pin, I2C
  2. import time ,ntptime,network

  3. class AT24C02():
  4.     def __init__(self, i2c):
  5.         self.i2c = i2c
  6.         self.addr = 0x50
  7.         
  8.     def write_byte(self, addr, dat):
  9.         self.i2c.writeto(self.addr, bytearray([addr, dat])) #AT24C02地址是一个8位,与24C32不同,特别要注意
  10.     def read_byte(self, addr):
  11.         self.i2c.writeto(self.addr, bytearray([addr])) #AT24C02地址是一个8位,与24C32不同,特别要注意
  12.         t = self.i2c.readfrom(self.addr, 1)
  13.         return t[0]

  14.     def read_mem(self,addr,nub):  #存储器内部地址,读出的数量
  15.         return i2c.readfrom_mem(self.addr, addr,nub)
  16.     def write_mem(self,addr,buf): #存储器内部地址,写入的buff(lis,tub 用bytearray()转换一下就可 )
  17.         i2c.writeto_mem(self.addr, addr,buf)

  18. class RX8025T():
  19.     def __init__(self, i2c):
  20.         self.i2c = i2c
  21.         self.addr = 0x32

  22.     def _dec2bcd(self, value):
  23.         """Convert decimal to binary coded decimal (BCD) format"""
  24.         return (value // 10) << 4 | (value % 10)

  25.     def _bcd2dec(self, value):
  26.         """Convert binary coded decimal (BCD) format to decimal"""
  27.         return ((value >> 4) * 10) + (value & 0x0F)

  28.     def get(self):#数据格式符合  8元组:(年、月、日、小时、分钟、秒、一周中某日 mon = 0 、一年中某日)。
  29.         buf = self.i2c.readfrom_mem(self.addr, 0x0, 7)
  30.         ss = self._bcd2dec(buf[0])# second
  31.         mm = self._bcd2dec(buf[1]) # minute
  32.         hh = self._bcd2dec(buf[2]) # hour
  33.         wday = buf[3] # weekday
  34.         dd = self._bcd2dec(buf[4]) # day
  35.         MM = self._bcd2dec(buf[5]) # month
  36.         yy = self._bcd2dec(buf[6]) + 2000 # year
  37.         yday = 88 #yearday  一年中的某天没有定义这里返回个88代替
  38.         for i in range(7):
  39.             if wday == 0x01 << i:
  40.                 wday = i -1
  41.             if wday < 0 :
  42.                 wday = 6
  43.         return  yy, MM, dd, hh, mm, ss, wday,yday  # wday in esp8266 0 == Monday, 6 == Sunday

  44.     def set(self,datetime): ##数据格式符合  8元组:(年、月、日、小时、分钟、秒、一周中某日 mon = 0 、一年中某日)。
  45.         buf = bytearray(7) #yearday  一年中的某天,8025没有直接丢弃,这里只要7位
  46.         buf[0] = self._dec2bcd(datetime[5]) # second
  47.         buf[1] = self._dec2bcd(datetime[4]) # minute
  48.         buf[2] = self._dec2bcd(datetime[3]) # hour
  49.         buf[3] = datetime[6] + 1 # weekday  这里改了顺序,8025 周一是第二个位bit1 置一,所以这里先加一
  50.         buf[4] = self._dec2bcd(datetime[2]) # day
  51.         buf[5] = self._dec2bcd(datetime[1]) # month
  52.         buf[6] = self._dec2bcd(datetime[0] - 2000) # year
  53.         if buf[3] == 7 : # micropython 周日是 6 上面加一后得到7
  54.             buf[3] = 0
  55.         buf[3] = 0x01 << buf[3]  #周日不移位  bit0 置一  周一 bit1 置一  周六bit6  置一
  56.         self.i2c.writeto_mem(self.addr, 0x00, buf)




  57. i2c = I2C(scl=Pin(14), sda=Pin(16), freq=100000)
  58. rtc = RX8025T(i2c)
  59. #ram = AT24C02(i2c)


  60. MY_SSID ="home88888888"
  61. MY_PASSWORD ="xxxxxxxx"
  62. nic = network.WLAN(network.STA_IF)
  63. nic.active(True)
  64. nic.connect(MY_SSID,MY_PASSWORD)
  65. time.sleep(5) #等待5秒让其联网
  66. ntptime.NTP_DELTA = 3155673600 - (8* 60 * 60)  #东8区
  67. ntptime.host = 'ntp.ntsc.ac.cn'
  68. ntptime.settime()



  69. (yy, MM, mday, hh, mm, ss, wday,yday) = rtc.get()
  70. print('RTC_Time: {:0>2d}-{:0>2d}-{:0>2d} {:0>2d}:{:0>2d}:{:0>2d} \t Day:{} [0:Mon 6:Sun]'.format(yy, MM, mday, hh, mm, ss,wday))

  71. (yy, MM, mday, hh, mm, ss, wday) = time.localtime()[:-1]
  72. print('NTP_Time: {:0>2d}-{:0>2d}-{:0>2d} {:0>2d}:{:0>2d}:{:0>2d} \t Day:{} [0:Mon 6:Sun]'.format(yy, MM, mday, hh, mm, ss,wday))

  73. now_time = time.localtime()
  74. #这里设置RTC时间为8266内部时间(已经NTC校准的)
  75. rtc.set(now_time)

  76. (yy, MM, mday, hh, mm, ss, wday,yday) = rtc.get()
  77. print('RTC_Time: {:0>2d}-{:0>2d}-{:0>2d} {:0>2d}:{:0>2d}:{:0>2d} \t Day:{} [0:Mon 6:Sun]'.format(yy, MM, mday, hh, mm, ss,wday))
复制代码



回复 支持 反对

使用道具 举报

发表于 2020-5-9 21:27:02 | 显示全部楼层
lyy-cy 发表于 2020-5-9 01:02
测试了十几天了,没有问题。micropython的不知能否帮到你。

这个语言的代码真心不懂,我用8025T做了一个定时控制器,用了一段时间后发现经常时间杂乱,起初以为电源不好或干扰问题,搞了好久没有解决,前几天长假把它带回家里不带控制进行测试,发现几个小时后仍然出问题,以为这种0.75元的芯片不靠谱,看到你的回帖就过来交流下。我的C代码如下,不知道哪里有问题或者还需要那些必要设置:
  1. //====RX_8025初始化函数==================================
  2. void init_8025()
  3. {

  4. uchar VLF;
  5. //~~~~以下为是否初始化时间的判断操作~~~~
  6.     VLF=read_8025(0x0E);//读标志寄存器E的VLF位,如果为1则提示实时时间数据丢失
  7.     VLF=(VLF>>1)&0x01;
  8.     if(VLF)
  9.     {
  10.         write_8025(0x0E,0x00);                //清除所有标志
  11.         write_8025time(&time_init);//如因掉电而数据丢失则重新上电时显示20-1-1 8:30:00星期3
  12.     }
复制代码


回复 支持 反对

使用道具 举报

发表于 2020-5-9 22:20:03 来自手机浏览器 | 显示全部楼层
慕名而来 发表于 2020-5-9 21:27
这个语言的代码真心不懂,我用8025T做了一个定时控制器,用了一段时间后发现经常时间杂乱,起初以为电源 ...

老哥这是之前代码的bug?你不是都调试过了么?
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-10 01:06 , Processed in 0.592801 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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