• #maker+t=market
  • COSPLAY 3D 建模
  • 3D列印服務
  • 1
  • 2
  • 3

DIY CNC Machine.Taipei 造訪社團 » 硬體

原文網址 Shelandy Ting
2020-03-04 15:02:47

某空間有人留下小型CNC雕刻機,但是沒有控制器,想用最少的金錢讓他動起來。聽說用印表機埠的控制會比用usb好。我可以找到一個有parallel port 的舊電腦(或是arduino 樹莓派之類的單板機)來接控制卡。請問
*是去對岸買parallel port 的GRBL控制卡:CNC(X/Y/spindel +x/y/z 限位 ) 接 控制卡 接 電腦 印表機埠 這樣就硬體可以動了嗎?(還是有其他要接的硬體?)
*採購卡時有沒有啥要注意的地方(早期某個設計有雷,或是某個卡便宜又大碗...
*有沒有人閒置控制卡要出清的?


原文網址 石小川
2020-02-14 08:56:23

好久沒在這裡發表文章了,容我在此分享一下Python TCP/IP遠程監控機台程式實作。

網路發達後要做到機器設備遠端監控已非遙不可及了,網路通信在無人工廠的監控設備上會越來越重要。 圖中展示的系統是TCP/IP通訊協定的主從(Server-Client)式架構,TServer伺服端程式負責現場機器設備運作及回傳Sensor數據和即時影像給TClient用戶端處理。
為了方便教學緣故,已將網路封包加密演算法及帳號管理拿掉,通信程式精簡許多,比較容易理解,伺服端是以C#實作,用戶端會以C#及Python各實作一個版本。建議伺服端以C++或C#為主,而用戶端可用Python設計遠端控制APP,將來回傳的遙測大數據可很容易的用Python模組分析。

熟悉遠端操控軟硬體對將來有志設計無人工廠機器設備的朋友幫助很大,習得一技之長絕對增加競爭力。2月分我將開此TCP/IP主從式通信實作課程,因為現在病毒肆虐,採遠距教學方式較適合,沒有機器設備的同學我會提供兩台三軸機台做遠距連線操控練習,可在家寫Python程式做遠端連線操控,詳細辦法及日期我再擇期公布,歡迎有興趣的朋友來報名上課。

林志強
2020-02-14 09:16:55


原文網址 石小川
2019-10-18 22:50:16

光騰書齋十一月份第一梯次課程表

課程: Python 軸控班

課程三小時內容:

*CNC 軸控平台基本知識

*Python 軸控軟體開發平台建立

*Python呼叫動態連結庫(DLL)控制步進馬達 及 I/O Port

*剖析motion.py程式如何控制CNC雷射機台

此次開課目的是想引導有Python基礎的朋友進入CNC有趣的領域,學習後學員可自行用Python控制運動卡, 開發相關應用程式或CNC,學員學習後對軟硬體方面有問題也可用Messenger或Email 聯繫我, 可線上指導。

日期: 2019/11/2(星期六)

A班. 早上 9:00 – 12:00 (適合無CNC硬體基礎者)

B班. 下午 2:00 – 5:00 (適合有CNC硬體基礎者)

日期: 2019/11/3(星期日)

C班. 早上 9:00 – 12:00 (適合無CNC硬體基礎者)

D班. 下午 2:00 – 5:00 (適合有CNC硬體基礎者)

註1 . 每班會招收6 – 8人, 滿6人即開課, Python 軸控班只招收三個 月,名額有限請見諒!

註2. 先統計班級人數, 確定要來上課的朋友請連結光騰臉書報名, 看您選哪一班次(A/B/C/D),並在下面留言A/B/C/D, 我會主動用Messenger連路您, 人數夠了再通知匯款並傳Quantum講義給您(NT$3500)。

上課地點: 基隆

報名連結 >>> 光騰臉書 : https://www.facebook.com/qmlab/


原文網址 石小川
2019-10-03 19:28:13

使用Python語言做自動控制的方法 - I 軟體篇

[語法簡單明瞭]

Python語法簡單易學,最重要的是還有大量功能強大的免費模組可下載,其強大的應用層面已經發展到令人不可忽視的重要地位,甚至NASA也拿來當作航太人機介面的控制語言。早期接的專案我都是用Assembly、C、C++、C#等設計自動控制系統,這幾年我很多是改用Python來撰寫,好處是取得系統傳回的資料後,可很容易且快速的結合各種海量模組演算法發展出很專業的人工智慧機器。

[Python是跨平台語言]

Python本身沒有支援特定硬體控制的功能,也正因為如此它才能夠跨平台,但這不是原罪,相反的卻是它的優點,換句話說,在x86、Arm、Arduino、PC、手機或平板等不同的作業系統環境下,相同的程式皆可以很容易互相移植過去正常執行,這 print('免費資源 + 免費的模組 + 簡單易學') 根本是一場世界革命,能不紅嗎!

綜合以上講了一大堆,無非就是要說服工程師們是該改變自已接受世界脈動的時候了,我也不例外,以此共勉之!

[軟體開發]

接下來進入主題談論如何用Python開發一個多軸的CNC平台,會舉這個CNC專題當作例子是因為在我眼裡,CNC其實就是一個機器人,我的經驗是~只要搞懂CNC軟硬體知識後,無論是自駕車、四軸無人機或是工具機皆是囊中物,至於想要用它做些甚麼,端看你無限的想像力而定!

因為Python沒有直接存取硬體的介面,我的方法是用Python當作主程式,將底層存取硬體的API程式(動態連結程式庫 DLL)封裝成Python可調用的格式即可,如此一來多年使用C++/C#寫的程式庫都可引用了。因為程式很長, 為免洗板我簡略敘說過程如下:

(A). 封裝DLL程式庫成PyCNC.py 模組,其中 class __IMC_Pkg()就是封裝成類別的名稱, 將來Python與機器溝通的介面就是依靠這項。

#---------------------------------------------------------------------------

# 這是被呼叫的模組 : PyCNC.py

#---------------------------------------------------------------------------

# 需引用ctypes

import ctypes

import ctypes.wintypes

#------------------------------------------------------------------------------

class __IMC_Pkg():

def __init__(self):

self.ptr = ctypes.WinDLL('IMC_Pkg.dll') # _stdcall

#---------------------------------------------------------------------------

def Open(self, netcardId, imcId):

self.ptr.PKG_IMC_Open.argtypes = (ctypes.c_int, ctypes.c_int)

self.ptr.PKG_IMC_Open.restype = ctypes.POINTER(ctypes.c_voidp)

return self.ptr.PKG_IMC_Open(netcardId, imcId) #---------------------------------------------------------------------------

def Close(self, handle):

self.ptr.PKG_IMC_Close.argtypes = (ctypes.POINTER(ctypes.c_voidp), )

self.ptr.PKG_IMC_Close.restype = ctypes.c_int

return self.ptr.PKG_IMC_Close(handle)

#---------------------------------------------------------------------------

def MoveAbs(self, handle, pos, startvel, tgvel, wait, axis):

self.ptr.PKG_IMC_MoveAbs.argtypes = (ctypes.POINTER(ctypes.c_voidp), ctypes.c_int, ctypes.c_double, ctypes.c_double, ctypes.c_int, ctypes.c_int) self.ptr.PKG_IMC_MoveAbs.restype = ctypes.c_int

return self.ptr.PKG_IMC_MoveAbs(handle, pos, startvel, tgvel, wait, axis)

#---------------------------------------------------------------------------

def MoveAbs_P(self, handle, pos, startvel, tgvel, wait, axis): # P 輔助座標

self.ptr.PKG_IMC_MoveAbs_P.argtypes = (ctypes.POINTER(ctypes.c_voidp), ctypes.c_int, ctypes.c_double, ctypes.c_double, ctypes.c_int, ctypes.c_int) self.ptr.PKG_IMC_MoveAbs_P.restype = ctypes.c_int

return self.ptr.PKG_IMC_MoveAbs_P(handle, pos, startvel, tgvel, wait, axis)

.

.

(B). 主程式motion.py 要引用也很簡單, 只要加上PyCNC.py模組,就可以調用IMC_Pkg所有的功能

#---------------------------------------------------------------------------

# 這是主程式 : motion.py

#---------------------------------------------------------------------------

from CNC import PyCNC

IMC_Pkg = PyCNC.__IMC_Pkg()

#---------------------------------------------------------------------------

if(self.gHandle != None):

IMC_Pkg.Close(self.gHandle)

self.gHandle = IMC_Pkg.Open(netcardId, imcId)

if(self.gHandle != None): #//if(IsOpen())

if(IMC_Pkg.InitCfg(self.gHandle) != 0):

self.nAxis = IMC_Pkg.GetNaxis(self.gHandle) # 取得設備支援軸數

p, self.Position = self.GetPosition(3)

(C). 建議開發環境安裝Anaconda開發包, 在設計Python程式時可少走很多冤枉路,為了相容以前DLL程式庫,我是下載Anaconda3 - 32bit - Python3.7.3版本。

p.s. (1). IMC3xx/IMC4xx系列運動控制卡所有函數(IMC_Pkg.dll)我都有封裝成PyCNC.py以方便Python呼叫,有興趣的朋友可加入我臉書討論。

((2). 圖-1. 八軸運動+I/O+AD/DA控制卡應用圖例

圖-2. motion.py 主程式的視窗介面

影片-1. 使用motion.py 展示CNC軸控,也順便Demo飛行搖桿控制3軸及發射雷射

影片-2. 電腦執行motion.py情形

影片-3. 使用motion.py 執行G-Code,用雷射雕刻一個正圓

(3). 下回有機會再補上 : "使用Python語言做自動控制的方法 - I I 硬體篇"及 "使用Python語言做自動控制的方法 - I I I 通信篇" (UART、USB、TCP/IP)兩篇才算完整,並且教導大家如何組裝一台三軸運動控制平台的知識(機械結構及控制電路的接法),對於想創業設計自已機器的朋友不要錯過了。在臉書不適合長篇大論所以只能簡單敘述,總感覺見樹不見林,當然我也有開相關的指導課程,有興趣的朋友可上我臉書或私訊我。

Wei-Hsiung Huang
2019-10-03 19:48:42

Nice..

便宜十塊錢
2019-10-03 19:49:49

Python好用+1
我幫公司做一個簡易Web資訊看板
用一台PLC+乙太模組做收集各產線資訊
(我很懶得拓樸一大堆通訊線,跑RS485 To Zigbee)
由乙太模組把資訊先推到ModbusTCP層
再由Python讀ModbusTCP把讀到的值推到前端Web上
簡易的產能看板
跨平台真的好用

吳小東
2019-10-03 22:16:58

深深認同

石小川
2019-10-03 23:30:37

good job! 這是很好的應用, 以前接工廠資料收集器專案, 通信用RS232, 十台一大捆線, 現在看太不可思議了, 哈哈^^

便宜十塊錢
2019-10-03 23:57:01

石小川 我收集的PLC有做類心跳封包,只對有開機的機台通訊,不然Timeout會拖慢速度,越多台沒開越慢,所有的數值都在各機台PLC處理好,再收集
另外還有外加自動紀錄(5天)+控制各站自動歸零(各站開機時規零)

便宜十塊錢
2019-10-04 00:08:16

這個是第一個有線通訊(4台)
現在在做的無線(9台)快好了
規劃排點位跟處理問題較麻煩 ?

石小川
2019-10-04 12:12:53

感謝分享, 在關燈無人工廠掘起後, 機台間的通信越來越重要了, 大大的技術應該很有潛力, 我還停留在十幾年前TCP/IP抓封包技術, 有機會再請教您^^


原文網址 石小川
2019-06-25 17:45:49

已將 iMC3xx2E 及 iMC4xxE/A系列所有開發工具、驅動軟體及文件都一次分享到Dropbox上,有興趣的朋友可瀏覽下載,將來我有試用版的軟體也會放在此網站提供免費試用。

我Dropbox網址如下:

只要下載壓縮檔即可 (rar, zip)

https://www.dropbox.com/…/2xu861…/AADz5dAuvRhq2Y9_M61Gp8PLa…

玩過PLC 及PC base控制後, 我現在重心主要是集中在PC base控制這一塊了, 吸引我的地方是PC base軟硬體可塑性太高了, 尤其人工智慧演算法很容易就可結合CNC機器, 這對我來說簡直是致命的吸引力, 想要做甚麼幾乎都可以, 當然不可否認的PLC還是有它的優點。

客戶通常認為PC設備便宜但還要加軟體費用很貴, 那是以前觀念, 更何況如果軟體是我們自已寫的那就另當別論了, 有這方面的技術問題歡迎互相技術交流!

謝謝囉^^

Don Si
2019-06-25 18:37:14

感謝分享

Eric Lin
2019-06-25 21:40:05

分享出去了

曾豪仁
2019-06-25 23:29:18

石兄有开班授课嗎?

陳必凱
2019-06-26 07:07:29

陳必凱
2019-06-26 07:07:52

開課+1

林志強
2019-06-27 21:39:36


原文網址 石小川
2019-02-01 20:22:47

Q2光學自動檢測控制機台組裝完成

先簡單分享一下PC base機台硬體如下, 過完年後再分享一些機台如何結合AI應用篇。(ARM base 機台年後也會產出)

PC控制器採用8軸聯動(目前只用4軸, 其餘留給機械手臂), 80個輸入/ 48個輸出, 用TCP/IP RJ45網路線傳輸控制碼控制機台, 工業相機是採用1400萬像素, 及附加一個觸控螢幕. 所有功能可用C++或C#程式自由控制, 應該足夠一般工廠自動化機台使用了!

p.s. 有需要瞭解或組裝的好友可私密我! 祝大家新年快樂囉 ^^

Kenny Plus
2019-02-01 20:29:08

請私,謝謝

Eric Lin
2019-02-01 23:07:11

厲害

周英男
2019-02-02 16:45:57

請問用的是什麼控制卡?

曾鈺憲
2019-02-03 08:50:18

辛育全
2019-03-03 00:03:05

"機台如何結合AI應用篇"???
看不懂後面預計做的目標是...???


原文網址 石小川
2018-11-27 16:28:55

機器視覺應用在CNC介紹

機器視覺在工業4.0的應用非常廣泛,例如樣本比對、良率偵測、工件大小量測、微生物標定…..等,如果結合人工智慧資料分析就是一套很完整的專家系統了。

圖中軟體是我將紅血球/白血球辨識及標定的核心程式改寫成簡單的CNC自動對刀及工件偵測系統,理論上量測精度可控制在1um(10^-6m)以內,不過我的CNC機台螺桿可沒這麼精密,所以我把它控制在浮點數第3位即可,整體而言精密度與攝像頭、機台、都有關係,端看應用者的要求而調整軟硬體。

自動對刀是用演算法找出工件中心點,而自動對焦是採用Z軸移動加上演算法達成,另外比例尺可配合3軸移動及像素自動求得,一旦中心點座標找出來就很容易結合Mach3或PLC將主軸定位在工件上。值得一提的是打光技術在影像辨識也非常重要,打光打得好辨識率就很好,演算法就可精簡些,其餘利用影像偵測工作臺大小及影像多軸限位開關技巧和Z軸單鏡頭工件深度偵測技巧,這些功能我就留在下回再演示了(因為前陣子瘋選舉我還沒寫好Demo程式, 哈哈… 抱歉了 ^^”)。

黃小法
2018-11-27 17:19:17

比例是手動拿尺先抓出比例嗎?立體的東西高度不同如何量測?這是不是中心點跟滑鼠之間針對每個像素點分析抓出分際點?

李派克
2018-11-28 15:41:40

其實我也是是用CCD來對刀吔,只是因為CCD不防水所以常拆,每次都要改變OFFSET就沒做圖形偵測了⋯⋯不過你的CCD也太威了,我還只用WEBCAM而已,我是掛在raspberry pi上,就直接可以做成自己機子的HMI了

Allen Chang
2018-12-02 12:32:06

之前在工業手臂組裝工件做過類似功能,
治具安裝+-10mm即可完成治具架設
https://www.youtube.com/watch?v=Drkw6hwD-iE

Allen Chang
2018-12-02 12:34:19


原文網址 Peter Chen
2018-03-23 23:47:16

請各位前輩幫我指點問題,本身雕刻機是自組的 最近發現失步如照片,x軸差了2mm,變橢圓形,有檢查過硬體部分沒鬆掉,連軸也沒打滑,使用的是57閉環步進馬達,控制系統使用是脫機控制,變壓器規格220v_48v_960w,馬達賣家說電流過大造成失步建議我換成220v_24v_500w,很納悶之前跑沒這問題。加工參數是s10000 f700


原文網址 Ming Tsung Ko
2016-03-13 12:43:37

通訊型控制器硬體資料- 高階pc based 控制器


原文網址 張家林
2015-11-11 13:13:21

為促進台灣產業與會交流,
我們旨在提供「自動化生產‧可以很簡單」的概念,
透過台灣自行研發生產的軟硬體產品的結合,
降低進入自動化生產的門檻,
鼎縊有限公司誠摯邀請您一起探討,解決設備上的需求,
共同提昇台灣產業競爭力。

時間:2015.12.25 (周五) 13:00~17:00
地點:台中林酒店 3F 世紀廳 (台中市西屯區朝富路99號)

相關議程將陸續公佈,敬請期待!

網路報名
http://goo.gl/forms/LsjB3GVq2s