TRONXY CXY-V6-191121 (STM32F446 based) メインボードでTMC2225をシリアル制御する
TRONXY X5SA (2022)に搭載されているCXY-V6-191121ボードにて、ステッピングモータドライバTMC2225とMPU STM32F446ZET6の間に配線を4本追加する改造を行い、TMC2225をシリアル制御しました。
TMC2225のピン接続の調査
TMC2225のデータシートを参照してピン配置を把握します。パッケージはHTSSOP28、シリアルピンはPDN_UART
と名付けられておりピン17
にあります。
CXY-V6-191121ボードのエクストルーダE2
用のTMC2225未実装パターンを追ったところ、ピン17はどこにも接続されていないことが確認できました。
TMC2225のピン配置 | 未実装E2用TMC2225の配線パターン |
---|---|
実装されている4つのTMC2225(X
, Y
, Z
, E1
)についてもピンから外側に配線がなく、おそらくすべて未接続であろうという仮定の下で作業を進めます。
MPUの空きピンの調査
MPUの全ての信号ピンの接続先を把握したうえで空きピンを見つけないといけません。CXY-V6-191121ボードの配線を調査します。
STM32F446ZETのピン配置 | ボード上のSTM32F446ZET |
---|---|
調べた配線はTRONXY CXY-V6-191121 (STM32F446 based) MCU I/O pin connectionページにて公開しています。
4つのTMC2225と接続されている制御信号の近くにある空きピンから配線候補を選びます。今回は次表の「配線候補」列のピンをシリアル接続用のピンとして使用することにします。この表に示すピンは、上記ピン配置図にて赤く囲っているピンと、対応します。
Pin | 名前 | 配線先 | 配線候補 |
---|---|---|---|
3 | PE4 | X軸用TMCへ配線 | |
4 | PE5 | X TMC2225 STEP | |
10 | PF0 | X TMC2225 EN | |
11 | PF1 | X TMC2225 DIR | |
12 | PF2 | Y軸用TMCへ配線 | |
13 | PF3 | Y TMC2225 DIR | |
15 | PF5 | Y TMC2225 EN | |
21 | PF9 | Y TMC2225 STEP | |
40 | PA4 | Z軸用TMCへ配線 | |
41 | PA5 | Z TMC2225 EN | |
42 | PA6 | Z TMC2225 STEP | |
46 | PB0 | E1軸用TMCへ配線 | |
47 | PB1 | E1 TMC2225 STEP | |
53 | PF13 | E1 TMC2225 DIR | |
54 | PF14 | E1 TMC2225 EN | |
55 | PF15 | Z TMC2225 DIR |
ここまで分かれば配線するのみです。
配線作業
1. ヒートシンクの取り外しとシリコーン接着剤の除去
実装されているTMC2225のヒートシンクを取り外します。このとき、ピン17
(写真の矢印が示すピン)をよく確認して、シリコーン接着剤がついている場合には除去してください。
2. 配線
細い耐熱線材を使って上表の「〇軸用TMCへ配線」としている4本の配線を行います。
各TMC2225の配線 | STM32F446の配線 |
---|---|
配線は基板上のフラットケーブルコネクタの穴に通すことで保持させています。
TMC2225側から見た配線取り回し | STM32F4側から見た配線取り回し |
---|---|
線材にはジュンフロンETFE線材0.26mmを使用しました。同0.32mmも試しましたが太すぎて難しいのでやめました。
3. ヒートシンクの貼り付け
ヒートシンクを貼り付けます。シリコーン接着剤でOKです。本稿では両面テープで仮付けしています。
Klipperの設定
printer.cfgに次の設定を追加しています。
[tmc2209 stepper_x]
uart_pin: PE4
run_current: 0.9
stealthchop_threshold: 9999999
[tmc2209 stepper_y]
uart_pin: PF2
run_current: 0.9
stealthchop_threshold: 9999999
[tmc2209 stepper_z]
uart_pin: PA4
run_current: 0.580
stealthchop_threshold: 9999999
[tmc2209 extruder]
uart_pin: PB0
run_current: 0.5
stealthchop_threshold: 0
ここでstealthchop_threshold
を9999999
に設定すればStealthChopモード、0
に設定すればSpeedCycleモードへ切り替えることができます。
動作確認
上記stealthchop_threshold
を変更して、StealthChopモードとSpeedCycleモードを設定し、動作音の違いにより反映されていることを確認しました。
代替方法
ボードのWiFiコネクタにGPIOが3つ配線されています。MPUへのはんだづけが難しい場合には、代わりにWiFiコネクタにジャンパワイヤーを挿すことで代用することもできます。その場合はKlipperのprinter.cfgを適切に変更してください。
まとめ
TRONXY X5SA (2022)に搭載されているCXY-V6-191121ボードでは、ステッピングモータドライバTMC2225のUDN_UART
(ピン17
)は未接続になっており、MPU STM32F446ZET6の空きピンと接続することでシリアル制御することができます。
Discussion