2025年8月1日金曜日

ESP32 - PWM・DAC・ADC 確認

ESP-32開発ボードによるPWM・内蔵DAC・ADC の確認を行いました。      
●Esp32-devkitc-32e 開発ボード
※アマゾンの写真には技適マークがありますが、送られた製品は技適マーク無し(証明書無) 



ESP32ボードマネージャ変更














【esp 32】
【バージョン3.2.0】インストール



◆ESP32 PWM 10KHz 出力
参考サイト
●Arduino環境でESP32のPWMを調べる(3)
●ESP32(3.0以降)LEDC関数でエラー発生/対応方法


ESP32ボードマネージャ バージョン3以降下記に変更
PWM関数
ledcSetup(チャンネル,周波数,8bit=0-255(PWM)
ledcAttachPin(ピン番号,チャンネル)
      ↓V3.. 以降
ledcAttach(ピン番号,周波数,8bit=0-255(PWM))

ledcWrite(チャンネル,デューティ)
                           ↓V3.. 以降
ledcWrite(ピン番号,デューティ)


PWMプログラム  Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
  //ledcSetup(0,10000,8); //チャンネル,周波数,8bit=0-255(PWM)  
  //ledcAttachPin(25, 0); //ピン番号,チャンネル  
  //ESP32ボードマネージャ バージョン3以降
  ledcAttach(25,10000,8); //ピン番号,周波数,8bit=0-255(PWM)  
}
void loop() {
  //ledcWrite(0,128);  //チャンネル,デューティ(50%)  
  //ESP32ボードマネージャ バージョン3以降
  ledcWrite(25,128);  //ピン番号,デューティ(50%)
}



PWM出力測定
10KHz














◆ESP32 内蔵DAC sin波出力
ESP32の内蔵DACは8bit出力 0~255
GPIO25(チャネル 1) ・GPIO26(チャネル 2)
DAC関数    dacWrite(GPIO25又はGPIO26 0~255)

参考サイト
●ESP32 DACのテスト
●esp32内蔵DACとトランジスタで波形音を遊ぶ


内蔵DACプログラム  Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
  Serial.begin(115200);
}
 
void loop(){    
    for(int i=0; i<256; i++){
     float Sin = sin(2.0 * PI * i /256) * 127 + 128;
     dacWrite(25, Sin);
     //Serial.println(Sin);  //シリアルプロッタ
    }
}



シリアルプロッタ(プログラムsin波)











内蔵DAC出力測定





















◆ESP32 ADC sin波入力
ESP32の分解能は最大12ビット0~4095
ADC関数 analogRead(ピン番号)

参考サイト
●ESP32のADCについて
●ADCを使う


ADCプログラム  Arduino IDE【ボード:ESP32 Dev Module】
void setup() {
  Serial.begin(115200);
  pinMode(32, INPUT);
}

void loop() {
  int Sin = analogRead(32);  
  Serial.println(Sin); //シリアルプロッタ
}





RF信号発生器
RF信号発生器から1KHz SIN波をADCポートに入力してシリアルプロッタで見てみる。
 


同ブログ【RF信号発生器









RF信号発生器1KHz SIN波















シリアルプロッタ(ADC変換)
















0 件のコメント:

コメントを投稿

ESP32 SDR - DAC出力 7MHz 受信テスト

ESP32開発ボードによる、Si5351A 7MHz VFO→直交ミキサ→ADC入力→プログラム検波→内蔵DAC出力→スピーカー    SSB検波【demod = adc_I - adc_Q】による内臓DAC出力受信テストを行いました(デジタルフィルタ未使用)    ●同ブログ ...