[need help]
因為想要在 ATOM 上加外掛,所以打算另外加一片 arduino 來作其他應用的控制器。目前看來用 I2C 會是相對簡單的作法,但沒什麼時間去爬 code 看相關的腳位是否被用掉,或者可以換其他腳位來作。
所以就直接上來問了.....XD
這片外掛的 arduino 預計用來作為:
1. A軸控制(雙色或多色換料用)
2. ATOM 光源控制
3. 刀架控制
4. 多色進料控制
所以會需要知道 ATOM 用的這塊主板的 I2C 腳位是那二隻,和目前的配置是否被用掉了。感謝~~~
Roy Lo
2017-02-02 21:55:19
Bless Ma
2017-02-02 22:00:26
RAMPS1.4的I2C用的是D20 D21兩隻腳,看起來是沒有拉線出來
要自己拉
Bless Ma
2017-02-02 22:02:15
我剛好有在研究這部分,目前只有用來通知列印進度而已
之後預計會做斷料偵測跟cam監控等等
但最近在搞其他的沒進度XD
Charlie Ting
2017-02-02 22:06:09
你有研究 arduino 透過 I2C 接樹莓派嗎?覺得以周邊整合的方便性來看,接樹莓派會省事很多。
Charlie Ting
2017-02-02 22:08:17
Bless Ma
2017-02-02 22:09:40
我是不太清楚你說的那些應用是什麼...
但如果是我來做的話,跟ATOM的溝通只會用UART0而已(D1 D2 or USB),UART1~3都被用掉了,要用要改韌體
我不會選擇用I2C來溝通,長距離問題很多
要接樹莓派的話直接用USB就好了,還有很多現成的image可以用
省時省力,但我嫌pi貴,順便練功,所以不考慮pi
Bless Ma
2017-02-02 22:11:50
筐起來的地方,要自己用ok線拉出來
Charlie Ting
2017-02-02 22:21:35
Bless Ma
就是 ATOM 的主架構都不動,連韌體也只改最少的情況下,用另一個相對簡單的 MCU 來控制週邊的運作,甚至是 ATOM 的運作。
例如以現在的雙色換料來說,gcode 只要有發現 Tx 有改變的情況下,它就會通知這個外掛的 MCU 跟他說我要換料,然後它就會來換料。
這樣的好處是 ATOM 就是作好它負責的事即可,其他瑣碎的事就是丟給外掛來處理。這是把 ATOM 架構改向模組化的關鍵。基本上 ATOM 和外掛的溝通會盡可能少,也不太傾向由外掛來主控 ATOM。因為那有點本末倒置了。
Bless Ma
2017-02-02 22:25:05
如果要通知的話,UART0就可以做到了
以你的範例來說好了
gcode 只要有發現 Tx 有改變的情況下,它就會通知這個外掛的 MCU 跟他說我要換料,然後它就會來換料。
具體的換料方式是什麼?
應該說,MCU被通知之後他要做什麼事情?
或許我可以給一點建議
Charlie Ting
2017-02-02 22:40:28
Bless Ma
你可能沒發漏到我之前的一篇,我目前的硬體架構是朝向四色單噴,只用一個8825。
然後就我理想的多色列印來說,是不需要去產生換料柱或開 wall 的,因為那很浪費料,也浪費時間,同時也增加了許多的使用難度。
但就具體的試驗之後,變數遠比像想的更多,這突顯了想靠切片軟體來達成多色列印,基本上是死路一條。
因此,透過外掛來達成換料就是跨入多色列印的關鍵。
那麼具體的換料方式是什麼,要看你的硬體、韌體和軟體打算怎麼分工實作。就我設定的架構來說會是這樣的。
1. gcode, 基本上就是記錄 Tx 來掌控目前是用那一個線材而已。完全不管換料。
2. 當 ATOM 韌體有透過 Tx 來換料時,ATOM 會通知 MCU 準備進行換料,這時 ATOM 會把換料位置和前後的線號跟 MCU 講。(請想像空中加油機的運作)然後 ATOM 到達指定位置,再跟 MCU 配合把換料程序走完 (protocol,這部份會寫在 ATOM 選單裡,可線上修改,所以這部份就省掉目前在切片軟體上作的事,大大簡化多色列印流程)
3. 當 ATOM 換完料,就繼續印,而 MCU 就回基地去了。
這事其實很簡單也很單純,就是你把自己手動作的麻煩事簡化成幾個單純的動作,然後讓 MCU 來作,而 ATOM 只要提需求就好了。
Bless Ma
2017-02-02 22:52:32
Charlie Ting
我的確是沒有發漏到你之前的一篇XD
這樣的話我大概了解你的意思了
簡單說就是
G-code通知ATOM換料=>ATOM通知MCU之後進入等待=>MCU進行換料=>完成通知ATOM=>ATOM收到通知繼續列印
是嗎?
如果是的話
我還是會用UART0來做溝通介面啦
因為只是發個通知而已,既不大也不用及時到0.X秒的精度
要用你說的I2C也行,只是要自己拉線,而且會有更多額外的問題要處理
Roy Lo
2017-02-02 22:52:35
Charlie Ting
2017-02-02 23:07:52
Bless Ma
在執行 protocol 的過程,會有資料交換,所以能越快當然越好。因為換料花費的時間也是很重要的。
黃大丙
2017-02-03 05:06:31
Charlie Ting
這要我來搞的話也是接UART,UART太好作了,兩邊線接上就會通
I2C還要搞什麼master slave的,萬一抓不到還得去買邏輯分析儀抓問題,加上他本來就不是設計用來外接裝置用,距離受限抗干擾能力也比較差
如果用raspberry pi-->UART-->atom,用octoprint控制
這樣接線輕鬆不搞額外的電路,atom的firmware也不用改
寫個octoprint的plugin來處理gcode
遇到Tx的時候停下來
看是要自己去控制換料馬達,換完叫atom繼續
或是插進一些gcode叫atom移動噴頭洗料之類的
我覺得這樣不管軟硬體都很容易作,而且又有octoprint可以玩
Charlie Ting
2017-02-03 08:07:03
黃至宇
光是一對一的限制就讓我不想用 UART 了;至於 I2C 的限制,可以先測看看再說。
Bless Ma
2017-02-03 08:09:16
UART也可以一對多,後端自己filter訊息就行了
Rickey Yang
2017-02-03 08:54:01
Rickey Yang
2017-02-04 13:50:38
Bless Ma
2017-02-04 13:51:24
Rickey Yang
2017-02-04 13:57:07