Centauri Carbon(ELEGOO Centauri Carbon 3Dプリンタ向けファームウェア)
概要
このリポジトリはELEGOO Centauri Carbon 3Dプリンタの制御ソフトウェア群をまとめたもので、Allwinner R528を中心に、DSPユニットと独立したMCUを組み合わせたハイブリッド制御アーキテクチャを採用しています。主にファームウェア側でG-codeのパース、運動軌跡の生成、温度PID制御、オートベッドレベリング、タイムラプス撮影などの機能を実装しており、クロスコンパイル用のtoolchain(toolchain-sunxi-glibc)やDSP/MCU向けのソース群を含みます。組み込み開発者やファームウェアをカスタマイズしたいユーザーにとって、ビルド環境や制御ロジックを参照・改変するための出発点になります。(約300字)
リポジトリの統計情報
- スター数: 44
- フォーク数: 15
- ウォッチャー数: 44
- コミット数: 14
- ファイル数: 5
- メインの言語: C
主な特徴
- Allwinner R528を中心としたSoCベースの制御プラットフォーム
- DSPとMCUを併用したリアルタイム制御アーキテクチャ
- G-code解析、運動計画、温度制御、オートレベリングなど主要3Dプリント機能を実装
- sunxi向けglibc toolchainを含むクロスビルド環境
技術的なポイント
Centauri Carbonのソフトウェア構成は「ホスト(R528)側の高レベル制御」と「リアルタイム処理を担うDSP/MCU側」の分離に特徴があります。R528は比較的性能の高いアプリケーションプロセッサで、ユーザーインターフェイス、ファイルI/O、G-codeの高レベル解析や運動指令の生成などを担当し、時間精度の厳しいステッパーパルス生成や低レイテンシのセンサ読み取りはDSP/MCU側で処理される想定です。この分業により、Linuxや組み込みOS上で動くプロセスとリアルタイム処理を混在させず、タイミング保証を確保できます。
G-codeパースはコマンド列を解釈して各軸の目標位置/速度へ変換します。運動計画(軌跡生成)は多段の速度プロファイルやスムージング(加速度・ジャーク制限)を用いてステッパードライバへ渡すステップ列を計算する必要があり、これをDSPかMCUにオフロードすることで滑らかなモーションと高いステップ精度を実現します。温度制御は一般的にPIDループで実装され、ホットエンドやヒートベッドのサーミスタ読み取りとPWM出力による加熱制御を行います。オートベッドレベリングは距離センサーやタッチプローブの読み取り値を使ってベッド面の傾きや凹凸を補正するアルゴリズムを含み、メッシュ補正などの仕組みをサポートすることが多いです。
リポジトリにはtoolchain-sunxi-glibcが含まれており、Allwinner(sunxi)向けのglibcベースのクロスコンパイル環境を提供している点が実務上便利です。これによりR528向けのユーザランドバイナリやユーティリティを一貫してビルドできます。dspとmcuのディレクトリはそれぞれ固有のビルドフローやハードウェア抽象レイヤ(HAL)を持ち、フラッシュやブートローダを通じてSoCと協調動作するファームウェアを生成する構成が想定されます。
実際に改造やビルドを行う際の注意点としては、ハードウェア依存の定義(GPIO割り当て、ADCチャネル、PWMタイマー、通信インタフェース)がコード中に散在している可能性があるため、ハードウェアドキュメント(基板の回路図やピンマップ)を照合しながら変更すること、さらにリアルタイム処理の調整は物理挙動に直結するため小さな調整でも安全性や造形品質に大きく影響する点が挙げられます。またライセンスやビルド済みツールチェーンの扱いにも注意が必要です。リポジトリは組み込みファームウェアの学習・カスタマイズ・解析に有益な素材を多く含んでおり、プリンタ固有機能の理解や自作機への応用にも向いています。(約1400字)
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- dsp: dir
- firmware: dir
- mcu: dir
- toolchain-sunxi-glibc: dir
各ディレクトリの役割(想定):
- dsp: 信号処理や微小制御ループ、モーター駆動に関するコード
- firmware: 中核となるプリントロジック(G-codeパーサ、運動計画、温度制御等)
- mcu: 周辺センサや電源管理、リアルタイムI/Oを担当するマイコン向けコード
- toolchain-sunxi-glibc: Allwinner向けクロスコンパイルツールチェーンとビルド設定
まとめ
Allwinner R528+DSP/MCUでリアルタイム性を確保した、実用的な3Dプリンタ向けファームウェア群。
リポジトリ情報:
- 名前: CentauriCarbon
- 説明: Learn more about ELEGOO Centauri Carbon 3D printer: https://www.elegoo.com/products/centauri-carbon
- スター数: 44
- 言語: C
- URL: https://github.com/elegooofficial/CentauriCarbon
- オーナー: elegooofficial
- アバター: https://avatars.githubusercontent.com/u/50951426?v=4
READMEの抜粋:
CentauriCarbon
Learn more about ELEGOO Centauri Carbon 3D printer: https://www.elegoo.com/products/centauri-carbon
This 3D printer system utilizes the Allwinner R528 chip as its main control platform, integrating a DSP unit and an MCU to provide a complete 3D printing solution.
The firmware serves as the core control module, encapsulating all 3D printing control algorithms and logic, including G-code parsing, motion path planning, temperature control strategies, auto-leveling, and time-lapse…