CanFestival86は、86Duino Oneボードで独自のCANポートを使用して実行されるCanFestivalのX86ポーティングバージョンです。 CanFestivalは、Canopen CIA DS-301標準のコア通信システムを処理するオープンソースCanopenスタックであり、CIA DS-302構成マネージャーやCIA DS-305 LSSなどの重要な実装も含まれています。 これは、非常に多くのプラットフォームをサポートし、PC環境または一般的な組み込みシステムで実行できます。現在、CanFestival86ライブラリを介してDMP X86/DOSプラットフォームで実行できます。 元のコード 元のCanFestival86コードは、GitHubページにダウンロードできます。 例 組み込みのmaster_nodeとslave_nodeサンプルコードは、canfestivalコアの操作プロセスを示しています。 詳細なCanFestval Libraryのインストール、ライン接続、Master_Node、Slave_Nodeの例については、CanFestival86の例の実行を参照してください。 CanFestival86カテゴリ CanFestival86カテゴリは、CanFestivalのいくつかの重要な関数ラッパーを提供します。これは、ユーザーが使用するのに便利なため、数行のコードでCanFestivalマスターまたはスレーブノードを実行できます。 – bool begin(co_data *node_data、unsigned long baudrate); バスとタイマーを開始し、canfestivalノードデータ構造にバインドします。 – bool set86nodeid(uns8 nodeid); ノードCanopen node-idを設定します。 – bool set86state(e_nodestate状態); NODE CANOPEN NMTステートマシンを設定します。 – void setverbose(bool is_verbose); シリアルモニターにCanFestivalコアメッセージを出力するかどうかを設定します。 メッセージを出力するには、is_verboseをtrueに設定します。 – void dumpruntimeinfo(); setverbose()関数を介してis_verboseをTrueに設定すると、dumpruntimeinfo()でloop()でコアメッセージを印刷することができます。 – sdowrite(uns8 nodeid、uns16 index、uns8 subindex、uns32サイズ、void *data、uns32 timeout_ms = […]
86Duino ZeroのUSB-HOSTコネクターの横には、図のように「DM222」という文字があります。, “DM222A”の場合、この86Duino Zeroは旧バージョンです。”DM222B”の場合、この86Duino Zeroは新バージョンです。 86Duino Zero ソフトウェア説明ページ The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.
説明する config_ppuを使用してPPU(ユニットあたりのパルス)を設定する場合、アシスト計算関数を使用して設定パラメーターを取得できます。 PPU(単位あたりのパルス)関係は次のとおりです。 86DuinoはPulseをStepper Motor Drive Boardに送信すると、ドライブボードがステッパーモーターを回転させるためのステップを送信します。 micro_stepping: – ステッピングモータードライバボードのパラメータ。ステップを生成するには、86Duinoから受信したパルス数が必要です。 steps_per_revolution: – ステッピングモーターのパラメータ。ステッピングモータードライバーボードが1回転するために必要なステップ数。 pulses_per_revolution の計算式は、steps_per_revolution * micro_stepping です。 パラメータは、以下に示すように、リードスクリューのピッチとギアボックスのギア比を測定する必要があります。 文法 machine.computePPU_LeadScrew(pulses_per_revolution, leadscrew_pitch, gear_ratio); パラメーター machine:Machineのオブジェクトです。 。 pulses_per_revolution:ステッピングモーターを作成して回転させると、86duinoを再生する必要があるパルス番号。 。 leadscrew_pitch:リードネジ距離。 。 gear_ratio:ギアボックスのギア比、gear_ratioの値は、出力ギア歯番号 /入力ギア歯番号、つまりgear_ratio = toutput / tinputです。 。 戻る double:バックロード計算が完了した後のPPU(ユニットあたりのパルス)。 。 参照してください config_ppu() computeppu_belt() 関数ライブラリリファレンスメインページ 86Duinoリファレンスのテキストは、 Creative Commons Attribution-ShareAlike 3.0 Licenseライセンスの下でライセンスされています。参照内のコードサンプルはパブリックドメインにリリースされます。
説明する config_ppuを使用してPPU(ユニットあたりのパルス)を設定する場合、アシスト計算関数を使用して設定パラメーターを取得できます。 PPU(単位あたりのパルス)関係は次のとおりです。 86DuinoはPulseをStepper Motor Drive Boardに送信すると、ドライブボードがステッパーモーターを回転させるためのステップを送信します。 micro_stepping: – ステッピングモータードライバボードのパラメータ。ステップを生成するには、86Duinoから受信したパルス数が必要です。 steps_per_revolution: – ステッピングモーターのパラメータ。ステッピングモータードライバーボードから受信する、1回転あたりのステップ数。 pulses_per_revolution の計算式は、steps_per_revolution * micro_stepping です。 これらのパラメータは、ベルトピッチとギアの歯数を測定するために必要です。以下を参照してください。 文法 machine.computePPU_Belt(pulses_per_revolution, belt_pitch, pulley_tooth_count); パラメーター machine:Machineのオブジェクトです。 。 pulses_per_revolution:ステッピングモーターを作成して回転させると、86duinoを再生する必要があるパルス番号。 。 blet_pitch:ベルトの歯の距離、ユニットはミリメートルです。 。 pulley_tooth_count:ステッピングモーターと同期して回転するギアの歯の数。 。 戻る double:バックロード計算が完了した後のPPU(ユニットあたりのパルス)。 。 参照してください config_ppu() computeppu_leadscrew() 関数ライブラリリファレンスメインページ 86Duinoリファレンスのテキストは、 Creative Commons Attribution-ShareAlike 3.0 Licenseライセンスの下でライセンスされています。参照内のコードサンプルはパブリックドメインにリリースされます。
説明する 電子ギア比の次の関数を設定できます。この関数を有効にした後、ターゲットマシンは電子ギア比と座標軸に応じて移動します。 文法 machine.config_EGearSlave(target, xRatio, yRatio, zRatio); パラメーター machine:Machineのオブジェクトです。 target:Machineのオブジェクトであり、このターゲットマシンは電子ギア比に応じて座標軸に沿って移動します。 。 xRatio:X軸に対応する電子ギア比。 yRatio:y軸に対応する電子ギア比。 zRatio:Z軸に対応する電子ギア比。 戻る bool: True:両方のマシンが存在し、正常に作成されました。 FALSE:どのマシンも存在しないか、作成に失敗しません。 例 Slave_Machineは、電子ギア比(1.5、0.5、1.0)に応じてGコードの動きを実行するためにマシンを追跡します。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 […]
説明する フィードレート上書き比を取得します。 文法 machine.getFeedrateOverride(); パラメーター machine:Machineのオブジェクトです。 。 パラメーターはありません。 戻る double: フィードレートの上書き比 例 マシンがGコードの動きを実行すると、フィードレートはエンコーダーに従って動的に調整されます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 […]
説明する バッファー内の未確認のブロックのフィードレートを上書きして再計算します。 文法 machine.feedrateOverride(ratio); パラメーター machine:Machineのオブジェクトです。 。 ratio:フィードレートは比率を上書きします。これは0より大きいはずです。 戻る 返品値はありません。 例 マシンがGコードの動きを実行すると、フィードレートはエンコーダーに従って動的に調整されます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 […]
説明する ジョグ/MPGモードでマシンのターゲット位置を取得します。 文法 machine.getJogPos(axis); machine.getJogPos(x, y, z); パラメーター machine:Machineのオブジェクトです。 。 axis:位置を取得する運動軸は、axis_x、axis_y、またはaxis_zにすることができます。 。 x:X軸のターゲット位置を取得します。 。 y:y軸のターゲット位置を取得します。 。 z:Z軸のターゲット位置を取得します。 。 戻る getActualPos(axis): double:運動軸の位置を返します。 。 getActualPos(x, y, z): バックパス値はありません。参照を直接使用して、x、y、z軸の位置を取得します。 例 マシンの基本パラメーターを設定し、ボタンがトリガーされたときにジョグモードが移動できるようにします。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 […]
説明する MPGモードでエンコーダーの変更量と距離の倍率を設定します。 文法 machine.setMpgRatio(rate); パラメーター machine:Machineのオブジェクトです。 。 rate:変化量と距離の倍率をエンコーダーすると、この値は0より大きくなければなりません。 戻る 返品値はありません。 例 マシンの基本パラメーターを設定し、MPGモードを有効にします。 X軸は、エンコーダー値が変更されると接続されます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 […]
説明する MPGモードで対応する出力シャフトを設定します。 文法 machine.setMpgAxis(axis); パラメーター machine:Machineのオブジェクトです。 。 axis:対応する出力シャフトは、axis_x、axis_y、またはaxis_zです。 戻る 返品値はありません。 例 マシンの基本パラメーターを設定し、MPGモードを有効にします。 X軸は、エンコーダー値が変更されると接続されます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 […]