h2feo4 发表于 2009-11-2 16:30:44

怀表新版PCB出炉,12线6圈版(PCB23),同时向各位推荐一位数学高手 Matrix67 (77楼新增部分

怀表新版PCB出炉,12线6圈版(PCB23),同时向各位推荐一位数学高手 Matrix67

之前我发了12线12圈的PCB2,节省IO,但布线压力大(http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=3653059)14楼、38楼
随后kv2004发了18线6圈的版本,占用较多IO,但布线压力较小(http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=3653059)39楼
我在理论上认为,既省IO,布线又简单的12线6圈方案是可以实现的,但一直苦苦寻找而不得
无奈我请教了数学高手 Matrix67 (www.matrix67.com/blog)
几个小时后Matrix67大侠就回复了我的邮件,提供了算法和一个实例

把M67提供的的实例转化为布线
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498793.PNG
(原文件名:20091102C.PNG)

我对其重新进行了优化
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498794.PNG
(原文件名:20091102D.PNG)

它可以压缩为6行
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498795.PNG
(原文件名:20091102E.PNG)

画成PCB
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498791.PNG
(原文件名:20091102A.PNG)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498792.PNG
(原文件名:20091102B.PNG)

最终完美的实现了12线6圈布线
我决定此项目结束之时亲手制作一只赠送给Matrix67大侠以示感谢

相关帖子 :
搜索标题含有“怀表”的帖子
http://www.ourdev.cn/bbs/bbs_list.jsp?search_text=%BB%B3%B1%ED&search_mode=1&bbs_id=9999&Submit2=+%CB%D1+%CB%F7+

guangshu 发表于 2009-11-2 16:35:30

沙发

JQ_Lin 发表于 2009-11-2 16:36:24

佩服 h2feo4 无机酸 的精神。
第一个来顶。

016249 发表于 2009-11-2 16:36:35

fool_boy 发表于 2009-11-2 16:36:45

板凳,看来我确实需要好好学数学了

chaplin1999 发表于 2009-11-2 16:42:23

这个要顶!
Matrix67 很牛的数学高手!看他的博客,很多数学方面的文章!可惜俺数学差,看不懂!
没有学过高数的人飘过~~~~~

guangshu 发表于 2009-11-2 16:45:56

什么时候打板啊?还有外壳呢,最好做成男女装一对。

ivws 发表于 2009-11-2 16:46:48

让人佩服!!

aleyn 发表于 2009-11-2 16:47:48

数字真伟大!

chierchen 发表于 2009-11-2 16:50:35

數學可以解決一切問題~

好像是這么說的?

huhong1230 发表于 2009-11-2 16:59:29

应用 数学。汗颜,数学白学了。

ba1731 发表于 2009-11-2 17:08:23

Matrix67 一直是一个大牛人。。。

wangxiaoacc 发表于 2009-11-2 17:12:36

无机酸,我跟定你的方案了!!

ajin505 发表于 2009-11-2 17:24:17

都是强人啊这个算法分析的彩条是什么意思 我怎么看不懂?指点一下吧

RENMA 发表于 2009-11-2 17:31:04

无机酸 我力挺你啊

赞叹数学的伟大啊

xingcn 发表于 2009-11-2 17:35:15

佩服

armok 发表于 2009-11-2 17:36:57

晕啊。。。。

布PCB竟然与数学有关系!真的一山还有一山高。顶!

xiaoganggang 发表于 2009-11-2 17:39:14

黑点代表过孔,不同颜色线代表不同的线。每排三条线。过孔过度到其中一根线,这种思路太巧妙了,要是加到原来的45mm布线,还可以增加将近一倍的LED。现在压力小可以加4-12颗大个LED来代表整点了。不过驱动方式需要考虑一下。赞一个,M67果然高手

xaofen 发表于 2009-11-2 17:59:00

以前教授老强调数学是工具,结果一直没怎么在意,今天总算见识了

wc8841484 发表于 2009-11-2 18:01:14

标记一个   希望把算法   和怎么样画的优化的方式整理公布一下   学习

richey07 发表于 2009-11-2 18:07:36

mark

xinqiji 发表于 2009-11-2 18:10:57

看来布线时候数学思维很重要啊,可以回想下以前画过的PCB布线可能优化的空间肯定很多。

shunzi6 发表于 2009-11-2 18:14:44

支持个

Stitch 发表于 2009-11-2 18:22:05

./emotion/em037.gif

gzrldt 发表于 2009-11-2 18:48:12

顶上个,数学是我的弱项。。。

touch_mcu 发表于 2009-11-2 19:04:08

佩服,。

Roader 发表于 2009-11-2 19:13:32

仰望中,-----

zhifeng 发表于 2009-11-2 19:19:45

太好了

ch2003_23 发表于 2009-11-2 19:21:12

NB

COOLRUN 发表于 2009-11-2 19:47:10

【楼主位】 h2feo4 无机酸
小小建议 可以把图上的12个线 走在间隔30度的半径上,这样更加美观。
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498843.JPG
(原文件名:ourdev_498791.JPG)

kv2004 发表于 2009-11-2 19:56:05

无机酸真能钻啊

sipueay 发表于 2009-11-2 20:06:17

都是高手, 厉害!

kv2004 发表于 2009-11-2 20:06:43

我没看明白怎样控制,12条线好像只接到了“时”led的一端,怎样让它们亮呢,最好能画个示意图吧。

h2feo4 发表于 2009-11-2 20:09:01

to 【34楼】 kv2004
12条线接的是12个限流电阻,明天贴详细讲解

kv2004 发表于 2009-11-2 20:13:52

有限流更好。刚才没仔细看,还以为是led.

sufeila 发表于 2009-11-2 21:54:41

一直认为软件编程水平高的人出在数学系

看来还有点错,数学好的不一定在数学系.

没整明白,再仔细看一遍.

kele2009 发表于 2009-11-2 22:26:03

佩服!

stefgq 发表于 2009-11-2 22:28:25

牛人

abuzhu 发表于 2009-11-2 22:37:25

哪位老大说过:数学的目的就是寻找关于世界的最简洁也是最美的表达形式,确实不是虚言。

无机酸有机会请这位大佬出来喝茶。

4758866 发表于 2009-11-2 23:00:05

是一个大牛人。。。

infobull 发表于 2009-11-2 23:02:10

理论加实践高手 佩服

h2feo4 发表于 2009-11-2 23:08:15

理论部分贴在了77楼

hyz_avr 发表于 2009-11-2 23:12:00

太强了..

guaibaobao 发表于 2009-11-2 23:21:33

这个值得收藏!呵呵!顶!

keaiduo 发表于 2009-11-2 23:33:34

mark好东西·····

STM32_Study 发表于 2009-11-2 23:33:38

占位

等无机酸讲课

lv998127 发表于 2009-11-2 23:40:50

数学白学了

mydows 发表于 2009-11-3 08:04:21

希望讲解一下数学原理!

jintongshuai 发表于 2009-11-3 08:10:12

这个原理是什么啊

wc8841484 发表于 2009-11-3 08:23:53

广告位   卖了   哈哈

顶贴期待今天的理论

flyunlimit 发表于 2009-11-3 08:35:13

伟大的数学。

lhhsea2004 发表于 2009-11-3 08:43:48

看样子,每个io输出应该先是限流电阻。太强悍了,学习了。

WGJ5767351 发表于 2009-11-3 08:46:00

不是一般的猛   





banyan_city 发表于 2009-11-3 08:53:26

收藏

jacobson 发表于 2009-11-3 09:00:25

学数学了

guangshu 发表于 2009-11-3 09:05:34

好期待啊,什么时候可以打板,配壳啦?

ntkz 发表于 2009-11-3 09:10:29

强人

lhhsea2004 发表于 2009-11-3 09:30:24

期待,理论讲解。。。。。。。。。。。。。。。。。。。。

cowboy 发表于 2009-11-3 09:43:17

我怎么觉得,Matrix67大侠提供的只是一个思路,一个方向性的建议,而起到关键作用的,还是无机酸,从12圈压缩到6圈,这才是点睛之笔。早段时间我脑中曾经掠过一瞬间用12个差开的半圆组成6圈的构思,但没有认真思考其它可行性,就没细想了。顶无机酸!

bird07 发表于 2009-11-3 09:51:20

顶一个哦

kalo 发表于 2009-11-3 10:25:11

数学实在太有用了。
顶无机酸!

xihacow 发表于 2009-11-3 10:28:44

数学家啊,看来民间的力量很大啊

qs007 发表于 2009-11-3 10:33:16

彩图标是用protel 一点一点画的吗,能否给讲讲算法,楼主,谢谢

fy024 发表于 2009-11-3 12:04:16

学好数学真好啊!

h2feo4 发表于 2009-11-3 12:04:51

PCB24
对PCB23进行了对称性修正
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499151.PNG
(原文件名:20091103A.PNG)

master5888 发表于 2009-11-3 12:07:06

mark

master5888 发表于 2009-11-3 12:08:14

www.matrix67.com靠,这个不是被黑了吧

lea2005 发表于 2009-11-3 12:58:03

太牛逼了。

winmcu 发表于 2009-11-3 13:03:06

牛B。

soulcoffee 发表于 2009-11-3 13:30:56

真是笨啊,到现在没整明白彩条图怎么理解。那位高手有时间帮忙解释下,先谢了!

DoDo915 发表于 2009-11-3 13:35:47

Mark

cowboy 发表于 2009-11-3 13:40:38

12种颜色表示12个IO(底层的线),分成12个长条/6行,列上的数字也表示12个IO编号(顶层的线),每个小格表示一个LED,黑色是过孔。

lhhsea2004 发表于 2009-11-3 13:40:50

我的理解是一行两主色代表两个半环,每个黑块代表一个过孔。但是怎么计算来的俺就不知道,希望高手指点

12fen 发表于 2009-11-3 14:56:50

越是泡OURDEV越感到自己的渺小,哎

h2feo4 发表于 2009-11-3 15:11:48

部分理论分析
首先看一张总体图
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499228.PNG
(原文件名:20091103B.PNG)

12个半圆的6圈方案其实我已经预谋很久了
为了减少过孔的数量,我选择了下图中这种连接方式
同一角度上的两个LED是反向并联的
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499229.PNG
(原文件名:20091103C.PNG)

这120个LED便分成60组,每组的控制线都不能相同,如果相同这两组就无法独立控制
我一直寻找这种布线方法,能使60组都能独立控制,并且假设12条线都是对称的
尝试过12线、13线、15线、16线方案都未果
编了个小程序搜索也没有找到(现在看是程序有问题,这个解是存在的)
搜索对称解无果,以为不存在对称解,暴力搜索全部非对称解在时间复杂度上时不可行的
无奈之下,我把这个问题重新描述,请教了Matrix67大侠

“一幅图,60个格子排成一个圈,现要将这60个格子都涂上颜色
要求:
1、相邻的格子颜色不同
2、每种颜色组合(两个相邻的格子)只能出现一次
例如某格子为红色,其一侧相邻的格子为绿色,则此图中不允许在任何位置再出现红色格子与绿色格子相邻
问:
最少要多少种颜色才能完成此图的上色
最好能举个上色实例
我可以肯定所需的颜色数不少于12种,但简单搜索了一下,无果”

Matrix67大侠回复我了一个通解的生成方法,和一个非对称解的实例
“10, 6, 11, 5, 8, 6, 9, 5, 12, 6, 7, 12, 8, 9, 7, 10, 11, 9, 12, 10, 8, 11, 7, 5, 3, 1, 10, 2, 11, 1, 8, 2, 9, 1, 4, 2, 5, 1, 6, 2, 7, 1, 12, 2, 3, 10, 4, 11, 3, 8, 4, 9, 3, 6, 4, 7, 3, 12, 4, 5
算法:生成K_11的欧拉回路,然后在里面插入第12个节点”

图形化之后就是楼主位的第一张图
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498793.PNG
(原文件名:20091102C.PNG)

这个图的含义
每种颜色(棕 红 橙 黄 绿 蓝 紫 灰 白[浅灰] 黑[深灰] 金 银[淡蓝])分别代表1-12号控制线,黑块代表过孔
12行代表怀表从边缘到中心的空间
60列代表60组LED缝隙间的线
本质上就是怀表PCB的背面布线
直接压缩的话大概可以压到8圈
经适当优化后可以压到6圈半

外圈倒是解决了,但内圈的12个LED可就麻烦了
因为外圈布线没有考虑里面这12个,所以想把他们接上很费力
所以还是要重新计算,从一开始就把里面的12个LED算进去
不过从M67的解法可以看出,这个问题解的数量非常多,所以找到应该还是不难的
先把12个半圈画出来,按之前的经验留出给内圈LED的过孔,然后慢慢往上加过孔
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499246.PNG
(原文件名:20091103E.PNG)

思路已经确定,后面就容易了,感觉有点像做数独,很快就填满了
验算顺利通过,画成PCB
原版PCB23,对称性修正版PCB24(修正布线,为了保证回流焊时位置准确、不易立碑)

布线分析:
因为采用的是逐点扫描结构,每根扫描线和其他11根扫描线之间都有一对二极管
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499230.PNG
(原文件名:20091103D.PNG)

因为12根线是完全对称的,不一一贴图了

PCB23、PCB24源文件下载
点击此处下载 ourdev_499245.rar(文件大小:163K) (原文件名:20091103A.rar)

abuzhu 发表于 2009-11-3 15:25:36

神奇神奇~~~

weihua 发表于 2009-11-3 15:28:29

数学应用的经典,

看来数学可以解决一切

erxun 发表于 2009-11-3 15:31:16

秒!

zhiyuan1106 发表于 2009-11-3 15:40:22

NB……顶

zwei99999999 发表于 2009-11-3 15:48:58

奇奇奇

miminzhang 发表于 2009-11-3 16:06:51

高!

firegl99 发表于 2009-11-3 16:12:39

楼主这个数学建模牛,思想我大概知道了,花了一点时间还是看不太懂。

xiangyuan_122 发表于 2009-11-3 16:14:00

牛!!!神奇!!!

dsq2007001 发表于 2009-11-3 16:33:47

记得论坛里有位高手说过,贴片元件的焊盘周围用字符层围住,就是在焊盘周围画一个封闭的框,方便回流焊。


LED周围可能不需要,IC周围需要吧

h2feo4 发表于 2009-11-3 16:58:18

再放新图 PCB25
在PCB24上继续优化
12渐开线版
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499310.PNG
(原文件名:20091103F.PNG)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499311.PNG
(原文件名:20091103G.PNG)

coldwind 发表于 2009-11-3 17:08:49

坛里人才众多

ckvlhf 发表于 2009-11-3 17:36:09

记号,漫漫看。

tiky 发表于 2009-11-3 18:45:10

难怪人们常说,数学是科学的皇后

ximitiejiang 发表于 2009-11-3 18:55:40

这帖子有价值,把布pcb板看成一种数学算法,境界上升了一个层次了。

huike 发表于 2009-11-3 19:12:08

看了一下,板子估计可以用阿莫的JJ刻出来。

richey07 发表于 2009-11-3 19:24:02

数学之美

atommann 发表于 2009-11-3 19:31:31

太厉害了,宇宙是用数学书写的 :)

winter 发表于 2009-11-3 19:40:34

我彻底震惊了

steel 发表于 2009-11-3 21:04:11

赞个

fool_boy 发表于 2009-11-3 21:07:26

佩服h2feo4 无机酸追求完美的精神。
想起一句话“没有最好,只有更好!”

kv2004 发表于 2009-11-3 21:30:26

渐开线 是用圆模拟的还是?

h2feo4 发表于 2009-11-3 21:35:25

to 【99楼】 kv2004
目前是用28条直线段模拟的

seamas 发表于 2009-11-3 21:39:02

h2feo4的手艺的确让人叹为观止。
不过还是有点困惑,为什么不把mcu挪到底层呢?
搞电子的看到MCU可能会倍感亲切,但是对于不搞电子的会不会觉得有点破坏美感?
感觉表盘只留下闪着钻石般光芒的LED可能会让人觉得更加漂亮。
个人意见,仅供参考。

h2feo4 发表于 2009-11-3 21:41:45

to 【101楼】 seamas
目前的布线只考虑了显示时间的这132只LED
MCU及其他电路目前只是随手一画,未作详细考虑,因为还不清楚要装哪些元件

sufeila 发表于 2009-11-3 21:42:06

有意思,要搞几个玩了
页: [1] 2 3
查看完整版本: 怀表新版PCB出炉,12线6圈版(PCB23),同时向各位推荐一位数学高手 Matrix67 (77楼新增部分