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

DIY CNC Machine.Taipei 造訪社團

原文網址 Philip Chen
2019-10-26 20:22:39

市面上許多 CAD/CAM/CAE 商用軟體漸漸的都整合成在同一套軟體之下,對於個人非商業使用的自由軟體,一樣也有許多人提供智慧設計出相當的整合軟體系統。 Freecad 就是一套不錯的選擇。今天就先來玩玩3D 零件直接進行轉換成 CNC 銑床所用的 g-code及模擬切削刀具路徑。當然,軟體本身還有許多需要加強的地方,大家不妨玩玩看多了解一下。


原文網址 陳俊成
2019-10-26 09:59:49

TTL控制

林志強
2019-10-26 10:34:24

林志強
2019-10-27 19:46:37

鬼哥太強啦

陳俊成
2019-10-27 19:47:44

還有很多地方要設定

Genghis Wen
2019-11-22 20:45:18

星雲的?


原文網址 易特丹
2019-10-25 00:55:46


原文網址 石小川
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-18 16:22:30

土炮機漸漸穩定,慢慢加強CAM工法,順便改善自己的後處理器⋯⋯

林志強
2019-10-18 16:27:24

尤宏耀
2019-10-18 17:25:55

美美的

梁樺暐
2019-10-18 17:54:56

可以交流一下嗎

劉昌成
2019-10-18 20:26:31

銑得好好啊

尤宏耀
2019-10-18 22:19:16

自己噴沙噴一噴就漂亮了

Sowchon Lin
2019-10-19 14:50:25

愛將150油冷蓋。


原文網址 李派克
2019-10-16 10:49:16

自宅亂搞用,不想用切削液弄得油油髒髒的⋯⋯
放水淹也是行的⋯⋯也不用噴了!

David Chuang
2019-10-16 10:54:19

? 我應該會噴油。

Yu Hung Chen
2019-10-16 10:54:57

對設備比較不好吧!

李派克
2019-10-16 10:56:11

會嗎?反正防水做好一點

任宏彥
2019-10-16 10:58:22

做個水槽 然後放泰國油

李派克
2019-10-16 10:59:03

任宏彥 正宗泰國洗嗎?

Jeff Lin
2019-10-16 11:02:04

自家用,水比油好處理

Lucus Lim
2019-10-16 11:09:56

Andrew Hua
2019-10-16 11:32:51

沒辦法排屑對刀刃殺傷力很大。

李派克
2019-10-16 11:40:11

Andrew Hua 其實我用很久了,也只能這樣搞了

Tako Sun
2019-10-16 11:53:33

CNC就是會髒,很難清,就算整個封起來,雖然不會髒到外面,裡面還是髒到一整個不行。
油水真的比較好清,真的!!!!! 真的!!!!!! 真的!!!!!!
油水不想買現成,自己調也行。
屑沒有排掉,要準備台磨刀機,鈍超快的 >_<

便宜十塊錢
2019-10-16 12:00:10

有個東西就要綠水,磨床用的切削油,加水就可以了

李派克
2019-10-16 12:19:10

其實我覺的我一直沒有遇到卡屑的問題...

Tako Sun
2019-10-16 12:34:35

卡屑就直接斷刀了 =_=
最大的問題是鈍刀,刀鈍掉真的是件超級煩人的事。
您應該用的頻率不高,所以對刀鈍這事無感 =_=

李派克
2019-10-16 12:35:15

應該喔

Tommy Lin
2019-10-16 12:54:32

應該還兼具消音功能~

林志強
2019-10-16 14:06:34

林志強
2019-10-16 16:23:45

很棒的工法

Wayne Wu
2019-10-16 17:03:38

泡得意的一天


原文網址 陳俊成
2019-10-11 11:49:00

哥只玩大的
想要嗎?

林志強
2019-10-11 17:38:29

好大一個螺桿

林志強
2019-10-11 17:38:32


原文網址 李派克
2019-10-11 03:38:28

幫自己打個樣,也頗為辛苦⋯⋯

林志強
2019-10-11 10:27:02


原文網址 蘇炳文
2019-10-08 18:21:27

不好意思,打擾各位大大,請問淘宝買馬達類品項現在可以找那家快遞寄過來台灣呢?
之前都是賣家幫忙找圓通的,這次這個賣家要我自理,傷腦筋啊

李偉誠
2019-10-08 18:27:12

Tako Sun
2019-10-08 18:27:44

找私人集運
馬達也不是什麼特別敏感的東西
量少OK,量大就報關

黃嘉和
2019-10-08 18:29:35

可惜 今天剛要把一批集運回台 每次都在湊重量

David Chuang
2019-10-08 18:33:08

平安不錯用 @@

陳志弘
2019-10-08 18:52:06

一路發集運 走深圳 可運馬達電機 (要記得勾選)

蘇炳文
2019-10-08 19:03:44

感謝以上各位熱心指導,來去聯系看看:)


原文網址 石小川
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抓封包技術, 有機會再請教您^^


 

討論主題

發文排行榜

回文排行榜

熱門關鍵字