Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

YAMAHA MTX-5を リモートで 動かす

0
Last updated at Posted at 2024-08-10

YAMAHA MTX-5を RS232リモートで 動かす

出荷時 最終確認映像です 8月11日
YAMAHA MTX-5を リモートで 動かす試験 1 
https://youtu.be/pudsPEQedM4
YAMAHA MTX-5を リモートで 動かす試験 2
https://youtu.be/WOgjAUiBzMk

2024年7月26日発表💦 サポート 下記の期間は休業とさせていただきます。
休業期間: 2024年8月10日(土)- 2024年8月18日(日)

作業報告

2024040810-報告.jpg

image.png
image.png
image.png

8/18 ComTで 受信再確認,試験用に <CR><LF>混在させています。
image.png

8/19 ヤマハの回答で devstatus runmode を 追加してみる
image.png

しかし 右上に 
S-232Cのように物理接続するだけの場合は不要と 
52ページ上に 書いてあったの 思い出しました
image.png

以下 追加しても 進展なし 現地でRS232C 双方向モニターで監視!動作せず
image.png

image.png

image.png

image.png

image.png

image.png

image.png

2016年 MTXを 熱海で 動いてた コードを 移植しています!


 switch(n){
	  case 1:
   		 USART1SendString("ssrecall 1\r");
	     DisplayASCII6x8_TG12864(0,Py1,0,16,(const uint8_t *)(" A+B+C+D+E = 5  "));
         break ;//1
	  case 2:
         USART1SendString("ssrecall 2\r");
		 DisplayASCII6x8_TG12864(0,Py1,0,16,(const uint8_t *)(" A+B+C+D+E = 4  "));
        break ;//2
	  case 3:
        USART1SendString("ssrecall 3\r");
	    DisplayASCII6x8_TG12864(0,Py1,0,16,(const uint8_t *)("A+B=5 / C+D+E=4 "));
        break ;//3
	  case 4:
		USART1SendString("ssrecall 4\r");
	    DisplayASCII6x8_TG12864(0,Py1,0,16,(const uint8_t *)("A+B+C=5 / D+E=4 "));
        break ;//4
 以下 省略
// USART_で文字列の送信を行う関数 
void USART1SendString(const char *str){
  const char *ptr = str;
  while (*ptr != '\0'){
		while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET) {}
    USART_SendData(USART1, *ptr);ptr++;
  }
}
   USART_InitStructure.USART_BaudRate            = 38400;
     USART_InitStructure.USART_WordLength          = USART_WordLength_8b;
     USART_InitStructure.USART_StopBits            = USART_StopBits_1;
     USART_InitStructure.USART_Parity              = USART_Parity_No ;
     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
     USART_InitStructure.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
     USART_Init(USART1, &USART_InitStructure);
     USART_Cmd(USART1, ENABLE);

以下の AIの 回答を参考に 対策

熱海の 通信プログラムを書き パソコンでコマンドを 確認し
オシロでも 接続して 結線が正しいことも確認、どうしてもアンサーが戻ってこない
RS2323C コマンド 受け付けてないと 思われます。

image.png

コマンドを送信しても応答がないという問題に遭遇。

ssrecall 1コマンドを使用してYamaha MTX5-Dにプリセットを呼び出そうとしている場合、
これにはいくつかの原因が考えられます。

  1. シリアル通信の設定
    ボーレートが正しいか確認してください。
    デフォルトは115200bpsで設定されていることが多いですが、異なる場合もあります。
    データビットは8ビット、ストップビットは1ビット、パリティはなし、フロー制御も適切に設定されているか確認します。
  2. コマンドのフォーマット
    ssrecall 1のコマンドの送信方法が正しいか確認します。
    キャリッジリターン(\r)やラインフィード(\n)が正しく付加されているか確認してください。例えば:
    cpp
    コードをコピーする
    mySerial.print("ssrecall 1\r");
  3. 接続の確認
    TXDとRXDの接続が正しく行われているか確認してください。特に、クロスケーブルを使用している場合、TXDとRXDが逆に接続されていないか確認します。
    GNDが正しく接続されているかも重要です。
  4. 応答の確認
    デバイスが返す応答がシリアルモニタに表示されているかどうかを確認します。もし応答がない場合、接続やコマンドの形式が正しいか再確認してください。
  5. プリセットの存在
    ssrecall 1が呼び出そうとしているプリセットが実際に存在することを確認してください。もしプリセットが存在しない場合、デバイスは何も応答しない可能性があります。
  6. デバイスの状態
    MTX5-Dが正しく動作しているかどうかも確認してください。デバイスがロックされていたり、別の状態にある場合、コマンドが受け付けられないことがあります。
  7. ファームウェアのバージョン
    MTX5-Dのファームウェアが最新であることを確認してください。古いファームウェアでは、特定のコマンドが正しく動作しないことがあります。
  8. エラーメッセージの確認
    シリアル通信が設定されている場合、エラーメッセージが返ってくるかもしれません。デバイスから何らかの応答があるか確認し、その内容を確認します。
    もしこれらのポイントを確認しても問題が解決しない場合、Yamahaの技術サポートに問い合わせて、特定のコマンドやデバイスの動作についてさらに詳しい情報を得ることをお勧めします。

Yamaha MTX5-DやMRX7-DなどのデバイスをRS-232でリモート制御する場合、まずはデバイス側でRS-232通信を許可し、適切に設定する必要があります。通常、これらの設定はYamahaの管理ソフトウェアであるMTX-MRX Editorを使用して行います。

以下に、RS-232によるリモート制御を有効にするための手順を説明します。

  1. MTX-MRX Editorのダウンロードとインストール
    Yamahaの公式ウェブサイトからMTX-MRX Editorをダウンロードし、PCにインストールします。

  2. デバイスとPCを接続
    MTX5-DなどのYamahaデバイスをPCに接続します。通常、USBまたはLANを使用して接続します。

  3. MTX-MRX Editorでプロジェクトを開く
    MTX-MRX Editorを起動し、既存のプロジェクトを開くか、新しいプロジェクトを作成します。

  4. RS-232通信の設定
    MTX-MRX Editorで、接続されているデバイスを選択し、通信設定を確認または設定します。
    通信設定(Communication Settings)のセクションに移動し、RS-232の通信オプションが有効になっているか確認します。
    必要に応じて、シリアル通信ポート(Serial Communication Port)で使用するポート(RS-232)を指定します。

  5. デバイスのリモート設定を確認
    デバイスの設定メニューから、RS-232通信を有効にし、リモート操作を許可します。
    これには、「リモートコントロールの許可」や「RS-232コントロールの許可」のようなオプションが含まれる場合があります。

  6. ボーレートとその他の通信設定
    通常、RS-232通信にはボーレート(例: 115200bps)などの設定が必要です。MTX-MRX Editorでこれらの設定を確認し、必要に応じて調整します。
    デバイスとPCの両方で設定が一致していることを確認してください。

  7. プロジェクトをデバイスに転送
    設定が完了したら、MTX-MRX Editorからデバイスにプロジェクトを転送して設定を反映させます。

  8. リモート制御のテスト
    RS-232経由でデバイスを制御できるかをテストします。正しく設定されていれば、コマンドに対してデバイスが応答するはずです。

  9. デバイスのファームウェアを確認
    もし問題が発生する場合は、デバイスのファームウェアが最新であることを確認してください。古いファームウェアではRS-232通信に問題がある場合があります。
    追加のヒント

ログを確認: デバイスがコマンドに応答しない場合は、
MTX-MRX Editorや他のシリアルモニタで通信ログを確認することで、問題の原因を特定できるかもしれません。

サポートの活用: Yamahaの技術サポートに問い合わせることで、
 特定の設定やトラブルシューティングについての助言を得ることができます。
これらの手順を通じて、RS-232通信を有効にし、
MTX5-DやMRX7-Dをリモートから制御できるように設定することが可能です。

レベル変換 確認波形

2024040810-報告2.jpg

出荷時 最終確認映像です 8月11日
YAMAHA MTX-5を リモートで 動かす試験 1 
https://youtu.be/pudsPEQedM4
YAMAHA MTX-5を リモートで 動かす試験 2
https://youtu.be/WOgjAUiBzMk

参考

オシロ 使いにくいですね ACを図るには 絶縁型でよいけど

今回の映像で使っていたオシロです

image.png

5年以上使って壊れた、こちらを また買いました

image.png

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?