怀表新版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+ 沙发 佩服 h2feo4 无机酸 的精神。
第一个来顶。 好 板凳,看来我确实需要好好学数学了 这个要顶!
Matrix67 很牛的数学高手!看他的博客,很多数学方面的文章!可惜俺数学差,看不懂!
没有学过高数的人飘过~~~~~ 什么时候打板啊?还有外壳呢,最好做成男女装一对。 让人佩服!! 数字真伟大! 數學可以解決一切問題~
好像是這么說的? 应用 数学。汗颜,数学白学了。 Matrix67 一直是一个大牛人。。。 无机酸,我跟定你的方案了!! 都是强人啊这个算法分析的彩条是什么意思 我怎么看不懂?指点一下吧 无机酸 我力挺你啊
赞叹数学的伟大啊 佩服 晕啊。。。。
布PCB竟然与数学有关系!真的一山还有一山高。顶! 黑点代表过孔,不同颜色线代表不同的线。每排三条线。过孔过度到其中一根线,这种思路太巧妙了,要是加到原来的45mm布线,还可以增加将近一倍的LED。现在压力小可以加4-12颗大个LED来代表整点了。不过驱动方式需要考虑一下。赞一个,M67果然高手 以前教授老强调数学是工具,结果一直没怎么在意,今天总算见识了 标记一个 希望把算法 和怎么样画的优化的方式整理公布一下 学习 mark 看来布线时候数学思维很重要啊,可以回想下以前画过的PCB布线可能优化的空间肯定很多。 支持个 ./emotion/em037.gif 顶上个,数学是我的弱项。。。 佩服,。 仰望中,----- 太好了 NB 【楼主位】 h2feo4 无机酸
小小建议 可以把图上的12个线 走在间隔30度的半径上,这样更加美观。
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_498843.JPG
(原文件名:ourdev_498791.JPG) 无机酸真能钻啊 都是高手, 厉害! 我没看明白怎样控制,12条线好像只接到了“时”led的一端,怎样让它们亮呢,最好能画个示意图吧。 to 【34楼】 kv2004
12条线接的是12个限流电阻,明天贴详细讲解 有限流更好。刚才没仔细看,还以为是led. 一直认为软件编程水平高的人出在数学系
看来还有点错,数学好的不一定在数学系.
没整明白,再仔细看一遍. 佩服! 牛人 哪位老大说过:数学的目的就是寻找关于世界的最简洁也是最美的表达形式,确实不是虚言。
无机酸有机会请这位大佬出来喝茶。 是一个大牛人。。。 理论加实践高手 佩服 理论部分贴在了77楼 太强了.. 这个值得收藏!呵呵!顶! mark好东西····· 占位
等无机酸讲课 数学白学了 希望讲解一下数学原理! 这个原理是什么啊 广告位 卖了 哈哈
顶贴期待今天的理论 伟大的数学。 看样子,每个io输出应该先是限流电阻。太强悍了,学习了。 不是一般的猛
顶 收藏 学数学了 好期待啊,什么时候可以打板,配壳啦? 强人 期待,理论讲解。。。。。。。。。。。。。。。。。。。。 我怎么觉得,Matrix67大侠提供的只是一个思路,一个方向性的建议,而起到关键作用的,还是无机酸,从12圈压缩到6圈,这才是点睛之笔。早段时间我脑中曾经掠过一瞬间用12个差开的半圆组成6圈的构思,但没有认真思考其它可行性,就没细想了。顶无机酸! 顶一个哦 数学实在太有用了。
顶无机酸! 数学家啊,看来民间的力量很大啊 彩图标是用protel 一点一点画的吗,能否给讲讲算法,楼主,谢谢 学好数学真好啊! PCB24
对PCB23进行了对称性修正
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_499151.PNG
(原文件名:20091103A.PNG) mark www.matrix67.com靠,这个不是被黑了吧 太牛逼了。 牛B。 真是笨啊,到现在没整明白彩条图怎么理解。那位高手有时间帮忙解释下,先谢了! Mark 12种颜色表示12个IO(底层的线),分成12个长条/6行,列上的数字也表示12个IO编号(顶层的线),每个小格表示一个LED,黑色是过孔。 我的理解是一行两主色代表两个半环,每个黑块代表一个过孔。但是怎么计算来的俺就不知道,希望高手指点 越是泡OURDEV越感到自己的渺小,哎 部分理论分析
首先看一张总体图
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) 神奇神奇~~~ 数学应用的经典,
看来数学可以解决一切 秒! NB……顶 奇奇奇 高! 楼主这个数学建模牛,思想我大概知道了,花了一点时间还是看不太懂。 牛!!!神奇!!! 记得论坛里有位高手说过,贴片元件的焊盘周围用字符层围住,就是在焊盘周围画一个封闭的框,方便回流焊。
LED周围可能不需要,IC周围需要吧 再放新图 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) 坛里人才众多 记号,漫漫看。 难怪人们常说,数学是科学的皇后 这帖子有价值,把布pcb板看成一种数学算法,境界上升了一个层次了。 看了一下,板子估计可以用阿莫的JJ刻出来。 数学之美 太厉害了,宇宙是用数学书写的 :) 我彻底震惊了 赞个 佩服h2feo4 无机酸追求完美的精神。
想起一句话“没有最好,只有更好!” 渐开线 是用圆模拟的还是? to 【99楼】 kv2004
目前是用28条直线段模拟的 h2feo4的手艺的确让人叹为观止。
不过还是有点困惑,为什么不把mcu挪到底层呢?
搞电子的看到MCU可能会倍感亲切,但是对于不搞电子的会不会觉得有点破坏美感?
感觉表盘只留下闪着钻石般光芒的LED可能会让人觉得更加漂亮。
个人意见,仅供参考。 to 【101楼】 seamas
目前的布线只考虑了显示时间的这132只LED
MCU及其他电路目前只是随手一画,未作详细考虑,因为还不清楚要装哪些元件 有意思,要搞几个玩了