+7 495 120-13-73 | 8 800 500-97-74

(для регионов бесплатно)

Содержание

Металлоискатель Clone PI AVR (Клон ПИ АВР) своими руками — Мир искателей

Clone Pi AVR это упрощенная и усовершенствованная версия, популярного у радиолюбителей металлоискателя Clone PI. Так как при изготовлении металлоискателя Clone PI у многих возникали трудности с приобретением АЦП, то в новой версии металлоискателя Клон АВР, Пик контроллер и внешнее АЦП, были заменены на доступный микроконтроллер фирмы AVR с внутренним АЦП Atmega8.

Схема металлоискателя Клон ПИ АВР

А также схема Clone PI AVR с указанными напряжениями постоянного тока

В интернете есть несколько вариантов разведения печатной платы для металлоискателя Клон Пи АВР. Ниже приведена фотография вполне приличной версии печатной платы .

Плата металлоискателя Clone PI AVR

В этом архиве вы можете скачать: разведенную печатную плату в формате *.lay, схему, прошивку и фотографии этапов изготовления платы металлоискателя.

Один из вариантов реализации платы металлоискателя Клон АВР:

Для прошивки микроконтроллера, биты конфигурации необходимо расставить следующим образом:

Металлоискатель Clone PI AVR имеет средний уровень сложности изготовления, из за наличия в схеме металлоискателя, программируемого микроконтроллера. Но в остальном его изготовление, не должно вызвать особых трудностей.

Катушка для металлоискателя Clone PI AVR

С металлоискателем Clone PI AVR, можно использовать катушки от импульсных металлоискателей Tracker и Кощей, а также большие глубинные рамки.

Наиболее универсальные диаметры катушки 20-30 см. Такие катушки будут иметь глубину обнаружения 1 – 1,5 метра и сохранят чувствительность к небольшим металлическим объектам (монеты, украшения и т.д.).

Для изготовления универсальной поисковой катушки, вам необходимо на оправку 26-27 см, намотать 23-24 витка обмоточного эмаль провода диаметром 0. 7-0.8мм. В качестве оправки можно использовать кастрюльку подходящего диаметра, или изготовить оправку как на фото ниже:

Для изготовления оправки, берем лист фанеры или ДСП. На нем, при помощи циркуля, чертим круг нужным нам диаметром. Затем берем шурупы или саморезы, одеваем на них кембрики . Шурупы с кембриками вкручиваем по периметру нашей окружности, и получаем оправку для намотки катушки.

Катушка мотается в навал. Затем витки плотно сматываем между собой, скотчем, или изолентой. К концам обмотки подпаиваем     провод 2*0.75 мм в изоляции.

Подключаем нашу катушку к плате металлоискателя Клон Пи АВР (Для подключения лучше использовать разъем) и проверяем ее работоспособность. Такая катушка подойдет для испытаний и экспериментов, но для реальной работы, ее следует защитить от ударов, влаги и т.д.

Для этого катушку необходимо закрепить в подходящий пластиковый корпус. Мы в своих конструкциях, используем вот такой универсальный корпус.

Катушка закрепляется внутри корпуса, при помощи термоклея, и затем корпус катушки заклеивается дихлорэтаном, или скручивается нержвеющими саморезами.

Для получения подводной катушки, корпус лучше заполнить эпоксидной смолой. Это уменьшит ее пловучести, и предотвратит поподание воды во внутрь корпуса.

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

А в статье про глубинные металлоискатели описаны способы изготовления глубинных рамок для импульсных металлоискателей.

Прошивки для металлоискателя Clone PI AVR:

  1. Прошивка версии 1.7.3 для ATmega8 — CPI_PRG_173_AVR
  2. Прошивка версии 1.7.3A для ATmega8, с измененным алгоритмом автоподстройки грунта — CPI_PRG_173a_AVR
  3. Прошивка версии 1.8.0 для контроллера ATmega8 — CPI_PRG_180_AVRИзменения:
    • Громкость озвучки кнопок приведена в соответствие с основной громкостью.
    • Автоподстройка грунта (Ground adjust) теперь работает в 3-х режимах — adaptive, fixing и off(static).
    • Защитный интервал теперь может подбираться при включении (auto), использоваться запомненное значение (last), или выбираться пользователем принудительно в диапазоне 2 … 80.
    • Добавлен параметр Volume raise, позволяющий уменьшать громкость в начале шкалы (при слабых откликах). Это улучшает устойчивость схемы при низком пороге.
    • Убран режим двойной мощности, показавший свою практическую бесполезность.
    • При включённой подсветке на индикатор выводится буква «L» (Light).
  4. Прошивка версии 1.8.1 для контроллера ATmega8, в прошивки исправленны ошибки и снижено энергопотребление CPI_PRG_181_AVR

Заключение: металлоискатель Clone PI AVR это проверенный и популярный среди радиолюбителей и поисковиков металлоискатель. Он имеет сопоставимую с заводскими металлоискателями глубину поиска и полностью открытую схему и прошивку для его изготовления. К недостаткам металлоискателя следует отнести завышенное энергопотребление.

Обзор готовой платы металлоискателя Клон ПИ АВР

Видео запуска металлоискателя Clone PI AVR собранного своими руками, и возможности его настройки:

Как собрать автозапуск для генератора.

Автоматика для генератора

Как собрать самому АВР (автоматику для генератора).

АВР «Портофранко» — модельный ряд —>>

АВР «Контакт» — Модельный ряд— >>

АВР «Master-Hand» -Модельный ряд—>> Недорого, надежно!

Контроллеры для самостоятельной сборки АВР—>>

Продолжаем цикл статей на тему автоматики для бензиновых, дизельных или газовых генераторов.

 В этой небольшой статье мы расскажем  как самому собрать АВР — автозапуск для генераторов и что для этого требуется.

Итак по порядку, для того чтобы собрать самостоятельно автоматику для управления генератором нам понадобятся:

1)      Контроллер. Это основная и самая дорогая часть АВРа.  Посмотреть описание…

 

2)      Контакторы. Силовая часть устройства. Посредством контакторов происходит переключение нагрузки с города на генератор и наоборот.

3)      Бокс подходящих размеров.

4)      Блок питания. Мы рекомендуем приобрести импульсный блок питания на 2-3 А .

5)      Трехпозиционный переключатель режимов работы.

6)      Кнопка – грибок .

7)      Минимальный набор инструмента,  материалов, пару часов свободного времени немного умения и желания самому собрать этот самый АВР.

Теперь по пунктам.

1)      Контроллер. Мы взяли контроллер запуска генератора  АВР «Контакт ЕС» стоимостью 1250 гр.  Отличительной особенностью донного контроллера является то, что у него предусмотрено инверсное управление воздушной заслонкой. Данная функция управления воздушной заслонкой особенно важна для генераторов, на которых установлена механическая заслонка (не вакуумная).

2)       Контакторы. Можно взять любые, но мы остановили свой выбор на контакторах украинского производства — «ПРОМФАКТОР» (PF) , отличное соотношение цена-качество. И, кстати, советуем отнестись к выбору контакторов  ответственно, так как через данное устройство будет проходить вся нагрузка. Стоимость контакторов «PF» на 32 А 2*200гр+ электромеханическая защита 115 гр. Итого 515 гр

3)      Щит АВРа. Тут подойдет любой электрический щит подходящего размера. Главное чтоб он не был слишком тесным. Средняя стоимость приличного электрического щита в районе 150-250 гр.

4)       Блок питания.  Необходим для поддержания напряжения  АКБ генератора в необходимых пределах, так как при долгом простое генератора происходит саморазряд батареи. К примеру, у кислотных батарей саморазряд составляет порядка 1% в сутки, то есть, за месяц простоя батарея просядет на 30 %. И, кроме того, импульсный блок питания позволяет регулировать выходное напряжение. Цена на такой БП в районе 120-130 гр.

5)      Переключатель режимов работы необходим для выбора режима работы генератора. В нашем случае автоматика управления генератором  АВР «Контакт ЕС» имеет три основных режима: «АВТО», «ЭКОНОМ», «РУЧНОЙ». В режиме «авто» генератор работает в полном автомате, пока в баке генератора присутствует топливо. В режиме «эконом» генератор будет работать час через час, то есть, час работает — час отдыхает, что увеличивает время работы генератора в два раза. В «ручном» режиме можно запускать генератор даже при наличии электричества в основной сети. 40 гр.

6)      Кнопка-грибок необходима для экстренной остановки генератора или же для запрета автоматического пуска генератора в случае пропадания городского электричества. 40 гр.

7)      Инструмент. Основным инструментом в данном случае  являются ваши прямые руки, а также дрель

плоскогубцы, набор отверток, молоток… В общем то, что есть практически в каждом доме. Также понадобятся метизы ( болты, саморезы, метр провода для обвязки АВРа) . 100 гр.

Итого: 2265 гр.

Итак, для начала нам необходимо все это добро разместить в щитке таким образом, чтобы в дальнейшем, при подключении коммутирующих проводов, как силовых так и контрольных, нам было удобно работать и чтобы ничего не мешало друг другу.

Следующим важным шагом является правильная коммутация контроллера и силовой части АВРа — контакторами.  Собираем все согласно прилагаемой схеме.

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

electro-city.net.ua

После окончательной сборки проверяем всю систему автозапуска генератора  на работоспособность. В случае отсутствия ошибок в монтаже, можно приступить к следующему этапу — подключению АВРа к генератору.

 

Примечание. Статья носит ознакомительный характер и предназначена в первую очередь для электромонтажников-инсталяторов.

Удачи Вам.

Сергей.  http:// electro-city.net.ua

 

AVR ATMega16 Advance Development DIY Kit (с периферийными модулями ввода / вывода), 16 Кб, 1899 рупий / комплект

AVR ATMega16 / 32 Advance Microcontroller Development DIY Kit

Начните свои исследования с использования EnGeniusLab ATmega16 / 32 Сделайте это САМ с помощью Изучите плату ATmega16 / 32 с множеством удивительных встроенных функций. Мы создали этот набор для самостоятельной сборки, чтобы сделать мощные микроконтроллеры AVR более доступными для различных устройств ввода и вывода. Этот набор для самостоятельного изготовления специально разработан для пользователей всех возрастных групп, которые хотят изучить свои навыки в области встроенной и цифровой электроники с помощью практических знаний для всех видов творческих энтузиастов, от маленьких детей до отраслевых экспертов.Наш комплект очень прост в освоении, программировании и реализации, который поставляется в комплекте с различными датчиками (IR, LDR, Sound), двигателями, платой контроллера Atmega16, USB-программатором, реле, модулем DTMF, TTL, ЖК-дисплеем, корпусом клавиатуры и проводами с намного больше. Практически все, что вам нужно для сборки, программирования, программирования и выполнения программы. Основная цель нашего продукта — направить встраиваемый мир на виртуальный проект и практическое внедрение в реальном времени ручных встроенных знаний и группового обучения основам цифровой электроники.

Мы стараемся создать такой пакет предложений для наших покупателей, которые действительно хотят исследовать встроенный мир с помощью своих кодов. В нем есть все наиболее часто используемое оборудование и устройства во всех экспериментах и ​​практических занятиях, что также полезно для создания проектов с обучением.

Поддерживаемое программируемое устройство

: —
Все почти все устройства ввода и вывода, поддерживаемые платой, такие как инфракрасные, звуковые, ультразвуковые, LDR, голосовые, температурные, влажностные, датчики пульса и сердцебиения.
Он также поддерживает устройства протокола связи, такие как клавиатура ПК, GPS, GSM, Bluetooth, RF_ID, RF wireless, ZigBee, IOT.
Другие устройства, такие как переключатели, клавиатура, двигатели постоянного тока, шаговые двигатели и серводвигатели, DTMF, светодиодные и светодиодные матрицы, зуммер, буквенно-цифровой ЖК-дисплей и графический ЖК-дисплей и т. Д.


Дополнительная информация

Код товара B01N7OABC4
Срок поставки 1 день
Сабвуфер-ресивер

Лучшие настройки | REL Acoustics

Как настроить приемник или процессор для оптимальной работы

Для правильной настройки кинотеатра необходимо использовать пульт дистанционного управления, чтобы войти в несколько пугающий мир меню настройки типичного аудио-видеоресивера и перемещаться по нему. Проблема в том, что никто не пытается научить клиентов, что делать и почему. Ниже мы попросили трех наших более опытных рабочих на местах описать, что они делают, когда идут в магазин, чтобы помочь нашим дилерам улучшить звук в кинотеатре. И заметьте, ни разу никто не потянулся за руководством пользователя или программным обеспечением для коррекции микрофона и помещения.

Вот Пол, Клей и Джеррад: Задача выглядит простой, но как только вы погрузитесь в нее, вы поймете, насколько вы действительно можете улучшить свою систему, если сделаете это, выполнив следующие простые шаги.Мы рекомендуем не соглашаться на программное обеспечение по умолчанию, встроенное в AVR, а лучше настроить систему на слух и потратить время на то, что вы считаете очень важным для себя, — на домашние развлечения.

Основы:

При настройке REL с подключением высокого уровня мы всегда рекомендуем сначала настроить кроссовер и усиление для оптимизации для 2-канальной системы перед настройкой . 1 / LFE.

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

A. Для смешанных 2-канальных систем и систем домашнего кинотеатра мы рекомендуем подключать как высокоуровневый (низкий уровень, когда высокий уровень НЕ возможен, например, при использовании активных громкоговорителей), PLUS .1 LFE.

  1. Высокоуровневое соединение предоставит вам полнодиапазонный звук, который, по предположениям Dolby Labs, будет в вашем кинотеатре.
  2. Канал .1 / LFE предназначен для предоставления специальных эффектов, необходимых для сцен большего размера; динамические, напыщенные эффекты, которые мы все жаждем при просмотре фильма John Wick .

Здесь важно отметить, что если вы настаиваете на запуске встроенного программного обеспечения Room Correction, крайне важно ОТСОЕДИНИТЬ кабель высокого уровня перед этим, оставив только соединение .1 / LFE. Для этого шага мы рекомендуем установить громкость ресивера на 1/3 от максимального уровня, так как программа DSP проинструктирует вас отрегулировать его во время калибровки в зависимости от вашей комнаты.

Узнайте больше о настройке REL с автокоррекцией в нашем видеоуроке.

Основы, часть II:

Для простоты мы сосредоточимся на использовании установки Marantz / Denon.Другие производители работают аналогичным образом с немного другими структурами меню, но достаточно близкими, чтобы использовать это руководство. Также стоит отметить, что ни Marantz, ни Denon не допускают использования по-настоящему ПОЛНОГО ДИАПАЗОНА любого из ваших динамиков в театральных режимах. Yamaha, Arcam, Onkyo и другие по-прежнему разрешают работу в полном диапазоне при использовании в кинотеатре (за исключением каналов Dolby Atmos, которые ограничены лицензией).

Ресивер Marantz SR6014 общего класса A / B
Шаг 1:

Определите, какой у вас класс усилителя / AVR.Это важный шаг, поскольку он определяет способ подключения кабеля высокого уровня. Класс A / B, когда-то распространенный, во многих случаях уступает место классу D, который требует НЕ подключать черный провод заземления к входу высокого уровня, поставляемому REL. Вместо этого создается сигнальная земля при подключении соединительного кабеля .1 / LFE, как это происходит при использовании любой комбинации ресивер / сабвуфер для использования в театре.

ProTip: Самый простой способ отличить приемник класса D? Поднимите трубку. Если он тяжелый, это, скорее всего, класс A / B, если он легкий, то это, безусловно, усилитель класса D, поскольку они работают по другому принципу и не требуют тяжелых силовых трансформаторов для усиления звука.

После определения класса усилителя / AVR обратитесь на веб-сайт REL для получения правильной схемы подключения. Здесь вы можете найти инструкции по подключению к распространенным типам усилителей.

REL Подключен High Level к передним левому и правому динамикам на ресивере класса A / B
Шаг 2:

Определите размещение динамика и сабвуфера и подключите REL в соответствии с типом вашего усилителя / AVR. Наше руководство по размещению динамиков может быть полезным инструментом на этом этапе процесса настройки.

  1. Подключите к сети как высокоуровневый, так и .1 / LFE
  2. Подключайте высокий уровень только для вашего центрального канала (для удобства вы можете подключить красный и желтый провода к +, а черный провод к — на сзади вашего центрального канала с помощью кабеля верхнего уровня)
  3. Подключите верхний уровень и .1 / LFE для ваших тылов.

Узнайте, почему мы рекомендуем подключаться как к .1 / LFE, так и к высокому уровню одновременно.

Шаг 3:

Настройка AVR / предусилителя

1.В меню AVR / Preamp установите для основных левого и правого громкоговорителей значение Large. Для ресиверов Denon и Marantz этот параметр не позволяет процессору / ресиверу домашнего кинотеатра посылать сигнал полного диапазона в сеть, поскольку он позволяет динамикам расширяться только до 40 Гц. Производители, чьи приемники ДЕЙСТВИТЕЛЬНО допускают это, будут генерировать заметно более глубокие и глубокие басы при использовании соединения REL High Level.

Установите передние, центральный и объемный динамики на большие

2. В меню AVR / Preamp также установите для центрального канала значение Large по тем же причинам, что и выше.

3. Выберите сабвуфер Да.

Активируйте сигнал LFE, установив для сабвуфера значение да или количество сабвуферов, подключенных к вашей системе.

4. Также установите большие задние части.

5. Перейдите к разделу «Кроссоверы» и убедитесь, что передний, центральный и объемный звук установлены на минимально допустимые значения… 40 Гц — это наименьшее значение, которое Marantz / Denon позволяет вам использовать.

Установите кроссовер ваших динамиков на как можно более низкое значение, в данном случае 40 Гц.
Шаг 4:

Теперь пора сосредоточиться на некоторых настройках, которые могли пугать вас в прошлом (они всегда пугали нас).Уровни и задержки. Но не думайте, ведь именно здесь может происходить волшебство, так что получайте удовольствие, играя в этом мире.

1. Используя наш пример Marantz / Denon, установите расстояние 12,0 футов для передних левого и правого динамиков. Любое отклонение от этого значения уменьшит или увеличит вашу производительность (опять же, няни в этих компаниях полагают, что вы не можете принимать решения самостоятельно, поэтому они меняют уровень, когда вы регулируете задержку. или измерители — это просто простой способ понять настройки задержки, на самом деле она измеряется в миллисекундах или мс, и просто сообщает вашему процессору, на сколько задерживать сигнал, выходящий на различные каналы ваших динамиков.

Оставьте передние громкоговорители на высоте 12 футов и отрегулируйте расстояние до других каналов для достижения наилучшего качества.

2. Переходя к очень важному центральному каналу, практически все диалоги и события, происходящие на экране, проходят через этот динамик (хотя качество центрального канала часто упускается из виду). По этой причине крайне важно, чтобы через этот динамик воспроизводился полнодиапазонный сигнал, и использование REL может помочь вам в этом.

3.Найдите фильм и сцену, которые вам хорошо знакомы, мы используем трек 3 * « Fantastic Beasts and Where to Find Them », где главный герой идет по мощеной улице в Лондоне около 1920 года.

Трек 3 * из «Фантастические твари и где они обитают»

* Обратите внимание, что на разных международных рынках разрывы глав значительно различаются. Краткая сцена, описанная здесь, находится примерно на отметке 18:30 (начинается с человека, задумчиво смотрящего в небо, стоящего на темном тротуаре) и длится только прибл.8 секунд. Прислушайтесь к дребезжанию и кашлю старого грузовика, двигающегося справа налево, а также к звукам пешеходов, идущих вокруг слушателя. Когда вы все делаете правильно, все это естественным образом заполняется вокруг вас. На действительно высококачественных системах REL 3-D вы действительно можете ощутить эффект Фолея, когда удаляются сабвуферы, и все второстепенные звуки приобретают жесткое стаккато.

4. Начните с добавления 3 фута (3 мс) от 12 футов, которые вы использовали на левом и правом динамиках. Это запустит ваш центральный канал на расстоянии 15 футов на вашем Marantz / Denon.Воспроизведите сцену, которую вы выбрали, настраиваясь на 16 футов, и повторяйте процесс, пока не получите центральный канал, который будет наложен на звуковую сцену, созданную вашими основными левым и правым динамиками. Слишком маленькая цифра задержки и звук будет резким, жестким и агрессивным. Слишком большое значение задержки — звук будет мягким, нечетким и мутным. Сделайте это правильно, и речь будет разборчивой, но не слишком громкой, фоновые эффекты естественным образом поддерживают главное экранное событие.

ProTip1: Уровень и задержка взаимодействуют.Получите задержку правильно, но уровень щелчка на один слишком низкий, и эффект может быть обманчивым, речь нечеткая. Слишком большая громкость и слишком короткая задержка, и звук может быть слишком агрессивным. Терпеливо работайте взад и вперед, когда почувствуете, что попали в нужную область, и улучшите свои результаты.

ProTip2: Чем больше число, тем больше вы откладываете. Большие числа (15–30) будут звучать мягче и крупнее по шкале, а числа от 12 до 15 будут звучать резче / жестче по мере удаления задержки.

5.Задние динамики объемного звучания отвечают за общий масштаб пространства. Опять же, они установлены на расстоянии 12 футов от завода. В зависимости от размера вашей комнаты, начните с задержки на дополнительные 6 футов (с 12 футов, которые вы использовали на передних L&R, и на 18 футов для задних) для меньшей зоны прослушивания и до дополнительных 9 футов (21 фут). ) для комнаты средних размеров. Чем больше число, тем больше пространство, которое вы создали. Как только это будет сделано правильно и с большим терпением, вы почувствуете себя частью сцены, и ваши уши будут ощущать именно то, что видят ваши глаза.Поистине потрясающе, и вы больше никогда не будете так смотреть на домашний кинотеатр.

Шаг 5:

Переход на уровни

1. Используйте измеритель уровня звукового давления (SPL). Либо ручной измеритель, либо загрузите приложение, в котором он есть (очевидно, что загруженный не самый точный, но для этого упражнения нам просто нужна относительная ссылка). Регулировка уровня будет посылать сигнал розового шума — звучит как статический — который используется для имитации всех смешанных частот одновременно.Если звук недостаточно громкий, увеличьте его в соответствии с вашими потребностями, но будьте осторожны, когда вы вставляете диск, уровень будет НАМНОГО громче. Не повредите свою систему, снова установите уровень 65, чтобы начать просмотр и точную настройку.

Меню, в котором можно настроить уровни динамиков

2. Установите регулятор громкости на вашем ресивере на контрольную точку (обычно используйте 65 в качестве эталона на ресиверах Marantz / Denon), затем выберите «Вручную» в настройке уровней (это позволит вам переходить от одного динамика к другому по комната).

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

4. Опытные слушатели могут начать с Left Main и прокручивать каждый канал прослушивания, чтобы убедиться, что уровни совпадают или похожи, перемещаться назад и вперед, чтобы проверить аналогичные уровни. Самая большая проблема — это огромные тембральные рассогласования — особенно между центральным каналом и левым-правым каналом или между тыловыми объемными звуками и ЛЮБЫМ другим каналом — из-за их, как правило, меньшего размера.

5. Переходя к настройкам низких частот, здесь, в режиме сабвуфера, вы захотите выбрать LFE + Main (это позволит передавать низкие частоты на сабвуфер во время 2-канального воспроизведения через кабель .1 / LFE, если вы: Если используется серия HT, при использовании кабеля высокого уровня можно установить только LFE).

Установите ресивер на LFE + Main, чтобы низкие частоты передавались через кабель .1 / LFE при 2-канальном воспроизведении.

6. Установите LPF (фильтр низких частот) для LFE на максимально высокий уровень, Marantz / Denon поднимется до 250 Гц.Это позволит вам использовать наши превосходные фильтры для настройки кроссовера на вашем REL.

Узнайте больше о том, как настроить кроссовер и усиление на сабвуфере.

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

А теперь иди и наслаждайся фильмом!


9 декабря 2020 г. — Опубликовано в: Настройка Deep Dive

Создание аудиовидео ресивера 5.1 своими руками — часть 1

Хорошо, вы уже знаете историю о том, как моя электроника взорвалась во время скачка напряжения.Одной из сгоревших электронных устройств был мой излишне дорогой Pioneer 5.1.2 AVR. Причина, по которой я делаю упор на ненужное, заключается в том, что я редко использовал все функции устройства. Даже не знаю, зачем потратил все деньги :). После того, как он перестал работать, я открыл и проверил все, что смог выяснить. Но явных проблем не заметил. AVR просто загружается, включает реле усилителя и выключается. Поскольку это не удалось во время блокировки COVID, я ничего не мог с этим поделать.

В конце концов, после того, как блокировка закончилась, я отнес ее в ближайший сервисный центр Pioneer (который, кстати, был не совсем близко). После часа езды и танца с маской для лица, дезинфицирующим средством для рук и дезинфицирующим спреем сервисный центр принял его позже. Он сказал мне, что диагностика проблемы займет пару дней, и снял с меня рупий. 1000 за просто запуск тестов. Еще час езды до дома. На следующий день он позвонил и сообщил, что основная плата сообщает об ошибке.Он сказал мне, что стоимость замены детали составляет рупий. 20к (импорт + таможня + налоги). Вдобавок к этому он будет взимать рупий. 2000 + налоги на ремонтные работы. Я подумал, подождите, я могу купить бюджетный AVR за эту цену :). Поэтому я отказался от ремонта.

Почему бы мне не построить такой?

После 4 часов вождения и траты рупий. 1000, я не был и близко к тому, чтобы иметь рабочий AVR. Пора взять дело в свои руки. Я решил собрать свой собственный усилитель 5.1. Изначально я хотел построить все с нуля.Идея заключалась в том, чтобы купить силовые транзисторы хорошего качества и спаять их в конфигурации усилителя класса AB. Но пока я искал запчасти, я обнаружил, что есть несколько хороших готовых усилительных модулей. Зачем возиться с пайкой и печатными платами, когда я могу купить готовый компонент по гораздо более низкой цене и меньшим трудозатратам :).

Моя акустическая установка

У меня есть комплект динамиков Pioneer Andrew Jones (SP-FS52, SP-BS22-LR и SP-C22), который стал сиротой, когда умер усилитель.Передние динамики были рассчитаны на 130 Вт каждый, задние — на 80 Вт, а центральный динамик — на 90 Вт. Все 5 динамиков имеют сопротивление 6 Ом. Так что мне нужна плата усилителя, которая может справиться с этими характеристиками.

Какой усилитель?

Далее идет тип усилителя. Есть несколько классов усилителей. Поиск плат вызвал у меня столько воспоминаний из моих дней в области электротехники. В любом случае вернемся к теме. Если абсолютное качество является для вас наивысшим приоритетом, то можно выбрать усилители class A .Но они крайне неэффективны (КПД 40% или меньше), потому что они постоянно смещены в точке Q, тратя много энергии даже во время простоя.

Следующий вариант — усилитель класса AB , который более эффективен (КПД почти 65%) с некоторой потерей качества. Почти все AVR используют усилители класса AB, включая мой Pioneer VSX-1131. Поскольку они выделяют так много тепла, вы заметите силовые транзисторы, приклеенные к ребрам охлаждения в передней части моего AVR. В некоторых системах даже есть вентилятор для охлаждения транзисторов.

Ребра охлаждения в передней части моего Pioneer VSX 1131 используются для охлаждения усилителей мощности в конфигурации класса AB.

Эксперимент

Я хотел иметь более эффективный усилитель, если собирался его построить. Поэтому я решил попробовать усилитель класса D (КПД около 90%). Предположительно, выходной сигнал от более новых микросхем усилителя класса D почти так же хорош, как и от усилителей класса AB. Я хотел начать с малого, поэтому решил использовать 2-канальный усилитель, который мог бы питать мои передние динамики.Если мне нравится качество звука, я могу купить больше усилителей класса D для питания тыловых и центрального динамиков. Рассказ о том, как я создал свою 5.1 AVR-форму, читайте в следующих статьях.

Вы можете прочитать все части этой серии DIY, перейдя по ссылкам ниже —
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5, Часть 6, Часть 7

Сделайте свою собственную плату AVR. Плата AVR — важная разработка… | от Ahmad Mujahid

Плата

AVR является важным устройством для разработки многих разработчиков микроконтроллеров.А иногда по какой-то причине это может стоить дорого. Но хорошая новость в том, что сделать эту доску не так уж сложно. Вы можете создать свою собственную плату разработки AVR из некоторых запасных частей для электроники в своей лаборатории.

Предварительный

Чтобы следовать этой инструкции, вам необходимо иметь базовые знания о пайке, прототипировании с перфорированной платой, считывании схем и микросхеме AVR Atmega.

Как работает плата AVR?

Прежде чем создавать плату AVR, обратите внимание, что вам также понадобится программист для программирования микросхемы AVR.Ваша плата работает только как носитель для установки вашего чипа и обеспечивает соединение между вашим чипом и любыми периферийными устройствами или датчиками. Он не может запрограммировать ваш чип. Наиболее распространенным программатором, который используется с платой разработки AVR, является USBasp. Программатор

USBasp для AVR

USBasp использует протокол связи SPI (последовательный периферийный интерфейс) для программирования микросхемы AVR. SPI — это синхронная связь между двумя устройствами для передачи и приема информации друг другу. Чтобы узнать больше о коммуникации SPI, вы можете прочитать эту статью на SparkFun.

В этом случае важно знать, как работает SPI. По крайней мере, вы будете знать, какие контакты необходимо подключить к программатору USPasp. USBasp имеет 10 контактов. Мы будем использовать несколько из них, чтобы создать соединение с вашим микроконтроллером, чтобы мы могли его запрограммировать.

USBaps pins

Список необходимых контактов:

  • Pin 1 (MOSI (Master Out Slave In))
  • Pin 2 (Vcc)
  • Pin 5 (RST (Reset))
  • Pin 7 (SCK (Serial Clock) ))
  • Контакт 9 (MISO (Master In Slave Out))
  • Один из любых контактов GND

С помощью этого программатора вы можете программировать любые микросхемы AVR, такие как Atmega328p, Atmega8A – 16PU, Atmega32A, Atmega16A и т. Д.без установки на него загрузчика.

Давайте создадим вашу плату AVR!

После того, как вы немного познакомитесь с USBasp, пора подготовить необходимые материалы для этого проекта. Есть:

  • 1 монтажная плата (рекомендуется 7×5)
  • 1 DIP 28 IC Socket
  • 1 микроконтроллер AVR (на этот раз мы используем Atmega328p)
  • Некоторые штекерные разъемы (рекомендуется иметь несколько полосок 1×40 штекер) штыревые разъемы)
  • Некоторые перемычки
  • 2 керамических конденсатора (22 пФ)
  • 1 генератор 16 МГц
  • (опционально) 1 полоска 1×3 гнездовой контактный разъем (округлый женский контактный разъем лучше, если вы можете себе это позволить)

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

Давайте сделаем шорт!

Эта схема дает вам представление о плате AVR, которую вы собираетесь построить. На этот раз мы используем Atmega328p, вы также можете использовать Atmega8–16PU. Если вы используете другую версию Atmega, вы должны прочитать техническое описание и получить информацию о его распиновке.

Схема

На схеме выше показано базовое подключение платы AVR. Эта схема охватывает несколько коротких замыканий, которые вам необходимо создать для подключения микросхемы AVR к программатору USBasp.

Вот несколько важных соединений, которые вам необходимо создать:

  1. Соедините вывод MOSI USBasp с выводом MOSI AVR (вывод 17).
  2. Соедините вывод MISO USBaps с выводом MISO AVR (вывод 18).
  3. Соедините контакт SCK USBasp с контактом SCK AVR (контакт 19).
  4. Соедините контакт RST USBasp с контактом RST AVR (контакт 1).
  5. Соедините контакт VCC USBasp с контактом VCC AVR (контакт 7).
  6. Подключите контакт GND USBasp к контакту GND AVR (контакт 8).

Вам также необходимо установить осциллятор на контакты 9 и 10 вашего Atmega328p.

Еще одна ссылка, которой вы можете следовать (http://www.learningaboutelectronics.com/Articles/Program-AVR-chip-using-a-USBASP-with-10-pin-cable.php)

Давайте припаяем!

Ну, я не собираюсь говорить, что вы должны следить за тем, как я паяю свою собственную плату AVR, потому что пайка — это искусство, которое вы должны выражать самостоятельно. (Да !!)

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

Моя плата AVR, подключенная к USBaps Моя плата AVR, вид сверху Паяльная часть (извините, если это выглядит беспорядочно и раздражает вас :()

Вот мои рекомендации для вашей платы AVR:

  • Используйте гнездовой контактный разъем для вашего генератора. вы можете легко изменить его при необходимости.
  • Создайте полосу Vcc и GND с 1×3 или 1×5 контактной полосой заголовка.Это будет полезно, если когда-нибудь вам понадобится вывод источника питания.9
  • Подключите все порты DDR к контактному разъему.Итак, вы можете использовать их для своей программы в качестве ввода / вывода.
  • Вы можете использовать штыревой или женский штыревой разъем, в зависимости от вашего желания.

Сделай сам — Электронный блог: AVR

Теперь мы выбрали AVR в качестве микроконтроллера, давайте посмотрим, какие AVR доступны. Популярные микроконтроллеры семейства AVR:
  • AT TINY2313 [20 PIN, 2K Flash, 128 байтов RAM, 128 байтов EEPROM]
  • ATmega8 [28 контактов, 8 КБ флэш-памяти, 1 КБ оперативной памяти, 512 байт EEPROM]
  • ATmega16 [40 PIN, 16 КБ флэш, 1 КБ ОЗУ, 512 байт EEPROM]
  • ATmega32 [40 контактов, 32 КБ флэш-памяти, 2 КБ оперативной памяти, 1 КБ EEPROM]

Вы можете выбрать любой из них по своему усмотрению.В приведенном выше списке мы упомянули ключевой параметр MCU. Эти параметры включают: —

  • Количество контактов , которое имеет MCU, например, ATmeg8 имеет 28 контактов, а ATmega16 — 40 контактов. Чем больше количество выводов у микроконтроллера, тем больше внешнего оборудования вы можете добавить к нему одновременно. Но он будет больше по размеру и дороже. Таким образом, для получения более дешевого и компактного конечного продукта вам необходимо выбрать MCU с минимальным количеством контактов, которое вы можете использовать для подключения всех внешних периферийных устройств.
  • Объем флэш-памяти: Флэш-память — это место, где хранится основная программа MCU. Таким образом, чем больше объем флэш-памяти, тем более крупную и сложную программу она может хранить. В то же время MCU с большей флэш-памятью обычно дороже. Итак, суть в том, чтобы выбрать MCU, который может просто хранить вашу последнюю программу. Пример ATmega8 имеет 8K Flash.
  • Объем ОЗУ: Все данные, удерживаемые MCU во время выполнения, хранятся в ОЗУ. Так что больше оперативной памяти он может хранить больше данных во время выполнения.ATmega8 имеет 1 КБ ОЗУ.
  • Количество EEPROM: Если программа MCU собрала некоторые данные (например, пароль от пользователя), они сохраняются в RAM. Но MCU не может сохранить эти данные, если питание MCU прервано. Для хранения данных без блока питания MCU необходимо записать их во внутреннюю EEPROM. После записи данных в EEPROM. Он НЕ требует энергии, чтобы сохранить свою ценность. При следующем запуске MCU может прочитать эти данные из EEPROM. Из списка видно, что ATmega8 имеет 512 байт EEPROM, а ATmega32 имеет 1 КБ EEPROM.

Концепции, которые вы усвоили с помощью одного микроконтроллера, могут быть легко применены к любому AVR при условии, что этот чип имеет такую ​​функциональность. Например, вы научились использовать ADC (аналого-цифровой преобразователь) на ATmega8, тогда вы можете легко использовать ADC на любом AVR, у которого он есть (например, ATmega16 или ATmega32). В этой серии руководств мы будем использовать ATmega8, потому что он имеет правильное сочетание размера, стоимости и функций. Он имеет много оперативной памяти и флэш-памяти, чтобы с легкостью создавать проекты среднего размера. Также он имеет много периферийных устройств на чипе, таких как

  • Таймеры с ШИМ.
  • USART для связи с ПК и другим микроконтроллером.
  • SPI может использоваться для соединения с другими микросхемами, такими как флэш-память данных, графический ЖК-дисплей, карты памяти.
  • TWI ( I2C ) Двухпроводной интерфейс для связи с микросхемами памяти, часами реального времени, акселерометрами и т. Д.
  • Аналого-цифровой преобразователь.

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

Процесс разработки

Отладка — AVR-Eclipse

от AVR-Eclipse

Есть несколько способов отладки вашего приложения AVR. Они делятся на две основные категории

  • Использование программного симулятора
  • Использование разъема JTAG для отладки на кристалле

Оба метода можно снова разделить на две группы.

  • Использование отладчика Eclipse
  • Использование внешних инструментов

Все методы имеют свои достоинства и недостатки.Однако все они основаны на gdb, отладчике проекта GNU. Это означает, что отладка выполняется на основе клиент / сервер, причем клиент является пользовательским интерфейсом, а сервер — симулятором или интерфейсом JTAG.

Некоторые внешние приложения для отладки (например, AVR Studio, Proteus, VMLab) объединяют как клиент, так и сервер, поэтому пользователь будет видеть только клиентскую сторону, а сервер скрыт внутри приложений.

Серверы отладки

На стороне с открытым исходным кодом есть два основных сервера GDB для разработки AVR.

СРЕДНИЙ

AVaRICE действует как gdb-сервер для JTAG-соединений, поэтому он является интерфейсом между gdb и оборудованием JTAG.Чтобы использовать in для внутрисистемной отладки, вам также потребуется некоторое оборудование для подключения вашего целевого оборудования (с портом JTAG) к вашей системе разработки.

В настоящее время AVaRICE поддерживает три типа интерфейсов JTAG:

AVR JTAGICE MKII Это лучший поддерживаемый интерфейс, но дешевых клонов нет.
  • Интерфейс USB / RS232
  • Поддерживает JTAG и dW
  • Поддерживает все текущие процессоры AVR, а также процессоры AVR32
AVR Дракон Дракон — это недорогая уменьшенная версия MkII.
  • Интерфейс USB
  • Поддерживает режимы программирования JTAG, dW, ISP, HV и PP
  • Не поддерживает все процессоры AVR (официально макс 32 КБ Flash)
AVR JTAG (MkI) Первый интерфейс JTAG AVR. Сейчас устарело и мало поддерживается AVaRICE.
  • Интерфейс RS232 (некоторые клоны имеют USB)
  • Поддерживает только JTAG.
  • Не поддерживает все текущие процессоры AVR.
  • Доступно множество дешевых и самодельных клонов, некоторые с интерфейсами USB, а некоторые с режимом программирования ISP.

Вот несколько примеров клонов MkI, которые можно создать самостоятельно. Не стесняйтесь добавлять больше ссылок

dW = debugWire: собственный интерфейс, похожий на JTAG, но использующий только один провод (линию сброса). Используется на некоторых процессорах AVR с малым количеством выводов.

Simulavr / Simulavrxx

Simulavr — это программный симулятор с открытым исходным кодом для моделирования процессоров AVR. Хотя разработка прекратилась (последний выпуск в феврале 2005 г.), его все еще можно использовать, поскольку он будет имитировать по крайней мере некоторые текущие процессоры AVR.Однако моделирование является неполным, в нем отсутствуют многие функции ввода-вывода, и на него не следует полагаться. Считайте simulavr игрушкой, чтобы начать отладку, но его не следует использовать как настоящий инструмент отладки.

Simulavrxx — это переработанная версия simulavr на C ++, которая также не использовалась в течение последних двух лет, однако в начале 2008 года была отмечена некоторая активность CVS, поэтому она может снова стать активной разработкой. Несмотря на то, что проекты являются разными, они имеют одну и ту же домашнюю страницу и страницу проекта.

Отладка с Eclipse

В то время как подключаемый модуль AVR Eclipse в настоящее время не поддерживает отладку, Eclipse с CDT имеет все необходимые инструменты для отладки приложений AVR, хотя он требует некоторых конфигураций и, как всегда с Eclipse, существует несколько способов сделать это.

Отладка приложений AVR с помощью Eclipse требует двух шагов: запуска сервера gdb и последующего подключения к нему.

Настройка

Следующие пошаговые инструкции были выполнены в моей системе разработки, состоящей из

  • Windows XP
  • Затмение 3.4.1 с CDT 5.0.1
  • winAVR 20081124rc3 (включает avarice 2.8 и avr-gdb 6.8)
  • AVR Butterfly, подключенный через кабель JTAG к AVR Dragon

Для тестов я использовал два примера приложений.

  • avrtest — это простая тестовая программа с пустым бесконечным циклом в main (), скомпилированная для ATmega16 для тестирования simulavr.
  • ButterflyLCDTest — это простое приложение для AVR Butterfly, скомпилированное для ATmega169 для проверки жадности.

Оба были собраны с неизмененной конфигурацией сборки Debug . Это означает, что они оба используют настройки по умолчанию « Standard debugging info (-g2) » для уровня отладки и « stabs » в качестве формата отладочной информации.


Оптимизация была установлена ​​на « Без оптимизации (-O0) ». Все остальные уровни оптимизации приведут к выводу, что фактические инструкции машинного кода не похожи на поток управления исходного кода C, что делает отладку уровня C непрактичной.Конечно, вы все еще можете отлаживать оптимизированную программу, но будьте готовы выполнить ее только поэтапно, поскольку исходный код C будет в основном бесполезен.


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

Запуск gdbserver

Самый простой способ запустить gdbserver — использовать «Внешний инструмент» в Eclipse. Щелкните маленький треугольник рядом со значком внешних инструментов и выберите External Tools Configurations .

В диалоговом окне «Конфигурация внешних инструментов » щелкните правой кнопкой мыши и выберите.Затем вы можете ввести данные конфигурации для gdbserver, как описано ниже.

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

СРЕДНИЙ

Настройка на жадность должна выглядеть примерно так:

Имя
Отличительное имя для этой конфигурации
Расположение
Использовать Обзор файловой системы… , чтобы указать расположение исполняемого файла скупости.
Рабочий каталог
Каталог, в который скупость будет писать что угодно. За исключением случайного дампа ядра, он не используется.
Аргументы
Аргументы командной строки жадности. В этом примере я использовал
  • —dragon для интерфейса JTAG (альтернативы: -1 и -2 для интерфейса MkI или MkII AVR JTAG)
  • —ignore-intr предотвращает остановку жадности при каждом прерывании
  • —jtag usb сообщает скупость, что я использую порт USB
  • : 4242 — номер порта.
Взгляните на страницу руководства avarice, чтобы узнать о некоторых других вариантах.


Обратите внимание, что я не указал —erase —program —file xxx в аргументах для загрузки флеш-изображения в цель. Вместо этого я использую avrdude для загрузки проекта на целевое оборудование. Две причины: загрузка со скупостью не работает с AVR Dragon, а также потому, что я не хочу, чтобы эта конфигурация внешних инструментов зависела от какого-либо проекта.

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

Avarice будет прекращать работу всякий раз, когда останавливается сеанс отладки с помощью Eclipse Debugger. Для нового сеанса его необходимо перезапустить. Вид Debug в перспективе отладки покажет, продолжается ли жадность.

SimulAVR

Настройка simulavr должна выглядеть примерно так:

Имя
Отличительное имя для этой конфигурации
Расположение
Использовать Обзор файловой системы… , чтобы указать расположение исполняемого файла simulavr.
Рабочий каталог
Каталог, в который simulavr будет что-либо записывать. Не используется и может быть пустым.
Аргументы
Аргументы командной строки simulavr. В этом примере я использую
  • —gdbserver для запуска simulavr в режиме gdbserver
  • —port 4242 , чтобы simulavr слушал порт 4242 (то же самое, что я использую со скупостью, поэтому я могу использовать одну конфигурацию отладки для обоих)
  • — устройство atmega16 , чтобы сообщить simulavr, что он должен имитировать ATmega16.Используйте «simulavr -L» в командной оболочке, чтобы получить (короткий) список поддерживаемых устройств.
Взгляните на страницу руководства simulavr, чтобы узнать о некоторых других вариантах.


Обратите внимание, что я не указал имя файла в аргументах для загрузки флэш-изображения в симулятор. Две причины: simulavr принимает только необработанные двоичные изображения (см. Советы и приемы о том, как их создавать), а также потому, что мне не нужна зависимость от какого-либо проекта для этой конфигурации внешних инструментов.Но в этом случае вы должны использовать [[[#GDB Hardware debugging | GDB Аппаратная отладка]]] конфигурация для загрузки образа флэш-памяти в начале сеанса отладки.

Нажмите кнопку Run , чтобы сохранить конфигурацию и запустить simulavr.

Simulavr продолжит работу, даже если сеанс отладки завершен. Таким образом, его можно использовать для нескольких сеансов отладки. Чтобы остановить simulavr, перейдите к представлению Debug в перспективе отладки, щелкните правой кнопкой мыши запись simulavr и выберите Terminate .

Конфигурации отладки Eclipse

После запуска gdbserver мы можем запустить отладчик Eclipse. Но сначала нам нужно настроить отладчик. Существует два типа конфигураций отладки, которые можно использовать для отладки AVR: C / C ++ Local Application и GDB Hardware Debugging . Ядро отладки одинаково для обоих. Различия заключаются только в пользовательском интерфейсе и в начальных командах GDB для запуска сеанса удаленной отладки. Обе конфигурации, как известно, работают как со скупостью, так и с simulavr, поэтому вы можете сами проверить, какая из них лучше работает для вас.Ниже мы опишем настройку для обеих конфигураций.

Но сначала откройте диалоговое окно Debug Configuration : выберите проект для отладки, затем щелкните значок маленького треугольника рядом с и выберите

Диалог должен выглядеть примерно так:


Если тип конфигурации GDB Hardware Debugging не показан, у вас не установлена ​​эта дополнительная функция. Запустите обновления программного обеспечения из меню справки и добавьте сайт обновлений CDT (для Eclipse 3.4 это http://download.eclipse.org/tools/cdt/releases/ganymede). Затем перейдите на этот сайт обновления и установите дополнительную функцию Eclipse C / C ++ GDB Hardware Debugging .


Теперь дважды щелкните любой тип конфигурации, чтобы создать новую конфигурацию. Если у вас был выбран проект до открытия диалогового окна, конфигурация будет иметь имя типа « имя проекта Debug ». Возможно, вы захотите изменить имя конфигурации, пока вы все еще проверяете, какая конфигурация лучше всего подходит для вас.Используйте что-нибудь описательное, например имя проекта и тип конфигурации, например « имя проекта как локальный » или « имя проекта как аппаратная отладка с загрузкой ».

Первая вкладка ( Main ) одинакова для обеих конфигураций:

Project
Если ваш проект еще не показан, используйте кнопку Browse , чтобы выбрать проект для отладки.
Приложение C / C ++
Нажмите кнопку Search Project и выберите .elf файл из проекта. Если вы работаете с несколькими конфигурациями сборки, проверьте поле Qualifier , чтобы выбрать правильную. Если диалоговое окно Program Selection пусто, вам необходимо сначала построить проект.

Теперь перейдите к настройкам конфигурации.

Локальное приложение C / C ++

Для локального приложения C / C ++ все соответствующие настройки находятся на вкладке Debugger :

Отладчик
Установите значение Отладчик gdbserver
Отладчик GDB
измените это на « avr-gdb ».Предварительно выбранный « gdb » не работает, так как он пытается отладить цель как i386.
Командный файл GDB
удалить предварительно выбранный « .gdbinit «. Однако, если вам все еще нужно загрузить флеш-образ в вашу цель (например, с помощью simulavr), вам нужно написать небольшой скрипт gdb и ввести здесь его имя файла. См. Ниже об этом.
Набор команд GDB
выберите «Стандартный» или «Стандартный (Windows)». Не используйте Cygwin, потому что avr-gdb не является приложением cygwin.Различия в различных наборах команд минимальны и в основном касаются работы с разделяемыми библиотеками, которые не имеют отношения к программированию AVR.
Протокол
оставьте это в «mi». Это то же самое, что и «mi2». «mi1» — это более старый протокол gdbserver, который не имеет преимуществ, поскольку avr-gdb понимает протокол mi2.
Подробный консольный режим
Если у вас возникли проблемы, вы можете выбрать эту опцию, чтобы увидеть связь между Eclipse и avr-gdb. См. # Устранение неполадок для получения дополнительной информации.


Затем щелкните вкладку Connection , чтобы настроить параметры связи между avr-gdb и gdbserver:

Тип
Выберите «TCP»
Имя хоста или IP-адрес
введите « localhost », если не выбрано заранее.
Номер порта
введите тот же номер порта, который вы ввели в конфигурациях для скупости / simulavr.


На этом настройка завершена.Нажмите кнопку Debug , и, если все в порядке, должен начаться сеанс отладки, а ваше приложение должно остановиться в начале функции main () .

Если это не работает, взгляните на раздел «Устранение неполадок» ниже.


Дополнительная информация: Для полноты, вот сценарий инициализации gdb для загрузки флеш-образа в simulavr. Сохраните это где-нибудь (например, в папке проекта как ‘gdbinit’) и введите полный путь к этому файлу в поле командного файла GDB на странице конфигурации отладчика.Хотя этот сценарий инициализации gdb действительно работает (для меня), вам, вероятно, будет лучше использовать конфигурацию GDB Hardware Debugging , описанную в следующем разделе.

# убедитесь, что у simuavr есть код для запуска (он будет жаловаться на Unknown opcode)
# измените имя файла по мере необходимости, но с именем конфигурации сборки (здесь: Debug)
файл Debug / avrtest.elf

# также не забудьте изменить номер порта, если вы используете другой.
целевой удаленный локальный хост: 4242
нагрузка
 
GDB Отладка оборудования

Для конфигурации GDB Hardware Debugging нам нужно изменить настройки на двух вкладках.

Начнем с вкладки Debugger . Для большинства параметров Eclipse установил разумные значения по умолчанию. Единственные параметры, которые необходимо изменить, отмечены на скриншоте.

Команда GDB
измените это на « avr-gdb ». Предварительно выбранный « gdb » не работает, так как он пытается отладить цель как i386.
Набор команд GDB
выберите «Стандартный» или «Стандартный (Windows)».Не используйте Cygwin, потому что avr-gdb не является приложением cygwin. Различия в различных наборах команд минимальны и в основном касаются работы с разделяемыми библиотеками, которые не имеют отношения к программированию AVR.
Подробный консольный режим
Если у вас возникли проблемы, вы можете выбрать эту опцию, чтобы увидеть связь между Eclipse и avr-gdb. См. # Устранение неполадок для получения дополнительной информации.
Номер порта
введите тот же номер порта, который вы ввели в конфигурациях для скупости / simulavr.


Далее перейдите на вкладку Запуск

Сброс и задержка (секунды)
Halt
Если вы выбрали Generic JTAG Device на предыдущей странице, эти две настройки игнорируются и могут быть включены или выключены.

Загрузить образ
Загрузите флэш-образ в начале сеанса отладки.Файл изображения может быть .elf или .hex , но убедитесь, что вы выбрали правильный для проекта. Примечание: это не работает для меня и моего AVR Dragon, вероятно, из-за ошибки в жадности. Вместо этого я загружаю изображение с помощью avrdude перед началом сеанса отладки.
Загрузить символы
Кажется, что загрузка символов не дает никаких преимуществ, поэтому оставьте это отключенным.

Установить программный счетчик на (шестнадцатеричный)
, если не установлен, gdbserver запускается с 0x0000, который является местоположением вектора сброса.Так что здесь, наверное, ничего настраивать не нужно.
Установить точку останова на
Задайте для нее значение « main » или имя какой-либо другой функции, в которой вы хотите остановить первоначальное выполнение и начать отладку.
Продолжить
Выберите этот параметр. Если этот параметр не выбран, скупость не выполнит ваше приложение, и вам нужно ввести « продолжить » в представлении консоли avr-gdb, чтобы начать работу.


На этом настройка завершена.Нажмите кнопку Debug , чтобы сохранить все, и, если все в порядке, должен начаться сеанс отладки, а ваше приложение должно остановиться в начале функции main () .

Если это не работает, взгляните на раздел «Устранение неполадок» ниже.

Работа с отладчиком

Если сеанс отладки начался нормально, то ваша перспектива отладки Eclipse может выглядеть примерно так:


Обратите внимание, что это реальный сеанс отладки AVR Butterfly с помощью AVR Dragon через интерфейс JTAG.Снимок экрана был сжат, чтобы показать многие функции отладки Eclipse / CDT.

Кстати, сегмент памяти, показанный на скриншоте, начинается с 0x800020. Это начало диапазона регистров ввода-вывода для микропроцессоров AVR. Таким образом, вы можете видеть содержимое всех регистров ввода-вывода из отладчика. Чтобы найти конкретный регистр, вы должны получить его адрес (например, из представления обозревателя устройств AVR ) и добавить к нему 0x800020. В следующем выпуске AVR Eclipse (2.4).

Предупреждения
Перезапуск

Кнопка Restart на панели инструментов () не работает с avr-gdb. Нажатие на нее приведет к завершению сеанса отладки с сообщением об ошибке (Фон: Eclipse отправляет « -exec-run » на avr-gdb, что заставляет avrdude убить gdbserver и отобразить « Не знаю, как для запуска. «сообщение об ошибке.


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

  1. установите точку останова в main () или в любом другом месте, где вы хотите остановить выполнение
  2. в обзоре регистров установить регистр ПК на 0 (ПК = счетчик программы)
  3. «Возобновить» программу

Обходной путь заставит процессор возобновить выполнение по адресу 0x0000, месту вектора сброса для всех процессоров AVR.Это повторно запустит программный код сброса. Обратите внимание, что это не приведет к сбросу регистров ввода-вывода и управления. Они останутся в прежнем состоянии.

Точки останова и точки наблюдения с AVaRICE
Процессоры

AVR в режиме JTAG имеют только 3 доступных аппаратных точки останова, две из которых могут быть заменены на точки наблюдения за памятью. В режиме DebugWire AVR не поддерживает аппаратные точки останова или точки наблюдения.


AVaRICE может использовать программные точки останова. Это специальные инструкции, записываемые во флэш-память по требуемому адресу точки останова.При достижении этой мягкой точки останова исходное содержимое флэш-страницы записывается обратно. Таким образом, каждая программная точка останова вызывает как минимум два цикла записи во флэш-память. Хотя флэш-память AVR обычно работает намного дольше, чем гарантированные 1.000 циклов (для старых AVR), вы должны помнить об этом при работе с множеством точек останова.

Программные точки наблюдения в SRAM также поддерживаются AVaRICE. Но они значительно замедляют отладку, потому что AVaRICE затем должна пошагово выполнять каждую инструкцию, чтобы впоследствии проверить наблюдаемую память.Обратите внимание, что просмотр 16-битного значения, например указатель использует две точки наблюдения, по одной на каждый байт. Поэтому, если поток приложения позволяет это, вероятно, будет хорошей идеей следить за изменениями только одного байта из 16-битного значения (используя только одну аппаратную точку наблюдения).

Архитектура Гарварда

Процессоры Atmel AVR имеют гарвардскую архитектуру (отдельный код и адресные пространства данных). Чтобы отличить адрес данных 0 (в SRAM) от кодового адреса 0 (во флэш-памяти), отладчик добавляет 0x800000 ко всем адресам данных.Имейте это в виду при изучении указателей на флэш-память (например, указателей на строки).

Чтобы еще больше усложнить ситуацию, AVR обращается к кодовому пространству как к 16-битным словам, а к пространству данных как к 8-битным байтам. Но avr-gdb использует только байтовые адреса, поэтому все адреса в кодовом пространстве, показываемые отладчиком, должны быть разделены на два, чтобы получить реальный адрес, используемый процессором AVR.

Пример: дамп памяти по адресу 0x0000 (вектор сброса) показывает < 0c 94 6d 00 >. В синтаксисе AVR < 0c 94 > — это код операции для < tjmp >, а < 6d 00 > содержит закодированный адрес для перехода.Если вы дизассемблируете раздел с помощью avr-gdb, он выводит < tjmp 0xda > = переход к байтовому адресу 0x00da. И если вы выполните эту инструкцию перехода в отладчике, она продолжится с байтового адреса avr-gdb 0x00da (двоичный код 11011010). Разделение на два дает 0x006d (двоичное 01101101), адрес слова, как его видит процессор.

К счастью, эта вещь в основном прозрачна для вас, так как avr-gdb очень согласован со своими адресами. Но это может быть проблемой, если вы сравниваете разборку с дампом памяти.


Также обратите внимание, что первая часть адресного пространства данных используется для отображения в памяти регистров ЦП, регистров ввода-вывода и управления. Фактическая память SRAM начинается за регистрами ввода-вывода. Размер блока регистров ввода-вывода зависит от типа микроконтроллера AVR.

Поиск и устранение неисправностей

Если предыдущие инструкции не помогли вам и вы не можете заставить Eclipse отладить ваше приложение, то вот несколько советов по устранению неполадок.


Сначала включите подробный консольный режим на странице Debugger вашей конфигурации отладки.Пока вы это делаете, вы можете также включить вывод отладки для gdbserver. Добавьте следующий параметр в соответствующие аргументы командной строки

‘-d’ или ‘—debug’
‘-G’ или ‘—gdb-debug’

Тогда начните отладку. Вот полный вывод avr-gdb для хорошего сеанса отладки, включая запуск и несколько действий.

Анализ выходных данных отладки avr-gdb

Обратите внимание, и это важно:

Потому что

  • все три задействованные части (Eclipse, avr-gdb и gdbserver) работают асинхронно, и
  • avr-gdb будет продолжать работать, даже если gdbserver остановлен

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


Если вы не знакомы с командами gdb, вам нужно будет посмотреть руководство по GDB, особенно раздел руководства по интерфейсу GDB / MI.


Вот несколько фрагментов вывода avr-gdb для типичных сбоев:

«Не удалось подключиться …»
7 целевой удаленный локальный хост: 4242
целевой удаленный локальный хост: 4242
& "целевой удаленный локальный хост: 4242 \ n"
& "localhost: 4242: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.error, msg = "localhost: 4242: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte."
 

Извините за сообщение об ошибке на немецком языке, но я использую немецкую систему WinXP, и сообщение об ошибке предоставляется операционной системой. Перевод сообщения об ошибке означает «Не удалось подключиться, потому что целевая система отказалась подключиться»

Это сообщение отображается, когда avr-gdb не может подключиться к gdbserver. Убедитесь, что gdbserver (avarice или simulavr) запущен и номера портов совпадают.error, msg = «Программа не запускается».

Обычно это означает, что gdbserver не работает (больше). Либо потому, что avr-gdb никогда не подключался к gdbserver, либо потому, что gdbserver отключился сам по себе.

В любом случае, взгляните на вывод отладки avr-gdb между

 & "целевой удаленный локальный хост: 4242 \ n" 

и

 & "Программа не запущена. \ N" 

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

Вы найдете эти сообщения об ошибках практически в любом журнале, где существуют проблемы с отладкой. Это сообщение об ошибке заставляет Eclipse прервать сеанс отладки и остановить avr-gdb. Опять же, из-за асинхронной связи между двумя программами avr-gdb продолжит регистрировать дополнительные отладочные данные, прежде чем он будет отключен Eclipse.

«общая библиотека информации»
46-список-измененных-регистров-данных
46 ^ done, changed-registers = ["26", "28", "29", "30", "32", "33", "34"]
(GDB)
47 общая информация
& "общая информация о библиотеке \ n"
48-gdb-выход
 

Это происходит, если ваш avr-gdb равен 6.4 (выпущено 01.12.2005, [1]), что составляет , по-прежнему поставлено на Debian и Ubuntu. См. Ошибку Gentoo 126288. Подайте жалобу на свой дистрибутив и соберите gdb из исходников.

Чтобы проверить эту ошибку, используйте командную строку GDB и введите «info sharedlibrary». Это производит:

(gdb) информация sharedlibrary
../../src/gdb/solib.c:707: внутренняя ошибка: TARGET_PTR_BIT вернул неизвестный размер 16
Обнаружена внутренняя проблема GDB,
дальнейшая отладка может оказаться ненадежной.
Выйти из этого сеанса отладки? (да или нет)
 

Возможно, интерфейс GDB mi не отображает это предупреждение.error, msg = «Undefined info command: \» proc \ «. Попробуйте \» help info \ «.»

40 информационных тем
& "предупреждение: ОШИБКА RMT: не удалось получить список удаленных потоков. \ n"
 
Анализ результатов отладки жадности
Просмотр отладки

Чтобы понять вывод отладки жадности, вам необходимо сослаться на некоторые протоколы

и для связи между жадностью и интерфейсом JTAG:

  • AVR060 документирует протокол Atmel JTAGICE MkI
  • AVR067 документирует протокол Atmel JTAGICE MkII

С помощью этих ссылок вы можете начать анализ результатов скупости.Чтобы увидеть вывод алчности в представлении консоли, вам нужно щелкнуть исполняемый файл алчности в представлении отладки. Чтобы вернуться к выводу avr-gdb, щелкните строку avr-gdb.

«Ошибка связи JTAG ICE»

Вот пример (в реальной жизни) отказа из-за жадности установить связь с устройством JTAG. Устройство JTAG в этом случае было клоном AVRJTAG Mk I, у которого, похоже, есть проблема с выполнением действительной команды, отправленной от жадности.

...
-> GDB:
GDB: 

GDB: (Регистры) Прочитать 32 байта из 0x800000
jtagRead
команда [R, 1]: 52 20 1F 00 00 00 20 20
отклик:
[...]
Ошибка связи JTAG ICE
91 00 41
Истекло время ожидания (частичный ответ)
 

Подобные сообщения указывают либо на ошибку в жадности, либо на прошивку интерфейса JTAG. В этом примере также было обычное стартовое сообщение скупости, смешанное с подробным выводом (заменено на ‘[…]’). Это показывает, что вы должны быть внимательны при чтении вывода.

Если у вас есть такая проблема, вероятно, лучше всего обратиться к жадным сопровождающим (Привет, Йорг ;-)).

Отладка с помощью внешних отладчиков

Если отладка с помощью Eclipse не подходит для вас, вы можете ознакомиться с некоторыми другими решениями для отладки в статье «Отладка с помощью внешних инструментов».

EON Reality запускает EON EON-XR, самостоятельное приложение для создания контента с дополненной и виртуальной реальностью для учителей и студентов

EON EON-XR позволяет учащимся и учителям создавать увлекательные приложения для передачи знаний AR и VR без навыков программирования .

ИРВИН, Калифорния, 16 февраля 2016 г. — EON Reality Inc., мировой лидер в области передачи знаний на основе виртуальной реальности для промышленности, образования и развлечений, объявила о предстоящем выпуске EON EON-XR (дополненная виртуальная реальность) , мобильное приложение, которое позволяет пользователям легко создавать, совместно использовать, сотрудничать и публиковать информационный контент дополненной реальности (AR) и виртуальной реальности (VR).Используя запатентованную технологию дополненной виртуальной реальности EON Reality (EON-XR), EON EON-XR сочетает в себе дополненную реальность и виртуальную реальность с большой библиотекой компонентов AR / VR и оценочной базой данных для создания уникального опыта обучения. EON EON-XR также использует встроенный интеллект, чтобы помочь учащимся и преподавателям быстро создавать интерактивный учебный контент прямо на своих планшетах, смартфонах, гарнитурах VR или очках AR, не требуя навыков программирования.

Сегодня создание контента для дополненной реальности и виртуальной реальности требует навыков программирования и использования передовых инструментов разработки.Магия EON EON-XR заключается в том, что он позволяет любому создавать, загружать и делиться знаниями в области дополненной и виртуальной реальности за считанные минуты без какого-либо программирования. Затем этими приложениями можно поделиться в EON Experience VR, персонализированной учебной библиотеке на основе AR / VR, для их учеников или одноклассников или людей со всего мира.


Преподаватель и ученики могут участвовать в многопользовательской учебной среде на базе EON EON-XR.

Благодаря технологии EON EON-XR несколько человек могут погрузиться в одно и то же приложение (AR или VR) и сотрудничать друг с другом, а также взаимодействовать с контентом и друг с другом.Игровые элементы обучения еще больше улучшают опыт, поскольку учащиеся могут исследовать, играть, работать вместе, соревноваться и, в конечном итоге, получать вознаграждение. Встроенные средства оценивания и коучинга побуждают студентов повышать уровень усвоения знаний и передачи знаний.

«Я не могу придумать лучшего способа расширить возможности учителей и учеников, чем предоставить им средства для проведения интерактивных уроков дополненной и виртуальной реальности без знания программирования», — сказал Дэн Лейерскар, председатель EON Reality.«Интуитивно понятное и доступное построение уроков EON EON-XR вместе с доказанной мощью передачи знаний AR и VR является важным шагом на пути к тому, чтобы сделать знания доступными, доступными и доступными для всех на планете».

Функция перетаскивания

EON EON-XR позволяет пользователям быстро добавлять взаимодействия, различные модели поведения и физику к более чем 8000 строительных блоков AR / VR. Эти 3D-модели и 3D-сцены взяты из обширной библиотеки дополненной и виртуальной реальности EON Reality, EON Experience Portal и EON Experience EON-XR .Затем эти строительные блоки можно улучшить с помощью внешних носителей, таких как видеоролики YouTube, записи Википедии, слайды PowerPoint и т. Д.


Студенты могут получать индивидуальные инструкции от учителей и наставников в одной комнате или по всему миру.

Ожидается, что рынок дополненной и виртуальной реальности достигнет 150 миллиардов долларов, что приведет к подрыву рынка мобильной связи к 2020 году . Доступ к контенту AR / VR — серьезная проблема для этого быстрого роста. EON EON-XR был разработан с нуля, чтобы устранить эту нехватку контента, упростить создание пользовательского контента дополненной и виртуальной реальности и стать полностью доступной платформой для пользователей по всему миру.

«Теперь учитель может попросить своих учеников создавать отчеты EON-XR, которые может испытать весь класс», — сказал Матс Йоханссон, генеральный директор EON Reality. «Инструктор может быстро создать приложения для ТОиР и обучения, а затем распространить их среди слушателей. Возможности безграничны. Устраняя высокий барьер для входа в создание контента AR и VR, люди из всех слоев общества могут лучше доносить свои идеи или быстро обучать ценным навыкам ».

Вот лишь несколько примеров функциональности EON EON-XR:

  • Просмотр: Уже существующие 3D-объекты и 3D-среды в библиотеке EON Experience VR
  • Заполнить: Поместите 3D-объекты в 3D-сцену
  • Масштаб: Размер выбранных 3D объектов
  • Настройка, построение и планирование: Объединение различных объектов и размещение их в сцене
  • Аннотация: Добавьте информацию к объектам и сценам, прикрепив такую ​​информацию, как имя, описание объекта, другие презентации мультимедиа, YouTube, Википедии и PowerPoint к определенному объекту или подкомпоненту.
  • Шаблон уровня игрового режима: Выберите и настройте такие игровые функции, как:
    • Введение: Позволяет Создателю создавать вступление к конкретному игровому приложению с помощью голоса, текста, изображений или видео.
    • Взаимодействие с именем, поиском, сборкой и тестом: автоматически генерирует запрос на взаимодействие и связанные функции для игрового режима.
    • Уровни: шаблон генерирует несколько игровых уровней с возрастающей сложностью
  • Другие функции: физика включена или выключена, а также многопользовательская среда

Официальный запуск EON EON-XR состоится на выставке EON Experience Fest 2016 в Лавале, Франция, 16-17 марта .Доступ к EON EON-XR будет осуществляться по годовой или ежемесячной подписке и будет доступен на большинстве гарнитур VR и мобильных устройств. EON EON-XR теперь выпущен для ограниченного числа избранных пользователей на этапе закрытого бета-тестирования и будет выпущен для общественности в течение первого квартала 2016 года. Подробная информация о ценах будет опубликована в ближайшее время. Льготные цены и скидки доступны для развивающихся сообществ и регионов в рамках программы KnowledgeBit Initiative , являющейся частью программы EON Learn for Life .

О EON Reality
EON Reality — мировой лидер в области передачи знаний на основе виртуальной реальности (VR) и дополненной реальности (AR) для промышленности, образования и образования. Успех EON Reality связан с ее верой в то, что знания являются правом человека и должны быть доступными, доступными и доступными для каждого человека на планете. Для этого с 1999 года EON Reality разработала стандарт де-факто для программного обеспечения для передачи знаний на основе дополненной и виртуальной реальности, которое поддерживает устройства от мобильных телефонов до больших иммерсивных куполов.Глобальная сеть разработки приложений EON Reality, имеющая двадцать два офиса по всему миру, создала ведущую в мире библиотеку AR / VR для передачи знаний с более чем 7000 приложений.

Разное

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *