Работа в Arduino IDE
Прошивка загрузчика
Из Arduino IDE при помощи ISP программатора мы можем записать другой загрузчик (по факту загрузчик + фьюзы) и загрузить скетч, а также настроить/прошить фьюзы и лок-биты, но не очень удобным способом. Когда мы выбираем плату в Инструменты > Плата и загрузчик в Инструменты > Плата (загрузчик, bootloader), Arduino IDE автоматически делает “активным” нужный загрузчик. Нажимая Инструменты > Записать загрузчик мы прошиваем загрузчик, соответствующий выбранной плате и её настройкам. Также одновременно с загрузчиком прошиваются фьюзы и лок-биты, соответствующие выбранной плате в Arduino IDE. Как и где их поменять, смотрите чуть ниже. Рассмотрим на примере записи загрузчика для atmega328, стоящей на китайской плате Arduino NANO. На данный момент китайцы прошивают в МК старую версию загрузчика, которая называется old bootloader в меню платы. Оригинальные платы идут с более современным загрузчиком, поэтому при работе с китайскими платами нам приходится выбирать old bootloader для загрузки прошивки через бортовой usb порт. Подключим usbasp по схеме выше, выберем его как программатор в Инструменты > Программатор, выберем плату Arduino NANO, загрузчик для atmega328 (первый в списке). Нажмём записать загрузчик. Всё! Теперь плату можно шить через бортовой usb порт, выбирая первый загрузчик. Он кстати легче, быстрее “прошивает” и сама прошивка быстрее “запускается”.
Как убрать загрузчик?
В стандартном “ядре” Arduino не предусмотрен вариант “без загрузчика”. Для того, чтобы вручную убрать поддержку загрузчика, нужно уметь работать с boards.txt и фьюзами: нужно будет изменить фьюз BOOTRST и подправить максимальный размер скетча. Есть более простой вариант – найти и установить ядро, в котором реализован выбор загрузчика с вариантом “без загрузчика”, например для ATmega328 это miniCore и наше GyverCore. Нужно установить поддержку ядра по рассмотренной ранее инструкции, выбрать плату, указать вариант “без загрузчика” и нажать “Записать загрузчик”. В МК будут прошиты соответствующие фьюзы.
Загрузка скетча
В Arduino IDE можно зашить скетч через программатор, для этого надо нажать Скетч > Загрузить через программатор. Это очень удобно в том случае, когда МК используется без загрузчика, или просто голый МК.
Внимание! Загрузчик будет стёрт!
Фьюзы
Конфигуратор платы в Arduino IDE устроен следующим образом: каждой плате в Инструменты > Плата соответствует свой набор настроек, включая фьюзы, которые прошиваются вместе с загрузчиком. Некоторые из них:
- Загрузчик (путь к файлу)
- Скорость загрузки (через загрузчик)
- Объем доступной flash и sram памяти
- Весь набор фьюзов и лок-биты
Файл конфигурации называется boards.txt и найти его можно в папке с ядром Arduino: C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt. Документацию на boards.txt можно почитать здесь. При желании можно вывести нужные фьюзы через калькулятор (читайте выше), изменить их в boards.txt (главное не запутаться, для какой выбранной конфигурации платы делается изменение) и прошить в МК, нажав Инструменты > Записать загрузчик.
- Фьюзы подписаны как low/high/extended fuses, можно вставлять полученное в калькуляторе значение.
- Локбиты работают следующим образом: unlock_bits это локбиты, которые прошьются до записи загрузчика (при нажатии на кнопку Записать загрузчик). А вот после прошивки загрузчика будут автоматически прошиты lock_bits, которые и определят доступ к памяти контроллера во время его работы. Чтобы защитить прошивку от чтения – ставим lock_bits 0x3C.
Такая работа с фьюзами максимально неудобна, но есть и другие варианты:
- Ядро GyverCore для atmega328, в нем мы сделали кучу готовых настроек фьюзов прямо в настройках платы, читайте в уроке про GyverCore. Несколько загрузчиков, включая вариант без загрузчика, выбор источника тактирования и другие настройки в один клик мышкой.
- Программа AVRdudeprog, про нее поговорим ниже
Рейтинг программаторов
Программатор – это небольшое устройство, которое применяется для сбора, считывания данных и прошивки их на микроконтроллер. Он подключается к компьютеру и самому устройству, в память которого нужно записать программу либо собрать данные. Компьютер нужен для записи нужной прошивки в память программатора.
Подсоединение может осуществляться разными способами, но основным является USB порт. Далее записанную программу нужно передать на микроконтроллер прибора. Классификация устройств производится по типу используемых микросхем, способу подключения и сложности применения. Для выполнения своих задач должен состоять из колодки, куда вставляется микросхема, интерфейса ввода данных и драйвера.
Программаторы выпускаются многими компаниями, занимающимися производством компьютерной электроники. Из-за разнообразия программаторов для прошивки микросхем покупателю может быть сложно выбрать подходящую модель. Чтобы быстрее разобраться в характеристиках и возможностях, мы составили свой рейтинг чипов. При его создании командам проекта ВыборЭксперта.ру ориентировалась на такие показатели как:
- Способ подключения;
- Назначение;
- Функциональные особенности;
- Поддерживаемые ОС;
- Сложность работы;
- Стоимость.
Наши эксперты выбрали лучшие недорогие программаторы, с помощью которых можно прошивать компьютеры, автомобильную электронику, бытовую технику, телефоны и другие устройства. Все представленные приборы получили положительные отзывы у реальных покупателей, высоко оценены экспертами и имеют лучшее соотношение цены и качества.
Как выбрать программатор
Покупая программатор, следует учитывать некоторые моменты, которые помогут правильно подобрать устройство:
- качество, от этого пункта зависит как долго, проработает прибор, а от качества программирования зависит, как долго прослужит микросхема. Перед приобретением следует убедиться, что программатор соответствует рекомендациям компании производителя микросхемы;
- время программирования, тут уже пользователь сам решает насколько быстрый инструмент ему нужен, время программирования может варьироваться от секунд до часов. Естественно если устройство выбирается для серийной работы, то следует остановиться на выборе того, который работает быстро и наделен способностью группового программирования;
- цена, она разная, на ней отражается бренд, качество, скорость программирования и многое другое;
- количество программируемых микросхем. Как правило, производители указывают количество микросхем, к которым подходит программатор, но не всегда эти сведения соответствуют действительности, нередко в перечне оказываются виды микросхем, которые уже не используют. В большинстве случаев достаточно программатора, который совместим с популярными типами микросхем;
- возможность обновления программного обеспечения, при работе с программаторами нередко требуется обновление, например, в случае ошибок, потери софта. А также же если вышли новые микросхемы после обновления не потребуется приобретать новый прибор. Перед покупкой следует уточнить как обновить устройство и сколько это будет стоить. Что касается обновления, то некоторые производители заявляют о возможности бесплатного обновления и, как правило, это правда. Но стоит знать, что со временем сама модель программатора устаревает и обновления на нее не будут загружаться, что в любом случае приведет к потребности приобрести новый;
- наличие технической поддержки, она должна быть качественной так как могут возникнуть вопросы при работе с прибором;
- комплектность устройства, при программировании матриц могут понадобиться различные специальные адаптеры-переходники.
И конечно важно выбирать производителя имеющего хорошую репутацию. Это возможно сделать, поискав отзывы о производителе на страницах интернета и ознакомится с данными о том, как долго компания производит программаторы
Описание
Новая версия всем полюбившегося программатора MiniPro TL866A под названием Minipro TL866II. Данный программатор получил новую прошивку, которая увеличила скорость и надежность работы. В комплект входит 24 адаптера на все случаи жизни.
Высокоскоростной универсальный программатор микросхем памяти: EPROM, EEPROM, FLASH, микроконтроллеров: PIC, AVR, SST, MCS-51, Winbond, SyneMOS, микросхем ПЛИС (PLD, GAL).
Превосходные возможности при работе с программированной логикой серии IC ; 54/74F/LS/HC CMOS4000 . С помощью программатора можно провести функциональные тесты: проверки общей логики интегральных схем, поиск ошибок логических элементов схемы. Список поддерживаемых микросхем свыше 13000. Питание осуществляется от порта USB и не требует дополнительного источника.
Программное обеспечение работает с ОС Win2000, Win2003, Win2008, WinXP, WinVista, Win7 включая 64-разрядные.
Устройство является идеальным решением для специалистов занимающихся ремонтом автомобильной электроники, чиптюнингом, ремонтом материнских плат и бытовой техники. А так же для радиолюбителей, желающих иметь в своем распоряжении не дорогой программатор с широким списком поддерживаемых микросхем и расширенными функциями. В программаторе есть функция самотестирования. Простое и понятное программное обеспечение.
Схема программатора Громова
Давайте рассмотрим принципиальную схему программатора:
Что же мы видим на этой схеме ? Разъем СОМ порта, по другому называемый DB9, 7 резисторов одинакового номинала сопротивлением в 1 кОм и мощностью 0.25 Ватт и 3 импульсных диода. Из диодов подойдут, либо отечественные, КД522, КД510, либо импортные 1N4148.
Давайте разберем, как выглядят данные радиодетали.
На фото ниже представлен разъем DB9:
Как мы видим, пины (выводы) этого разъема обозначены цифрами на нем. Если будут какие-то затруднения с определением какой штырек соответствует какому отверстию разъема, рекомендую вставить проволочку в отверстие пина разъема, перевести мультиметр в режим звуковой прозвонки и прикоснувшись одновременно щупами мультиметра к проволочке по очереди к каждому из штырьков на разъеме, вызвонить соответствие штырьков отверстиям. Это может потребоваться в случае, если вы подключаете разъем проводками к плате. Если разъем будет впаян непосредственно в плату, то эти действия не требуются.
У кого на панели разъемов материнской платы, находящейся в задней части компьютера, нет COM разъема, можно купить планки с таким разъемом. Но нужно убедиться что производители распаяли контроллер СОМ порта на материнской плате, и предусмотрели подключение шлейфа данной планки, непосредственно к плате. Иначе такой вариант вам не поможет. В качестве альтернативного варианта, могу предложить приобрести контроллер СОМ порта, размещенный на специальной плате расширения, которую устанавливают в PCI слот ПК
Также при желании, если вы захотите, чтобы кабель, подключаемый к СОМ порту, у вас отключался от программатора, можно открутив винты крепления, снять разъем с планки, и закрепить его в корпусе программатора. Но будьте внимательны, и после покупки прозвоните все жилы, на соответствие номерам, с обоих концов кабеля, потому что часто в продаже встречаются похожие внешне кабеля, имеющие перекрещенные жилы. Кабель для подключения к данному разъему, должен быть обязательно полной распайки, DB9F – DB9F, прямой, не перекрещенный, с другими кабелями разъем работать не будет.
Если же возникают проблемы с приобретением данного кабеля, можно взять и перекрещенный кабель или удлинитель 9M-9F, но в таком случае может потребоваться обрезать разъем с другого конца, и вызвонив жилки по пинам разъема подпаяться непосредственно к плате программатора. У меня, кстати, был как раз такой кабель — удлинитель, и мне пришлось обрезать разъем со второго конца. Не покупайте кабеля для прошивки телефонов через СОМ порт, они не годятся для наших целей, так как там неполная распайка жил.
Схема первая
С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.
СОМ-разъем на схеме — это «мама».
На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.
Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).
Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:
Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.
А вот весь программатор в сборе:
Питание (+5В) я решил брать с USB-порта.
Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.
Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.
Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.
Заливать прошивку лучше всего с помощью программы PonyProg (скачать).
Прошивка с помощью PonyProg
Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».
Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».
Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.
После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».
Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.
Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».
Вот и все, МК прошит и готов к использованию!
Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».
Редактирование прошивки
Программатор MiniPro TL866CS предназначен только для записи или чтения уже готовой прошивки — образа микросхемы. Для редактирования прошивки Honda Civic используйте программы Crome, Neptune и подобные. Хотя сама программа имеет редактор Hex для побайтового изменения структуры программы. Программатор конечно вещь хорошая, но все равно нужна широкополосная лямбда для настройки, обязательно. Плюс, вам каждый раз чтобы изменить один лишь параметр придется глушить машину, вынимать чип, менять прошивку записывать и снова обкатывать. Легче, но дороже, будет использование Демонов памяти или дополнительных AFR контроллеров.
AMIC
Корпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптеры
ACE
Корпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптеры
Программирование микроконтроллеров AVR фирмы Atmel
1. Микроконтроллеры — первый шаг2. Системы счисления: десятичная, двоичная и шестнадцатиричная3. Логические операции, логические выражения, логические элементы4. Битовые операции5. Прямой, обратный и дополнительный коды двоичного числа6. Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega и ATtiny
USBASP -USB программатор для программирования микроконтроллеров AVRUSBASP ISP программатор и AVRdude prog: программирование микроконтроллеров AVR ATmega, ATtiny. Как прошить микроконтроллер.Published by: Мир микроконтроллеров
Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:
- USBasp 2.0 — с стабилизатором на 3.3 вольта.
- USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).
схема USBasp2.0
распиновка разъема USBasp
ISP программатор
USBasp
Дешёвые ISP программаторы также есть в ассортименте у китайцев, рекомендую брать USBasp как самый распространенный. Поискать на алиэкспресс, мне нравится версия в корпусе. USBasp имеет не очень удобный выход 10-пин на шлейфе, поэтому рекомендуется купить также переходник 10-пин на 6-пин, который позволяет сразу подключаться к ISP header’у, который есть на большинстве плат Arduino
Внимание! Очень часто встречается брак в виде непропая контактов, поэтому во избежание проблем рекомендуется пропаять переходник и отмыть флюс (зубная щётка + бензин калоша)
Быстрый старт:
- Подключить usbasp к компьютеру
- Скачать и установить драйвера на usbasp (скачать с моего сайта, скачать с Яндекс диска, ещё есть тут и тут)
- Открыть диспетчер устройств и убедиться, что программатор определился системой
- Открыть Arduino IDE
- Выбрать usbasp в Инструменты > Программатор
Решение проблем
Решение большинства проблем с загрузкой через программатор (независимо от того, что написано в логе ошибки):
- Вытащить и обратно вставить usbasp в usb порт
- Вставить в другой usb порт
- Переустановить драйвер на usbasp
- Проверить качество соединения USBasp с МК
- Перепаять переходник и отмыть флюс
Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):
USBasp: на плате есть перемычка JP3, которая включает режим низкой скорости загрузки. В новых версиях прошивки для USBasp скорость выбирается автоматически, но китайцы продают старую версию. Как прошить новую – ищите в интернете.
Основные ошибки в логе Arduino IDE
Причина – компьютер не видит USB ASP
- Проверить и сменить USB порт
- Попытаться переустановить драйвер
- Проверить пайку USB разъема на плате программатора
- Проверить наличие и целостность элементов вблизи usb разъема программатора, кварцевый резонатор
- Возможно программатор криво прошит – при возможности попытаться перепрошить
- Возможно микроконтроллер на плате программатора – брак или же мертв, попытаться заменить и прошить
Причина – usbasp не видит подключаемый микроконтроллер
- Проверить правильность и целостность соединения с МК
- Попытаться снизить частоту прошивки, джампером или же указав более низкую скорость в среде программирования
- Проверить пайку разъема 10 pin и переходника 10 pin – 6 pin
- Возможно прошиваемый микроконтроллер попался с браком, или же мертв.
Arduino as ISP
Почти любая другая плата Arduino может стать ISP программатором, для этого нужно просто загрузить в неё скетч ArduinoISP:
- Открыть скетч Файл > Примеры > 11. ArduinoISP > ArduinoISP
- Всё! Ваша Arduino теперь стала ISP программатором
- Подключаем к ней другую Arduino или голый чип по схеме ниже
- Выбираем Arduino as ISP в Инструменты > Программатор
- И можем писать загрузчики, фьюзы или загружать прошивку напрямую во Flash
ISP программатор подключается к четырем пинам микроконтроллера, не считая питания: один из пинов передает сброс, остальные – для передачи данных. Чтобы плата-программатор не сбрасывалась при загрузке, на неё нужно:
- Либо поставить поставить конденсатор ёмкостью ~10 мкФ между RST и GND (рекомендуется)
- Либо просто закоротить пины RST и 5V проводом
По использованию других плат Arduino в качестве программатора читай на официальном сайте.
Решение проблем
Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):
Arduino ISP: нужно изменить частоту загрузки прошивки в скетче Arduino ISP и снова прошить его в ардуино-программатор (см. строку в скетче 45 и ниже);
AMD
Корпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптерыКорпуса и адаптеры