2025年7月2日水曜日

USBロジックアナライザ - PWM・UART・I2C測定

USB ロジックアナライザをセットアップしてPWM(波形)・シリアル通信(データ)・I2C(データ)の測定を行いました。
●PC接続 8ch 24MHz 超コンパクト USB ロジックアナライザ  【https://www.amazon.co.jp/gp/product/B0D7ZR2VJ8/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1】  
 




参考サイト
●ロジアナの使い方!USB接続で簡単に信号解析
●格安USBロジックアナライザを試してみた!
●PWM制御のArduinoプログラム【https://monoist.itmedia.co.jp/mn/articles/1604/11/news014_5.html
●格安ロジアナ導入方法とArduinoで信号確認

Pulse View ダウンロード


















【PulseView 0.4.2(64bit)】ダウンロード

Pulse View インストール



















【pulseview-0.4.2-64bit-static-release-installer.exe】インストール
 保存場所(任意)


ドライバーインストール
USB ロジックアナライザを接続
PulseViewファイル内【zadig】アプリケーション実行
























【Options】【List All Devices】にレ点を入れる














【Unknown Device #1】選択
【Install Driver】















ドライバーインストールが完了すると【successfully】



Pulse View設定
【pulseview】アプリケーションを実行











【▼】【Connect to Device】選択

Step1【fx2lafw(......)】
Step2【USB】
Step3【Scan.......】反応しない場合USBを抜差し 
Step4【Saleae Logic with 8 channels】【OK】


















①Arduino Nano PWM 測定
プログラム
void setup(){
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  analogWrite(3,128);//490MHz 約2ms
  analogWrite(5,128);//977MHz 約1ms
  analogWrite(6,128);//977MHz 約1ms
  analogWrite(9,128);//490MHz 約2ms
  analogWrite(10,128);//490MHz 約2ms
  analogWrite(11,128);//490MHz 約2ms
}
void loop(){  
}



















Arduino Nano PWM 全出力ポート波形を確認しました。
D3,D9,D10,D11  → 490Hz D5,D6 → 977Hz




②Arduino Nano シリアルモニター測定
プログラム
#include <Wire.h>
void setup()
{
  Serial.begin(9600);  
}

void loop()
{
 Serial.println("12345"); 
 delay(100);
}
















①【Add protcol decader】
②【UART】選択


③【UART】ピン設定














シリアルモニター







シリアル通信 RX bit  16進数 001(1) 010(2) 011(3) 100(4) 101(5) 





③Arduino Nano MPU6050 I2C 測定
プログラム 
#include "MPU6050.h"
MPU6050 accelgyro;
#include <MadgwickAHRS.h>
Madgwick MadgwickFilter;

int16_t ax, ay, az;//加速度 int16_tは2バイトの符号付き整数
int16_t gx, gy, gz;//角速度 同上
float ROLL, PITCH, YAW;

void setup()
{
  Wire.begin();
  Serial.begin(9600);
  accelgyro.initialize();//I2Cデバイスの初期化
  delay(300);
  MadgwickFilter.begin(100);//フィルタのサンプリングを100Hzで
}

void loop()
{
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  MadgwickFilter.updateIMU(gx / 131.0, gy / 131.0, gz / 131.0, ax / 16384.0, ay / 16384.0, az / 16384.0);
  ROLL = MadgwickFilter.getRoll();
  PITCH = MadgwickFilter.getPitch();
  YAW  = MadgwickFilter.getYaw();
  Serial.print(ROLL); Serial.print(",");
  Serial.print(PITCH); Serial.print(",");
  Serial.print(YAW);
  Serial.print("\n");
  delay(10);
}
















①【Add protcol decader】
②【I2C】選択

③【I2C】ピン設定













シリアルモニター





















0 件のコメント:

コメントを投稿

USBロジックアナライザ - PWM・UART・I2C測定

USB ロジックアナライザをセットアップしてPWM(波形)・シリアル通信(データ)・I2C(データ)の測定を行いました。 ●PC接続 8ch 24MHz 超コンパクト USB ロジックアナライザ  【 https://www.amazon.co.jp/gp/product/B0D...