
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05
Эти инструкции полезны, если:
* у вас есть arduino с atmega168, и вы купили atmega328 в местном магазине электроники. У него нет загрузчика arduino *, вы хотите создать проект, который не использует arduino - просто обычный чип AVR (например, USBTinyISP) - у вас есть чистый attiny2313 / attiny48 и т. Д., На который вы хотите записать прошивку. Обычно у вас должен быть ISP (системный программист), такой как USBTinyISP, чтобы запрограммировать ваш новый чип. Имея ардуино, вы можете научить его быть программистом благодаря отличной работе, проделанной Рэндаллом Боном. Он создал Mega-ISP - скетч Arduino, который работает как программист.
Шаг 1. Что вам нужно?
* рабочий Arduino (или клон - я использую BBB - BareBonesBoard и RBBB - RealBareBonesBoard от ModernDevices) * чип, который вы хотите запрограммировать (протестирован с atmega8, atmega168, atmega368, attiny2313, attiny13) * макет или плата с разъемом ISP * 3 светодиода + 3 резистора * макетные провода
Шаг 2. Создание программатора Mega-isp на макетной плате
Есть два способа подключить ваш Arduino для программирования чипа.
Вы можете подключить свой avr-чип к макетной плате и подключить 5 В и GND к соответствующим контактам (проверьте техническое описание!) + Подтягивающий резистор для сброса и подключения контактов от вашего Arduino к чипу. Это строки на Arduino и их функция 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Или вы можете сделать 2x3-контактный заголовок ISP, который вы можете подключить к плате, которая предоставляет один (другая плата Arduino). Распиновка заголовка ISP находится на третьем изображении. Есть 3 светодиода для индикации статуса программатора. контакт 9 - синий светодиод - это сердцебиение программиста. контакт 8 - красный светодиод - указывает на ошибку контакт 7 - зеленый светодиод - указывает на то, что происходит программирование (я был ленив, поэтому я не сопоставил цвета в моей настройке) Вот рисунки, сделанные во Fritzing Вы также можете сделать Щит МЕГА-исп. Ярослав Осадчий оформил щит в виде орла. Вы можете получить файлы орла на его сайте:
Шаг 3. Загрузка эскиза
Загрузите скетч из кода google mega-isp. (Avrisp.03.zip на момент написания). Распакуйте его, запустите arduino ide и откройте avrisp.pde. Загрузите его на свою плату Arduino. Светодиод сердцебиения должен начать биться.
Шаг 4: Использование с Avrdude
Для использования с avrdude (и со всеми графическими интерфейсами, которые его используют) вы должны выбрать программатор avrisp. самый безопасный битрейт - 19200.
Чтобы проверить свой новый atmega168 из командной строки, попробуйте: $ avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 / dev / USB0 - это порт, через который arduino подключен к моему Linux-серверу (ваш может быть com5). Это можно проверить в IDE arduino в Инструменты -> Последовательный порт. Вы должны получить: [kabturek @ hal-9000 ~] # avrdude -p m168 -P / dev / ttyUSB0 -c avrisp -b 19200 avrdude: устройство AVR инициализировано и готово принимать инструкции. Чтение | #################################################################################################### | 100% 0,13 с avrdude: Подпись устройства = 0x1e9406 avrdude: safemode: Предохранители в порядке avrdude done. Спасибо. Значит, все в порядке. Если вы получите ошибки - проверьте последний шаг.
Шаг 5. Запись прошивки USBtinyISP на Attiny2313
USBTinyISP - отличный программатор от LadyAda, очень дешевый - 22 доллара. У меня был запасной attiny2313 и некоторые детали, поэтому я решил сделать его сам. Если у вас нет опыта изготовления печатных плат, советую покупать комплект, потому что он более качественный, чем вы можете сделать сами:). По крайней мере, купите печатную плату, если хотите ее построить. Вы можете получить его от Adafruit. Подключение ATtiny2313 На последнем рисунке вы можете увидеть attiny2313 с контактами, используемыми для ISP, отмеченными красным. Изображение взято из учебника LadyAda avr. Запись прошивки: Распакуйте прошивку USBTinyISP. Перейдите в каталог spi и запустите $ avrdude -p pt2313 -P / dev / ttyUSB0 -c avrisp -b 19200, чтобы проверить, все ли в порядке с чипом. Теперь установите предохранители: $ avrdude -P / dev / ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Теперь вы должны прикрепить к микросхеме внешний генератор 12 МГц.. И записать прошивку: $ avrdude -B 1 -pt2313 -U flash: w: main.hex -P / dev / ttyUSB0 -c avrisp -b 19200 Вуаля. На вашем attiny2313 установлена прошивка USBTinyISP.
Шаг 6: запись загрузчика Arduino
Я немного схитрил, потому что использовал RBBB для упрощения соединений. Схема представлена на картинке №2. Если вы используете 2 Arduino, используйте рисунок 3 и подключите вывод ISP к заголовку ICSP 2x3 на втором (подчиненном) Arduino. Подключите USB-питание только к первой плате. Способ с графическим интерфейсом Это немного сложно, потому что вы не можете просто использовать Tools-> Burn Bootloader -> w / AVR ISP, потому что скорость по умолчанию слишком велика для мега-isp. Найдите avrdude.conf, который поставляется с IDE arduino (в arduino / hardware / tools / avrdude.conf), и измените граничную скорость для программатора avrisp с 115200 на 19200 (около строки 312). Найдите и измените avrdude.conf programmer id = "avrisp"; desc = "Интернет-провайдер Atmel AVR"; скорость передачи = 115200; # по умолчанию 115200 type = stk500;; кому: id программиста = "avrisp"; desc = "Интернет-провайдер Atmel AVR"; скорость передачи = 19200; # по умолчанию 115200 type = stk500;; Теперь вы можете использовать Инструменты -> Записать загрузчик -> с AVR ISP (после выбора соответствующей платы в меню Инструменты) Командная строка. Вы также можете использовать командную строку: Отредактируйте arduino / hardware / bootloaders / atmega / Makefile и измените ISPTOOL / PORT / SPEED to: # введите параметры для инструмента avrdude isp ISPTOOL = avrisp ISPPORT = / dev / ttyUSB0 ISPSPEED = -b 19200 нет, вы можете написать $ make diecimila_isp для записи предохранителей и загрузчика. Тест Теперь подключите новый arduino к usb и сжечь моргание!
Шаг 7. Устранение неполадок
Ошибки avrdude: avrdude: ser_open (): не удается открыть устройство "/ dev / ttyUSB0": нет такого файла или каталога. У вас указан неправильный порт (-P) или ваш arduino не подключен. проверьте соединение avrdude: Подпись устройства = 0x000000 avrdude: Ура! Неверная подпись устройства. Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены этой проверки. Это своего рода общая ошибка. Ваш чип не распознается. Проверьте соединение на плате (GND / 5V подключен к контактам?) Вы получите эту ошибку, когда ваш чип настроен на использование внешнего генератора и не работает (его нет или он не генерирует должным образом - конденсаторы 22pf отсутствует ?)
Рекомендуемые:
Как прошить или запрограммировать прошивку ESP8266 AT с помощью прошивки ESP8266 и программатора, модуля IOT Wifi: 6 шагов

Как прошить или запрограммировать прошивку ESP8266 AT с помощью ESP8266 Flasher и программатора, модуля IOT Wifi: Описание: Этот модуль представляет собой USB-адаптер / программатор для модулей ESP8266 типа ESP-01 или ESP-01S. Он удобно оснащен гнездовым разъемом 2x4P 2,54 мм для подключения ESP01. Также он выламывает все штыри ESP-01 через вилку 2x4P 2,54 мм h
Потрясающая теплица с автоматическим поливом, подключением к Интернету и многим другим: 7 шагов (с изображениями)

Потрясающая теплица с автоматическим поливом, подключением к Интернету и многим другим: добро пожаловать в эту инструкцию. В начале марта я была в садовой лавке и увидела теплицы. И так как я уже давно хотел создать проект с заводами и электроникой, я пошел дальше и купил его: https://www.instagram.com/p
Как запрограммировать NodeMCU на Arduino IDE: 5 шагов

Как программировать NodeMCU в среде Arduino IDE: Osoyoo NodeMCU поставляется с предварительно запрограммированным интерпретатором Lua, но вам не нужно его использовать! Вместо этого вы можете использовать Arduino IDE, которая может стать отличной отправной точкой для любителей Arduino, чтобы ознакомиться с технологиями, окружающими
Как запрограммировать и сбросить Arduino с помощью смартфона Android: 8 шагов

Как программировать и перезагружать Arduino с помощью смартфона Android: возможно, вы использовали адаптер OTG для подключения Pendrives и игровых контроллеров, а также для подачи питания на небольшие устройства. Вы можете делать гораздо больше, кроме включения платы Arduino со смартфона. В этом руководстве мы скомпилируем и загрузим Ardu
Как запрограммировать плату AVR с помощью платы Arduino: 6 шагов

Как запрограммировать плату AVR с помощью платы Arduino: у вас есть плата микроконтроллера AVR? Это сложно запрограммировать? Что ж, вы попали в нужное место. Здесь я покажу вам, как запрограммировать плату микроконтроллера Atmega8a, используя плату Arduino Uno в качестве программиста. Так что без меха