Ви не увійшли.
цікаво перевірити концепцію, чи справді вона звучатиме краще ніж стандартна пишалка.
Що таке "стандартна пищалка" в даному контексті? Динамік, що керується прямокутним сигналом звукової частоти?
"Краще" в яких одиницях виміру? Менше THD? Менше шум квантування? Звісно, 8-бітний сигнал буде "краще" за 1-бітний. Причому не важливо, чи виводяться ці 8 біт паралельно, чи ШІМом, за інших рівних умов.
Там гучність кодується через PWM, через хитрий режим таймера atmega.
Скільки користуюсь таймерами атмеги в різних режимах, нічого екзотичного там не помічав. Що ж це за режим такий, що дозволяє комутувати сигнал змінного напрямку?
Але такого таймера у нас немає
Так озвучте, що є
Від того і будем відштовхуватись.
Тут же розгалуження варіантів: якщо забити на побічний ефект від стрибка постійної складової, то реалізується на логарифмічній резистивній драбині без додаткових мультиплексорів. Якщо не забивати, то потрібно комутувати сигнал змінної полярності. Тут потрібен двоквадрантний комутатор. Його можна реалізувати парою мосфетів на кожній лінії. Або одним транзистором в режимі малих сигналів: зменшити сигнал до мілівольтів, комутувати, потім підсилити до потрібного рівня. З малими сигналами можна і voltage controlled gain реалізувати, який керувати тим же ШІМ'ом.
Ну просто блок живлення є на 5 або на 12 В
Варіантів реалізації є багато. Можна ж поставити і готовий модуль підсилювача з керуванням гучності по I2C, або щось типу PT2257. Але, враховуючи 8-бітний вихід, так розумію, що задача - реалізувати з підручних засобів мінімальною ціною?
Програмно множити семпли на коефіцієнт не варіант, бо повний розмах і так всього 8 біт. Так може взяти 12-бітний DAC, тоді ці ж 8 біт можна регулювати 1:16 програмно без звуження динамічного діапазона.
Хоча можна замутити штучну землю і заживитись від 12В..
А яку вихідну потужність ви хочете, що 12 В потрібно?
А можна і не паритись, а відфільтрувати постійну складову конденсатором. А перехід між різними рівнями постійної складової придушити ФНЧ.
Так ФНЧ ж і аудіосигнал придушить. В тому і проблема, що стибок постійної складової містить весь спектр частот, в тому числі звукових.
Піни ацп до 2 і 3. Коли фізично відключені - працює стабільно. Підключаю - "сніжить".
Підключення як на схемі? У вас TXS0108E не заживлена з 5-вольтового боку (пін VB).
Хіба HX711 не може від 3.3 В працювати? У дисплея теж наче як мінімальне живлення - 3 В. Може той level shifter взагалі не потрібен?
Думаю, С1 на тій схемі саме для цього.
C1 у зворотньому звʼязку разом з R11 утворює ФНЧ, щоб операційник не заводився на високих частотах. Ніякого розділення по постійній складовій на схемі нема, вона підсилюватиметься так само як і аудіосигнал.
Якщо клацання через зміну нульового рівня при зміні гучності допустимі, то має вирішитись одними тільки резисторами. Якщо недопустимі, тоді потрібно подумати.
Ну я тут прикинув, щоб отримати з цієї схеми діапазон в 1000 попугаїв, треба взяти резистори з ряда 1k; 2,4k; 5,6k; 13k; 33k; 75k; 200k; 470k. Пріємлємо
Хочу зробити пищалку, яка уміє видавати сигнал різної гучності
Тобто 8 квазі-логарифмічних рівнів гучності, а точність не дуже суттєва? Майте ще на увазі, що вихідна потужність пропорційна квадрату напруги.
https://en.wikipedia.org/wiki/Logarithmic_resistor_ladder - нагуглив таке, але воно виглядає зовсім по наркоманськи. І замість дешифратора аналоговий комутатор не дуже подобається.
Навіщо там аналоговий комутатор? У вас же сигнал з DAC в межах від 0 до Vcc, так? 8-бітні семпли беззнакові, нульовому рівню відповідає значення 0x80?
Доречі, хіба DAC5311 з паралельним входом, а не з послідовним? І не дуже зрозуміло, навіщо там R9. Хіба середня точка має бути 7.5 В ?
Ще замість "прямого" регулювання можна регулювати коефіцієнт зворотнього звʼязку в ОУ, змінюючи коефіцієнт підсилення. Але це той же ladder.
А, подивився уважніше на схему, ви хочете логарифмічну аттенюацію аналогового сигнала? Logarithmic resistor ladder.
В логарифмічному за якою основою? Або, іншими словами, яка напруга має бути на виході при вхідному значенні 0 (при наближенні аргумента до нуля логарифм прямує до мінус нескінченності), а яка - при значенні 7?
У вас там ще й двополярне живлення, тобто має бути якесь зміщення.
Має вирішитись звичайною "драбиною" з резисторів, тільки потрібно розрахувати номінали. Так, номінали будуть не з ряду E12. В залежності від потрібної точності може знадобитись підбирати по два паралельно.
Інший варіант - лінійний DAC та логарифмічний підсилювач, для нього вищеприведені питання також актуальні.
Ну, все одно це досить серйозний механізм повинен бути.
Так, якщо припустити, що цю силу прикладено до середини площини вікна, десь на відстані півметра від осі обертання, це момент 50 Н*м (5000 Н*см). І це не враховуючи ваги вікна.
Ваш варіант цілком виконує задачу, а більше й не треба.
0.4кПа (із справочника Стеля для розрахунку даху) * 0.25м2 (площа вікна) = 100 кг.
0.4 кПа * 0.25 м² = 100 Н ≈ 10 кгc.
Ще є так звані "авіаційні" розʼєми GX (найменший, здається, GX12 - під отвір 12мм), з різною кількістю пінів. Є і кутові на плату/корпус:
Розʼєм має виступати за межі плати, щоб був доступ через отвір у корпусі, чи як? Поки не дуже зрозумілі вимоги.
Є JST з фіксацією:
Якщо JST здаються недостатньо надійними, то можна хоч DB-9 застосувати:
Фіксація потрібна? Скільки контактів? Монтаж TH чи SMD?
Доволі розповсюджені розʼєми сімейства JST. Калібр/крок підбирайте по габаритах вашої плати.
Або звичайний гвинтовий клемник, якщо передбачається, що у користувача достатньо компетенції не переплутати провода.
Здається, там була несправність, індуктивна котушка хиталась. Для відображення пікселів потрібно було щоб між Vdd та V0 було 19,5в
А в мене було не більше +11в.
Сподіваюсь, ви вірно визначити несправність. Про всяк випадок зверну увагу, що на виході Vee напруга відʼємна відносно Vdd (плюса живлення). Тобто на Vo має бути біля -19.5 В відносно плюса живлення (Vdd). Відповідно, відносно мінуса живлення (Vss) буде приблизно -12.5 В.
Відображення картинки на дисплеї з sd карти,заміна файлів по таймеру.
По суті, три окремі підзадачі:
1. Читати файлову систему на SD-карті.
2. Виводити зображення на дисплей.
3. Програвати аудіо.
Вирішіть кожну з них окремо, потім обʼєднайте. Впевнений, є купа готових бібліотек для цих задач, з прикладами.
Якщо через плату DAC декодера інтерфейса I2S PCM5102A - чи можливо вивести звук на колонку?
З даташита:
Line Level Output Down to 1KΩ
Тобто у неї ліній вихід. Для відтворення на низькоомний динамік потрібен підсилювач потужності. Якщо це якийсь готовий модуль, то підсилювач там уже може бути, а може й ні.
І як завантажити МР3 файли?
Є два варіанта: або декодувати mp3 на самому MCU та видавати PCM по I2S на DAC, або використати апаратний mp3-декодер.
1-плата UNO R3 UNO UNO R3 CH340G + чіп MEGA328P 16 МГц для Arduino UNO R3
Реалізувати декодування jpeg та mp3 на атмезі буде доволі "проблематично"
Крім того, у атмеги нема апаратного I2S, а емулювати програмно - воно того не варте.
3-WTV020 GPD2846A Міні-модуль MP3-плеєра
Наскільки розумію, це самодостатній модуль, який програє фрагменти тільки зі "своєї" SD-карти. Якщо вас це влаштовує, то можна і його застосувати. Тоді ніякий DAC не потрібен. Але зображення тоді доведеться зберігаті на іншій SD-карті (яка в слоті дисплея, мабуть).
4-Плата DAC декодера інтерфейса I2S PCM5102A
Підкажіть чи правильний список комплектуючих?
Якщо у вас окремий самодостатній модуль mp3-плеєра, який тільки керується з MCU, тоді DAC не потрібен. А якщо відтворення звука з MCU, тоді не потрібен модуль mp3.
Може підкажете що для цього потрібно?
Для початку - сформулювати вимоги до виробу. Які функції мають бути реалізовані, у якому вигляді? Ніколи не користувався фоторамками, тому надалі - лише здогадки.
1. Відображення картинки на дисплеї. Зображення буде прошите разом з ПЗ? Чи має завантажуватись із зовнішнього носія, наприклад, SD-карти? Чи має завантажуватись по Wi-Fi? Єдина картинка, чи декілька, які змінюються? Який критерій зміни: по таймеру, "вручну" користувачем?
2. Відтворення аудіо. Пищання мелодії біпером? Чи повноцінне аудіо? Як і для зображення, чи буде це єдиний прошитий фрагмент, чи з файла на зовнішньому носії, чи завантажуватись по Wi-Fi? Які формати файлів та кодеків мають підтримуватись? Які критерії початку/зупинки відтворення аудіо?
Відштовхуючись від вимог уже підбирати компоненти. Контролер - на ваш смак, аби були необхідні інтерфейси (які залежать від вимог). Мабуть же, у вигляді готового модуля. Особисто я спробував би реалізувати на ESP32.
Якщо зберігання файлів на SD-карті, то очевидно, знадобиться модуль SD-карти. Для повноцінного аудіо, можливо, знадобиться окремий I2S DAC. І динамік. Буде якийсь користувацький інтейфейс? Якщо так, то знадобляться або кнопки, або тачскрін.
допомогти розібратись з технічими питаннями
Так в чому, власне, питання? Що саме і як не працює?
Допоможіть з реалізацією
Уточніть, будь ласка: допомогти з реалізацією - це допомогти розібратись із якимись технічними питаннями, чи виконати проект або його частину за відповідну оплату?
В логіку коду не вчитувався, бо він сумбурний і ледь структурований. Сумнівають, що воно навіть скомпілиться. Але як мінімум, у вас неатомарні звернення до змінних, які оновлюються в обробниках переривань. ПЗ для вбудованих систем так не пишеться.
Наскільки критичний той таймінг керування симістором? 10 мкс співрозмірне з часом виконання обробників переривань. Не очікуйте, що та затримка буде завжди 10 мкс. А якщо важлива не тільки тривалість імпульсів, а й тривалість пауз між ними, то тільки analogRead() дає затримку більше 100 мкс.
https://forum.arduino.ua/img/members/2724/2.jpg
Також 5-й пін можна підключити до землі безпосередньо на цьому ж шарі, не через перехідний отвір.
AVR186: Best Practices for the PCB Layout of Oscillators
AVR042: AVR Hardware Design Considerations. 5 Using crystal and ceramic resonators.
прокоментуйте будь ласка розводку під кварц 8мгц + 2 конденсатори. Фото додаю
Працювати буде. Не завадило би зʼєднати корпус кварца із землею.
Треба гарна помехостійкість
Фактичну стійкість покажуть тільки випробування. На EMC впливає не лише розводка під кварц.
Якщо умови задачі дозволяють, розгляньте тактування від внутрішнього RC-осцилятора замість кварца.
Звичайно, обробки, швидше ніж таблична, не існує.
Та не завжди. Залежить від алгоритму та особливостей архітектури. Хоча, спеціалізовані інструкції, по суті, на таких же "таблицях" реалізовані, тільки вони містяться на самому кристалі.
Звісно, в загальному випадку нічого швидше за O(1) не існує, але в конкретних випадках бувають нюанси. В мультизадачному середовищі взагалі, ще питання, що краще: виконати кілька додаткових інструкцій, чи лазити в таблицю через спільний кеш.
Однак, не варто було одразу викладати код. JOKEERу весь кайф обламали.
Вибачте, не хотів. Здавалось очевидним. Але там є ще простір для подальшої оптимізації ![]()