BardinGuitars

BardinGuitars 

НАВИГАЦИЯ👉👉👉

146subscribers

319posts

Showcase

26
goals6
$118.73 of $216 raised
Розыгрыш Universal audio volt. Скидываем по 725, не больше, не меньше. Скидывать можно несколько раз, смотрите условия.
$223.32 of $447 raised
На выздоровление. https://t.me/bardinssm/459
$28.29 of $298 raised
Призовые на 8 контеста. Минимальная сумма 100р. Потолка нет просто ставлю 20к, какая сумма наберется такая и уйдет победителю.
$14.89 of $14.9 raised
Пересыл стоек.
$101.61 of $97 raised
Уже Разыграны! HIFIMAN HE400se
$29.78 of $29.8 raised
На призовые 7 контеста. Минимальная сумма 100р. Потолка нет, какая сумма наберется такая и уйдет победителю.

Разбираемся с ЦАП ESP32. (PUMM2 2/?)

Выбрал двухканальный осциллограф, ориентируясь на его
доступную цену и возможность работы от батареек. Это особенно важно для моих
высоковольтных проектов, где без развязки не обойтись. Мой выбор пал на FNIRSI
1013D. Пока мой осциллограф продается, нечего без дела сидеть. Если вам нужен мой осциллограф авито или вы хотите просто поддержать.
От АЦП нам нужны тестовые сигналы.
Эти сигналы могут быть самыми разнообразными, в зависимости от решаемых задач. По сути они представляют собой любые сигналы, которые могут дать нам нужную информацию. Чаще всего используется зондирующий импульс. Потом одиночная частота заданной амплитуды. Формы этих сигналов могут быть самыми разными: синусоида, пила или меандр. Также известен свип-сигнал, который обычно представляет собой синусоиду, но не обязательно. Также известны различные виды шумов, такие как розовый и белый. Существует также сложный шум, который может дать много информации об испытуемом объекте. Например, вот такой сложный шум: 
BardinGuitars
test.wav
0:00
0:02
Программировать такой сложный шум нецелесообразно, поэтому
мы будем использовать возможность воспроизведения звуковых файлов. Однако простые сигналы хотелось бы создать самостоятельно. Самый простой способ — воспользоваться онлайн-сервисами для генерации матрицы точек и попросить микроконтроллер воспроизвести их как ноты. Это выглядит примерно так:
Можно описать математически, чтобы процессор высчитывал последовательность выдаваемых напряжений. Понятно, что мы получаем не звуковой сигнал, а электрический, но описывать его как звуковой проще и понятнее. Хорошо, что у ЕСП32 два вычислительных ядра, и мы можем использовать одно для расчетов, а второе — для воспроизведения. Так по умолчанию мы получаем красивые синусоиду, меандр и пилу. 
Есть одна проблема: выдаваемая частота не совпадает с заданной. Вместо 1 кГц получается 1090 Гц, а вместо 100 Гц — 111 Гц. Пока непонятно, в чем дело. Но цифры постоянные, а значит, это не сбой или помехи, и, что хорошо, стабильный клок-генератор в наличии. После поиска в интернете я нашел следующую информацию: 
 Частота определяется по формуле:
fcw = (RTC8M_CLK / (1 + RTC_CNTL_CK8M_DIV_SEL)) * (SENS_SAR_SW_FSTEP / 65536)
Из этой формулы становится ясно, что переключение частот происходит с некоторыми шагами. По умолчанию этот шаг составляет примерно 122 Гц, но его можно разделить. Максимальный делитель — 7, что дает минимальный шаг примерно 15,3 Гц. Скорее всего, это связано с тем, что АЦП использует встроенный клок-генератор всего на 8 МГц. Однако это не беда, можно спокойно получить и ровные 100 Гц, и 1000 Гц, и любую другую частоту, просто нужно будет задавать ее с небольшим отклонением. Например, для 100 Гц не 100, а 89. Зависимость нелинейная, потребуется калибровка. 
У нас есть АЦП, но возможностей его гибкого использования не так много. Первой мыслью было отказаться от встроенного АЦП и использовать внешний генератор сигналов. DSP, конечно, ставить сюда — это бред, но есть маленькие специально заточенные микросхемы-модули.
Потом взял себя в руки и подумал, что нужно попытаться выжать максимум из ЕСП32 и своих знаний по программированию. Это будет челлендж, а то неинтересно. Хочу придерживаться изначального концепта: максимум прошивки, минимум деталей и доступная стоимость.
Второе, что придумал, — это сделать измеритель частоты,
который будет слушать исходящий сигнал и подправлять его на ходу, без
калибровки. Вовремя понял, что это слишком грубый вариант и очень затратный.
Нужно будет подавать сигнал, определять его частоту, корректировать, перепроверять, и так, пока не будет достаточно точно. Нужно будет реализовать ПИД-регулятор, настроить его. И при этом еще параллельно делать замер датчика. Много времени, большой код, большая загрузка по вычислениям и, возможно,
по времени тестирования датчика. Ужас! Фу!
Вернулся к мыслям о калибровке: один раз провел, записал в
память, потом подставляй перед «воспроизведением». Идеальный пока что вариант.
Чуть попозже придумал еще немного идеальнее. Ведь для того, чтобы сверяться с таблицей корректировки, процессору все равно придется тратить несколько тактов на это. И я подумал, что нам в принципе не надо идеально подавать частоту, надо только знать, что мы подавали. А уже при вычислениях просто подставлять верные значения из калибровочной таблицы. Легкая и быстрая работа нашего устройства в обеспечивается таким методом. Пока на нем остановлюсь. Есть только одно «но», чтобы эта таблица подходила ко всем экземплярам ЕСП32. Но я уже почти придумал, как можно будет пользователю самому сделать несложную калибровку по небольшим диапазонам. Когда реализую эту идею, покажу результат, и двинемся дальше.
Следующим, наверное, будет замер емкости. А это уже новая фишка, первый прибор этого не умел. А может и нет. Посмотрим.
Subscription levels5

Поддержка - ☆

$1.48 per month
Бонус - Доступен контент ☆

Поддержка - ☆☆

$4.5 per month
Бонус - Доступен контент ☆☆. Участие в розыгрыше. Скидка на звукосниматели и другую продукцию.

Поддержка - ☆☆☆

$7.5 per month
Бонус - Доступен контент ☆☆☆. Участие в розыгрыше. 1 личная консультация в месяц. Скидка на звукосниматели и другую продукцию.

Поддержка - ☆☆☆☆

$14.9 per month
Бонус - Доступен весь контент. Участие в розыгрыше. 2 личных консультаций в месяц. Скидка на звукосниматели и другую продукцию.

Поддержка - ☆☆☆☆☆

$75 per month
Бонус - Доступен весь контент. Участие в розыгрыше. Ответы на ваши вопросы. Скидка на звукосниматели и другую продукцию. Сведение одного трека.
Go up