パーツを実装してテスト・コードを走らせてみました。デジタル・ポットもうまく動作しています。

デジタル・ポットにはI2C駆動のMCP4451を選択しましたが、理由は安価でMarlinの中にドライバーが既に含まれているため。そして、I2Cポートの活用でピン・アサインをRAMPS 1.4と同じに保てるからです。もちろん、電流調整用の工具は不要になります。

mcp44x1それで気になるのはMCP4451のリセット直後の状態ですが、ワイパー(摺動子)が中点になる仕様。つまり、2.5Aまで流せるDRV8825の場合には最大電流値が2A(センス抵抗が0.1Ωの場合、Vrefが1V)になるような回路設計にしておけば、リセットで自動的にその半分の1A(Vrefが0.5V)に設定されることになります。これはRepRapに使われる標準的なNEMA17サイズのステッピング・モーターに許容される数値で問題ありません。

なお、X・Y・Z軸の最大電流値は個別に設定できますが、デジタル・ポットが4チャンネルのため、E0とE1は共通です。また、マイクロ・ステッピングの設定は面積の制限から裏面にハンダ・ジャンパーを設けてあり、デフォルト(β版)ではX・Y軸が1/32で、Z軸とE0、E1が1/16になっています。

このシールドを electron と名付けました。