Доработка металлоискателя Пират
(11-12-2025, 06:50)-vlad- : только сигнал одинаковый.
не уверен, надо смотреть на фазу сигнала а не на амплитуды, изображение должно двигаться вправо или влево
боб, там под оплеткой была фольга, я её удалил. Блин, а как теперь одеть оплетку? Я понял, что оплетка дает некий зазор...

gal, понял, присмотрюсь повнимательнее.

боб, планировал на этот обруч (где то 1 см) намотать 4 витка крест-накрест и распаять.
(20-12-2025, 07:16)-vlad- : Блин, а как теперь одеть оплетку
Для экспериментов лента со старой простыни в 2 слоя - идеальная замена. для копа нужна герметизация. Потянула влагу - увеличилась паразитная емкость.
Ну чтобы влагу не тянула тряпка,её можно пропитать тем же силиконовым герметиком,или эпоксидкой перед намоткой...С интересом слежу за вашими изысканиями,хотя половину не понимаю,но пытаюсь...
(04-12-2025, 21:37)vako :   Ардуиновский плоттер.
а какая здесь частота и ширина импульса ?
(21-12-2025, 20:39)gal :
(04-12-2025, 21:37)vako : Ардуиновский плоттер.
а какая здесь частота и ширина импульса ?
На плоттере 100 выборок сигнала через 10мкс после закрытия транзистора.
как вам получилось смотреть на плоттер 10 µs, вот у меня 125 Hz , а 10 µs это 100 kHz, ширина импульса  в 1000 паза меньше

Файлы вложений Эскизы
   
gal, я скидывал скетч, 12:48. Естественно за один раз выборку через 10 мкс мегой не сделаешь. Пришлось брать по 10 сдвинутых на 10 мкс. выборок с 10 сигналов.  Так что реально это занимает около 10 мс.
а как это применить здесь ?
Код:
#include <driver/ledc.h>

void setup() {
// Serial.begin(115200);
    Serial.begin(1000000);
  //Serial.begin(1200);


  ledc_timer_config_t timerConfig = {
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .duty_resolution = LEDC_TIMER_10_BIT,
    .timer_num = LEDC_TIMER_0,
    .freq_hz = 125,
    .clk_cfg = LEDC_AUTO_CLK
  };
  ledc_timer_config(&timerConfig);


  ledc_channel_config_t channelConfig1 = {
    //.gpio_num = 32,
    //.gpio_num = 16,
    .gpio_num = 4,
    //.gpio_num = 12,
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .channel = LEDC_CHANNEL_0,
    .timer_sel = LEDC_TIMER_0,
    //.duty = 512,
     .duty = 50,
    .hpoint = 0
  };
  ledc_channel_config(&channelConfig1);

  ledc_channel_config_t channelConfig2 = {
    .gpio_num = 0,
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .channel = LEDC_CHANNEL_1,
    .timer_sel = LEDC_TIMER_0,
    .duty = 512,
    .hpoint = 256
  };
  ledc_channel_config(&channelConfig2);
}
void loop()
{
  Serial.print("  square from pin 4 =  ");
  Serial.print(digitalRead(4));
  Serial.print("   square from pin 0 =  ");
  Serial.print(digitalRead(0) + 2);

  Serial.println( );
  //delay(50);
}
(22-12-2025, 03:43)gal : а как это применить здесь ?
Не знаю, я с ESP не работал. Вам надо считывать значения ацп после закрытия силового ключа. Судя по описанию скорость у ESP 100кгц, так что можно сделать 100 или больше выборок за один раз.