https://github.com/roysa/flatcam-evo-ubuntu24
----------------
串
https://github.com/roysa/flatcam-evo-ubuntu24
串
在淘寶買了一堆淘汰的 cr touch,使用 bltouch 的設定,不一定能成功控制。透過 AI 確認,可以像伺服舵機 mg90s 那樣控制它。改變 pwm 的 pulse width,cr touch 會解讀成對應的指令。可能是 cr touch 內部的頻率基準偏移,使用標準的 pulse width 會運作失敗。
接線如圖。(網路借來的圖)。
透過 Servo Signal 控制桿子伸出與收回。延用伺服舵機的 PWM 控制信號。PWM 信號的頻率為 50 HZ,即週期為 20ms。改變脈波寬度可以改變舵的角度。
BLtouch 將 0° ~ 180° 分割成不同指令的區段。下面是 klipper 的原始碼的資料。
使用 [bltouch] 的設定,無法順利動作,不知問題出在那裡。klipper 的文件,也提到使用 clone bltouch 時,一堆可能會碰到的問題。後來使用 [servo] 和 [probe] 設定,更能彈性的設定,讓它正常運作。
printer.cfg
上課後收的中古機
2026年4月中古價,主機 9,000元,外罩 1,500元。和照片不同的地方,主軸改用直流馬達,電控箱也不太一樣。
主軸直徑 52mm
練習的作品,銑刀工具盒。材料 婆羅洲鐵木。
基本術語,"條",1mm = 100條,即 1條 = 0.01mm。
尺寸圖
刀具設定,只用一把雙刃平底銑刀,刃徑 4mm,刃長 20mm,柄徑 4mm,長度 48mm。
因為 FreeCAD 無法在 operation 裡設定轉速和進給,所以同一把刀,不同轉速和進給都建一個 tool。如下圖。
銑切摘要
CAM 的工序如下圖。
在 AI 的協助下,大約花了3天的時間,把板子裝上最新的 Armbian OS。啟動後的畫面如下。
這塊主板上的標示為 "Raise3d Controller v2.0",自己 Google 找不到相關的資料,但 Gemini 就有,只能靠它了。
原來的系統是 Yocto,用在嵌入式系統中。在確認新的 Armbian OS 可以成功啟動後,把原來的 emmc 備份後,就整個刪除,只留 uboot 的部分。
最初,藉著 AI 的協助,進入原系統,修改密碼。因為能夠進入舊系統,在後來啟動 Armbian 上,也很有幫助。
這是我第一次進入 uboot,以往從來不知在啟動時,按任何鍵,就能進入 uboot,因為那時機,可能不到 5秒。最主要的是,進到 uboot 後,也不知能幹嘛。
因為這個舊 uboot 沒有支援 ext4,所以要將 SD 另外切出 FAT 格式的 boot partition,然後將開機所需的檔,放在這個 partition。
到 Armbian 的 SoC: i.MX 6 網頁,下載 image。沒有為這塊板子建的 image,可下載 Cubox-i 的 image。下載網址如下。
https://armbian.atomonetworks.com/dl/cubox-i/archive/
因為是舊版子,image 是比較舊的,目前下載的是 2025/5/19 的
Armbian_25.5.1_Cubox-i_bookworm_current_6.6.90_minimal.img.xz
必要時,要用舊系統開機,如確定原本的設定,可以使用備份的 image,依上述步驟,建立開機的 SD卡。
進入 uboot,能指定開機裝置,載入 kernel image,ramdisk image,dtb 檔,然後就能用 ramdisk 開機。ramdisk 開機後,就能執行 linux 的指令。若無法正常開機,如缺少需要的 module,可以重包 ramdisk image。
mmc dev 1 -- 是 SD,對應 /dev/mmcblk2p2。mmc dev 2 -- 是 EMMC ,對應 /dev/mmcblk3p2。
設備樹可以用 imx6q-sabresd.dtb。但是下載的 image,uInitrd 中,缺少啟動 mmc 裝置的 module。所以把 uInitrd 展開後,加入所需的 module 後,再重新打包。
缺少的 module,包括 mmc/core/mmc_block.ko,以及 mmc/host 目錄下的 sdhci.ko,cqhci.ko,sdhci-pltfm.ko,sdhci-esdhc-imx.ko。
在 ubuntu 重建 initramfs 的步驟。
確認可從 SD 開機後,再把原來 EMMC 上的 root partition,format 成 ext4 格式,再用 rsync 把檔案都複製到 emmc 上。然後修改 boot 資料,即可順利自動啟動。
複製 boot,和上面類似。複製系統的步驟如下。
修改 /boot/armbianEnv.txt。可以使用 blkid 確定分割區的 uuid
改用
修改 /etc/netplan/armbian.yaml,將 renderer 改為 NetworkManager。
移除 systemd-networkd-wait-online.service,不然沒連網路線時,開機要等 3分鐘。
收了一台 2017 年的 Raise3D N2 3D 印表機,拆下的主板。
原登入資訊,Poky (Yocto Project Reference Distro) 1.7 imx6qdlsolo ,在 Gemini AI 的協助引導之下,修改 root 密碼,成功進入系統。
重開後,看到 U-Boot 訊息(Hit any key to stop autoboot: 0)就代表你已經掌握了這台機器的「生殺大權」。既然不知道 Linux 層級的帳號密碼,我們可以繞過登入程序,直接從 U-Boot 進入 Single User Mode 來重設密碼。
1. 進入 U-Boot 指令模式
將板子重啟(斷電再通電)。
在看到 Hit any key to stop autoboot 倒數到 0 之前,趕快在鍵盤按下 任意鍵(通常是 Enter 或空白鍵)。
如果成功,提示字元會變成 MX6-SabreSD>(或是類似的標籤)。
使用 printenv 列出環境變數。
出現 Bad Linux ARM zImage magic! 這個錯誤,通常是因為 U-Boot 在載入核心鏡像(zImage)時發生了位移或是抓錯了檔案位置。
觀察你的 printenv,這塊板子預設會先執行 loadbootscript(去讀 SD 卡或 eMMC 上的 boot.scr)。當我們手動改動 mmcargs 並執行 run mmcboot 時,可能因為環境變數中的位址(如 ${loadaddr})與實際檔案不匹配,導致 U-Boot 讀到了破碎的資料。
既然自動腳本 run mmcboot 失敗,我們改用最原始、最手動的方式來載入核心,這樣最精準。
修改密碼,重新啟動。
重啟後,就可以進入了。
現代電腦(SSH 客戶端)認為 ssh-rsa(基於 SHA-1)已經不夠安全,所以預設停用了它;而這塊板子上的 Dropbear 版本較舊,只提供這種加密方式。
猜舊密碼
備份前,先在剩餘空間塞 '0',提高壓縮率。進行全磁碟填零會消耗快閃記憶體的寫入壽命,但如果只是為了換系統前做一次性備份,那是沒問題的。塞滿後,會出現 dd: writing '/zero_file': No space left on device 是正常的,接著執行 rm 即可。
整體執行步驟如下。
Poky 1.7 內建的 dd 通常版本較舊,不支援 status=progress 參數。如果你想知道備份跑了多少,可以另開一個視窗執行下面的指令。這會每 5 秒叫 dd 在它原本的視窗印出目前的傳輸進度。