Японский WAV-плеер… по-русски
Автор: SSMix В статье описан вариант изготовления простого WAV-плеера на основе известной разработки японца Чана. Исходный проект был доработан с целью введения возможности запоминания последнего проигранного трека, а также перебора треков не только вперёд, но и назад. Для удобства использования и придания разработке законченного вида также добавлен УНЧ с регулировкой громкости и схема зарядки аккумулятора. Встал как-то передо мной вопрос: что подарить 4-х летней племяннице на день рождения. Как известно, лучший подарок – это сделанный своими руками. После некоторых раздумий, учитывая её пристрастие к музыке, выбор пал на японский WAV-плеер от ChaN на ATtiny85 (Simple SD Audio Player with an 8-pin IC https://elm-chan.org/works/sd8p/report.html): В итоге вырисовалась следующая схема: Для питания микроконтроллера DD1 ATtiny85 и карты памяти применён линейный стабилизатор DA3 TPS76330DBVT на 3В с малым падением напряжения. Микроконтроллер и карта памяти включены по схеме “МОНО HF” (16 бит), т.к. в 8-битном варианте “МОНО” заметен довольно существенный шум, особенно в паузах. Резистором R16 можно подобрать такой коэффициент суммирования сигналов с микроконтроллера, при котором будет наименьший уровень шума. После фильтров C7, R10, C8, R11, C11, R14 сигнал поступает на регулятор громкости R12. В качестве УНЧ применена микросхема DA4 ILA7052N (аналог TDA7052) в мостовом включении. Питание на неё подано непосредственно после VT1 от аккумулятора. Типовая выходная мощность по datasheet при напряжении питания 6В и сопротивлении нагрузки 8Ω составляет 1 Вт. Также на плате предусмотрено место для установки DA4’ ILA7050 (аналог TDA7050) на случай проблем с приобретением ILA7052N. Вся схема собрана на односторонней печатной плате размерами 38х69мм под имеющийся корпус. Выключатель питания использован уже имеющийся в корпусе приёмника, и соединён последовательно с выключателем регулятора громкости. Держатель карты памяти microSD использован покупной (самый дешевый): Аккумулятор приклеен к корпусу на двухсторонний скотч. Микроконтроллер ATtiny85 удалось приобрести только в широком SOIC-8 корпусе, поэтому запаян на переходную (зелёную на фото) платку. Слева от микросхемы УНЧ видны два электролита. Они запаяны на плату уже в процессе доработки схемы для устранения просадки напряжения аккумулятора при пиковых уровнях громкости. Забегая вперёд, следует отметить, что звучание плеера получилось на удивление громкое и качественное с присутствием басов, чего не скажешь о многих китайских поделках. Ёмкость добавленных электролитов 1000мкФ+1500мкФ. А это вид спереди: Название Sonya – это никакая не имитация известной фирмы Sony, а имя племянницы. Для программирования микроконтроллера использован самодельный программатор AVRISP MkII (USB) и среда CodeVisionAVR. В PonyProg запрограммировать фьюз RSTDISBL не возможно. На скриншоте ниже показаны программируемые фьюзы: Внимание!!! Вначале прошивается flash-память микроконтроллера прилагаемым hex-файлом, а затем фьюзы! После программирования фьюза RSTDISBL микроконтроллер станет недоступен для внутрисхемного SPI-программирования. Сбросить фьюзы в исходное состояние можно лишь параллельным программатором или, например, таким вот Atmega fusebit-доктором (https://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atmega-fusebit-doctor/): Прошивка для микроконтроллера была доработана. Очень существенным недостатком выявлялось то обстоятельство, что после выключения и включения питания воспроизведение начиналось с самого первого трека на карте памяти. Поэтому в программу внесено сохранение в EEPROM микроконтроллера номера последнего проигрываемого трека и начало воспроизведения при включении питания с него. Согласитесь, что когда на карте памяти записано несколько сотен песен и требуется добраться до нужной, перебирать их все с самого начала как-то неудобно. Также значительное неудобство доставило то, что перебор треков в исходном проекте возможно было осуществлять только вперёд одной единственной кнопкой. Для повторного воспроизведения понравившейся песни приходилось опять-таки последовательно перебирать все несколько сотен треков. Этот недостаток также был исправлен, причём, не внося никаких изменений в схему. Единственная кнопка использована также и для перемотки треков назад при её удержании более 3-х секунд с функцией автоповтора. Т.е. удерживая кнопку нажатой, можно слушать 3-х секундные отрывки каждого трека с перебором их в обратной последовательности. Для изменения исходника проект был собран и скомпилирован в двух средах: AVR Studio 4 (с AVR Toolchain 3.3.0.710) и в WinAVR-20060125. В AVR Studio размер hex-файла прошивки получился несколько меньше, но не удалось добиться работоспособности варианта “МОНО” 8 бит. В WinAVR работоспособны все 3 варианта. В качестве карты памяти были успешно опробованы microSD на 1 ГБ, microSD на 2ГБ и microSDHC на 4ГБ. Файловая система была оставлена стандартная FAT32. Треки записывались в корень карты памяти. Название – не более 8 латинских символов или цифр, т.е. в виде ХХХХХХХХ.wav. Для подготовки mp3 файла к записи на карту памяти использовался бесплатный звуковой редактор Audacity. Порядок действий таков. 1.Перетащить конвертируемый файл в окно программы 2. Выбрать пункт разделить стерео на моно 3. Экспортировать выделенное Название – не более 8 символов, формат WAV 16 bit PCM Очистить все метаданные!!! Если этого не сделать, данный трек воспроизводиться не будет! ОК После конвертации файлов их необходимо записать в корень карты памяти. Измеренный ток потребления плеера при максимальной неискаженной громкости составил около 60…70 мА. При ёмкости аккумулятора 320мА∙ч время непрерывной работы составляет 5…10 ч в зависимости от громкости. Качество звука получилось вполне приличное с присутствием басов. Максимальной громкости с запасом хватает для озвучивания небольшой комнаты. Подбором сопротивления резистора R15 можно ограничить максимальную громкость до появления заметных на слух искажений.
Список литературы: 1) https://elm-chan.org/works/sd8p/report.html. 2) Японский WAV-плеер на ATtiny85. Сергей Рюмик. Радиохобби №6-2011.
Файлы: Все вопросы в Форум.
|
|
|||||||||||||||
|
||||