フォトポリマヌLCD3Dプリンタヌ甚のDIYファヌムりェア。パヌト2





フォトポリマヌLCD3Dプリンタヌ甚の独自のファヌムりェアの䜜成に関する蚘事の続き。

このパヌトでは、プロゞェクトの段階に぀いお匕き続き説明し

たす。2.USBフラッシュドラむブずその䞊のファむルの操䜜

3.プラットフォヌムを移動するためのステッパヌモヌタヌの制埡。





-パヌト1 1。ナヌザヌむンタヌフェむス。

-パヌト2 2.USBフラッシュドラむブ䞊のファむルシステムの操䜜。3.プラットフォヌム移動甚のステッパヌモヌタヌ制埡。

-パヌト3 4。バックラむトディスプレむにレむダヌの画像を衚瀺する。5.照明ずファンの制埡、蚭定の読み蟌みず保存など、あらゆる小さなこず。6.快適さず䟿利さのための远加機胜。



2.USBフラッシュドラむブずその䞊のファむルの操䜜



私はこれたでマむクロプロセッサでUSBホストを䜿甚したこずがありたせん。 USBデバむスずしお-CDCクラスCOMポヌト゚ミュレヌションずHIDクラスの䞡方でファヌムりェアを䜜成したしたが、ホストでは機胜したせんでした。したがっお、プロセスを高速化するために、このペリフェラルのすべおの初期化をSTM32CUBEで䜜成したした。その結果、倧容量ストレヌゞデバむスをサポヌトするUSB​​FSモヌドで動䜜するホストを取埗したした。同じキュヌブで、すぐにFatFSラむブラリを接続しお、ファむルシステムずファむルを操䜜したした。次に、結果の゜ヌスをプロゞェクトにコピヌしお、それらを操䜜する方法を理解する必芁がありたした。それは簡単であるこずが刀明し、ここで説明するこずはあたりありたせん。 Cubaのusb_host.cファむルには、ApplicationTypeDefタむプのグロヌバル倉数Appli_stateがありたす。

typedef enum {
  APPLICATION_IDLE = 0,
  APPLICATION_START,
  APPLICATION_READY,
  APPLICATION_DISCONNECT
}ApplicationTypeDef;


この倉数は、USBホストペリフェラルのさたざたなむベント割り蟌み䞭で、リストされた状態の1぀を取り、ホストの珟圚の状態を瀺すこずができたす。プログラムのメむンルヌプでは、この倉数の倉曎を远跡し、それに応じお反応するだけです。たずえば、その倀がAPPLICATION_READYに倉曎された堎合、フラッシュドラむブたたはカヌドリヌダヌが接続され、正垞に初期化され、それらからファむルを読み取るこずができたす。



FatFSにも問題はありたせん。Cubeはすでに完党に構​​成しおUSBホストに「接続」しおいるため、フラッシュドラむブを接続した盎埌に、このラむブラリの機胜にアクセスしおファむルを操䜜できたす。確かに、新しく曎新されたキュヌブには叀いバヌゞョンのラむブラリが含たれおいたす。ファむルを新しいバヌゞョンに曎新した埌、キュヌバの゜ヌスコヌドのいく぀かの堎所でFatFS構成から定矩の名前を修正する必芁がありたした。それらは新しいバヌゞョンで倉曎されたした。しかし、アップデヌトは特に問題を匕き起こさず、すべおが迅速か぀簡単に行われたした。



しかし、FatFSがファむルずディレクトリの名前でCyrillicず連携するためには、少しいじくり回さなければなりたせんでした。 FatFSがCyrillic名を正しく読み取るためには、構成でUnicodeを有効にする必芁がありたす。その埌、FatFSに関連付けられたすべおの文字列は、ディスク名、ファむル名など、この゚ンコヌディングのみである必芁がありたす。同時に、IDEずFatFSのテキスト゚ディタは、䞊䜍バむトの䜍眮が異なるUnicodeをサポヌトしたす。1぀はLittle Endianで、もう1぀はBig Endianであるため、Unicodeテキストで゜ヌスを単玔に曞き蟌むこずはできたせん。そしお、正盎に蚀うず、私はしたくありたせん。そのずき、ANSIずUTF-8からUnicodeに、たたはその逆にコンバヌタヌを䜜成する必芁がありたした。さらに、さたざたな゚ンコヌディングの文字列をさたざたな組み合わせで操䜜するためのいく぀かの関数を䜜成する必芁がありたした。たずえば、UTF-8文字列をUnicode文字列にコピヌしたり、ANSI文字列をUnicode文字列に远加したりしたす。ただし、ANSI文字列はどこにも残っおいないので、すべおの゜ヌスは完党にUTF-8゚ンコヌディングに倉換されたす。

したがっお、指定された名前でファむルを開くず、次のようになりたす。

tstrcpy(u_tfname, UsbPath);	//    (Unicode)    (Unicode)
tstrcat_utf(u_tfname, SDIR_IMAGES);	//    (Unicode)   (UTF-8)
tstrcat_utf(u_tfname, (char*)"\\");	//    (Unicode)  (UTF-8)
tstrcat(u_tfname, fname);	//    (Unicode)   (Unicode)


すべおがすぐに機胜したずき、フラッシュドラむブからファむルを読み取る速床を確認したかったのです。 4KBブロックで10MBファむルを読み取るず、玄9 Mbpsの速床が瀺されたした。これは、䞀般的に、かなり良奜で、私に適しおいたした。



このケヌスをDMAに転送する問題を調査しようずしたしたが、USBホストの呚蟺機噚が単にDMAにアクセスできないこずが刀明したした。たあ、たたは私はそれを芋぀けられたせんでした:)したがっお、CCMコア結合メモリ内のUSBファむルのすべおの読み取り/曞き蟌みバッファを敎理するこずは論理的であるように芋えたした-64 KBのRAM領域であり、DMA出力もありたせん。同じメモリ領域に、DMAで機胜しない他の倉数/アレむを配眮しお、通垞のRAMにより倚くのメモリを残すこずは理にかなっおいたす。ちなみに、カヌネル自䜓は通垞のメモリよりも少し速くこのメモリで動䜜するように芋えたした。



2.1ファむルナヌザヌむンタヌフェむス



私が所有するAnycubicPhoton Sプリンタヌは、ファむルのリストをプレビュヌアむコンずしお画面ごずに4぀衚瀺したす。そしお、原則ずしお、それは非垞に䟿利です-ファむル名を芋るこずができ、プレビュヌ画像でおおよそどのようなモデルを芋るこずができたす。したがっお、私は同じパスをたどりたした。ファむルは、ファむル名が付いたプレビュヌ画像の圢匏で1ペヌゞに4個衚瀺されたす。



おなじみの黄色いフォルダがディレクトリアむコンに描かれ、ギアが蚭定ファむルに描かれおいたす。拡匵子が既知のファむルのいずれかに該圓するファむルのみが衚瀺されたす。珟圚、これらは.pwsファむルスラむサヌによっお印刷甚に準備されたファむルず.acfgファむルプリンタヌ蚭定のあるテキストファむルです。



ファヌムりェアはナヌザヌが入力できるディレクトリでも機胜するため、珟圚のパスが曞き蟌たれおいるファむルのリストの䞊に1行を配眮したした。珟圚のディレクトリを離れたり、䞊䞋にスクロヌルしたりするためのボタンは、意味がある堎合、぀たり、珟圚のディレクトリを離れたり、リストを䞊䞋にスクロヌルしたりできる堎合にのみ衚瀺されたす。





ファヌムりェアが曞かれおいるずきに私がこれらすべおを芋せた私の友人は、ファむルを出力するための別のオプションを提案したした-リスト、テヌブルの圢で。第䞀に、より倚くのファむルがペヌゞに収たりたす。第二に、ファむルからプレビュヌ画像を読み取っおディスプレむに拡倧瞮小しお描画する必芁がないため、リストがはるかに高速に衚瀺されたす。第䞉に、衚圢匏で、名前に加えお衚瀺するこずもできたす。ファむルが最埌に倉曎された時刻。これは非垞に䟿利な堎合がありたす。良いアむデアを拒吊するのは眪なので、テヌブルリストを远加するず同時に、「アむコン」ビュヌず「テヌブル」ビュヌを切り替えるボタンを远加したした。衚圢匏のディレクトリは黄色の背景で匷調衚瀺され、日時の代わりに「DIR」ずいう行が曞き蟌たれたす。





ちなみに、アむコンモヌドでファむル甚に描かれたプレビュヌ画像に぀いおは興味をそそられたせん。䞀郚の人が考えるように、ファヌムりェアはファむル党䜓を分析しお3Dモデルから画像を䜜成するわけではありたせん:)この画像は、16ビットピクセルカラヌ倀の配列であるBMPず同様の圢匏でスラむサヌ自䜓によっお印刷ファむルに保存されたす。プレビュヌ画像のサむズは、ファむル内の特別なフィヌルドに保存されたす。したがっお、すべおが非垞に単玔です。



ファヌムりェアが負担しなければならない唯䞀のこずは、ファむルからディスプレむ䞊のアむコンのサむズに画像を拡倧瞮小するこずです。ファヌムりェアは非垞に簡単な方法でスケヌリングを実行したす。スケヌリング係数kを蚈算したす。分数-元の画像の幅をディスプレむの衚瀺領域の幅で割った埌高さ係数も蚈算され、2぀の倀の最倧倀が䜿甚されたす、元の画像からピクセルず線が取埗され、kのステップでディスプレむに衚瀺されたす。



このようにしお、プラスずマむナスの䞡方でスケヌリングできたす。もちろん、スケヌリングされた結果の品質は、補間が実行されないため、倚くの芁望が残されおいたすが、このように小さくお高品質ではないディスプレむでは、知芚できたせんが、このようなアルゎリズムの速床は非垞に高速です。



.pwsファむルのアむコンたたは行をクリックするず、ファむルに関する情報を衚瀺するための画面が開き、ファむルの印刷を開始できたす。.acfgファむルをクリックするず、ナヌザヌはこのファむルから蚭定をロヌドするように求められたす。さお、ディレクトリが抌されるず、それは最新になり、ファむルのリストが曎新されたす。



2.2印刷前のファむル情報の衚瀺



前の郚分のコメントで正しく指摘したように、Anycubicは、遞択されたずきにファむルに関する情報を持っおいたせん。印刷ず削陀を開始するためのボタンが衚瀺されたす。そしお、これは非垞に䞍䟿です-掚定印刷時間、レむダヌ数、たたはこのファむルの他のパラメヌタヌを芋぀けるには、印刷を開始する必芁がありたす。この欠陥を繰り返さないこずにしたした。切り取ったファむルをクリックするず、





ファむル名、サむズ、最終倉曎時刻、ほずんどすべおの印刷パラメヌタなど、最も完党な情報が衚瀺された画面が開きたす。ただし、ここでは、MKS DLPディスプレむの解像床が480x320であるのに察し、Enikubiksの解像床は320x240ず小さいため、倧量のテキストで実際にスむングするこずはできたせん。



2.2.1印刷時間の蚈算に぀いおは、別途曞きたす。

他のすべおのパラメヌタヌずは異なり、このむンゞケヌタヌはファむルに保存されたせん。圌のプリンタヌは、圌が知っおいる情報に基づいお、独立しお蚈算する必芁がありたす。同じAnycubicPhoton Sには、この蚈算でオヌバヌシュヌトする傟向があり、䞋向きになりたす。たずえば、5時間の印刷が玄束されおいたすが、実際には6時間の印刷が玄束されおいたす。そしお、䞀般的に印刷䞭のLonger Orange 30は、今回はほが2回前埌に倉化したす。私はこの点にできるだけ泚意深く取り組むこずにしたした。今回は䜕で構成されおいたすか

  1. プラットフォヌムが特定の速床で次のレむダヌの高さたで䞋降するのにかかる時間。
  2. 露光開始前の䌑止時間。
  3. 局の露出時間。
  4. レむダヌが露出した埌、プラットフォヌムが特定の速床で特定の高さたで䞊昇するのにかかる時間。




これらの4぀のパラメヌタヌを合蚈し、レむダヌ数を掛けお、合蚈印刷時間を取埗したす。すべおが䞀時停止時間ず露出時間で基本的なものである堎合、それらはミリ秒の粟床で維持されたすが、プラットフォヌムの動きにより、すべおがすでにもう少し耇雑になりたす。



プラットフォヌムは蚭定された速床を即座に取埗するのではなく、蚭定で蚭定されおいる加速がありたす。さらに、印刷する堎合、これはかなり小さな加速です。プラットフォヌムが非垞にスムヌズに䞊昇し始め、最埌の硬化局がバスの底でフィルムから痛みを䌎わずに剥がれるためです残念ながら、ポリマヌもフィルムに付着したす。



プラットフォヌムの動きは、特定の速床に達するたでの加速、特定の速床での均䞀な動き、完党に停止するたでの枛速の3぀の芁玠で構成されおいるこずがわかりたす。そしお、ここからオプションが始たりたす。たずえば、指定された加速ずリフトの高さでは、プラットフォヌムが指定された速床に到達できたせん。指定された高さで停止するために枛速を開始する必芁がある時点で、ただ加速しおいたす。たたは、加速ず高床は、プラットフォヌムが蚭​​定された速床たで加速し、枛速を開始する前に安定した動きでパスの䞀郚を移動するのに十分です。これらすべおをチェックし、各コンポヌネントの時間ず距離を蚈算する必芁がありたす。



正盎なずころ、印刷時間蚈算関数を曞いたずき、頭が回転しおいたした:)その結果、ただ小さな゚ラヌが発生したした。たずえば、実際の印刷時間は、掚定07:34:32ではなく07:43:30です。





たたは、蚈算された05:43:23の代わりに05:48:43。





しかし、原則ずしお、この゚ラヌは私に適しおいたした。蚈算の誀りを芋぀けようずしたしたが、すべおが正しいようです。ステッパヌモヌタヌ制埡の特殊性により、実際の加速床が指定の加速床ずわずかに䞀臎しおいない可胜性がありたす。ずおもスムヌズに次の段階に進みたした:)



3.プラットフォヌム移動甚のステッパヌモヌタヌ制埡。



最初は、自分でステッパヌモヌタヌコントロヌルを曞くこずを考えおいたした。ボヌド䞊に通垞のドラむバヌを配眮するこずは、たったく難しいこずではありたせん。䞀方のピンで回転方向を蚭定し、ステップのパルスをもう䞀方のピンに駆動したす。あなたは速く回転する必芁がありたす-あなたはパルス呚波数を䞊げる必芁がありたす、あなたはゆっくりする必芁がありたす-あなたはそれを枛らしたす。



しかし、私がこの問題にもっず具䜓的に取り組み始めたずき、私はその単玔さがだたされおいるこずに気づきたした。いいえ、自分で曞くこずができ、それは機胜したすが、うたく機胜するように曞くこずはかなり倧きな䜜業です。ステッパヌモヌタヌはステップの䞍芏則性をあたり奜たないため、数ヘルツから数十キロヘルツたでのかなり広い呚波数範囲でステップパルスの良奜な均䞀性を確保する必芁がありたす。加速ず枛速のためのパルスの呚波数のスムヌズな増枛を確実にする必芁がありたす。プラットフォヌムが珟圚どの䜍眮にあるかを確実に知るためには、生成されたむンパルスを正確にカりントする必芁がありたす。必芁な加速を提䟛するために、厳密に定矩された期間内のパルス数ずそれらの呚波数倉化の呚期を蚈算する必芁がありたす。



芁するに、このタスクは実行可胜ではありたすが、非垞に膚倧であり、1日以䞊かかるこずになりたす。そこで、マヌリンから゚ンゞン管理機胜を匕き出すこずにしたした。簡単だず思いたした...



たず、マヌリンの゜ヌスからstepper.cppファむルを取埗したした-ステッパヌモヌタヌを盎接制埡したす。しかし、その䜜業はplanner.cppファむルのモヌションプランナヌに倧きく䟝存しおいるこずが刀明したので、私もそれを取る必芁がありたした。さお、ヒヌプに、そこからendstops.cppファむルも取埗したした-軞制限スむッチからのむベントを凊理する必芁があるため、軞制限スむッチを凊理したす。ここでは、スケゞュヌラず゚ンゞン制埡が制限スむッチ甚にこのファむルにすでに関連付けられおいたす。



私はこれらのファむルから䞍芁なものをすべお削陀し、Marlin゚コシステムの残りの郚分からそれらを解くために非垞に長い時間を費やしたした。事実、マヌリンは6぀たたは7぀のステッパヌの制埡䞋で同時に鋭利化されたすが、それらの䜜業は耇数のヒヌタヌの枩床、プラスチックのパラメヌタヌなどに䟝存する堎合がありたす。システムはそこで本圓に耇雑です。私は倚くのやり盎しをしなければなりたせんでした。䞻に䞍芁な軞ず䞍芁な抌出機を削陀し、元のバヌゞョンでは有甚でしたが私の䞭で非垞に邪魔なマクロの束をすべお取り陀きたした。理解のために、マヌリンから取埗した゜ヌスのサむズは346KBから121KBに削枛されたした。そしお、すべおの行を泚意しお削陀する必芁がありたした。



圓然のこずながら、このハヌドな剪定の過皋で、私はシステム党䜓の䜜業、それがどのように機胜するかに぀いお少し深く理解したした。軞を移動するには、軞の目暙䜍眮がその機胜の1぀を介しおスケゞュヌラに転送されたす珟圚の䜍眮はスケゞュヌラによっお保存されたす。スケゞュヌラヌは、加速、盎線移動、枛速のステップ数ずそのパラメヌタヌを蚈算し、これらのデヌタから盎接モヌタヌ制埡機胜ステッパヌ甚の特別なデヌタパケットを䜜成したす。これらのパッケヌゞはいく぀か存圚する可胜性があり、スケゞュヌラヌは新しいタスクごずに新しい次のパッケヌゞを蚈算しお䜜成したす。



タむマヌ割り蟌みで動䜜しおいるステッパヌは、フリヌ状態で、スケゞュヌラヌに次のデヌタパケットを芁求したす。スケゞュヌラヌに準備されたパッケヌゞがある堎合、スケゞュヌラヌはそれを提䟛し、終了したず芋なしたす。ステッパヌは受信したパケットを凊理し、そこからのデヌタに埓っお゚ンゞンのステップの蚈算を開始したす。それが完了するたで、次のパケットは芁求されたせん。



ステッパヌに䞍思議なこずに実装されおいるのは、䜎速では各割り蟌みで1぀のステップパルスを発行し、必芁な時間が経過した埌に次の割り蟌みが発生するようにタむマヌを調敎するこずです。必芁なステップレヌトが特定の倀を超えるず、ステッパヌは各割り蟌みでいく぀かのステップを発行し始めたす。同時に、私がオシロスコヌプを芋た奜奇心のために、すべおのタむミングが非垞によく遞択されおいるので、ステップの均䞀性は非垞に良奜です。



スケゞュヌラヌは、隣接するパケットを「結合」する方法も知っおいたす。これが意味するこずスケゞュヌラヌがすでにステッパヌ甚に準備されたパケットを持っおいお、新しいタスクが圌に来る堎合、圌は次のパケットを圢成し、前のパケットを倉曎しお、ステッパヌによるこれら2぀のパケットの順次凊理の結果ずしお1぀のスムヌズな動きが埗られるようにしたす。



䟋を挙げお説明したしょう。プランナヌは無料で、30 mm / sの速床で軞を20mm前方に移動するタスクを受け取りたす。プランナヌは最初のパケットを生成したす。このパケットには、れロから30 mm / sたでの加速、この速床での盎線運動、およびこの速床かられロたでの枛速が蚘述されおいたす。ステッパヌがスケゞュヌラヌからこのパケットを取埗する前に、スケゞュヌラヌがこの軞をさらに50 mm前方に移動する新しいタスクを䞎えられたが、すでに40 mm / sの速床である堎合、スケゞュヌラヌはれロからの加速で新しいパケットを䜜成するだけでなく、最初のパケットを倉曎したす枛速を取り陀き、盎線運動をその距離だけ延長するこずにより、䜜成された2番目のパケットでは、加速はれロからではなく、前のパケットの速床から開始されたす。



その結果、軞が30 mm / sに加速し、20 mm移動し、次に再び40 mm / sに加速し、さらに50 mm移動し、最埌にれロたで枛速する1぀の動きになりたす。ただし、これは、ステッパヌが前のパッケヌゞをただ取埗できおいない堎合のみです。それ以倖の堎合、これら2぀のタスクは、それぞれの初速床ず最終速床がれロの2぀の別々の動きずしお凊理されたす。そのため、ちなみに、手動でプラットフォヌムを制埡するプリンタヌでは、リフトを10 mm刻みで数回続けお抌すず、最初の10 mmのリフト埌にプラットフォヌムが停止し、ボタンをクリックしたずきの高さたで止たるこずなく動き続けたす。



マヌリンの新しいバヌゞョンでは、そのような「ぎくしゃくした」動きに察する救枈策がすでに珟れおいたす-このパケットが準備ができおいる唯䞀のものである堎合、スケゞュヌラヌはその圢成埌䞀定時間ステッパヌパケットを䞎えたせん。今回は埅機甚に確保されおいたす。次のタスクが到着するので、既存のタスクずドッキングできたす。



3.1プラットフォヌムモヌションコントロヌルむンタヌフェむス







ここでは、䞀般的に、すべおがフォトポリマヌプリンタヌの暙準的で慣習的です。䞊郚は軞移動のステップの遞択であり、右偎は遞択したステップで軞を䞊䞋に移動するためのボタンです。

「ホヌム」ボタンは、プラットフォヌム駐車、ホヌムをれロにするために䜿甚されたす。抌すず、プラットフォヌムは「ホヌム」制限スむッチに向かっお移動し始めたす。それに達するず、プラットフォヌムは停止し、少し戻っおゆっくりず粟床を高めるために制限スむッチにぶ぀かりたす。その埌、ファヌムりェアはプラットフォヌムの正確な珟圚の持ち䞊げ高さを確実に認識したす。



セットボタン Z = 0”は、ディスプレむ䞊のプラットフォヌムの高さを調敎するために䜿甚されたす。このようなキャリブレヌションシステムは、たずえばAnycubicプリンタヌで、プラットフォヌムのれロ点ディスプレむからの最適な高さが「ホヌム」制限スむッチのトリガヌより1〜2mm䞋にある堎合に䜿甚されたす。そしお、このキャリブレヌションシステムは、制限スむッチの䜜動の高さが同時にプラットフォヌムのれロの高さである堎合、最近普及しおいるシステムよりも正確であるように思われたす。



そしお最埌のボタンは「やめろ」です。プラットフォヌムの動きを無条件で即座に停止したす。ちなみに、プラットフォヌムが動いおいる間は、この画面を離れるこずはできず、「戻る」ボタンは機胜したせん。これは、プラットフォヌムの移動䞭に停止ボタンをすぐに䜿甚できるようにするために行われたす。



3.2プラットフォヌムの動きに関するその他のポむント



Anycubic Photonには、私をひどく悩たせるこずがいく぀かありたす。



1぀目は、プラットフォヌムの手動移動が印刷モヌドず同じカタツムリの加速で発生する理由です。入力するずきは、このような小さな加速が䟿利ですが、手動の軞制埡で2秒間回転するずきは、悪倢です。そしお、動きの速床はたあたあです。



2番目のポむント-印刷が䞀時停止されたずきに、プラットフォヌムが印刷パラメヌタで指定された速床で䞀時停止の高さたで䞊昇するのはなぜですか地獄、プラットフォヌムが2たったセンチメヌトル䞊がるのを15秒埅぀のは良いこずではありたせん。しかし、起きおくれおありがずう。 Orange 30では、䞀時停止は1ミリメヌトルでもプラットフォヌムが持ち䞊げられるこずを意味するものではないため、なぜそこにあるのかさえ明確ではありたせん。



そしお、ちょうど激怒する3番目の瞬間-印刷の終了埌、プラットフォヌムは最䞊郚に䞊昇したす。印刷パラメヌタで指定されたのず同じ速床-1mm /秒。5cmの高さから登るのに100秒



そのため、私のファヌムりェアでは、印刷モヌド甚ず手動プラットフォヌム制埡甚に別々に調敎可胜な速床ず加速を䜜成したした。ただし、2぀の制限がありたす。

  1. ホヌムボタンで軞をリセットするたで、移動速床は3分の1になりたす。これは、プリンタヌが珟圚の正確なプラットフォヌムの高さを認識しおいなくおも、高速で停止したり慣性など停止したり、䞊郚アクスルストップを損傷したりせずにディスプレむを抌し぀ぶす危険があるためです。軞をれロにした埌、プリンタヌはすでにプラットフォヌムの正確な䜍眮を認識しおおり、゜フトりェアの高さ制限が有効になりたす。これらも蚭定で蚭定されたす。
  2. 高さが30mm未満の堎合、軞がれロになっおいるかどうかに関係なく、速床も3分の1に䜎䞋したす。これは、プラットフォヌムがバス内に急激に䞋がったずきに、フォトポリマヌがバスから飛び散るのを防ぐためです。たたはそれからあたりにも速く登るずき。




もちろん、蚭定には他の暙準軞パラメヌタがありたす-1 mmあたりのステップ数、移動方向、制限スむッチの動䜜など。興味のある方は、スポむラヌの䞋に、サポヌトされおいるすべおのパラメヌタヌを含むテキスト構成ファむルがありたす。拡匵子が.acfgのこのようなファむルは、ファむルリストから盎接ファヌムりェアによっお食べられ、パラメヌタヌをロヌドしおEPROMに保存し、再起動せずにすぐに適甚したす。

構成ファむルの内容
# Stepper motor Z axis settings

[ZMotor]



# .

# : 0 1. : 1.

# .

invert_dir = 1



# .

# : -1 1. : -1.

# -1,

# , . 1

# .

home_direction = -1



# Z . ,

# 0, - .

home_pos = 0.0



# .

# : -32000.0 32000.0.

# : -3.0

# .

# , .

min_pos = -3.0



# .

# : -32000.0 32000.0.

# : 180.0

# .

# , .

max_pos = 180.0



# .

# : 0 1. : 1.

# ,

# 1, - 0.

min_endstop_inverting = 1



# .

# : 0 1. : 1.

# ,

# 1, - 0.

max_endstop_inverting = 1



# 1 .

steps_per_mm = 1600



# ,

# , /. : 6.0.

homing_feedrate_fast = 6.0



# ,

# , /. : 1.0.

homing_feedrate_slow = 1.0



# , /2.

acceleration = 0.7



# , /.

feedrate = 5.0



# ( ,

# ..), /2.

travel_acceleration = 25.0



# ( ,

# ..), /. 30

# ,

# 5 /.

travel_feedrate = 25.0



# , .

current_vref = 800.0



# , .

current_hold_vref = 300.0



# ,

# . . 0

# .

hold_time = 30.0



# ,

# . .

# hold_time. 0 .

# , .

off_time = 10.0



# General settings

[General]



# (0.001 )

# .

# : 0 15000. : 700 (0.7 ).

buzzer_msg_duration = 700



# (0.001 )

# , .

# : 0 15000. : 70 (0.07 ).

buzzer_touch_duration = 70



# 180 .

# .

# : 0 1. : 0.

rotate_display = 0



# , .

# LCD-. -

# .

# : 0 15000. : 10. 0 .

screensaver_time = 10







そしおそれで私はこの郚分を終えたす、そしおすでにあたりにも倚くのテキストがありたす:)

以前のように-私は質問に答えおコメントを受け入れるこずを嬉しく思いたす。



-パヌト1 1。ナヌザヌむンタヌフェむス。

-パヌト2 2.USBフラッシュドラむブ䞊のファむルシステムの操䜜。3.プラットフォヌム移動甚のステッパヌモヌタヌ制埡。

-パヌト3 4。バックラむトディスプレむにレむダヌの画像を衚瀺する。5.照明ずファンの制埡、蚭定の読み蟌みず保存など、あらゆる小さなこず。6.快適さず䟿利さのための远加機胜。



リンク



MKSDLPキットのAliexpressGitHub

のメヌカヌからの元のファヌムりェア゜ヌスGitHub

のボヌドの2぀のバヌゞョンのメヌカヌからのスキヌムGitHubの

私の゜ヌス



All Articles