Перейти к содержанию

Функциональный генератор с логарифмической шкалой


Рекомендуемые сообщения

Всем добра!

Надумал на старости сделать себе функциональный генератор с логарифмической шкалой.

Схема стандартная - интегратор, тригер шмидта, преобразователь трегольник в синус.

Плюс компаратор, для получения шим из треугольника.

01.JPG.29c528c57980609ce579d5ec95ae3ee1.JPG

Весь мой опыт работы с приборами говорит мне, что с логарифмической шкалой работать намного удобнее.

Пока не решился что использовать в качестве регулирулятора.

Вариант 1 - PGA2320.

Этот вариант проще по схеме и настройке.

Требуется применения микроконтроллера.

Шкала частот будет 1/3-октавная.

диапазон частот - 4 - 5 декад. 

Аттенюатор  ступенями через 0,5 дБ.

Ослабление сигнала 0 - -90...100 дБ

Вариант 2 - SSM2164.

Схема намного сложнее и требует калибровки.

А также требуется применения термокомпенсатора. Но этот вопрос мной решён уже как лет 15 назад(даже собирался за это схемное решение слупить деньжат с Analog Devices. Но не натех напал).

Не исключает применения микроконтроллера, но можно обойтись и потенциометрами для настройки частоты и уровня сигнала.

Позволяет плавное изменения частоты и уровня сигнала.

диапазон частот - 4 - 5 декад. 

Аттенюатор  ступенями через 0,5 дБ.

Ослабление сигнала 0 - -90...100 дБ

На этой микросхеме уже делал генератор синуса и аттенюатор.

 

Для обоих вариантов понадобится сделать частотомер.

Но если не требуется высокая точность, то для SSM2164 можно сделать шкалу на потенциометр в 270 градусов. А если применить многооборотный потенциометр, то любой стрелочный микроамперметр.

Остаётся вопрос с преобразователем треугольника в синус.

Я делал  по этой схеме, которая позволяет вписаться в 1% нелинейных искажений.

Может кто делал подобные преобразователями, но проще.

242460402__2022-03-20_015426.png.d88bffcffe2a4f30d9b9b7b66653c3dd.png

Готов выслушать любые замечания и предложения.

Если возникнет интерес к данной теме, готов поделиться схемными решениями.

 

Вот ссылки на PDF.

PGA2320

SSM2164

Есть ещё мысль сделать милливольтметр с логарифмической шкалой и дмапазоном в 60 - 80 дБ. Но это уже другая тема.

Ссылка на комментарий
Поделиться на другие сайты

Набросок генератора на SSM2164

Вход Ctrl_Freq - управление частотой сигнала (0 -  4 В )895392424__2022-03-20_084311.png.b1ff61fe4b345f83abb671b65ae57972.png

Номиналы элементов пока не все точны. И референсы тоже не расставлял, т.к. будут ещё изменения.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

7 часов назад, formvit сказал:

Для обоих вариантов понадобится сделать частотомер.

Зачем тогда логарифмическая шкала???  И где эта шкала будет???

Ссылка на комментарий
Поделиться на другие сайты

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

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

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

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Делал подобный генератор ЗЧ для установки внутреннего трения. Точно помню, что идею кусочно-линейного аппроксиматора синуса заимствовал из азбуки Т-Ш. Однако задатчиком частоты служил 20-битный составной ЦАП на 572-й серии, и уже в "цифре" можно было задавать любой закон управления. 

image.png.9530c956a0a2eacc3ede92ae9476f98c.png

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

27 минут назад, 100482 сказал:

Зачем тогда логарифмическая шкала???  И где эта шкала будет???

Логарифмическая шкала нужна чтоб сделать управление частотой сигнала и амплитудой одним потенциометром по всему диапазону.

Шкалу можно нанести на лимб потенциометра с углом в 270 гр.

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

293883910__2022-03-20_103506.png.ee21acd56845dc254e3b7d54129148d2.png

28 минут назад, iddqd2001 сказал:

Точно помню, что идею кусочно-линейного аппроксиматора синуса заимствовал из азбуки Т-Ш

Я помню, свою схему преобразователя я взял из журнала Радио лохматых годов в рубрике "За рубь ежом".

По первому я тоже делал аттенюатор на двух ЦАП 572ПА1. Первый цап делал ступени по 6 дБ, а второй по 0,1 дБ.

Такая дискретность нужна была для разработки медицинского аудиометра. Очень специфическая область медицины.

Но когда появилась SSM2164, достаточно стало одного 10-битного ЦАП, но использовали 12-битный. Ну и алгоритм управления частотой и амплитудой резко упростился, но схема усложнилась.

А использование следящего интегратора стоящего на схеме перед SSM2164, позволило устанавливать новое значение аттенюации, миную все промежуточные значения, а он сам плавно наращивал или ослаблял уровень сигнала до нужного значения.

117169079__2022-03-20_104717.png.cec2cdc3faf26330257413ce12c6493c.png

 

Ссылка на комментарий
Поделиться на другие сайты

В первом своём сообщении, я написал для SSM2164 "Аттенюатор  ступенями через 0,5 дБ".

Не так, ступени зависят от разрядности ЦАП или возможностей потенциометра.

Если взять весь диапазон аттенюатора в 100 дБ, то 12-битный ЦАП позволит иметь ступени в 0,025 дБ.

Только что, LazyEd сказал:

Сам не делал

Да, видел разные схемы в инете.

Но интересен опыт уже опробовавших людей.

Ссылка на комментарий
Поделиться на другие сайты

Да, и забыл написать, что у SSM2164 жуткая зависимость коэф. ослабления от температуры. Буквально от дунавения на микросхему всё плывёт.

08.JPG.ee41228135839cc4ddc60f54a287e2cf.JPG

Analog Devices предлагает термокомпенсацию терморезистором.

09.jpg.1810ae640539fe54bef47580af4604f0.jpg

Пробовал - лучше, но тоже фигово.

Запустил себе ежа под череп с мыслью, чтоб микросхема сама себя термостабилизировала.

пару недель мучений и родилась такая схема. Синлал Ref должен подаваться на вход регулирующего элемента(ЦАП или резистор).

07.JPG.f92f7dc71ce0834471fdc6c9e6777a6c.JPG

Результат превзошёл все ожидания - даже касание паяльником микросхемы не нарушала установленного ослабления.

Ссылка на комментарий
Поделиться на другие сайты

3 hours ago, formvit said:

микросхема сама себя

Отличная идея! Только, думаю, выбор ОР482 неудачен. В схеме опорное 3В делится до 30мВ, а у этого операционника входное смещение плавает 10мкВ/град. То есть оригинальня нестабильность 3300 ppm/C улучшилась всего до 330 ppm/C.

Ну, можно же найти ОУ и с 0.1мкВ на градус. Мы, перфекционисты, обязательно бы использовали именно такой ОУ!

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Yurkin2015 сказал:

Ну, можно же найти ОУ и с 0.1мкВ на градус. Мы, перфекционисты, обязательно бы использовали именно такой ОУ!

Нет. В термокомпенсаторе можно использовать любой подходящий ОУ.

6 часов назад, formvit сказал:

А использование следящего интегратора стоящего на схеме перед SSM2164, позволило устанавливать новое значение аттенюации, миную все промежуточные значения, а он сам плавно наращивал или ослаблял уровень сигнала до нужного значения.

117169079__2022-03-20_104717.png.cec2cdc3faf26330257413ce12c6493c.png

Использование следящего интегратора совсем необязательно. Я писал, чтто это было нужно для медицинского аудиометра. Для фунционального генератора не критично, если частота или аттенюатор будет переключаться скачком.

Выходной усилитель собираюсь сделать так.  Установка следящий интегратора под вопросом. 

1166751234__2022-03-20_170931.png.cbfae0332105e1b61c8a29542ec32d13.png

Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, formvit сказал:

Вариант 1 - PGA2320.

Этот вариант проще по схеме и настройке.

Требуется применения микроконтроллера.

Шкала частот будет 1/3-октавная.

Мной была допущена грубейшая опечатка.

Шкала будет ступенчатая с шагом в 1/12 октавы.

 

Ссылка на комментарий
Поделиться на другие сайты

В 20.03.2022 в 10:35, formvit сказал:

Шкалу можно нанести на лимб потенциометра

и это

В 20.03.2022 в 01:59, formvit сказал:

Для обоих вариантов понадобится сделать частотомер

Для тех кто не понял, частотомер показывает частоту и как бы никакого лимба, шкалы вааще не нужно.

Одно из двух здесь лишнее.

И какая точность будет установки по этому лимбу будет?

Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, 100482 сказал:

Для тех кто не понял, частотомер показывает частоту и как бы никакого лимба, шкалы вааще не нужно.

Опыт работы с приборами Bruel & Kjaer убедил меня в удобстве логарифмических шкал и дублировании цифрового частотомера с лимбом на регуляторе.

Но не навязываю никому своего мнения.

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, 100482 сказал:

И какая точность будет установки по этому лимбу будет?

Точность - отношение ошибки к измеряемому сигналу.

А по сему она будет постоянна во всём диапазоне регулировки и зависит от конструкции самого регулятора.

По лимбу быстро переходите к нужной частоте, а далее, (можете сделать две ручки - грубо и точно) по частотомеру устанавливаете частоту с нужной Вам точностью.

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Это тот самый проект, просто следующий этап задачи - реализовать чтение уже записанных файлов на стороне МК.
    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
×
×
  • Создать...