#1 Вчора 15:03:51

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 166

Логарифмічний DAC

Оце намагаюсь придумати схему, у якої на вході 3 біта, а на виході - 8 рівнів напруги, але розташованих в логарифмічному порядку. Поки що придумалось тільки дешифратор, 8 підібраних резисторів, операційник.. А можна без дешифратора? І номінали резисторів мені не подобаються wink

file.php?id=80099

Остання редакція jokeR (Вчора 15:13:57)

Неактивний

#2 Вчора 16:21:04

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

В логарифмічному за якою основою? Або, іншими словами, яка напруга має бути на виході при вхідному значенні 0 (при наближенні аргумента до нуля логарифм прямує до мінус нескінченності), а яка - при значенні 7?
У вас там ще й двополярне живлення, тобто має бути якесь зміщення.
Має вирішитись звичайною "драбиною" з резисторів, тільки потрібно розрахувати номінали. Так, номінали будуть не з ряду E12. В залежності від потрібної точності може знадобитись підбирати по два паралельно. 
Інший варіант - лінійний DAC та логарифмічний підсилювач, для нього вищеприведені питання також актуальні.

Неактивний

#3 Вчора 16:35:09

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

А, подивився уважніше на схему, ви хочете логарифмічну аттенюацію аналогового сигнала? Logarithmic resistor ladder.

Неактивний

#4 Вчора 16:36:26

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 166

Re: Логарифмічний DAC

Ну я тут прикинув, щоб отримати з цієї схеми діапазон в 1000 попугаїв, треба взяти резистори з ряда 1k; 2,4k; 5,6k; 13k; 33k; 75k; 200k; 470k. Пріємлємо wink
Хочу зробити пищалку, яка уміє видавати сигнал різної гучності wink

https://en.wikipedia.org/wiki/Logarithmic_resistor_ladder - нагуглив таке, але воно виглядає зовсім по наркоманськи. І замість дешифратора аналоговий комутатор не дуже подобається.

Неактивний

#5 Вчора 17:38:19

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeR пише:

Ну я тут прикинув, щоб отримати з цієї схеми діапазон в 1000 попугаїв, треба взяти резистори з ряда 1k; 2,4k; 5,6k; 13k; 33k; 75k; 200k; 470k. Пріємлємо wink
Хочу зробити пищалку, яка уміє видавати сигнал різної гучності wink

Тобто 8 квазі-логарифмічних рівнів гучності, а точність не дуже суттєва? Майте ще на увазі, що вихідна потужність пропорційна квадрату напруги.

jokeR пише:

https://en.wikipedia.org/wiki/Logarithmic_resistor_ladder - нагуглив таке, але воно виглядає зовсім по наркоманськи. І замість дешифратора аналоговий комутатор не дуже подобається.

Навіщо там аналоговий комутатор? У вас же сигнал з DAC в межах від 0 до Vcc, так? 8-бітні семпли беззнакові, нульовому рівню відповідає значення 0x80?
Доречі, хіба DAC5311 з паралельним входом, а не з послідовним? І не дуже зрозуміло, навіщо там R9. Хіба середня точка має бути 7.5 В ?

Ще замість "прямого" регулювання можна регулювати коефіцієнт зворотнього звʼязку в ОУ, змінюючи коефіцієнт підсилення. Але це той же ladder.

Неактивний

#6 Вчора 17:45:30

jokeer
Гість

Re: Логарифмічний DAC

То схема просто для прикладу.
Так, квазилогарифмічні. Монофонічна пищалка, але з регульованою гучністю.

#7 Вчора 18:34:23

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

Якщо клацання через зміну нульового рівня при зміні гучності допустимі, то має вирішитись одними тільки резисторами. Якщо недопустимі, тоді потрібно подумати.

Неактивний

#8 Вчора 19:19:19

jokeer
Гість

Re: Логарифмічний DAC

Думаю, С1 на тій схемі саме для цього.

#9 Вчора 20:00:55

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeer пише:

Думаю, С1 на тій схемі саме для цього.

C1 у зворотньому звʼязку разом з R11 утворює ФНЧ, щоб операційник не заводився на високих частотах. Ніякого розділення по постійній складовій на схемі нема, вона підсилюватиметься так само як і аудіосигнал.

Неактивний

#10 Вчора 20:38:11

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 166

Re: Логарифмічний DAC

Тут мені приходить в голову інвертуючий підсилювач на ще одному операційнику. Але треба мутити 2 полярне живлення.
2025-11-07_19-22.png
Хоча можна замутити штучну землю і заживитись від 12В..
А можна і не паритись, а відфільтрувати постійну складову конденсатором. А перехід між різними рівнями постійної складової придушити ФНЧ.

Неактивний

#11 Вчора 22:07:11

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeR пише:

Хоча можна замутити штучну землю і заживитись від 12В..

А яку вихідну потужність ви хочете, що 12 В потрібно?

jokeR пише:

А можна і не паритись, а відфільтрувати постійну складову конденсатором. А перехід між різними рівнями постійної складової придушити ФНЧ.

Так ФНЧ ж і аудіосигнал придушить. В тому і проблема, що стибок постійної складової містить весь спектр частот, в тому числі звукових.

Неактивний

#12 Вчора 23:41:55

jokeer
Гість

Re: Логарифмічний DAC

Ну просто блок живлення є на 5 або на 12 В wink
Ну, експеримент покаже.

#13 Сьогодні 00:37:29

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeer пише:

Ну просто блок живлення є на 5 або на 12 В wink

Варіантів реалізації є багато. Можна ж поставити і готовий модуль підсилювача з керуванням гучності по I2C, або щось типу PT2257. Але, враховуючи 8-бітний вихід, так розумію, що задача - реалізувати з підручних засобів мінімальною ціною?

Програмно множити семпли на коефіцієнт не варіант, бо повний розмах і так всього 8 біт. Так може взяти 12-бітний DAC, тоді ці ж 8 біт можна регулювати 1:16 програмно без звуження динамічного діапазона.

Неактивний

#14 Сьогодні 09:08:19

jokeer
Гість

Re: Логарифмічний DAC

Так то можна готовий mp3 модуль взяти - по грошах воно не сильно дорожче вийде wink Але ж хоббі, сер wink По перше, цікаво перевірити концепцію, чи справді вона звучатиме краще ніж стандартна пишалка. По друге, цікаво впихнути це в 8-ногий дрібноконтроллер.
Схожий проект я знаходив, звучить він непогано. Там гучність кодується через PWM, через хитрий режим таймера atmega.  Але такого таймера у нас немає wink

#15 Сьогодні 16:14:03

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeer пише:

цікаво перевірити концепцію, чи справді вона звучатиме краще ніж стандартна пишалка.

Що таке "стандартна пищалка" в даному контексті? Динамік, що керується прямокутним сигналом звукової частоти?

"Краще" в яких одиницях виміру? Менше THD? Менше шум квантування? Звісно, 8-бітний сигнал буде "краще" за 1-бітний. Причому не важливо, чи виводяться ці 8 біт паралельно, чи ШІМом, за інших рівних умов.

jokeer пише:

Там гучність кодується через PWM, через хитрий режим таймера atmega.

Скільки користуюсь таймерами атмеги в різних режимах, нічого екзотичного там не помічав. Що ж це за режим такий, що дозволяє комутувати сигнал змінного напрямку?

jokeer пише:

Але такого таймера у нас немає

Так озвучте, що є smile Від того і будем відштовхуватись.

Тут же розгалуження варіантів: якщо забити на побічний ефект від стрибка постійної складової, то реалізується на логарифмічній резистивній драбині без додаткових мультиплексорів. Якщо не забивати, то потрібно комутувати сигнал змінної полярності. Тут потрібен двоквадрантний комутатор. Його можна реалізувати парою мосфетів на кожній лінії. Або одним транзистором в режимі малих сигналів: зменшити сигнал до мілівольтів, комутувати, потім підсилити до потрібного рівня. З малими сигналами можна і voltage controlled gain реалізувати, який керувати тим же ШІМ'ом.

Неактивний

#16 Сьогодні 16:44:56

jokeer
Гість

Re: Логарифмічний DAC

Ну, в atmega таймер вміє рахувати від 0 до N, і в нього є регістр, в який можна записати М і отримати апаратний PWM. А у stc8 таймер рахує від N до 0xffff, і все wink так то вивернутись можна, але результат не дуже подобається.

#17 Сьогодні 17:26:59

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 661

Re: Логарифмічний DAC

jokeer пише:

А у stc8 таймер рахує від N до 0xffff, і все wink

Хіба? З цим сімейством зовсім не знайомий, але при швидкому погляді у 1177-сторінковий даташит зустрічаються згадки про auto-reload register для PWM-таймера.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму