Arduinoで手パ信号を入れるための中華NCを作る方法

このQ&Aのポイント
  • Arduinoを使用して、中華NCを作成する方法について紹介します。
  • CNCシールドを使用して手パ信号を入力する方法は難しいため、別の方法を考える必要があります。
  • 2台のArduinoを使用してSCL/SDAを設定する場合、ジャンパ線でアドレスを設定する必要はありません。
回答を見る
  • 締切済み

Arduino で NC

中華なNCを作ってます CNCシールドを乗っ取って手パ信号を入れるのは 難しそうだったのですが 2台Arduino で SCL/SDA この場合アドレスをジャンパ線で設定しなくていいのでしょうか 詳しく 中華シールドで手パ使ってるサイトがあったら教えてください

みんなの回答

回答No.6

https://github.com/grbl/grbl/issues/243 https://github.com/terjeio/GRBL_MPG_DRO_BoosterPack grblよりmachの方が簡単そうですね。 専用のMPGも売ってますし、 自分はpcからA4988に直接つないで動かしてます。 手パは無くてもキーボードで間に合ってますよ。

hahaha8635
質問者

補足

参考にさせてもらいますが 実機使って身からすれば 原点出し時にボタンだととてもイライラし  原因になりやすいかと  それを解析し作るのはありかもしれませんね

  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.5

>みましたが ポートが足りませんが わかってますか? え~と、既に回答中に >TMEGA1280などを使った多ピン仕様のArduinoで動かされてみてはいかがでしょうか? と記載しておりますし、能力不足なら2台でI2C通信で同期とかアホですよね? それでもポート数が足りないのでしょうか? それとも、質問者さんの理解力が足りないのでしょうか? 例えば、ATmega2560を使ったこのボードとか。 https://www.amazon.co.jp/dp/B06Y4KZV1J/ 検索すれば、いっぱい出てくると思うのですが。 ちなみに上記ボードはArduinoIDEのボード選択で ちゃんとサポートされているようですが これ以上のどんな情報が不足されているのでしょうか?

hahaha8635
質問者

補足

先にも書いてありますが 読理解力がないと思います あなた様の回答はされるだけなのでいりません

  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.4

>質問内容は実はハードに見えてソフトなんですが そうなんですか? それならば、ちゃんと問題点を整理されてから 再質問を立てられたほうがよろしいかと思います。

hahaha8635
質問者

補足

読理解力がないと思います >>この場合アドレスをジャンパ線で設定しなくていいのでしょうか と書いてありますが

  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.3

前回回答した中のリンクのデータシートは理解されましたか? 理解できていれば、手パ配線は難しくないと思いますが。 もし同時に多数制御したいのであれば FPGAボードなどを使われることも可能だと思いますよ。 ArduinoではI2CをTWIハードで行う場合とソフトI2Cで行う場合など がありますが、正直ちゃんと理解されているとは思えませんね。 まずは、自分の背丈に合わせて普通にArduinoで動かして その後は、ATMEGA1280などを使った多ピン仕様のArduinoで 動かされてみてはいかがでしょうか?

hahaha8635
質問者

補足

みましたが ポートが足りませんが わかってますか? Arduino デジタル14 アナログ6で CNCシールドで ほぼ使われてます 手パで必要なのは 手パ信号2x3=6bit(XYZ) モード切替用の信号1bit ハンドシェイク用の信号1-2bit と考えてます これにさらに 倍率 x1 x10 x100 を 非常停止用信号 を入れると 1台じゃ全く足りませんが? それに 質問内容は実はハードに見えてソフトなんですが マスター側のソース test_I2C_master.ino #include <Wire.h> void setup() { Wire.begin(); } byte val = 0; void loop() { Wire.beginTransmission(0x1E); //引数はslaveデバイスに対応するアドレス.ここでは0x1E スレイブはどこで 0x1E にしてあるの? Wire.write(val); Wire.endTransmission(); val++; delay(500); } スレイブ側のソース test_I2C_master.ino #include <Wire.h> void setup() { Wire.begin(); Serial.begin(9600); } void loop() { Wire.requestFrom(0x1E, 1);//これなの? setup時に宣言しなくていいの? while (Wire.available()) { byte val = Wire.read(); Serial.print(val); } delay(500); } という問題なんですが

  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.2

とりあえず初めたいという場合には メカトロやホビーロボットなどの販売サイトが役に立つと思います。 https://www.originalmind.co.jp/special/arduino/ https://www.originalmind.co.jp/special/arduino/Arduino.pdf モーター並列のクローン駆動に対しては下記に情報があります。 https://cnc-selfbuild.blogspot.com/2016/04/cnccncdrv8825a4988.html

hahaha8635
質問者

補足

そこはすでにすべて見てます 手パの情報はないです 欲しいのは手パを使って CNCシールドを動かす方法です CNCシールドですべてのArduino ポートを使っており I2C (CNCシールド右上から出ている) を 使おうと思ってます I2Cでは個別機器にアドレスを設定し通信するのですが その方法がわかりません  普通はジャンパ線でアドレス指定する また 手パ自体作ってる人はいるんですが それを接続している情報がありません

  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.1

CNCシールドで使われている A4988というドライバーIC(および互換品)は I2C制御ではありません。なのでSCL/SDA信号も受け取れません。 http://www.pololu.com/file/download/a4988_DMOS_microstepping_driver_with_translator.pdf?file_id=0J450 シールド基板だけを流用して、手パを入力することはできると思いますが まずは回路図と仕様書が読めないと話にならないかと思います。

hahaha8635
質問者

補足

Sモータ ← CNCシールド ← Arduino1 ⇔ Arduino2 ← 手パ  Arduino1は 普通Grblが動いていて Arduino2の信号で(SW) Grbl から 自作のプログラムに移行 手パのパルスをArduino2から送りArduino1で ステップモーターを動かそうとしてます そこまでえは できそう (バッファ処理とか遅延処理の対処は後) https://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd 抜粋 Arduinoをslaveとして利用するときなどは アドレスを任意に指定することができる. この方法がわからないのです 全然回答内容が違うと思いますが

関連するQ&A

  • kt0911と24LC××の関連に付いて。

    ラジオIC、kt0911のその後ですが、確かに仰る通りでしたのでeepromに格納してみました。 読み出しも、一旦電源をoffにして読みだすと、アドレスを二つに渡ってちゃんと書き込まれたのを確認して、kt0911に装着しました。 所がラジオは、全く梨のつぶてで、Keyを押してもウンともスンとも言いません。 GPIOの0~3を01にGPIO:4を11に設定しています。 他の設定はデフォルト値に即したデーターを書き込んでいます。 実際は24LC02と言う2Kのeepromに対して、24LC512と言う512kのeepromを使いました。 電源のON時に、SDAの端子をシンクロで観察するとActiv-Lowの信号が出ています、ロジアナでは無いので、どんな信号かは分かりません。 eepromの24LC512のSDAとSCLは、I2Cの通信をしている時以外のI/Oは、Hiインピーダンス成るのでしょうか。 Netを調べたのですが、それらしき答えに行きつきませんでした。 そこで、SDAとSCLの信号の入力に2回路2接点のトグルSWを入れて、電源ON後間を置いてSDAとSCLの信号をoffして見ましたが、LCDの周波数表示らしきものがインクリかデクリが分かりませんが グルグルと変化し表示するだけで、key-swは全く効きません。 取りあえず、eepromのI/O端子がハイインピーダンスに成る時と、またハイインピーダンスにするには どの様にしたら良いのでしょうか。 同じ24LCの2Kと512KのEEPROMですが、何もしなくても同じ様に使えますか。 使えなければ、回路を変更して使えますか。

  • NCフライスとPCの接続について

    お世話になっております 最近仕事量が激減し時間的に余裕が出てきたので、いろいろな事に挑戦中です。  大隈豊和製NCフライス(2R-NC)を保有しており、主に穴あけ機として使用しておりましたが仕事が少なくなり、稼働率向上の為2次元の彫り込み部品(ポケット加工など・・・)等もやりたいなと思います。  今まではプログラムはすべて手入力で行なってましたが、異形状になるとデーターが複雑になりあきらめた経緯があります。 そこでNASUKAーCADCAM(マシニング用)を購入しプログラムを作り、NCフライスに送り加工する事にしました。 (CADCAMはすでに購入し操作は練習済みです。)  そこで今度は実際にNCフライスにデーターを送りたいのですが、PC側の設定、NC側の設定など説明書をみたのですが、チンプンカンプンです。(笑) NASUKAーCADCAMとNCフライス(2R-NCだとなおさらグー!)を接続してNCデーターをやり取りしていらっしゃる方、いろいろ教えてください。 さしあたって・・・ 竜の子さんのサイトなどで確認するとPCとNC機間のケーブル(RS-232C)はクロスケーブルとの事ですがミスミなど一般的に販売しているクロスケーブルでOKなのでしょうか? (NC機はOH-OSP-MGです) 皆様回答ありがとうございます。 話がだんだん高等な話に発展してますね。 私はただPCとNCをケーブルでつないでパラメーターをいじるだけで何とかなるものとばかり思ってました。(ポリポリッ) ひとまず浜松さん(現ゴードーさん)から通信ケーブル購入してオークマさんからピンアサイン聞いてみて試してみます。 ちなみに当方の2RNCのRS-232Cはオプション付けではないかと思います。 説明書にはRS-232Cに関する記述が書いてありませんでした。 その当時はまだテープが主流だったんでしょうね。 中古購入機械はこういうとき不便ですね。 このスレはしばらく閉じないで空けておきます。 では・・・

    • ベストアンサー
    • CAM
  • 同じアドレスを2台のPCで使う

    同じメールアドレスを2台のパソコン(Win10-Outlook2016とWin11- Outlook2019)にPOP設定しても構いませんか? 1台はPOP、他の1台はIMAPという設定の仕方んパるのでしょうか? なお、メールアドレスは複数メール2つを持っています。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • 続 軽金属に対応していないCNCフライスで軽金属加

    見てくれればいいのですが 下記CNCフライスは、軽金属は加工できずケミカルウッドや樹脂のみ加工できるとありますが、もし軽金属を加工すると壊れますか?どの部分が壊れますか?またできるだけ壊れないようにするには加工条件のうち何を変えれば良いですか? https://www.rolanddg.co.jp/-/media/roland-apac/dgj/files/products/pdf/pdf/mdx50.pdf ご教授のほどよろしくお願いします。 回答  削れないことはないですがお勧めしません 今はやりの自作CNCができる前の商品で アルミ 銅までは 非公式には削れます 展示会でもメーカーの人も非公式には認めてます スピンドルは重切削できないので  切り込みを浅くして削らないといけないです そのためキリコが細かくなり キリコの始末がたい変です  機械部に入るとショート可能性があります お高いですし お勧めしません 安い自作NCのスピンドルを変えキリコの始末をきちんと得切るようにした方が 安いです 壊れても3000円もあれば治ります 自作NCにはMR775というブラシモータがついてますが これでも軽切削ならアルミまでいけます 現在手パ作ってるので動かしてないですが 私もこれです 部屋中アルミだらけになるのは目に見えてるので やってませんが 海外では ER16 500Wブラシレスブラシレススピンドルモーター に変更して加工してる人が多いのですが 日本では 48V 7A を出せる電がなかなか見つかりません 安定化電源は30V 10A

  • PICマイコンによるI2C通信について

    私は高専の学生で、マイコンを使う部活に所属しております。 今回の活動で、複数のPICを使用することになり、I2C通信を使おうと思っています。 そこで、ある問題が発生しました。 PICによるI2C通信の解説を行っているとある方のサイトには、 「I2Cの通信方式は+5VにプルアップされたSDAとSCLの各信号線を、それぞれのデバイスがオープンドレイン等によるワイヤードオア接続で信号の操作と共有を行っている関係から、 電気的にはあまり強い環境ではありません。 なので、沢山のデバイスを接続したり、通信距離を長くしたりといったことには不向きなので、 ハードウエアの構築には細心の注意が必要でしょう。」 とあります。 今回の活動で使うPICは、事情により700~800mm程度離れた状態になると思われます。 距離が長い通信には不向きとありますが、この場合は大丈夫なのでしょうか。 また、I2C通信が不可能な場合はどのような通信手段を使えばよいのでしょうか。 知っている方がいらっしゃったら、御回答をよろしくお願いいたします。

  • H8(3952)におけるチップセレクトの件

    現在、秋月電子のキットH8(3052)と拡張ボード(作製中)でもって奮闘中なのですが、一応H8はモード5で設定しようとしております。外付けにRAM(MBM29F040C)、I2CでEEPROMを構築いたします。ところが、EEPROMにはSCL、SDAそれぞれH8からPB-2とPB-3を割り当てています。そうなると、RAMのチップセレクトに当初割り当てておいたPB-3(CS1/)が使えなくなります。RAMのチップセレクトを最初からGNDに落とそうとも考えましたが、アドレスを他のデバイスでも使用しているので無理です。こういった場合RAMのチップセレクトはどうしたら良いでしょうか?AS/をデコードして割り当てるのが宜しいのでしょうか?PICで慣れてきた者には何とも解りずらいですね。

  • 信号について

    信号について詳しい方よろしくお願いします。 こちらが、交差点右折信号青の矢印の場合、前方直進車の対面信号は? それと、信号の時間設定って、どこに聞けばわかるのでしょうか 制動距離についても知りたいので、いろいろ詳しく書いてあるサイト ご存知でしたらアドレスお願いします

  • PIC24FでI2C

    PIC24FでRTCを制御するためのI2C通信がうまくいかず困っています。 そこでSDA/SCLから信号が出ているかのみを確認するため 下記のようなプログラムをPICに書込みました。 (STARTの出力のみ) 当方オシロを持っていませんので汎用のテスタでSDA/SCL電圧の一時的な変化を読み取ろうと試みましたが全く電圧の変化はありません。 #include "p24FJ64GA002.h" _CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & BKBUG_OFF & COE_OFF & ICS_PGx1& FWDTEN_OFF ) _CONFIG2( IESO_ON & FNOSC_FRC & FCKSM_CSDCMD & OSCIOFNC_OFF & IOL1WAY_ON & I2C1SEL_SEC & POSCMOD_NONE) int main(void) { AD1PCFG = 0xffff; CLKDIV = 0; TRISA = 0xFFE3; TRISB = 0x006F; LATB = 0x0010; CNPU1 = 0x003C; /// I2Cの初期設定 I2C1BRG = 0x27; I2C1CON = 0x8000; I2C1RCV = 0x00; I2C1TRN = 0x00; while(1){ I2C1CONbits.SEN = 1; while(I2C1CONbits.SEN); } } 心ある方、どなたかご教示お願いいたします。

  • IDE内蔵ハードディスクのジャンパーの設定について

    ハードディスクを増設しようと思って、買ってきたのはいいのですが、ジャンパーの設定がわかりません。 マスターとスレーブの切替設定くらいかな?と思ってなめていたら、実際に物をみたら、16HEADSやら32GB CLIPやらでちんぷんかんぷんでした。 WEBで検索してはみたのですが、なかなかいいサイトを発見できず、困っております。 すみませんが、ご助力をお願いします。 私のパソコン環境 ショップブランドパソコン マザーボード ASUS P4S533 1台目ハードディスク 40GB 今回増設の2台目ハードディスク 日立HDS722516VLAT20 ジャンパー設定に参考にしようと思っているページ http://www.hgst.com/hdd/support/d7k250/d7k250jum.htm

  • エレキットのFMワイヤレスマイク

    先日このキットを作ったのですが マイクなど全く使わないため、ヘッドホンから信号をとれるように 改造したいと思ったのですが、エレキットから出てる本には その改造方法が書いているのですが、必要な部品をどこから調達したらいいのかがわかりません。 その必要な部品は、 抵抗器(300kΩ、1/4W) ミニプラグ(AP-704) シールド線(1芯、1m)です。 これらの部品はイヤホンを分解して手に入れることはできるのでしょうか? また、購入できるサイトなどを教えていただければうれしいです。