Відповісти

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

Назад

Огляд теми (нові повідомленні вгорі)

dimich
Сьогодні 17:26:59
jokeer пише:

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

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

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

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

dimich
Сьогодні 16:14:03
jokeer пише:

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

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

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

jokeer пише:

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

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

jokeer пише:

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

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

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

jokeer
Сьогодні 09:08:19

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

dimich
Сьогодні 00:37:29
jokeer пише:

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

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

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

jokeer
Вчора 23:41:55

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

dimich
Вчора 22:07:11
jokeR пише:

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

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

jokeR пише:

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

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

jokeR
Вчора 20:38:11

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

dimich
Вчора 20:00:55
jokeer пише:

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

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

jokeer
Вчора 19:19:19

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

dimich
Вчора 18:34:23

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

jokeer
Вчора 17:45:30

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

dimich
Вчора 17:38:19
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.

jokeR
Вчора 16:36:26

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

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

dimich
Вчора 16:35:09

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

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