Программирование AVR: работа с USB USnooBie: инструкция по сборке, комплектующие Sat, December 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


USnooBie: инструкция по сборке, комплектующие Печать
Добавил(а) microsin   

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

Два резистора на 68 Ом.

USnooBie-assembly-68ohmresistorUSnooBie-assembly-68ohmresistors-place

Эти резисторы ограничивают ток между устройством USB (портами микроконтроллера ATmega328P) и сигналами D+ и D- интерфейса USB хоста (компьютера). Они работают как резисторы-терминаторы, согласующие волновое сопротивление / импеданс кабеля USB, что уменьшает отражения сигнала. Это маленькие и низкие детали, так что они должны быть смонтированы одними из первых. Тип резисторов должен быть 68 Ом, 0.125 ватт, допуск 5%, углеродно-пленочные (carbon film).

Верхний подтягивающий (pull-up) резистор для сигнала D-.

USnooBie-assembly-1800ohmresistorUSnooBie-assembly-1700ohmresistor-place

Этот резистор подключен на сигнал D- шины USB. Когда сигнал D- подтянут к положительному уровню +5V, то это указывает хосту USB, что устройство USB соответствует стандарту USB 1.1 на низкой скорости (low speed). Этот резистор обычно выбирают номинала 2.2 кОм при подключении верхнего вывода резистора к + 5V, и номинала 1.5 кОм при подключении к +3.3V. Номинал 1.8 кОм хорошо работает при обоих напряжениях - и 3.3V, и 5V. Тип резистора должен быть 1.8 кОм, 0.125 ватт, допуск 5%, углеродно-пленочные (carbon film). Примечание: в оригинальной разработке использовался номинал 1.7 кОм, однако набор деталей может быть и с 1.8 кОм резистором, и оба номинала будут хорошо работать. На схеме может быть указан номинал 1.7 кОм.

Токоограничивающий резистор для светодиода (LED).

USnooBie-assembly-330ohmresistorUSnooBie-assembly-led-resistor-place

Этот резистор ограничивает ток, протекающий через светодиодный индикатор питания LED1. Если не ограничить ток на нужном уровне, то это приведет к повышенному потреблению тока, и значительному уменьшению срока службы светодиода или даже выходу его из строя. Если Вам не нужен индикатор питания (LED1 отсутствует), то токоограничивающий резистор можно не устанавливать. Если считаете, что индикатор питания светит слишком ярко (так может произойти с некоторыми типами светодиодов), то можно увеличить номинал резистора. Тип резистора должен быть 330 Ом, 0.125 ватт, допуск 5%, углеродно-пленочные (carbon film).

Два диода Зенера (стабилитроны) на 3.6 вольт.

USnooBie-assembly-zenerdiodes USnooBie-assembly-zenerdiodes

Эти стабилитроны обеспечивают, что уровень сигналов D+ и D- шины USB не превысит допустимый предел. Это позволяет схеме устройства USB работать от напряжения питания +5V без опасности повреждения аппаратуры других устройств, подключенных к той же шине USB (либо порт хоста USB, либо хаб USB). Примечание: эти стабилитроны можно не устанавливать, если микроконтроллер USnooBie (ATmega328P) будет работать от напряжения 3.3V. Однако, поскольку USnooBie разработан с учетом возможного переключения между двумя вариантами питания 3.3V и 5V, и эти стабилитроны никак не будут влиять на работу схемы при напряжении питания 3.3V, рекомендуется все-таки эти стабилитроны установить. Тип стабилитронов (диодов Зенера) должен быть 1N5227B 3.6V. От пользователей были сообщения, что некоторые диоды Зенера на 200mW (200 милливатт) не работают, при этом диоды Зенера на 500mW работают (источник - форум obdev.at [1]). При установке диодов Зенера соблюдайте полярность, указанную маркировкой на печатной плате. Треугольник на символе указывает в том направлении, где должна быть черная маркировочная полоска на диоде.

Диод, защищающий от обратного тока.

USnooBie-assembly-protectiondiodeUSnooBie-assembly-protectiondiode-place

Этот диод защищает хост USB от любого напряжения свыше 5V, которые могут серьезно повредить аппаратуру хоста. Представьте себе, что проект запитан от батареи 9V, и Вы случайно уронили винт на отладочную плату, который замкнул шину питания 9V на шину VUSB интерфейса USB. Это может испортить компьютер. Со мной подобное произошло, когда напряжение было 6V, причем сработала защита, компьютер выключился и не хотел включаться несколько минут, что сильно меня напугало. Этот диод защитит от повреждений компьютер, поскольку диод позволяет течь току только в одном направлении - от хоста USB к устройству USB, но никак не обратно. Если вдруг напряжение на шине питания устройства USB станет больше, чем напряжение на шине хоста USB (линия VUSB интерфейса USB), то ток не потечет, потому что на диоде будет обратное напряжение.

Так как фактически на диоде падает значительное напряжение, то в случае использования для питания USnooBie напряжения 5V рекомендуется этот диод не устанавливать (вместо него нужно впаять перемычку). Иначе доступное напряжение питания может стать слишком низким для тех устройств, которые Вы планировали питать от 5V. Именно по этой причине в наборе деталей USnooBie этого диода нет. Если Вам нужно использовать диод, то можно применить MBRX0540 (падение напряжения 0.5V при токе 0.5A), или подходящие по параметрам диоды Шоттки. В наборе деталей защитного диода нет.

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

Светодиод для индикации питания.

USnooBie-assembly-powerledUSnooBie-assembly-powerled-place

Этот светодиод (LED) просто показывает наличие напряжения на шине питания платы USnooBie. Имейте в виду, что горение светодиода не показывает уровень питания, поэтому даже если светодиод горит, то это еще не гарантирует, что определенные компоненты получают достаточное для питания напряжение. Этот светодиод должен быть стандартного типа, диаметром 3 мм.

Этот LED можно не устанавливать, если Вы хотите экономить на питании или если Вы хотите сделать "скрытое" устройство USB. В этом случае можно также не устанавливать токоограничительный резистор, через который светодиод получает питание.

При монтаже убедитесь в правильной полярности светодиода по маркировке на плате (PCB). Если Вы не можете определить полярность светодиода, то перед установкой сначала протестируйте его. Плоская сторона должна быть обычно катодом, на который должно быть подано отрицательное напряжение, чтобы светодиод засветился. Круглая сторона соответственно анод, на который должна быть подана положительная полярность тока относительно катода. Для тестирования полярности светодиода можно использовать маленькую дисковую батарейку на 3V. Подключайте эту батарейку только на очень короткий интервал времени (во избежание перегрева и повреждения светодиода), чтобы увидеть вспышку светодиода.

Розетка (гнездо) USB типа B (USB type B female connector).

USnooBie-assembly-usbconnector-type-BUSnooBie-assembly-usbconnector-place

В оригинальном USnooBie используется коннектор USB type A (вилка, папа), предназначенный для прямого подключения в компьютер (как у флешки). В моем варианте USnooBie этот коннектор заменен на USB type B (розетка, мама), какой обычно устанавливается в сканерах и принтерах. Для подключения к компьютеру можно использовать стандартный "принтерный" шнур USB.

Две кнопки SPST (tactile SPST momentary on push button switch).

USnooBie-assembly-tactileswitchUSnooBie-assembly-tactilebuttons-place

Аббревиатура SPST расшифровывается как Single pole, single throw, т. е. кнопка однополюсная, с одним нажатием, замыкание цепи срабатывает при нажатии на кнопку, при отпускании цепь разрывается. Одна кнопка RST используется для сброса микроконтроллера AVR USnooBie (ATmega328P), вторая BOOT работает как кнопка активизации бутлоадера, а также может использоваться в программах пользователя. Фьюзы микроконтроллера установлены так, что после сброса (например, кнопкой RST) запускается секция кода бутлоадера (это точно такая же программа, просто она записана в старших адресах flash-памяти программ), которая проверяет - нужно ли запустить бутлоадер, если удерживается кнопка BOOT. Если кнопка BOOT удерживается нажатой, то программа бутлоадера превращает платку USnooBie в USB-устройство USBasp, т. е. она эмулирует поведение программатора USBasp. Благодаря этому становится возможным загрузить другой код пользователя в память микроконтроллера. Если кнопка активации бутлоадера BOOT не удерживается в нажатом состоянии после сброса, то бутлоадер запускает код пользователя (делает безусловный переход по адресу 0), который был записан в память ранее.

Кнопка BOOT подключена на ножку сигнала USB D-, поэтому в нормальном режиме работы USnooBie как устройства USB (или в режиме бутлоадера USBasp) на кнопку BOOT нажимать нельзя, иначе это приведет к ошибке работы USB-устройства и логическому отключению от хоста USB (компьютера). Это может однако понадобиться в некоторых ситуациях, когда нужно отключить USB-устройство логически, без его физического отключения.

В качестве кнопок должна использоваться Omron B3F-1000 tactile SPST momentary on push button switch.

Кроватка/сокет DIP28.

USnooBie-assembly-dipsocket-place

Сокет DIP на 28 выводов используется для установки микроконтроллера AVR ATmega328P. Так как под микроконтроллером установлены в ряд три конденсатора, то должен использоваться сокет DIP28 или два сокета DIP14, дизайн печатной платы (PCB) это позволяет. Кроватка для чипа должна иметь посередине пустое пространство, которое позволит установить конденсаторы. Сначала запаяйте сокет, а потом запаяйте конденсаторы в щель сокета, как это показано на фотографии. Убедитесь, что кроватка правильно ориентирована по по маркировке на PCB - это поможет в будущем правильно устанавливать микросхему микроконтроллера. Не вставляйте микроконтроллер в сокет, пока плата не пройдет простой тест (об этом далее).

USnooBie-capacitorsinsidesocket

Сухие конденсаторы.

USnooBie-assembly-threecaps-place

Конденсатор на 0.1 мкФ является развязывающими, он сглаживают пульсации на шине питания. Код, которым промаркирован корпус конденсатора, должен быть 104 (что означает 0.1 мкФ). Подойдет также конденсатор на 0.22 мкФ, если он имеют небольшой размер. Другие два конденсатора на 27 пФ служат для поддержки правильной работы кварцевого генератора микроконтроллера на 12 МГц. Код на этих конденсаторах должен быть 270 (что означает 27 пикофарад). Все конденсаторы могут быть керамическими или монолитными.

Часто можно немного сэкономить, и конденсаторы на 27 пф не устанавливать, генератор на кварцевом резонаторе все рано будет работать на нужной частоте.

Имейте в виду, что некоторые линейные стабилизаторы напряжения (например LP2950ACZ-3.3) могут генерировать паразитные колебания на выходе, если выходной конденсатор (в нашем случае C3 на 0.1 мкФ) имеет слишком маленькую емкость. usnoobie-additional-capacitorОбычный симптом такого случая - плата работает с установленной перемычкой на 5V, а когда перемычка установлена на 3.3V, то перестает работать, или плата в режиме 3.3V работает, но на выходе стабилизатора осциллографом можно увидеть большие пульсации напряжения амплитудой от 0.5 до 2 вольт. Тогда необходимо емкость выходного конденсатора C3 до 4.7 мкФ или даже до 10 мкФ. Для этого можно просто напаять SMD-конденсатор типоразмера 0805 соответствующей емкости прямо на выводы конденсатора C3, с обратной стороны печатной платы. Я так и поступил со своей платкой, поскольку применил как раз стабилизатор LP2950ACZ-3.3. 

Кварцевый резонатор на 12 МГц.

USnooBie-assembly-crystalUSnooBie-assembly-crystal-place

Кварц нужен для точной установки тактовой частоты микроконтроллера AVR. Частота выбрана 12 МГц, так как она лучше всего подходит для работы при напряжении питания 3.3V из тактовых частот, поддерживаемых библиотекой V-USB. Вы можете заменить кварц на другую частоту, поддерживаемую библиотекой V-USBYou may substitute the 12 MHz crystal with another crystal that is supported by V-USB, однако если Вы используете напряжение питания 3.3V, то есть некая вероятность, что Ваш микроконтроллер не заработает на частоте выше 12 МГц.

Кварц должен иметь корпус типа HC49. Предпочтительнее использовать кварцевый резонатор с низкопрофильным корпусом (усеченный), так как расстояние у него между выводами такое же, как у резонатора с обычным корпусом.

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

Перемычка для выбора рабочего напряжения.

USnooBie-assembly-voltageselectionjumperandblockUSnooBie-assembly-powerselectjumper-place

Трёхвыводный коннектор у края платы используется для переключения напряжения на шине питания. Перемычку можно поставить в одно из двух положений, что позволяет выбрать напряжение питания либо 5V (питание происходит напрямую от шины VBUS интерфейса USB), либо 3.3V (с выхода трехвыводной микросхемы-стабилизатора на 3.3V). Не устанавливайте перемычку, пока плата не пройдет некоторые тесты (описано далее).

Самовосстанавливающийся предохранитель PTC.

USnooBie-assembly-ptcfuseUSnooBie-assembly-ptcfuse-place

Аббревиатура PTC расшифровывается как Positive Temperature Coefficient, т. е. материал предохранителя имеет положительный температурный коэффициент, на чем основана работа предохранителя. Иногда применяют аббревиатуру PPTC (polymeric positive temperature coefficient), и называют такой предохранитель polyfuse или polyswitch. Этот предохранитель, установленный на USnooBie, защищает хост USB от случаев короткого замыкания по шине питания VBUS. Предохранитель нагреется, когда ток достигнет недопустимого уровня, и станет работать как резистор, сильно ограничивая ток. Когда ток прекратится, то предохранитель остынет, потеряет сопротивление и цепь питания восстановится. Поскольку предохранитель восстанавливается автоматически после охлаждения, то его не нужно заменять (в отличие от обычного плавкого предохранителя).

Имейте в виду, что шина питания USB (сигнал VBUS) может предоставить максимум 500 мА тока, поэтому предохранитель должен быть рассчитан на рабочий ток 250 мА, и он должен полностью выключать питание при токе 500 мА. Для многих приложений такой ток может оказаться недостаточным, и если Вам нужно более мощное питание, то используйте вместо шины USB компьютера внешний дополнительный источник питания.

На моем варианте платы этот предохранитель заменен перемычкой из фольги, и в комплекте деталей предохранителя нет. Если Вы желаете самостоятельно установить предохранитель, то перережьте скальпелем перемычку на нижней стороне платы, которая соединяет выводы предохранителя. Тип предохранителя должен быть RXE025 фирмы Tyco Electronics (рабочий ток I-hold 250 мА, ток срабатывания I-trip 500 мА). Перемычку нужно разрезать также в том случае, если Вы собираетесь питать USnooBie от внешнего источника питания, не от компьютера (конечно, в этом случае самовосстанавливающийся предохранитель устанавливать не нужно).

Электролитический конденсатор 4.7 мкФ.

USnooBie-assembly-4u7capUSnooBie-assembly-4u7cap-place

Этот конденсатор фильтрует низкочастотные помехи по шине питания, и поддерживает питание в случае коротких провалов напряжения. Тип конденсатора должен быть 4.7 мкФ на 10 вольт, корпус цилиндрический.

Будьте внимательны при установке конденсатора, так как для него важна полярность. Запаивайте электролитический конденсатор, ориентируясь по маркировке на печатной плате. На отрицательном полюсе конденсатора имеется соответствующая полоса. На плате положительный полюс помечен плюсиком.

Стабилизатор напряжения 3.3V с низким падением напряжения (low dropout).

USnooBie-assembly-vregUSnooBie-assembly-vreg-place

Этот понижающий стабилизатор вырабатывает напряжение 3.3 вольта из напряжения 5 вольт шины VBUS интерфейса USB. Его можно не устанавливать, если Вы планируете питать USnooBie только от напряжения 5 вольт.

При установке обращайте внимание на правильную ориентацию стабилизатора, она должна соответствовать маркировке на печатной плате. Металлическая плоскость теплоотвода должна быть обращена на внутреннюю сторону печатной платы (как показано толстой линией на маркировке PCB). Тип этого компонента должен быть 3.3V low dropout voltage regulator в 3-выводном корпусе TO-220. Может использоваться TC1262 компании Microchip или аналогичный стабилизатор.

Штыревые коннекторы (male header).

USnooBie-assembly-maleheadersUSnooBie-assembly-maleheaders-place

Платка USnooBie имеет 3 штырьковых (папа, male) коннектора. Один большой, на 16 контактов, и два маленьких по 6 контактов. Эти штырьковые коннекторы могут использоваться для установки USnooBie в специальную плату для макетирования breadboard, для этого их следует запаивать на нижнюю сторону печатной платы (PCB). Для упрощения монтажа Вы можете сначала установить эти коннекторы в гнезда breadboard, а затем сверху насадить платку USnooBie и запаять контакты с верхней стороны печатной платы. Такой способ монтажа поможет ровно, без перекосов запаять коннекторы.

Тестирование целостности общего провода (GND, ground).

USnooBie-assembly-test ground

После того, как все детали смонтированы, проверьте на соединения все выводы деталей, подключенные по схеме к шине GND. Для проверки используйте мультиметр в режиме прозвонки. Проверьте также отсутствие замыкания шины земли на шину питания в двух положениях перемычки выбора напряжения питания 3.3V/5V. Если эти тесты прошли успешно, то Вы можете не следующих шагах проверки подключить питание и проверить его уровень, не опасаясь большого тока, который может быть вызван короткими замыканиями.

Тестирование целостности шины питания (power bus).

USnooBie-assembly-test powerbus

Проверьте также на соединения все выводы деталей, подключенные по схеме к шине питания. Для проверки используйте мультиметр в режиме прозвонки. Делайте эту проверку при неподключенной перемычке выбора напряжения питания 3.3V/5V.

Проверка напряжения питания.

USnooBie-assembly-test voltage

Подайте питание на USnooBie, для чего подключите её к порту USB включенного хоста, и проверьте напряжения на выводах деталей, на которых должно быть напряжение 5V. Точно таким же образом проверьте напряжение на выводах, где должно быть напряжение 3.3V. Установите перемычку выбора напряжения питания 3.3V/5V, и проверьте, можете ли Вы с помощью неё менять напряжение питания микроконтроллера. Когда на шине питания есть напряжение, то светодиод (power indicator LED) должен светиться.

Установка микроконтроллера.

USnooBie-assembly-28pinchipUSnooBie-assembly-installchip

Отключите питание, и установите микроконтроллер AVR ATmega (ATmega328P) в сокет DIP28 (при установке соблюдайте правильную ориентацию корпуса микроконтроллера). На этом сборка USnooBie завершена.

Если в память микроконтроллера записана корректная прошивка бутлоадера, и биты фьюзов установлены правильно, то Вы можете сразу начать использовать USnooBie. Чтобы проверить, работает ли USnooBie как устройство USB, когда подключено к компьютеру, следуйте инструкциям для загрузки кода [2].

Вместо ATmega328P в сокет можно установить и другие микроконтроллеры, если они куплены в варианте корпуса PDIP28:

ATmega8
ATmega48
ATmega48P
ATmega48PA
ATmega88
ATmega88P
ATmega88PA
ATmega168
ATmega168P
ATmega168PA
ATmega328P

Другие варианты работать не будут, микроконтроллеры с буквами V или L также не будут работать из-за ограничений по допустимой тактовой частоте.

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

usnoobieB-completed-top-IMG 1553 usnoobieB-completed-bottom-IMG 1560

[Ссылки]

1. Substitution for zener diode site:obdev.at - обсуждения на форуме выбора диодов Зенера на 3.6V (стабилитронов) и возможности их замены.
2. USnooBie: руководство по использованию.

 

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


Защитный код
Обновить

Top of Page