Pic18f2550 схемы самоделок

Добавил пользователь Skiper
Обновлено: 15.09.2024

Практическое использование интерфейса USB в PIC контроллерах

  • высокая скорость обмена, высокая помехозащищенность
  • управление потоком данных, контроль целостности и исправление ошибок
  • возможность разветвления через хабы и подключения большого количества устройств.
  • возможность получения питания от шины
  • универсальность шины – возможность подключения разноплановых устройств (клавиатура, принтер, модем)
  • автоматическая идентификация и конфигурирование системы, Plug and Play
  • необходимость программирования драйверов для Windows
  • сравнительно малая распространенность микроконтроллеров со встроенным интерфейсом USB

Этот цикл статей призван показать, что преодолеть эти трудности довольно легко и каждый может провести "апгрейд" своего устройства с привычного RS-232 на USB или создать новое устройство с USB интерфейсом.

В качестве микроконтроллера в примерах будет рассматриваться микроконтроллер производства компании Microchip PIC18F4550 с интерфейсом USB 2.0 (поддерживает Low Speed и Full Speed).

Одна из задач, возникающих при разработке USB устройств, это переход с интерфейса RS-232 на USB, при этом, если производится модификация "старого" прибора или устройство должно быть совместимо с существующими протоколами и программным обеспечением ПК, то желательно избавиться от любой модификации программного обеспечения на компьютере. Одним из решений данной задачи является использование интерфейса USB в качестве виртуального COM-порта. Применение данного метода исключает необходимость модификации ПО компьютера, т.к. USB соединение видится персональным компьютером как дополнительный COM-порт. Другое важное преимущество заключается в том, что используются стандартные драйвера Windows и не требуется создание какого-либо своего драйвера.

Спецификация USB описывает класс коммуникационных устройств (Communication Device Class – CDC), который определяет множество режимов соединений для телекоммуникационных (модемы, терминалы, телефоны) и сетевых устройств (Ethernet адаптеры и хабы, ADSL модемы), включая эмуляцию последовательного порта.

Возьмем в качестве примера устройство, которое через RS-232 передает данные о напряжении с потенциометра и температуре с цифрового датчика TC77, а так же принимает команды для включения/выключения двух светодиодов (данный пример для простоты реализуем на плате PICDEM™ FS USB DEMONSTRATION BOARD, но можно собрать и более простую схему – см.ниже).

  • Максимальная частота работы – 48 МГц (12 MIPS);
  • 32 Кб Flash памяти программ (технология Enhanced Flash);
  • 2 Кб памяти данных (из них 1 Кб двухпортового ОЗУ);
  • 256 байт памяти данных EEPROM;
  • Интерфейс FS USB2.0 с поддержкой скорости работы 12 Мбит/с, со встроенным приемопередатчиком и стабилизатором напряжения.
  • Кварц 20 МГц;
  • Интерфейс RS-232 для демонстрации возможности перехода с USART на USB;
  • Разъем для внутрисхемного программирования и отладки
  • Стабилизатор питающего напряжения с возможностью переключения на питание от шины USB;
  • Разъем расширения PICtail™;
  • Температурный датчик TC77, подключенный по I2C;
  • Переменный резистор, подключенный ко входу АЦП;
  • Светодиоды, кнопки.

Фрагмент программы подготовки и передачи данных:

ReadPOT(); // Чтение данных с АЦП
output_buffer[0] = ADRESH;
output_buffer[1] = ADRESL;
AcquireTemperature(); // Чтение температуры из сенсора
output_buffer[2] = MSB(temperature);
output_buffer[3] = LSB(temperature);
User_ProcessUSART(); // передача данных по RS-232

Прием данных и управление светодиодами:

if(PIR1bits.RCIF) PIR1bits.RCIF = 0;
input_buffer[1] = RCREG;
switch (input_buffer[1]) case '1' : mLED_3_On(); break;
case '2' : mLED_3_Off(); break;
case '3' : mLED_4_On(); break;
case '4' : mLED_4_Off(); break;
default : break;
>
>

Для данного устройства есть программа для ПК для управления устройством и индикации значений напряжения и температуры. Итак, мы можем подключить устройство к RS-232, выбрать доступный в системе COM-порт и установить скорость обмена с нашим устройством, число бит данных, количество стоповых бит, а так же параметры битов четности и управления потоком в соответствии с программой микроконтроллера (для этого мы должны знать параметры инициализации нашего контроллера)

Приступим к подключению нашего устройства к USB. Компания Microchip Technology Inc. Предлагает готовый пример применения AN956, в котором реализована поддержка USB CDC для микроконтроллера PIC18F2550, PIC18F2455, PIC18F4455, PIC18F4550. Программа построена по модульному принципу, что позволяет легкую модернизацию и интегрированию в готовые проекты. После начальной инициализации контроллера программа может общаться с ПК через интерфейс USB посредством нескольких готовых функций:

Модифицируем нашу программу для передачи и приема данных через USB.

Фрагмент программы подготовки и передачи данных:

ReadPOT(); // Чтение данных с АЦП
output_buffer[0] = ADRESH;
output_buffer[1] = ADRESL;
AcquireTemperature(); // Чтение температуры из сенсора
output_buffer[2] = MSB(temperature);
output_buffer[3] = LSB(temperature);
if(mUSBUSARTIsTxTrfReady()) < // Если USB свободен, то передать данные mUSBUSARTTxRam((byte*)output_buffer,4);
>

if(getsUSBUSART(input_buffer,1)) switch (input_buffer[0]) case '1' : mLED_3_On(); break;
case '2' : mLED_3_Off(); break;
case '3' : mLED_4_On(); break;
case '4' : mLED_4_Off(); break;
default : break;
>
>

После подключения устройства к USB система опознает новое устройство

И устанавливает новое оборудование

Выбираем установку с указанного места и указываем путь расположения файла mcpusb.inf из комплекта исходных кодов программы к AN956. После этого производится установка нового устройства в систему.

Итак, новое устройство готово к работе. В системе появился новый виртуальный COM порт.

Теперь в нашей программе мы можем выбрать появившийся виртуальный COM порт для общения с устройством …

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

Окно программы PICDEM CDC

При использовании микроконтроллеров PIC18Fxx5x со встроенным модулем USB 2.0 виртуальный COM порт может обеспечить скорость передачи данных до 80Кбайт в секунду (640Кбит/сек), что существенно превышает возможную скорость передачи через RS-232, при этом, как мы видим, переделки ПО для компьютера не потребовалось!

  • простота реализации;
  • компактный код;
  • поддержка Windows (не нужны дополнительные драйвера).

На сайте компании Microchip есть пример реализации HID манипулятора мышь. Рассмотрим реализацию простейшего игрового манипулятора на основе этого примера. Для этого проекта будем использовать демонстрационную плату PICDEM FS-USB (DM163025). Отладочная плата PICDEM FS-USB имеет один переменный резистор и 2 кнопки, поэтому разрабатываемый джойстик будет иметь минимум элементов управления (2 кнопки и, например, регулятор газа).

Дополнительно нужно скорректировать в описании HID Class-Specific Descriptor размер полученного дескриптора устройства и в дескрипторе конечной точки изменить размер данных, передаваемых через конечную точку (в нашем случае передаем 2 байта, поэтому размер HID_INT_IN_EP_SIZE=2).

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

ReadPOT(); // запуск измерения напряжения потенциометра
buffer[0] = ADRESH;
// обработка состояний кнопок
if(sw2==0) buffer[1] |= 0x01;
else buffer[1] &= ~0x01;
if(sw3==0) buffer[1] |= 0x02;
else buffer[1] &= ~0x02;
// передача данных
Emulate_Joystick();

После компиляции проекта и программирования микроконтроллера можно подключить устройство к USB-порту. Плата определяется как HID игровое устройство, инсталлируется в систему и готово к работе.

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

При изменении конфигурации устройства – добавлении органов управления или кнопок, необходимо не только изменить описание дескриптора устройства, но и передавать данные строго в соответствии с созданным дескриптором. Так изменив в описании дескриптора устройства USAGE_MAXIMUM (BUTTON 2) максимальное число кнопок с 2 на 8, получим джойстик на 8 кнопок.

При усложнении дескриптора можем получить и более полную реализацию джойстика, при этом нужно не забыть изменять следующие параметры: размер дескриптора, размер конечной точки и необходимо оправлять столько информационных данных, сколько объявлено в дескрипторе.

Любое USB устройство может иметь несколько конфигураций и в каждой конфигурации несколько интерфейсов. Это свойство USB позволяет создаваемому устройству иметь возможность опознаваться компьютером как несколько USB устройств с разными интерфейсами. Мышка, например, может иметь встроенный карт-ридер и взаимодействовать с компьютером как два независимых устройства.

Структура дескриптора устройства:

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

    Создание дескриптора. Изменим структуру дескриптора (файл usbdsc.h) Устройство будет иметь 2 интерфейса, в каждом по одной конечной точке.

Тогда передача данных для мышки будет выглядеть как

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

Исходные коды составного HID устройства

Замечание. Не забывайте менять PID при создании нового устройства или удалять из системы предыдущее устройство с тем же самым PID.

Компания Microchip Technology Inc. выпускает недорогой программатор разработчика PICkit2, который в первую очередь используется для программирования Flash-контроллеров. Отличительной особенностью этого программатора является доступность полной документации и исходных кодов прошивки для микроконтроллера, и программы оболочки для компьютера. PICkit2 получает питание от USB, формирует регулируемые напряжения программирования и питания, а так же имеет 3 линии входа-выхода для подключения к программируемому устройству. Для возможности обновления прошивки программатора в PICkit2 реализована программа бутлоадер.

CDC-устройство на основе PICkit2

Для обратного восстановления PICkit2 как программатора нужно отключить PICkit2 от USB и при нажатой кнопке снова подключить кабель USB, после чего выбрать загрузку штатной прошивки программатора.

Исходные коды данного примера доступны по ссылке.

На основе данного примера и используя внешние выводы программатора PICkit2 можно получать данные с внешних устройств и передавать в компьютер через USB. Таким образом, используя PICkit2 можно сделать вывод данных на COG ЖК-индикаторы, считыватели I2C, SPI и 1-wire устройств, например датчиков температуры и др. устройств.

Радио HID клавиатура на основе PICkit2.

  • PICkit2
  • демо-плата из комплекта PICkit2 (DV164120)
  • радиоприемник (rfRXD0420) и радиопередатчик (rfPIC12F675) из комплекта rfPICkit.

К демо-плате подключаем радиоприемник. Микроконтроллер на плате будет принимать данные с приемника, обрабатывать их и, при определении нажатия одной из двух кнопок на радиобрелке, выставлять уровень лог.1 на одном из 2-х выводов подключенных к PICkit2.

  • при подключении к компьютеру через USB определяться как HID-клавиатура
  • формировать напряжение питания +5В для демо-платы с приемником
  • опрашивать 2 внешних вывода контроллера приемника и при наличии лог. 1 отсылать в компьютер коды нажатия кнопок PageUp или PageDown.

Два виртуальнык COM-порта (Эмуляция микросхемы FTDI2232) на базе PICKit2.Этот пример предназначен только для изучения работы USB. Изучите требование лицензии на драйвер FTDI перед использованием!

Пример показывает как на базе микроконтроллера с USB портом сделать 2 виртуальных COM-порта.Для начало нужно установить драйвера для микросхемы FTDI2232. Затем для загрузки в PICkit2 нужно в оболочке PICkit2 выбрать пункт обновления прошивки и указать на файл TestVCP2.hex из архива. После перепрограммирования PICkit2 у вас в системе появятся 2 независимых последовательных COM порта.

Все приведенные выше примеры основаны на MCHPFSUSB Framework v1.3. С появлением контроллеров PIC24 и PIC32 с USB OTG, компания Microchip выпустила новую версию стека - USB stack v. 2.х.

В новой версии USB stack v. 2.3, помимо стеков USB device, реализующего функциональность USB-клиента, USB Embedded host, реализующего функциональность хоста, также добывлен стек USB dual role, реализующий функции и хоста, и клиента; и USB OTG, поддерживающий протокол согласования роли хоста (HNP), протокол запроса сеанса (SRP), и полностью соответствующий спецификации USB OTG. В примерах применения реализовано:

  • Embedded Host
    • Printer Class host – поддержка ESC/POS, PostScript® и PCL5 принтеров
    • CDC Class host – поддержка устройств ACM (abstract control model)
    • HID Клавиатура
    • HID bootloader – добавлена поддержка семейств PIC32MX460F512L и PIC18F14K50
    • HID клавиатура, мышка
    • MSD internal flash demo – использование внутренней flash для хранения файлов
    • MSD + HID composite example - пример составного устройства MSD и HID
    • CDC - эмуляция COM-порта
    • поддержка семейства PIC32MX460F512L для всех демонстрационных проектов
    • примеры HID, MCHPUSB и WinUSB теперь поддерживают функцию Microsoft Plug-and-Play (PnP) для автоопределения. Документация
    • полное описание всех API расположено в папке “ \Microchip\Help”

    Бутлоадер с USB Flash Drive. Обновление прошивки с обычного флэш диска.

    Для обновления прошивки микроконтроллера с модулем USB-OTG (PIC24 или PIC32) не обязательно использовать специальное программное обеспечение. Наличие Host-режима позволяет подключать к микроконтроллеру обычные USB-накопители данных (Flash Drive). На сайте Microchip опубликован пример (бета версия), позволяющий обновить программное обеспечение микроконтроллера из подключенного USB-диска.

    Для запуска примера вам нужно загрузить прошивку бутлоадера в плату PIC32 USB Board или Explorer 16 (c установленным процессорным модулем PIM PIC32 USB и дочерней платой USB PICtail Plus Daughter Board). Если подать питание на плату при нажатой кнопке, то контроллер перейдет в режим обновления прошивки. Если теперь подключить Flash накопитель с записанным файлом обновления прошивки, то микроконтроллер считает этот файл и перепишет в свою память программ.

    Итак, составил схему и развел печатную плату. Все по порядку.


    Недавно я решил сделать небольшую игрушку. Для неё я воспользовался контроллером pic18f2550, но не потому что он такой крутой, а потому что у меня завалялась их целая куча.
    И приспичило мне менять в этой игрушке прошивку по мановению руки. Естественно, в таких случаях обычно используются бутлоадеры. Бутлоадер же в свою очередь должен как-то общаться с хостом, например через UART/USB/свой протокол. Но для всех них надо тащить к устройству дополнительные провода; чего мне не очень хотелось, а точнее очень не хотелось, поскольку девайс и так подключается к питанию довольно длинными проводами.


    На микроконтроллерах схемы на PIC

    Блок управления RGB - светодиодной лентой

    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна

    Сейчас очень популярно освещение с помощью светодиодных лент. Особенно интересно применение RGB-светодиодных лент, потому что это позволяет получить самую разнообразную окраску освещения.
    Это устройство предназначено для управления RGB - светодиодной лентой или тремя светодиодными блоками с общими анодами.

    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна

    Термометр с функцией таймера или управления термостатом

    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна

    Измеритель индуктивности на микроконтроллере PIC16F1936

    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна

    Lukas Fässler
    Статья [1] с описанием простой конструкции цифрового прибора для измерения индуктивности, в основе которого была плата Arduino Uno. Этот вариант прибора, по отзывам пользователей, хорошо зарекомендовал себя в работе, но для повседневного использования, возможно, вы хотели бы иметь, нечто похожее на мультиметр. Поэтому было решено разработать новую версию прибора, которая питается от 9-вольтовой батареи и помещена в пластиковый корпус, напечатанный на 3D принтере (Рисунок 1).

    Микросауна в квартире

    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна

    Нужны оправки 3м? ВОЛЕКС - это все самое лучшее в мире промышленного инструмента и абразивных материалов. Обращайтесь!

    У вас плохой иммунитет, часто простываете? Можно обратиться к услугам врача, который, как правило назначает лекарства, они имеют много побочных действий и могут ощутимо подорвать бюджет вашей семьи. К тому же известно, что бесконтрольное и частое применение антибиотиков сильно подрывает иммунитет. Автор на себе опробовал чудное действие сауны и убедился в повышении иммунитета организма. Ходить в сауну желательно один раз в неделю, а как известно цены на данный вид услуг так же высоки. Выходом из данной ситуации может быть построение микросауны в обычной квартире. Во многих квартирах многоэтажных домов существуют небольшие кладовки размером 1,7x0,8 метра. Автор соорудил сауну в такой кладовке.

    Программируемый лазерный построитель изображения

    Звезда активна
    Звезда активна
    Звезда активна
    Звезда не активна
    Звезда не активна

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

    Цифровой термостат

    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна

    Сумеречный выключатель на микроконтроллере

    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна
    Звезда не активна

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

    Индикатор напряжения в электросети на микроконтроллере PIC16F676

    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна
    Звезда активна

    Горчу к Н. В.
    Индикатор предназначен для непрерывного измерения и индикации напряжения в электросети. Индикатор состоит из цифрового трехразрядного измерителя напряжения, источника питания и датчика напряжения электросети. По сути, датчик напряжения электросети и источник питания это единое целое. Прибор питается от электросети через источник питания, состоящий из понижающего трансформатора, выпрямителя и стабилизатора на микросхеме 7805. Напряжение питания измерителя 5V берется с выхода этого стабилизатора, а напряжение до стабилизатора служит как раз и датчиком напряжения электросети. Суть в том, что при изменении напряжения в сети меняется и напряжение на выходе выпрямителя. Измеритель напряжения построен на микроконтроллере D1 типа PIC16F676, у данного контроллера имеется порт, могущий работать для приема аналоговой информации, то есть с АЦП.

    Простой цифровой термометр на PIC16F628A и датчике DS18B20

    Звезда активна
    Звезда активна
    Звезда активна
    Звезда не активна
    Звезда не активна


    Это обычный цифровой термометр, на просторах интернета подобных девайсов очень много. Основа микроконтроллер PIC16F628A и цифровой датчик температуры DS18S20 (DS18B20). В качестве индикаторов применены светодиодные 3-х разрядные индикаторы зеленого цвета. Индикация динамическая. Термометр работает во всем диапазоне температур датчика DS18S20, т.е. от -55 до +125 градусов.


    10F200, 10F202, 10F204, 10F206, 10F220, 10F222,
    12F508, 12F509, 12F510, 12F519, 12F609, 12F615, 12F629, 12F635, 12F675, 12F683,
    16F505, 16F506, 16F526, 16F54, 16F610, 16F616, 16F627, 16F627A, 16F628, 16F628A, 16F630, 16F631, 16F636, 16F639, 16F648A, 16F676, 16F677, 16F684, 16F685, 16F687, 16F688, 16F689, 16F690, 16F716, 16F722, 16F722A, 16F723, 16F723A, 16F724, 16F726, 16F727, 16F73, 16F737, 16F74, 16F747, 16F76, 16F767, 16F77, 16F777, 16F785, 16F818, 16F819, 16F83, 16F83A, 16C83, 16C83A, 16F84, 16C84, 16F84A, 16C84A, 16F87, 16F870, 16F871, 16F872, 16F873, 16F873A, 16F874, 16F874A, 16F876, 16F876A, 16F877, 16F877A, 16F88, 16F882, 16F883, 16F884, 16F886, 16F887, 16F913, 16F914, 16F916, 16F917, 16F946,
    16F1822, 16F1823, 16F1824, 16F1825, 16F1826, 16F1827, 16F1828, 16F1829, 16F1933, 16F1934, 16F1936, 16F1937, 16F1938, 16F1939, 16F1946, 16F1947,
    18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F1220, 18F1230, 18F1320, 18F1330, 18F13K50, 18F14K50, 18F2220, 18F2221, 18F2320, 18F23K20, 18F2321, 18F2331, 18F2410, 18F24J10, 18F24J11, 18F2420, 18F24K20, 18F2423, 18F2431, 18F2439, 18F2450, 18F24J50, 18F2455, 18F2458, 18F2480, 18F2510, 18F25J10, 18F25J11, 18F2515, 18F25K20, 18F2520, 18F2523, 18F2525, 18F2539, 18F2550, 18F25J50, 18F2553, 18F2580, 18F2585, 18F2610, 18F26J11, 18F26J13, 18F2620, 18F26K20, 18F26J50, 18F26J53, 18F2680, 18F2682, 18F2685, 18F27J13, 18F27J53, 18F4220, 18F4221, 18F4320, 18F43K20, 18F4321, 18F4331, 18F4410, 18F44J10, 18F44J11, 18F4420, 18F44K20, 18F4423, 18F4431, 18F4439, 18F4450, 18F44J50, 18F4455, 18F4458, 18F4480, 18F4510, 18F45J10, 18F45J11, 18F4515, 18F4520, 18F45K20, 18F4523, 18F4525, 18F4539, 18F4550, 18F45J50, 18F4553, 18F4580, 18F4585, 18F4610, 18F46J11, 18F46J13, 18F4620, 18F46K20, 18F46J50, 18F46J53, 18F4680, 18F4682, 18F4685, 18F47J13, 18F47J53, 18F8722,
    24F04KA200, 24F04KA201, 24F08KA101, 24F08KA102, 24F16KA101, 24F16KA102, 24FJ16GA002, 24FJ16GA004, 24FJ32GA002, 24FJ32GA004, 24FJ48GA002, 24FJ48GA004, 24FJ64GA002, 24FJ64GA004, 24FJ64GA006, 24FJ64GA008, 24FJ64GA010, 24FJ96GA006, 24FJ96GA008, 24FJ96GA010, 24FJ128GA006, 24FJ128GA008, 24FJ128GA010, 24FJ32GA102, 24FJ32GA104, 24FJ32GB002, 24FJ32GB004, 24FJ64GA102, 24FJ64GA104, 24FJ64GB002, 24FJ64GB004, 24FJ64GB106, 24FJ64GB108, 24FJ64GB110, 24FJ128GA106, 24FJ128GB106, 24FJ128GA108, 24FJ128GB108, 24FJ128GA110, 24FJ128GB110, 24FJ192GA106, 24FJ192GB106, 24FJ192GA108, 24FJ192GB108, 24FJ192GA110, 24FJ192GB110, 24FJ256GA106, 24FJ256GB106, 24FJ256GA108, 24FJ256GB108, 24FJ256GA110, 24FJ256GB110, 24HJ12GP201, 24HJ12GP202, 24HJ16GP304, 24HJ32GP202, 24HJ32GP204, 24HJ32GP302, 24HJ32GP304, 24HJ64GP202, 24HJ64GP204, 24HJ64GP206, 24HJ64GP210, 24HJ64GP502, 24HJ64GP504, 24HJ64GP506, 24HJ64GP510, 24HJ128GP202, 24HJ128GP204, 24HJ128GP206, 24HJ128GP210, 24HJ128GP306, 24HJ128GP310, 24HJ128GP502, 24HJ128GP504, 24HJ128GP506, 24HJ128GP510, 24HJ256GP206, 24HJ256GP210, 24HJ256GP610,
    30F2010, 30F2011, 30F2012, 30F3010, 30F3011, 30F3012, 30F3013, 30F3014, 30F4011, 30F4012, 30F4013, 30F5011, 30F5013, 30F5015, 30F5016, 30F6010, 30F6011, 30F6012, 30F6013, 30F6014, 30F6015,
    33FJ06GS101, 33FJ06GS102, 33FJ06GS202, 33FJ12GP201, 33FJ12GP202, 33FJ12MC201, 33FJ12MC202, 33FJ16GP304, 33FJ16GS402, 33FJ16GS404, 33FJ16GS502, 33FJ16GS504, 33FJ16MC304, 33FJ32GP202, 33FJ32GP204, 33FJ32GP302, 33FJ32GP304, 33FJ32GS406, 33FJ32GS606, 33FJ32GS608, 33FJ32GS610, 33FJ32MC202, 33FJ32MC204, 33FJ32MC302, 33FJ32MC304, 33FJ64GP202, 33FJ64GP204, 33FJ64GP206, 33FJ64GP306, 33FJ64GP310, 33FJ64GP706, 33FJ64GP708, 33FJ64GP710, 33FJ64GP802, 33FJ64GP804, 33FJ64GS406, 33FJ64GS606, 33FJ64GS608, 33FJ64GS610, 33FJ64MC202, 33FJ64MC204, 33FJ64MC506, 33FJ64MC508, 33FJ64MC510, 33FJ64MC706, 33FJ64MC710, 33FJ64MC802, 33FJ64MC804, 33FJ128GP202, 33FJ128GP204, 33FJ128GP206, 33FJ128GP306, 33FJ128GP310, 33FJ128GP706, 33FJ128GP708, 33FJ128GP710, 33FJ128GP802, 33FJ128GP804, 33FJ128MC202, 33FJ128MC204, 33FJ128MC506, 33FJ128MC510, 33FJ128MC706, 33FJ128MC708, 33FJ128MC710, 33FJ128MC802, 33FJ128MC804, 33FJ256GP506, 33FJ256GP510, 33FJ256GP710, 33FJ256MC510, 33FJ256MC710,

    2400, 2401, 2402, 2404, 2408, 2416, 2432, 2464, 24128, 24256, 24512, 241024, 241025,
    25010, 25020, 25040, 25080, 25160, 25320, 25640, 25128, 25256, 25512, 251024,

    93S46, 93x46, 93x46A, 93S56, 93x56, 93x56A, 93S66, 93x66, 93x66A, 93x76, 93x76A, 93x86, 93x86A,

    AT90S1200, AT90S2313, AT90S8515, AT90S8535, ATmega8, ATmega8A, ATmega8515, ATmega8535, ATmega16, ATmega16A, ATmega32, ATmega32A, ATmega64, ATmega64A, ATtiny2313

    • 1 штука - PIC18F2550 Микроконтроллер, выводной в корпусе DIP28 или поверхностного монтажа в корпусе SOIC28, в зависимости от выбранной вами печатной платы.
    • 1 штука - панелька под микросхему DIP28 (если выводной монтаж)
    • 1 штука - Кварцевый резонатор 8MHZ, выводной в корпусе HC-49US или поверхностного монтажа в корпусе HC-49SMD(можно использовать и другие кварцы но придется изменить емкость керамических конденсаторов на соответствующую, таблица будет приведена ниже)

    • 1 штука - панелька под микросхему DIP28
    • 1 штука - LPT разъем (желательно папа так как при наличии длинного хвоста шнура возникают ошибки)
    • 8 штук - 1N4148 Диод, выводной в корпусе DO-35 или поверхностного монтажа в корпусе DL35
    • 1 штука - конденсатор 47 uF на 50 вольт


    Программатор art2003 для меня оказался самым надежным

    Вот что получилось у меня.
    Легко, надежно, а главное работает:


    Изготовление самого Донгла




    Разводка PIN-out USB:


    Итак по пунктам:

    А так-же, скачать архив от RabinoVich , с доработанной макеткой, которую выкладывал Resylenr.

    После сборки устройства, необходимо прошить в микроконтроллер BootLoader - файл: BootLoader_xxMhz.hex

    1. Что бы прошить устанавливаем контроллер в наш программатор и подключаем к LPTпорту.
    2. Запускаем программу winpic800 (вложен в архив со схемой программатора)
    3. Указываем тип программатора

    P.S. При написании гайда использовался архив, выложенный Resylenr, за что ему большое спасибо!


    dorosh, 1х корпус DIP28 (если выводной монтаж), поправь, это называется не корпус а панелька под микросхему.




    dorosh, 1х корпус DIP28 (если выводной монтаж), поправь, это называется не корпус а панелька под микросхему.

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


    JunglBell, какие слова ты предлагаешь писать? Поверхностный монтаж можно заменить на SMD но от этого понятней не станет. Даже не знающий человек может набрать в поисковике DIP28 и ему высвитится что и как. Можно конечно написать и конкретную маркировку микросхем: с выводами PIC18F2525-I/SP и PIC18F2550-I/SO для поверхностного монтажа



    если человек не знает как это сделать по этому гайду и в жизни не держал паяльник он может его купить (в Украине по номеру 0997805092) =)))))))) по чисто символической цене 250-300 грн =)






    Всем привет! Огромное спасибо за FAQ! Я проблему взлома зы3 решил своим смартфоном, но вот зачесались у меня очумелые ручки. Короче сразу скажу, что паяльник я никогда в руках не держал. Поэтому прошу сильно не пинать, за то что я сейчас буду задавать некоторые несомненно тривиальные вопросы.

    1) Где разница между выводным и поверхностным монтажем? (наглядно)

    2) Как определить, где нога номер 1 у пика?

    3) каким контактом выведенный в схеме в отдельное окошко бут лодер присоединяется к 1вой ноге пика?

    4) почему в схеме бут лодера два раза (в форме квадратов) пути пущены в круговую? (и между ними свитч - кстати, можно было свитч там нарисовать и так: _./ ._ или это какой-то особый?)

    5) во что всовывать контакты VCC и VPP?

    6) GND это заземление - куда его припаевать? Ведь не в землю же тыркать концом провода )))

    7) Что означает элемент Y1? Знак мне не известен.

    8) куда припаевать концы D- и D+? (Или их просто соединить с соответствующими концами в элементе J1?)

    9) что такое элемент J1? (И паяется ли VCC отсюда туда же куда и VCC от бут лодера и самого пика?)

    Вот, пока вроде все.
    Надеюсь знатоки поржали от души! ))

    ПРАВКА:
    Ах да, сколько все это добро, что следует преобрести, должно примерно стоить?

    Вот это, то что надо?





    ага, то что надо =) А СЧЕТ ОТ ВОООН ТОЙ ямки полукруглой начинается, точечка у ножки и есть лапка номер 1 ,до низу и пошел по второй стороне до верху.


    Fejwin,
    По пунктам:
    1) Компоненты с поверхностным монтажом компактнее в размерах, дешевле по стоимости в отличии от выводных не нужно сверлить отверстия в плате но из за своей компактности у новичков могут возникнуть проблемы с пайкой мелких выводов. Вот рисунок с наглядной разницей между выводными компонентами и компонентами с поверхностным монтажом.

    2) Вот тебе рисунок с нумерацией контактов.

    3)Контакт VPP подсоединяется к первой ноге пика, VCC к питанию(VDD) 20я нога пика и первая нога USB коннектора.
    4) Квадраты это не пути пущеные в круговую, а графическое изображение кнопки. Кнопка обычная, просто она так изображена на схеме.
    5)написанно в 3м пункте.
    6)GND это контакты 8 VSS и 19 VSS, все точки GND подсоединяются к 4 выводу коннектора USB и к его корпусу.
    Вот схема распайки разъемов USB.
    7)Элемент Y1 это кварцевый резонатор, именно под имеющийся у тебя кварц нужно выбирать прошивку.
    8)Контакт D-(15 нога) припаивается к контакту 2 USB коннектора, а D+(16 нога) к контакту 3 USB коннектора соответственно.
    9)Элемент J1 это USB коннектор. Все контакты отмеченные на пике подсоединяются к соответствующим контактам коннектора.

    Все это добро обойдется тебе рублей 300, смотря где компоненты брать будешь.

    Читайте также: