Например TDA7294

Форум РадиоКот • Просмотр темы - Глюки записи Ардуино Диктофона
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 01:33:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 15:51:51 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 542
Откуда: Николаев / Украина
Рейтинг сообщения: 0
Всем привет! Нашел интересный проект Ардуино микрофона: https://www.youtube.com/watch?v=WV5bLv1erxk
Скетч (немного мной модифицированный, но все же содержит Много мусора!):
Спойлер
Код:
#include <SdFat.h> /* Библиотека для SD-карты */
#include <EEPROM.h>
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))

SdFat sd;
SdFile rec;

#define chipSelect 10           /* Поменял на 10-pln */
unsigned long   fileSize = 0L;
unsigned long   waveChunk = 16;
unsigned int    waveType = 1;
unsigned int    numChannels = 1;
unsigned long   sampleRate = 22050;
unsigned long   bytesPerSec = 22050;
unsigned int    blockAlign = 1;
unsigned int    bitsPerSample = 8;
unsigned long   dataSize = 0L;
unsigned long   recByteCount = 0L;
unsigned long   recByteSaved = 0L;

#define     ledStart 2         /* PIN LED Start */
#define     ledStop 3          /* PIN LED Stop */
int recPressed = 0;
int stopPressed = 0;
unsigned long oldTime = 0L;
unsigned long newTime = 0L;
byte buf00[512];                // buffer array 1
byte buf01[512];                // buffer array 2
byte byte1, byte2, byte3, byte4;
unsigned int bufByteCount;
byte bufWrite;

/*_____________*/

char NameRecord[10];            /* Имя нового - записываемого файла на SD-карту. */
int RecordNumber;               /* Номер записи - храним в EEPROM. в диапазоне от 0 до 32767. */


unsigned long TimeIntervalStopRecording;    /* Время - интервал - остановки записи - time interval stop recording */
byte OnOffRecord;                           /* подготовка - к старту записи */

/*_____________*/

void setup() { // THIS RUNS ONCE
    pinMode(10, OUTPUT);
    pinMode(ledStart, OUTPUT);
    pinMode(ledStop, OUTPUT);
   
    /* Функция analogReference определяет опорное напряжение относительно которого
    происходят аналоговые измерения в analogRead().
   
    EXTERNAL: внешний источник опорного напряжения, подключенный к выводу AREF.
   
    1. Чтобы уменьшить шумы во время записи.
    2. Возможность аппаратного изменения звукового порога, срабатывания авто записи,
    подключив переменный резистор к (выводу-AREF). */
   
    analogReference(EXTERNAL);
   
    /*_____________*/
   
    Setup_timer2();
    Setup_ADC();
   
                                                    /* Если SD-карта не обнаружена - включаем ledStop и ledStart*/
   
    if (!sd.begin(chipSelect, SPI_FULL_SPEED)) {    // if error, flash LED twice per second, until reset.
        while (1) {
            delay(50);
            digitalWrite(ledStop, LOW);
            digitalWrite(ledStart, LOW);
        }
    }
   
    digitalWrite(ledStop, LOW);
   
    /*
    Читаем значение (int - (2-byte) из EEPROM (ячейки - №0 и №1).
    И записываем в RecordNumber.
    */
   
    EEPROM.get(0, RecordNumber);
    // delay(50);
   
    OnOffRecord = EEPROM.read(5);   /* Подготовка - к старту записи */
    // delay(50);
}


void loop() {
    if (recPressed == 0 && OnOffRecord == 1) {
        StartRec();                 /* launch StartRec method - Включаем запись */
    }
   
    /*_____________*/
   
   
    /* Останавливаем запись - по таймеру */
    /* Продолжительность записи 10 секунд - можно изменять */
    if (OnOffRecord == 1 && millis() - TimeIntervalStopRecording >= 10000) {
        StopRec(); /* launch StopRec method - Останавливаем запись. */
        /* Блокируем повторный старт записи. */
        EEPROM.write(5, 0);
        OnOffRecord = 0;
    }
   
    /*_____________*/
   
   
    if (recByteCount % 1024 == 512 && recPressed == 1) {
        rec.write(buf00, 512);          // save buf01 to card
        recByteSaved += 512;
    }
    if (recByteCount % 1024 == 0 && recPressed == 1) {
        rec.write(buf01, 512);          // save buf02 to card
        recByteSaved += 512;
    }
   
    /*_____________*/
   
   
   
    /* Подготовка к старту записи "Активация по голосу (VAS)."
    Запись начнётся, как только сигнал, поступающий с микрофона,
    превышает определенный уровень.
    */
   
    /* Если уровень микрофона превысит порог 1023.
    порог - можно изменять! программно,
    И аппаратно -
    с помощью переменного резистора - "делитель напряжения"
    подключённого к выводу AREF, изменяем опорное напряжение "analogRead"
    */
    if (recPressed == 0 && analogRead(A5) == 1023) {
       
        EEPROM.write(5, 1); /* подготовка - к старту записи */
       
        if (RecordNumber == 32767)RecordNumber = 0;
       
        /*
        Записываем значение (int - (2-byte) в EEPROM (ячейки - №0 и №1).
        Переменная RecordNumber - увеличенная на 1.
        */
       
        EEPROM.put(0, RecordNumber + 1);
        // delay(100);
       
        /* После окончания записи, в памяти контроллера остаются данные.
        И за этого следующая запись бывает качеством хуже.
        Поэтому (Делаем программную перезагрузку) перед стартом новой записи. */
       
        ((void (*)())0x0000)(); /* Делаем программную перезагрузку - Arduino */
    }
}



/*_____________*/



void StartRec() {                           // begin recording process
                                            /* Для конвертации из int в char / из RecordNumber в NameRecord */
    //String str;  //declaring string.
    char str[] = "01.wav";
    //str = String(RecordNumber);           //converting integer into a string.
    //str = str & ".wav" ;
    sprintf(NameRecord,"%d.wav", RecordNumber);
    //str.toCharArray(NameRecord, 6);       //passing the value of the string to the character array.
   
    TimeIntervalStopRecording = millis();   /* Запоминаем  millis */
   
    digitalWrite(ledStart, LOW);
    digitalWrite(ledStop, HIGH);
    recByteCount = 0;
    recByteSaved = 0;
    recPressed = 1;                         // recording button has been pressed
    stopPressed = 0;
    writeWavHeader();
    sbi (TIMSK2, OCIE2A);                   // enable timer interrupt, start grabbing audio
}

void StopRec() { // stop recording process, update WAV header, close file
    cbi (TIMSK2, OCIE2A);                     // disable timer interrupt
    writeOutHeader();
    digitalWrite(ledStart, HIGH);             // turn off recording LED
    digitalWrite(ledStop, LOW);               // light stop LED
    recPressed = 0;
}

void writeOutHeader() {                     // update WAV header with final filesize/datasize
    rec.seekSet(4);
    byte1 = recByteSaved & 0xff;
    byte2 = (recByteSaved >> 8) & 0xff;
    byte3 = (recByteSaved >> 16) & 0xff;
    byte4 = (recByteSaved >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    rec.seekSet(40);
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    rec.close();
}

void writeWavHeader() { // write out original WAV header to file
    recByteSaved = 0;
    // rec.open("rec00000.wav", O_CREAT | O_TRUNC | O_RDWR);
    /* Имя нового - записываемого файла на SD-карту. */
    rec.open(NameRecord, O_CREAT | O_TRUNC | O_RDWR);
   
    rec.write("RIFF");
    byte1 = fileSize & 0xff;
    byte2 = (fileSize >> 8) & 0xff;
    byte3 = (fileSize >> 16) & 0xff;
    byte4 = (fileSize >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    rec.write("WAVE");
    rec.write("fmt ");
    byte1 = waveChunk & 0xff;
    byte2 = (waveChunk >> 8) & 0xff;
    byte3 = (waveChunk >> 16) & 0xff;
    byte4 = (waveChunk >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    byte1 = waveType & 0xff;
    byte2 = (waveType >> 8) & 0xff;
    rec.write(byte1);  rec.write(byte2);
    byte1 = numChannels & 0xff;
    byte2 = (numChannels >> 8) & 0xff;
    rec.write(byte1);  rec.write(byte2);
    byte1 = sampleRate & 0xff;
    byte2 = (sampleRate >> 8) & 0xff;
    byte3 = (sampleRate >> 16) & 0xff;
    byte4 = (sampleRate >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    byte1 = bytesPerSec & 0xff;
    byte2 = (bytesPerSec >> 8) & 0xff;
    byte3 = (bytesPerSec >> 16) & 0xff;
    byte4 = (bytesPerSec >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
    byte1 = blockAlign & 0xff;
    byte2 = (blockAlign >> 8) & 0xff;
    rec.write(byte1);  rec.write(byte2);
    byte1 = bitsPerSample & 0xff;
    byte2 = (bitsPerSample >> 8) & 0xff;
    rec.write(byte1);  rec.write(byte2);
    rec.write("data");
    byte1 = dataSize & 0xff;
    byte2 = (dataSize >> 8) & 0xff;
    byte3 = (dataSize >> 16) & 0xff;
    byte4 = (dataSize >> 24) & 0xff;
    rec.write(byte1);  rec.write(byte2);  rec.write(byte3);  rec.write(byte4);
}

void Setup_timer2() {
    TCCR2B = _BV(CS21);                     // Timer2 Clock Prescaler to : 8
    TCCR2A = _BV(WGM21);                    // Interupt frequency  = 16MHz / (8 x 90 + 1) = 22191Hz
    OCR2A = 90;                             // Compare Match register set to 90
}

void Setup_ADC() {
    ADMUX = 0x65;                           // set ADC to read pin A5, ADLAR to 1 (left adjust)
    cbi(ADCSRA, ADPS2);                     // set prescaler to 8 / ADC clock = 2MHz
    sbi(ADCSRA, ADPS1);
    sbi(ADCSRA, ADPS0);
}

ISR(TIMER2_COMPA_vect) {

    sbi(ADCSRA, ADSC);                      // start ADC sample
    while (bit_is_set(ADCSRA, ADSC));       // wait until ADSC bit goes low = new sample ready
    recByteCount++;                         // increment sample counter
    bufByteCount++;
    if (bufByteCount == 512 && bufWrite == 0) {
        bufByteCount = 0;
        bufWrite = 1;
    } else if (bufByteCount == 512 & bufWrite == 1) {
        bufByteCount = 0;
        bufWrite = 0;
    }
   
    if (bufWrite == 0) {
        buf00[bufByteCount] = ADCH;
    }
    if (bufWrite == 1) {
        buf01[bufByteCount] = ADCH;
    }
}

Собрал, вроде работает, но есть одна странность: если питать ардуино от компьютера, то почти нет посторонних шумов. А если запитать от аккумулятора, то запись получается просто ужасной! Вот ссылка на Гугл диск с примерами записи: https://drive.google.com/open?id=1K6Brj ... gVOv9GfAN5

Файл 69.wav - запись с питанием от компьютера. Усиление микрофона стоит почти на минимуме. Файл 101.wav - запись от аккумулятора (4.1 вольт). Схема устройства крайне простая: MicroSD подключена по SPI, к пину А5 подключен выход микрофонного усилителя MAX4466, светодиоды к пинам 2 и 3, и TL431 в качестве опорника. Пробовал собирать на Arduino UNO и на PRO MINI - в обоих случаях результат одинаков - питается от компьютера - запись по-лучше, а если от аккумулятора - запись плохая, много шумов и "рипит"... Аккумуляторы пробовал разные. Пробовал разные флешки, как "НоНейм" - так и качественные с 10-й скоростью.

Не могу понять почему идут шумы при работе от аккумулятора... по идее должно быть наоборот...
Может у вас есть идеи?

_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 16:03:23 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1225
Зарегистрирован: Вс май 25, 2008 19:47:47
Сообщений: 4326
Откуда: РФ
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
С землёй все нормально? Нигде соединения не пропущены?
Как работает если вместо аккумулятора запитать от usb зарядного?

_________________
2B OR NOT 2B = FF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 16:17:48 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 3
Как всегда - СХЕМЫ НЕТ...
Проверяем акустику - усилитель (или ТОН2) на выход микрофонного усилителя.
И определяем КИТО ЕСТЬ ИСТОЧНИК возмутительства.
Не факт, что тракт микорфона кошерстно выполнен (в том числе и по питающим проводочкам).
Сам режим с компом... Есть вероятность снятия части внешних помех через 0 питающей проводки.
Часто раньше одной из рекомендаций по уменьшению посторонних шумов было "...переверните вилку в розетке..."
Оцифровка и запись на флэш - это уже второй этап.
Однако и там надо правила разводки линий и номиналов уровня сигнала соблюдать надо - цифра и аналог весьма различаются.
Вспомним и еще одну старозабытую методу - палец на входе УНЧ = Фоновый шум.
Негоже устройство за оголенные проводки брать - мало ли чего в качестве антенны и/или детектирующих внешние радиочастотные поля элементов внезапно образуются там, где не ожидалось.
8)


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 16:57:42 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 542
Откуда: Николаев / Украина
Рейтинг сообщения: 0
Сейчас вообще, не зависимо от источника питания, стало постоянно с шумом записывать. Хм... буду смотреть. Похоже где-то какой-то контакт барахлит...

Добавлено after 12 minutes 50 seconds:
В общем сам микрофонный усилитель очень сильно ловит наводки...
Собирал все на матерке. Для тестов все отключил, и подключил микрофон на прямую к колонке - шумов практически нет. Подношу руки к усилителю или к колонке - появляются наводки. Стал собирать схему... каждый новый подключенный провод дает наводки. Получается вся схема - одна сплошная антенна для наводок :(
Микрофонный усилитель у меня вот такой: https://www.ebay.com/itm/Electret-Micro ... 2749.l2649

_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 17:07:49 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1225
Зарегистрирован: Вс май 25, 2008 19:47:47
Сообщений: 4326
Откуда: РФ
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Больше земли богу земли ))
В частности использовать коаксиальный провод к микрофону с землёй на оплетке.
Модуль тоже экранировать не помешает

_________________
2B OR NOT 2B = FF


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 19:14:11 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Когда-то простыми динамическими пользовались...
8)
С теми платками... ничего сказать не могу за отсутствием под рукой...
В остальном - пока сигнал не будет усилен и отфильтрован от помех (до уровня хотя-бы 1 вольта)
это раздел аналоговой техники.
Экранировка, выделение сигнала и прочие...
Сегодня вроде бы эти задачи должны решать спецмодули - однако не попробовав - не выяснить чего там причина.
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Чт дек 12, 2019 22:27:24 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 542
Откуда: Николаев / Украина
Рейтинг сообщения: 0
На всякий случай, вот срисовал схему модуля:
Изображение Изображение

Добавлено after 2 hours 8 minutes 19 seconds:
В общем... пульсации в основном записываются от работающей Ардуино. Стоит включить запись на флешку ток сразу же микрофон начинает сильно шуметь.
Посторонние шумы можно свести к минимуму если питать микрофон и Ардуино от отдельных источников питания...
Вот теперь стал вопрос: как правильно развязать микрофон и Ардуино?

_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 00:29:15 
Друг Кота
Аватар пользователя

Карма: 110
Рейтинг сообщений: 6673
Зарегистрирован: Пт авг 14, 2015 14:25:02
Сообщений: 11291
Откуда: Одесса - мама
Рейтинг сообщения: 0
Может это ардуина шумит? верней её питание.
Если питание от импульсного БП, а платка полностью аналоговая - шумы от ИБП будут проходить через землю (экран) из Дуины обратно в платку и усиливаться там.
Экранировка в этом случае не поможет. так как это не магнитная помеха, а электрическая.
Слышали о КЗ земной петли? Эффект прохождения помехи по земляному проводу при неправильном подключении общей точки.

_________________
90% времени уходит на отыскание неисправности,остальное - ждать когда нагреется паяльник! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 04:00:38 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
forfrends писал(а):
На всякий случай, вот срисовал схему модуля
1) От дросселя в земле в таких случаях больше вреда чем пользы.
2) В случае с аккумулятором/батареей, шунтирующий электролитический конденсатор необходимой ёмкости обязателен (из-за более высокого, по сравнению со стабилизированными источниками питания, внутреннего сопротивления).
3) Схема смещения ОУ в рабочую точку неправильная, ОУ через такой делитель будет собирать все помехи/пульсации с шины питания, и усиливать их вместе с полезным сигналом.

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 09:35:46 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
ФЕЕЕ...
:(
Там лучше предусилитель от магнитофона посмотреть...
Или уж брать те платки, в которых спецкристаллы стоят...
тот же MAX9814... он хоть с АРУ...
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 10:15:54 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 1225
Зарегистрирован: Вс май 25, 2008 19:47:47
Сообщений: 4326
Откуда: РФ
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
BOB51, на этой платке вполне себе "спецкристалл", в даташите указано что это именно микрофонный усилитель.
А вот схема включения мне кажется весьма странной

_________________
2B OR NOT 2B = FF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 11:07:31 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Судя по схеме от топикстартера - обычный ОУ.
Даже не по схеме диф усилителя собран... (там хоть какое-то подавление синфазной помехи на начальном этапе)...
То же самое с успехом любой низковольтный ОУ выполнит.
А вот 9814 то уже чуток получше....
Вложение:
MAX4465-MAX4469.pdf [505.05 KiB]
Скачиваний: 196

Вложение:
MAX9814.pdf [1.22 MiB]
Скачиваний: 219

:roll:
Хотя... при нынешнем изобилии всяческих радиочастотных устройств...
может и такое не пройти.
Корпус изолирующий все равно делать придется... касательно экранировки - то при малом сигнале еще весьма эффективно, а при размахе от 1 вольта уже как бы и не особо требуется...
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 13:46:51 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 542
Откуда: Николаев / Украина
Рейтинг сообщения: 0
Может можно как-то сгладить помехи? На самом модуле может поставить где-то конденсатор или еще что-то?

_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 17:14:43 
Друг Кота
Аватар пользователя

Карма: 110
Рейтинг сообщений: 6673
Зарегистрирован: Пт авг 14, 2015 14:25:02
Сообщений: 11291
Откуда: Одесса - мама
Рейтинг сообщения: 0
Помехи идут по аналогу - как их сгладить? Вместе с полезным сигналом? :dont_know:
Надо избавляться от помех ДО усиления!

Добавлено after 3 minutes 48 seconds:
Микрофон какой? Обычный электретный капсуль? типа как от магнитофона? У него бывает корпус заземлён на один из выводорв, а бывает - нет. Нужно проверить или сделать пружинную обойму для контакта корпуса микрофона и заземлить на входе.
СпойлерИзображение

_________________
90% времени уходит на отыскание неисправности,остальное - ждать когда нагреется паяльник! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 18:16:04 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
alexradio1103 писал(а):
Помехи идут по аналогу
Помехи идут по питанию, очевидно же.
forfrends писал(а):
Может можно как-то сгладить помехи?
Выше написал наиболее возможные причины. :roll:
Возможные варианты решения:
1) Удалить дроссель в земляной шине питания заменив на нулевой резистор.
2) Зашунтировать аккумулятор конденсатором с низким E.S.R, например 2200мкФ. х 6,3В. с материнской платы.
3) Цепь смещения ОУ в рабочую точку переделать по Фэн-шуй, т.е. уменьшить резисторы делителя R3, R4 до 470кОм., разрезать дорожку идущую на выв.1 и к разделительному конденсатору С3, а вместо этого впаять ещё один резистор на 470кОм. между точкой соединения R3, R4 и конденсатором С3 и выв.1. Сверху на R4 напаять блокировочный конденсатор 47...100нФ. :roll:
СпойлерИзображение


P.S Так же не повредит электролитический конденсатор 47...100мкФ. сразу после дросселя и вновь впаянного нуль-резистора. :roll: Ввиду низкого потребления усилителем дроссель можно заменить на резистор 220...330 Ом., дополнительный конденсатор 100мкФ. в таком случае обязателен. :roll:
Подключение земли и питания на оба модуля тоже должно быть по Фэн-шуй.


Вложения:
Update.JPG [15.74 KiB]
Скачиваний: 353

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 18:24:26 
Друг Кота
Аватар пользователя

Карма: 110
Рейтинг сообщений: 6673
Зарегистрирован: Пт авг 14, 2015 14:25:02
Сообщений: 11291
Откуда: Одесса - мама
Рейтинг сообщения: 0
Я имел ввиду, что цифра (Дуина) не причём.

_________________
90% времени уходит на отыскание неисправности,остальное - ждать когда нагреется паяльник! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 18:36:21 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
Именно цифра, и именно по питанию лезет. :wink:

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Пт дек 13, 2019 18:45:28 
Друг Кота
Аватар пользователя

Карма: 110
Рейтинг сообщений: 6673
Зарегистрирован: Пт авг 14, 2015 14:25:02
Сообщений: 11291
Откуда: Одесса - мама
Рейтинг сообщения: 0
Ну так она же не виновата, что её "слышит" микрофонный усилитель! :))

_________________
90% времени уходит на отыскание неисправности,остальное - ждать когда нагреется паяльник! :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Вт дек 17, 2019 23:12:11 
Вымогатель припоя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Вс дек 30, 2012 00:32:06
Сообщений: 542
Откуда: Николаев / Украина
Рейтинг сообщения: 0
Походу замучил я свой микрофонный усилитель....
Сейчас на выходе присутствует только верхняя полуволна звука. Нижняя отсутствует. Делал все как посоветовал korob. Кстати, схема модуля полностью соответствует схеме из даташита (за исключением дросселей), и конденсаторов по-больше стоит...
Разрезал дорожку, впаял резистор поставил на макетку (на ней все тестировал), но вставит неправильно. На выход пошло GND, +3.8 (от аккумулятора) попало на GND, а пин VCC к ардуино. Понял это секунд через пять. Подключил правильно. Протестировал. Звук очень плохой (еще бы! пол волны нет!). Вернул на модуле все как было - не помогло...
Кстати, до этого с помехами боролся диодом + электролитом на 100 мкф. Но небольшое шипение все равно присутствовало.
По поводу модуля: есть смысл пытаться его реанимировать, или он 100% испортился?

_________________
Сделать своими руками всегда интересней чем просто купить и пользоваться


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Глюки записи Ардуино Диктофона
СообщениеДобавлено: Вт дек 17, 2019 23:16:20 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5954
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6638
Откуда: Ливны
Рейтинг сообщения: 0
forfrends писал(а):
но вставит неправильно. На выход пошло GND, +3.8 (от аккумулятора) попало на GND, а пин VCC к ардуино.
MAX4466 уже того... :cry:

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y