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

DIY CNC Machine.Taipei 造訪社團 » 影片

原文網址 石小川
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-27 18:35:56

未提供相片說明。 未提供相片說明。 未提供相片說明。 方明亮 2019年6月27日

雖說mach3控制系統很多人詬病,
做個小零件總可以吧⋯⋯

刀具使用中心鑽、16mm2T替換式粗銑刀,8mm鎢銑刀(耗時約1.5小時)
(晚上會編輯一段完整影片)

林志強
2019-06-27 18:51:51

林志強
2019-06-27 18:53:26

有能力的人
是不會怪工具好壞的
好的設備
也要有能力
的去使用
才能
發揮設備的價質

尤宏耀
2019-06-27 18:57:00

其實mach3本身沒有啥問題!有問題的是驅動他的電腦容易壞!

方明亮
2019-06-27 18:57:08

林志強 俗語說:壞壞馬也有一步踢

方明亮
2019-06-27 18:58:25

Jacky Yu 對啊,我筆電都不敢被西照日照到

尤宏耀
2019-06-27 18:59:07

方明亮 我用桌機3年壞2台

C.a. Tsai
2019-06-27 19:06:46

買研華工業主機,雖然還是不如發那克耐用。

方明亮
2019-06-27 19:10:02

C.a. Tsai 不是工業主機問題,window 就算只有開關機,早晚也會出事

方明亮
2019-06-27 19:10:42

mach3又不出mac版本

林志強
2019-06-27 19:15:29

尤宏耀
2019-06-27 19:27:03

C.a. Tsai 不用買那些~現在一堆廉價系統能用....頭好壯壯

C.a. Tsai
2019-06-27 19:57:53

台灣PC-Base的CNC控制器電腦,研華市佔率很高。

曾維明
2019-06-27 21:23:52

真的mac操了4年還是頭好壯壯,反觀華碩電池膨脹到我已經不敢用了

方明亮
2019-06-27 21:58:48

曾維明 ipad3跟5s服役到現在,只有手機去換電池而已

Shih Chieh Huang
2019-06-28 09:52:27

pc要維護啦 我的筆電 桌機都用超過10年還是頭好壯壯

尤宏耀
2019-06-28 09:55:50

Shih Chieh Huang 工廠的環境差,油氣灰塵,都會讓主機短命

Shih Chieh Huang
2019-06-28 09:57:38

Jacky Yu 所以要維護清理阿 散熱很重要

Shih Chieh Huang
2019-06-28 09:58:39

散熱膏要換 散熱器要清 風扇要檢查

尤宏耀
2019-06-28 10:00:34

Shih Chieh Huang 是啊,只是一般都是開機關機,很少那麼用心維護的!

Mach Chuang
2019-06-28 10:33:13

我上網買銀行汰換的二手IBM的XP準系統來操24小時....7年過去了依然服役中...保養清潔很重要

方明亮
2019-06-28 10:58:45

Mach Chuang xp能操24?

Mach Chuang
2019-06-28 12:25:22

方明亮 NC程式都由隨身碟存取,不由HDD作業就沒問題

方明亮
2019-06-28 12:29:26

Mach Chuang 了解。

Shih Chieh Huang
2019-06-28 12:33:09

若安裝XP embedded版本可以耐用點

Michael Lin
2019-06-28 18:42:51

我 Win XP 上的 Mach3 現在還在用,應該過10年了吧(跑 Parallel Port 的)...

方明亮
2019-06-28 18:45:53

Michael Lin 印表口,傳輸穩定啊⋯⋯

Michael Lin
2019-06-28 18:49:12

我也有跑USB的也沒問題啊... Windows 會產生很多的垃圾檔案,平常用一些系統維護的軟體跑一下,清理一下系統,可永保安康...

C.a. Tsai
2019-06-28 21:03:52

歐系 CNC 控制器就是用 Windows Embedded 兜的,跑起來猛猛的,還可以自帶多軸實體切削模擬。

方明亮
2019-06-28 21:04:58

C.a. Tsai 這可要好好GOOGLE一番

方明亮
2019-06-28 21:05:06

有這麼穩的WIN

C.a. Tsai
2019-06-28 21:10:08

五軸愛用的海德漢就是,發那科也有 xx0i 的 PC-Based 系統。

C.a. Tsai
2019-06-28 21:15:19

自己玩比較不講究,正規使用還是建議買工業電腦。使用上 8*5 跟 24*7 外加惡劣環境的設計差很多。光是無風扇跟工業用固態硬碟還有加固的液晶螢幕,就不是一般家用電腦能達到的。

C.a. Tsai
2019-06-28 21:18:28

Windows 的系統,一般都是保護模式而不是真實模式,外加記憶體占用與釋放的問題,穩定性不佳。


原文網址 石小川
2019-04-30 12:34:34

C#程式控制Mach3運動卡的方法(二)

上回寫的程式版本是透過USB HID介面直接控制Mach3, 這次版本是透過Mach3橋接, 用它提供的API做控制, 好處是幾乎所有Mach3功能皆可實作, 壞處是Mach3必須先執行, 這樣做有甚麼好處呢? 主要是二次開發用, 會自已寫程式的人(C# , C++, VB)可加入演算法提升CNC的功能, 例如可在CNC加入OpenCV做影像辨識或做3D工件掃描建模功能, 或者加入類神經網路做深度學習….等等, 下次有機會我們再詳細討論這部份. 本章重點是簡單介紹開發步驟, 以C#程式語言為例(其實任何語言皆可, 只是呼叫方式略有不同而已)如下:

(1)正常機碼必須有下列註冊檔, 否則程式無法呼叫API(有個補救方法, 下載Mach3Registry.reg, 執行可產生).

xxxxxxxxxx : 每套機碼不一樣. [HKEY_CLASSES_ROOT\CLSID\{xxxxxxxxxxx}] @="Mach4.Document"

[HKEY_CLASSES_ROOT\CLSID\{ xxxxxxxxxxx] @="ole32.dll"

[HKEY_CLASSES_ROOT\CLSID\{ xxxxxxxxxxx }\LocalServer32] @="C:\\Mach3\\Mach3.exe"

[HKEY_CLASSES_ROOT\CLSID\{ xxxxxxxxxxx }\ProgID] @="Mach4.Document"

[HKEY_CLASSES_ROOT\Mach4.Document] @="Mach4.Document"

[HKEY_CLASSES_ROOT\Mach4.Document\CLSID] @="{ xxxxxxxxxxx }"

(2)在C# /專案/加入參考/ 將Mach3.exe 加入參考,

並在程式前面加入

using System.Runtime.InteropServices;

using Mach4;

(3)主要操作就是這項, 一旦取得Mach3的handle(mInst), 就可長驅直入使用其提供的所有功能(功能可參考Mach3 Version3.x Macro Programmers Reference Manual.pdf) .

IMyScriptObject mInst = null;

try

{

Mach4 mach = (Mach4.IMach4)

Marshal.GetActiveObject("Mach4.Document");

mInst = (Mach4.IMyScriptObject)

mach.GetScriptDispatch();

}

catch

{

}

(4)程式有點長, 為避免洗版, 只好摘錄部分程式如下(有疑問或有興趣找我研發的也歡迎私訊我!):

//---------------------------------------------------------------------

//Mach3 Control Process

//---------------------------------------------------------------------

private IMyScriptObject GetMachInstance()

{

IMyScriptObject mInst = null;

try

{

IMach4 mach = (Mach4.IMach4)

Marshal.GetActiveObject("Mach4.Document");

mInst = (Mach4.IMyScriptObject)

mach.GetScriptDispatch();

}

catch

{

}

return mInst;

}

//---------------------------------------------------------------------

private bool DoEmButton(short number)

{

if(_mInst != null)

{

_mInst . DoOEMButton(number);

return true;

}

return false;

}

//---------------------------------------------------------------------

private void DoGCode(string code)

{

if(_mInst != null)

_mInst.Code(code);

}

//---------------------------------------------------------------------

private void sendMDI()

{

if(textBoxMDI.Text.Trim() != null)

{

DoGCode(textBoxMDI.Text.Trim());

}

}

//---------------------------------------------------------------------

private double[] UpdateDRO()

{

double[] dro = new double[3];

if(_mInst != null)

{

dro[0] = _mInst.GetOEMDRO(800);

dro[1] = _mInst.GetOEMDRO(801);

dro[2] = _mInst.GetOEMDRO(802);

}

return dro;

}

//---------------------------------------------------------------------

//dir = 0 to + direction, dir = 1 to - direction

private void xJogStart(DirectionType dir)

{

if(_mInst != null)

_mInst.JogOn((short)AxisType.X, (short)dir);

}

//---------------------------------------------------------------------

private void xJogStop()

{

if(_mInst != null)

_mInst.JogOff((short)AxisType.X);

}

//---------------------------------------------------------------------

private void yJogStart(DirectionType dir)

{

if(_mInst != null)

_mInst.JogOn((short)AxisType.Y, (short)dir);

}

//---------------------------------------------------------------------

private void yJogStop()

{

if(_mInst != null)

_mInst.JogOff((short)AxisType.Y);

}

//---------------------------------------------------------------------

private void zJogStart(DirectionType dir)

{

if(_mInst != null)

_mInst.JogOn((short)AxisType.Z, (short)dir);

}

//---------------------------------------------------------------------

private void zJogStop()

{

if(_mInst != null)

_mInst.JogOff((short)AxisType.Z);

}

//---------------------------------------------------------------------

private void buttonStart_Click(object sender, EventArgs e)

{

DoEmButton(1000); //start

}

//---------------------------------------------------------------------

private void buttonFeedhold_Click(object sender, EventArgs e)

{

DoEmButton(1001); //Feedhold

}

//---------------------------------------------------------------------

private void buttonStop_Click(object sender, EventArgs e)

{

DoEmButton(1003); //Stop

}

//---------------------------------------------------------------------

private void buttonMDI_Click(object sender, EventArgs e)

{

if(_mInst != null && textBoxMDI.Text.Trim() != null)

_mInst.Code(textBoxMDI.Text.Trim()); //senMDI

}

//---------------------------------------------------------------------

private void timerUpdateDRO_Tick(object sender, EventArgs e)

{

double[] dro = UpdateDRO();

textBoxX.Text = dro[0].ToString("#0.0000");

textBoxY.Text = dro[1].ToString("#0.0000");

textBoxZ.Text = dro[2].ToString("#0.0000");

}

//---------------------------------------------------------------------

private void buttonPX_MouseDown(object sender, MouseEventArgs e)

{

xJogStart(DirectionType.Positive);

}

//---------------------------------------------------------------------

private void buttonPX_MouseUp(object sender, MouseEventArgs e)

{

xJogStop();

}

//---------------------------------------------------------------------

private void buttonNX_MouseDown(object sender,

MouseEventArgs e)

{

xJogStart(DirectionType.Negtive);

}

//---------------------------------------------------------------------

private void buttonNX_MouseUp(object sender,

MouseEventArgs e)

{

xJogStop();

}

//---------------------------------------------------------------------

p.s. 一手操作一手攝影, 非專業攝影, 影片有些抖動請見諒!

辛育全
2019-04-30 12:37:03

Steve Wu
2019-04-30 13:01:22

張益晟
2019-04-30 18:27:16

?

Chihfu Huang
2019-04-30 19:13:38

沈宗麟
2019-04-30 21:32:50

厲害

徐豪宏
2019-05-01 00:33:13

Yu Tseng
2019-05-01 10:28:23

林志強
2019-05-01 17:14:23

好強

吳治彥
2019-05-04 22:53:05

石小川
2019-05-05 16:23:49

謝謝! 感謝以上兄弟們熱烈回應!
我是有些野人獻曝, 班門弄斧之感, 所幸大家善良. 在本社團內臥虎藏龍, 有經驗的CNC實務高手很多, 不結合一起做出好產品實在可惜, 畢竟要會玩也要會養家糊口, 哈哈哈! 想借此版拋磚引玉一下, 是否可腦力激盪, 集思廣益一下, 大家提出CNC專案或其他智慧機器由有興趣有能力的成員加入一起完成, 至於專案成立, 負責出資, 材料, 利潤分紅等細節我再想想, 會尊重此版規定, 跟管理員商討是公開或私訊方式. 以上是我初步構想, 看是否有正反意見皆可提出!


原文網址 辛育全
2019-04-28 11:50:25

請問各位大大,如果買一台桌上型銑床來改裝CNC強度是否比較強?但是我看他轉速只有2250RPM也是在銑削金
屬?照理論推轉速低就只能低速了應該是這樣說...
各位大大關於買這種機器改CNC有甚麼優缺建議嗎???

我是看到TOMMY LIN 大大影片的感想...
https://www.youtube.com/watch?v=GOJVcIfibec

類似的淘寶連結

鑽銑車一體1
https://item.taobao.com/item.htm…

鑽銑車一體2
https://item.taobao.com/item.htm…

鑽銑一體
https://item.taobao.com/item.htm…

吳水豚
2019-04-28 11:53:48

沒什麼問題~買買買....

David Chuang
2019-04-28 11:59:28

你帶不進來啦~ 但我有辦法 帶進來。 運費一台就要 快一萬臺幣。

辛育全
2019-04-28 12:12:23

結論是這種如果近來含運費過2萬都不划算,可以不用討論了,留個紀錄吧...

Mach Chuang
2019-04-28 14:52:25

黃小法
2019-04-28 14:58:05

轉速真的太低了

梁樺暐
2019-06-02 19:37:11

藍色布能固定工件嗎

方明亮
2019-06-11 17:40:21

只有弱度,沒有強度

方明亮
2019-06-18 16:30:55

我專改銑床,有問題歡迎詢問

方明亮
2019-06-18 16:31:18

Chihfu Huang
2019-06-23 17:25:10

造盛有賣類似的!不用買對岸的啦!改壞了,沒人要幫修的!


原文網址 李派克
2019-04-12 11:15:22

那個誰誰誰⋯⋯
上次跟我要影片的??
亂跑一下!請將就看⋯⋯

補一下影片⋯⋯
https://youtu.be/GGiKvtcwuGY
https://youtu.be/9ldocfM2PeY

黃小法
2019-04-12 11:19:33

雪花片片

李派克
2019-04-12 11:22:12

李派克
2019-04-12 11:23:09

iphone x 慢動作好像都拍不好看⋯⋯

林志強
2019-04-12 11:24:07

尤宏耀
2019-04-12 11:24:15

效率不錯

王智立
2019-04-12 11:27:54

羡慕中.....

Jeff Lin
2019-04-12 11:29:15

羨慕了

黃俊凱
2019-04-12 11:31:31

大家都這麼厲害

劉昌成
2019-04-12 12:30:52

有專業感,讚 ? 。

Chris Chau
2019-04-12 13:35:59

慢動作看的眼睛累累

辛育全
2019-04-12 23:49:24

那個...我我我...要影片的...

Tim Chang
2019-04-13 02:57:50

哥太強了,都沒進刀直接下去!


原文網址 林志強
2018-05-14 21:39:45

更換齒比後
切鋁料7075就像
切豆腐一樣
影片口誤
有1mm講成一條
工時一倍增加
應該要說
工時效率

哈哈

蘇炳文
2018-05-14 22:42:54

林大 請問阿強一號可以銑的工件最大尺寸是多少? 謝謝


原文網址 李派克
2018-03-19 22:48:50

我 ❤ 這把尺⋯⋯
重新換個大一點倍率的影片⋯⋯

李派克
2018-03-20 00:01:23

舊的影片在這邊⋯⋯


原文網址 張嘉傑
2017-06-23 21:45:26

初代機組裝前的合照
6/27 增加進度照片
6/29 補一下三軸馬達動作試機影片
https://www.facebook.com/chiajay/videos/1565092140169914/

尤宏耀
2017-06-23 21:47:49

厲害了!

張嘉傑
2017-06-23 22:01:55

Jacky Yu 大哥你比較厲害,我的工件都是委外處理的,您都是自製的,

Eric Lin
2017-06-23 22:07:59

造一台多少?

張嘉傑
2017-06-23 22:08:25

Eric Lin 還沒統計,等都出來我再上來回一下

Eric Lin
2017-06-23 22:09:51

Peter Chen
2017-06-23 22:57:57

機架材質是?

張嘉傑
2017-06-23 23:30:53

Peter Chen 鋁合金

張嘉傑
2017-06-23 23:35:46

底座組裝完成,

Yo Yu Chen
2017-06-24 17:37:44

請問你這樣機架組裝費用花多少?

張嘉傑
2017-06-25 22:30:23

沒有負載測試塊,只好讓女兒上去座搖搖車了

Eric Lin
2017-06-25 22:33:05

也想買一台……

張嘉傑
2017-06-26 22:37:52

進度報告

張嘉傑
2017-06-26 22:38:19

Eric Lin
2017-06-26 22:55:10

陳炯煒
2017-06-27 20:16:55

請問是伺服馬達嗎?還是步進馬達

張嘉傑
2017-06-27 21:05:10

陳炯煒 步進馬達

David Chuang
2017-06-28 23:24:54

多少錢啊

張嘉傑
2017-07-07 09:43:52

這是大家期待的價格資料,這個價格不含加工費...因為加工廠老板還沒算給我......不過基本的1.2萬可能要,真的是一個坑ㄚ....

曾豪仁
2017-09-19 09:00:00

完成度很高的机机,cnc用什樣的?


原文網址 Tako Sun
2017-04-04 22:16:02

土砲折的,這個叫什麼名字忘了,有再看到影片再發上來。
聽說上次看到有人說要用金紙折 =_=

李派克
2017-04-04 22:28:11

太讚了~剛好收起來!

廖元佑
2017-04-04 23:17:51

伸縮護罩,又稱風箱護罩

李興
2017-04-05 00:29:14

好像叫 風箱式伸縮防塵套

Mach Chuang
2017-04-05 01:08:33

Mach Chuang
2017-04-05 01:08:54

Mach Chuang
2017-04-05 01:10:30

youtube 搜尋 "Bellow Folding"

Mach Chuang
2017-04-05 01:10:30

.

Michael Lin
2017-04-05 09:36:28

風箱式防塵護套...


原文網址 Tim Chang
2016-12-27 21:33:17

能不能請對變頻器及主軸有了解的先進隔空抓藥一下⋯⋯
小弟的主軸前幾天有偶而轉速不穩定的現象,本來不以為意放著機器讓它自己繼續跑,人就離開了,回來的時候已經完成作業,但是變頻器已經自己關機了,我的變頻器是接由漏電斷路器直接開關的,然後就發現變頻器已經無法開啟,所以斷定變頻器故障就去買了一個新的,但是現在接起來卻是這個樣子,主軸轉速一直都很低,影片當中有顯示我從軟體哪邊調高了轉速,變頻器顯示F值有升高,但是主軸轉速依舊很慢,不曉得是變頻器設定出了問題還是主軸壞了?

Mach Chuang
2016-12-27 22:07:17

檢查驅動變頻器的0~10V或0~5V輸出是否正常,切記必須是控制板連接變頻器讓主軸空轉時量測

Tim Chang
2016-12-27 22:16:33

剛剛試了一下,軟體調高轉速,電壓有跟著增加,變頻器上F值也有跟著增加,但是主軸轉速沒變,變頻器F直升高時主軸有發出較高的頻率,但是轉速無明顯增加

Mach Chuang
2016-12-27 22:24:23

Tim Chang 調到上限10V或5V用三用電表量控制電壓才能判斷控制板是否故障

Mach Chuang
2016-12-27 22:27:14

用閃頻儀(或轉速計)測一下主軸轉速是否與控制電壓對應

Mach Chuang
2016-12-27 22:28:32

量一下電源是否欠相或壓降過大

Mach Chuang
2016-12-27 22:29:27

最差狀況..主軸軸承掛了或主軸線圈層間短路

Tim Chang
2016-12-27 22:35:04

我剛剛試的結果,轉速調到23000轉,電壓輸出已達8V,但轉速沒變,使用的是單向220V的變頻器,主軸轉起來順暢,但是只要主軸會轉就是沒壞嗎?還是也有主軸會轉但是有線圈故障問題呢?手邊沒其他主軸可以交叉測試

Mach Chuang
2016-12-27 22:36:34

8V就不正常了!!先換塊控制板試試吧!另確認電源是AC220無誤

廖元佑
2016-12-27 23:02:14

我猜主軸線圈掛了,台達變頻器有個靜態電機測試的參數,設一下他能自檢線圈的LR

Tim Chang
2016-12-28 00:38:53

感謝各位的回覆,我再來試試!

廖元佑
2016-12-29 20:56:12

線圈可以用電表量,燒可以找電機行繞,代拆組不容易

尤宏耀
2016-12-29 21:23:28

買新的變頻器參數要設一下~出廠設定值都訂在60而已~雕刻機主軸要跑到頻率400!!

廖元佑
2016-12-29 21:24:09

主軸不一定都跑400歐,有的250就極限了,要看馬達怎寫

Mach Chuang
2016-12-30 18:43:47

2極時
400Hz x 60sec= 24000rpm
250Hz x 60sec= 15000rpm
4極時
400Hz x 60sec x (2/4)= 12000rpm
250Hz x 60sec x (2/4)= 7500rpm

Tim Chang
2016-12-30 18:51:57

謝謝各位協助,最大電壓頻率參數沒設好,已經解決!