大学で回路のような興味深い科目を勉強しているときに、「Arduinoに基づいた万年筆の頭のある紙の上の2軸プロッター」というコースプロジェクトの一環としてやることに思いつきました。 仕事を始めた頃には、プロジェクトの電気的な部分と機械的な部分の開発を漠然と想像していました。 私の人生でこんな経験はありませんでした。 そのため、私はネットワーク上で多くのリソースをソートして見つけましたが、これは私にとって最も単純で理解しやすいチュートリアルのようで、正確にそれに従うことにしました。 しかし、すぐに、一見単純なものはすべて、このような「職人」にとって十分に詳細に記述されていないことが明らかになりました。 そのため、舞台裏に残った質問では、後でうまくいくとは限らず、即興で演奏する必要がありました。 ちょっとした背景でした。 次に、多くの重要な問題に関する貴重な経験を共有したいと思います。 このデバイスの私のバージョンでは、まったく新しい指示を出しません。 インターネット上でより成功したソリューション。
内容
1.デザイン
私が選んだデザインは合板製でした。 軸として、ステッピングモーターによって回転するスタッドが使用されたため、ナット上のプラットフォームが軸に沿って移動しました。 1つの軸はプラットフォームに取り付けられ、もう1つの軸は1つのエッジに取り付けられました。 このすべての製造から、私は言うことができます:
- 上部の軸が両側でサポートされていないが、私のように1つのエッジのみで固定されている場合は、事前に軸のバランスを考慮する必要があります。 上部のものは、「吊るされた」エッジの重量で構造全体を圧倒するために、たとえそうでないにしても、必然的にかかとになります。
- パターンのラインは、スタッドスレッドのサイズに沿って波状になる可能性があります。また、動作中の構造自体のジッターのためにも発生します。
- 上記の2つの問題は、もう1つ原因になります。ペン(私の場合、ペン)は、ページの異なる部分に不均一に書き込むことができます。
- デバイスの重量と寸法も事前に計算する必要があります。これにより、後でエンジンがこのような負荷をかけないことが明確になりません。
- そしてもう1つの重要な詳細:ネジ、釘などを可能な限り固定するのが最善です。 接着剤の設計は、たとえ最も信頼できるものであっても、最も予期せぬ瞬間にバラバラになる傾向があります。 また、場合によっては、メインパーツを組み立てた後、完成したパーツを分解せずに、小さいながらも非常に重要な内部パーツの「接着」に戻すことは非常に困難です。
- 接着剤をどこかに使用する場合、構造の可動部分に接着剤が入らないように、非常に慎重に注意してください。 たとえ小さな液滴であっても、メカニズムを失速させ、使用できなくする可能性があります。
2.電気回路
回路自体は非常にシンプルで、はんだ付けさえ必要としませんでした。 私は完成したCNCシールドさえも、特にCNCで作業するために取りました。 それにもかかわらず、ここにはいくつかのニュアンスがあります。
- WAVGATというコードネームのArduinoの私の中国語版は、通常のArduino Uno R3のようにフラッシュすることを拒否しました。 このようなボードはすべてのarduinoソフトウェアと完全に互換性があるとインターネット上で主張されましたが、IDEを介して動作するには、別のWAVGAT更新ライブラリをダウンロードする必要がありました。 だから、私はスケッチをボードにアップロードすることができましたが、ソフトウェア自体はまだ正しく動作したくありませんでした。 そのような問題を修正するためのすべてのオプションを試しました(ボードのブートローダーをオーバーロードし、ボードファイルとライブラリの定数をソフトウェアで変更しました)が、結果は同じままでした。 どうやら、このタスクのために、古典的なArduinoを入手する必要があります。
- もう1つの問題は、ステッピングモーターの発売です。 寒い運転手にもかかわらず、彼らはハミングし、ウォーミングアップしましたが、動きませんでした。 要素ごとにチェーン要素を綿密にチェックすると、問題はそれらの関係にあることがわかりました。 実際、今回は中国人もオリジナルでした。 エンジンの導線に交差したA-Bペアが含まれていることが判明しました。 通常のストアエンジンのペアが2B-2A-1A-1Bの順序になった場合、何らかの理由で中国人は2V-1A-2A-1Bを持っていました。 これは、対応するモードのマルチメーターで回路を「ピッキング」することで確認できます。ペアのAB出力はきしみ音を発します。
- しかし、結局のところ、無害な低電力サーボドライブは、過度の負荷が長時間かかると、arduinoボード全体を回復不能に「焼き付ける」ことができます。 この場合、ボードは引き続き動作しますが、途中で中断してサーボコマンドで停止することがあります。
- したがって、回復不能な結果を避けるために、動作中にデバイスの温度を監視してください。
3.ソフトウェア
オプションがあります:
- 素晴らしいシンプルなBenBoxプログラムを取得する最も簡単な方法。 CNCとの連携に特化しており、インストールと取り扱いが簡単です。 このオプションの欠点は、その制限です。 まず、ソフトウェアバンドル内のボードのファームウェアは既に16進ファイルに含まれているため、編集に問題があります。 また、一般的な機能はそれほど広範囲ではなく、単純なグラフィカルエディターのように見えます。 このメカニズム全体の操作の詳細に進みたくない場合は、このオプションを使用できます。
- もう少し複雑ですが、より有望なのはGRBLファームウェアを使用することです。 このライブラリはインターネットで簡単に取得でき、BenBoxよりもはるかに多くの機能を提供します。 ただし、このメカニズムを使用するには、これらすべての初期構成を処理する必要があります。
- したがって、grbl-servoライブラリをダウンロードして解凍します。 これで、サンプルの中から見つけるだけで、IDEを介してボードにアップロードできます。
- デバイスにコマンドを直接送信するには、Universal Gcode Sender(または他の同様のソフトウェア)が必要です。 コンピュータにインストールした後、ボードが接続されているcomポートを介してボードとの通信チャネルを開きます。
- アプリケーションのコマンドラインでのボードの初期設定と後続設定については、「$$」と入力します。 このコマンドにより、必要なパラメーターを設定することで変更できる基本的なボード設定の完全なセットを取得します。 たとえば、コマンド「$ 110 = 380」および「$ 111 = 380」は、XおよびY軸上のエンジンの速度を380 mm \ minに設定します。 重要な設定は、エンジンの速度と加速度、軸の方向(直接または逆)です。 この設定の詳細については、インターネットをご覧ください。
- エンジン(機械制御タブ)およびサーボ(M5コマンド(初期位置に回転)およびM3 s90(90度またはその他の任意の角度))に対する機械制御の可能性もあります。
- 次に、作業用のイメージを準備する必要があります。 これには、追加も必要です。 ソフトウェア、たとえば、Inkscape。 他のグラフィカルエディタと似ており、インターネット上での操作についても詳しく知ることができます。 ただし、重要な点がいくつかあります。
- まず、プロパティで正しいページサイズを設定して、画像のサイズがプロッターの機能より大きくならないようにする必要があります。 また、ピクセルを測定単位でミリメートルに置き換える必要があります。
- 画像を作成した後、Ctrl + Shift + Cを押してメニューに移動します-拡張機能-MI GRBL ...-エンジンの速度とサーボの回転角度を設定します-画像をgcode形式で保存します。
- 最後に、Universal Gcode Senderに戻り、[ファイルモード]タブでgcode-imageを開きます。 [視覚化]ボタンを使用すると、プログラムの動作をグラフィカルに監視したり、コマンドテーブルウィンドウでコマンドの実行を追跡したりできます。 このすべてを実行し、結果を観察するだけです。
その結果、そのようなデバイスでの作業は困難で骨の折れる作業であり、最終的な結果は理想的ではありませんでした。 しかし、そのような経験は興味深く、役に立たないわけではありません。 したがって、誰かが私を助けてくれて、私のアドバイスを不必要に「すくい取る」のを避ける手助けをしてくれることを願っています。