網頁

say something.....

為了怕自己的一些心得跟想法會不容易保存跟查詢,才會有這一個部落格的存在,歡迎您大駕光臨

2026年5月27日 星期三

Klipper+MKS Robin nano 3.1 CoreXY 3D印表機

※※※※※  建立上位機  ※※※※※

 1.    在舊筆電安裝LINUX系統

先下載debian安裝iso檔
https://debian.cs.nycu.edu.tw/debian-cd/current/amd64/iso-dvd/debian-13.5.0-amd64-DVD-1.iso

複製iso檔到Ventory開機碟,開機進行安裝

2.    KIAUH(Klipper安裝步驟)

sudo apt update

sudo apt install git -y

git clone https://github.com/dw-0/kiauh.git

cd kiauh

./kiauh.sh

安裝1,2,3項(klipper, mainsail,moonraker)

完成後重開機

※※※※※   燒錄韌體   ※※※※※

以MKS Robin nano V3.1 為例

在終端機輸入
cd ~/klipper
make menuconfig

  • Micro-controller Architecture: STMicroelectronics STM32
  • Processor model: STM32F407
  • Bootloader offset: 48KiB bootloader (MKS V3.1 專用偏移量)
  • Clock Reference: 8 MHz crystal
  • Communication interface: USB (on PA11/PA12) (若您使用 USB 線直接插在板子的 Type-B 方口上)
make

將產生的~/klipper/out/klipper.bin 複製到TF卡並改名為Robin_nano_3.bin
放入MKS Robin nano並開機燒錄

在這裡先備註一下之後會用到的震動補償偵測教學影片
https://www.youtube.com/watch?v=Fe_BFGg_ojg

接下來要綁定USB ID (尤其是當有超過一台以上印表機的時候一定要做)
在命令列視窗輸入
ls /dev/serial/by-id/*
會列出目前連接的印表機ID像這樣的格式
/dev/serial/by-id/usb-Klipper_stm32f407xx765143002235798030-if00
將其輸入到config.cfg檔案裏面

[mcu] 
serial: /dev/serial/by-id/usb-Klipper_stm32f407xx765143002235798030-if00


2024年7月27日 星期六

CNC Shield v4 錯誤修正

CNC Shield v4 錯誤修正

市面上販售的CNC控制板裡面,CNC Shield系列算是相當物美價廉的選擇,但是在v4版本的控制板上卻有著常見的問題存在,若不先修正這些錯誤,一旦通電測試有可能馬上將硬體燒壞,其中主要有以下幾個部分

1. 控制板上的GND線路與VCC串聯


將黃色圈起來的地方線路截斷,再手工加上圖中的飛線
正面兩處圈起來的地方也需要截斷

2. GRBL韌體上對於通信IO腳位的定義錯誤

GRBL釋出的1.1版韌體對於控制步進馬達的腳位是錯誤的,必須將 cpu_map.h 在39行開始的這一段程式碼中的2與5對調、3與6對調、4與7對調,否則是不會動作的

檔案的位置在 C:\Users\使用者名稱\Documents\Arduino\libraries\grbl

原始碼為

  #define X_STEP_BIT      2  // Uno Digital Pin 2

  #define Y_STEP_BIT      3  // Uno Digital Pin 3

  #define Z_STEP_BIT      4  // Uno Digital Pin 4

  #define X_DIRECTION_BIT   5  // Uno Digital Pin 5

  #define Y_DIRECTION_BIT   6  // Uno Digital Pin 6

  #define Z_DIRECTION_BIT   7  // Uno Digital Pin 7

如果使用CNC Shield v4的話需要改為

  #define X_STEP_BIT      5  // Uno Digital Pin 2

  #define Y_STEP_BIT      6  // Uno Digital Pin 3

  #define Z_STEP_BIT      7  // Uno Digital Pin 4

  #define X_DIRECTION_BIT   2  // Uno Digital Pin 5

  #define Y_DIRECTION_BIT   3  // Uno Digital Pin 6

  #define Z_DIRECTION_BIT   4  // Uno Digital Pin 7


Homing

另外,在機器執行歸位的時候,預設的方式是先將Z軸抬高到MAX的位置避免干涉,接下來在同時將XY兩軸向限位開關移動,如果是使用雷射雕刻切割而非CNC切削的場合,因為不使用Z軸的部分,所以在歸位(Homing)的時候機器會等不到Z軸的動作而宣告動作失敗,必須修改 config.h 中的第105行這段程式碼,原來的程式是這樣的

#define HOMING_CYCLE_0 (1<<Z_AXIS)                // REQUIRED: First move Z to clear workspace.

#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))  // OPTIONAL: Then move X,Y at the same time.

需要將上面兩行前面加上//來註解掉,並將下面這一行的註解取消

// #define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS))  // NOT COMPATIBLE WITH COREXY: Homes both X-Y in one cycle. 


另外,第129行的這一行建議也將//去掉,這樣執行完歸位之後才會自動將座標設為原點

// #define HOMING_FORCE_SET_ORIGIN // Uncomment to enable.

2024年7月12日 星期五

GRBL 中文韌體參數


基本設定

$0 Step pulse time(步進訊號時間長度)

$1 Step idle delay(停止後釋放馬達時間)當動作停止後經過$1毫秒之後將釋放步進馬達,設255=維持步進馬達不釋放

$2 Step pulse invert(設定訊號反相 000ZYX)

$3 Step direction invert(運動方向反相 000ZYX, 例如二進位000111=7=XYZ皆反相)

$4 Invert step enable pin(步進驅動器啟用訊號反相)

$5 Invert limits pins(限位開關訊號反相)

$6 Invert probe pin(Z軸探測器訊號反相)

$10 Status report options(更改狀態報告中包含的數據)

$11 Junction deviation(轉彎的速度控制)

$12 Arc tolerance

$13 Report in inches(單位英寸 0=mm  1=inch)

Homing歸位相關部份

$20 soft limits enable(軟體限位開關)

$21 hard limits enable(硬體限位開關)

$22 Homing cycle enable(歸位開關)啟用此功能將限制所有動作直到歸位被完成執行

$23 Homing direction invert(歸位方向)

000000 0 X+Y+Z+

000001 1 X-Y+Z+

000010 2 X+Y-Z+

000011 3 X-Y-Z+

000100 4 X+Y+Z-

000101 5 X-Y+Z-

000110 6 X+Y-Z-

000111 7 X-Y-Z-

------------------------------

000ZYX 0 = + 1 = -


$24 Homing locate feed rate(慢速再次歸位速度)

$25 Home search seek rate(快速初次歸位速度)

$26 Homing switch debounce delay(消除限位開關彈跳間隔時間)

$27 Homing switch pull-off distance(初次歸位後退回距離)

雷射輸出功率

$30 maximum spindle speed(雷射最大PWM輸出比例)

$31 minimum spindle speed(雷射最小PWM輸出比例)

$32 Laser-mode enable(雷射模式 1=雷射 0=CNC)搭配M3恆定功率與M4動態功率切換不同的運作方式

機構部份

$100 X-axis travel resolution(X軸解析度 ???步=1mm)

$101 Y-axis travel resolution(Y軸解析度 ???步=1mm)

$102 Z-axis travel resolution(Z軸解析度 ???步=1mm)


$110 X-axis maximum rate(X軸移動速度)

$111        Y-axis maximum rate(Y軸移動速度)

$112 Z-axis maximum rate(Z軸移動速度)


$120 X-axis acceleration(X軸加速度,若發生失步問題可降低加速度以避免失步)

$121 Y-axis acceleration(Y軸加速度)

$122 Z-axis acceleration(Z軸加速度)


$130 X-axis maximum travel(X軸最大行程)

$131 Y-axis maximum travel(Y軸最大行程)

$132 Z-axis maximum travel(Z軸最大行程)


以上是個人的對這些參數理解,若有錯漏誤解請大家幫忙留言給我提示,我會盡快修正

下列為原始的設定值

$0=10

$1=25

$2=0

$3=0

$4=0

$5=0

$6=0

$10=1

$11=0.010

$12=0.002

$13=0

$20=0

$21=0

$22=1

$23=0

$24=25.000

$25=500.000

$26=250

$27=1.000

$30=1000.

$31=0.

$32=0

$100=250.000

$101=250.000

$102=250.000

$110=500.000

$111=500.000

$112=500.000

$120=10.000

$121=10.000

$122=10.000

$130=200.000

$131=200.000

$132=200.000

2021年2月17日 星期三

看影片學會電學

 看影片學電子

以下的影片可以簡單地用影片解釋各種電子電路的運作原理

初學者或自學者可以藉此簡單的搞懂其中的原理


電壓與電流

電阻

電容

變壓器


2017年3月18日 星期六

MySQL忘記密碼/密碼過期失效怎麼辦

MySql忘記密碼時重設密碼的方法

1.先將MySql安裝路徑中 my.ini 此檔案最後面加上一行 
skip-grant-tables,存檔之後停止mysql再重新啟動mysql

2.開啟命令列視窗 cd c:\appserv\mysql\bin (sql安裝的路徑)

3.在mysql> 後面輸入 use mysql

4.mysql>update user set authentication_string=password('新密碼') where user='使用者名稱';

5.將步驟1加入的skip-grant-tables刪除掉  存檔

6.停止mysql再重新啟動mysql 就完成了

密碼過期怎麼辦?

在5.7版以後的MySql預設任何帳號的密碼有效時間為1年,之後會無法登入
若是希望帳號永久有效必須將 mysql.user.password_lifetime設定為0(預設為null=1年)
UPDATE `user` SET `password_lifetime` = '0' WHERE `user`.`Host` = '%' AND `user`.`User` = '使用者名稱';
或是乾脆設定全部的user密碼永久有效
SET GLOBAL default_password_lifetime = 0;

2015年6月26日 星期五

各種釣魚用重量單位換算

【重量的單位】

公噸(t)、公斤(kg)、公克(g),台斤(菜市場單位)

1公噸=1000公斤  <->  1公斤=0.001公噸
1公斤=1000公克  <->  1公克=0.001公斤
1台斤=600公克
1台斤=0.6公斤=3/5公斤  <->  1公斤=5/3台斤
1台斤  = 16兩 = 160錢
1兩 = 10錢
1台斤 = 600克
1兩    = 37.5克
1錢    = 3.75克

《咬鉛重量表》

G8 =0.07g =8號
G7 =0.09g =7號
G6 =0.12g =6號
G5 =0.16g =5號
G4 =0.20g
G3 =0.25g
G2 =0.31g
G1 =0.40g
1B =0.55g
2B =0.75g
3B =0.95g
4B =1.20g
5B =1.85g
6B =2.65g

1.0錢  = 3.75g
1.2錢  = 4.50g
1.5錢  = 5.62g
2.0錢  = 7.50g
3.0錢  = 11.25g
4.0錢  = 15g