Jeffrey Cross
Jeffrey Cross

Как исправить сломанный MicroView

Использование Arduino в качестве программатора AVR для прошивки нового загрузчика на мой MicroView

Вчера чуть менее двух тысяч плат MicroView поставлялись без загрузчика, две из них были моими. Вместе со всеми остальными я был серьезно впечатлен реакцией Geek Ammo - компании, которая стоит за MicroView, - и SparkFun, который ее производит, на эту проблему.

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

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

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

Это было время игры ...

Открытие MicroView

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

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

Создание программатора AVR

Подключение Arduino Uno для превращения его в программатор AVR

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

Идите вперед и подключите свою плату Arduino, как показано на рисунке выше. При использовании Arduino Uno или Leonardo необходим встроенный конденсатор емкостью 10 мкФ между контактами сброса и заземления, но не добавляйте его до тех пор, пока вы не загрузите эскиз ArduinoISP на плату - вы найдете его в меню «Примеры» Arduino. IDE - так как при этом загрузка эскиза будет работать некорректно.

Эскиз ArduinoISP можно найти в меню примеров среды IDE.

После загрузки эскиза и подключения к конденсатору вы должны увидеть, что крайний левый светодиод, зеленый на приведенной выше диаграмме и подключенный к 9 Arduino, мягко пульсирует - это индикатор сердцебиения, сообщающий, что программист бежит. Два других светодиода предназначены для работы программатора. Средний светодиод, который красный на диаграмме и подключен к 8-му контакту Arduino, загорается, когда что-то идет не так - надеюсь, мы этого вообще не увидим - тогда как самый правый светодиод, подключенный к 7-му контакту Arduino, будет загораются, когда программист активен и разговаривает с «ведомой» платой, которую мы программируем.

Подключение программатора к MicroView

Из-за своего небольшого размера MicroView не имеет стандартного соединителя заголовка ICSP. Однако подключить программатор к MicroView не так уж сложно. Три из проводов могут быть напрямую подключены к внешним выводам MicroView, так что только эти MOSI, MISO и SCK должны быть подключены к этим маленьким внутренним переходам.

провод Arduino Pin MicroView Pin
+ 5V + 5V 16 (Vin)
GND GND 8 (GND)
MOSI 11 11 (изнутри)
MISO 12 12 (интерьер через)
SCK 13 13 (изнутри)
СБРОС 10 1 (RST)

Проводные соединения между Arduino и MicroView

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

Загрузка загрузчика

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

Sparkfun сделал доступным специальный шестнадцатеричный файл загрузчика - загрузите его - это то, что мы собираемся загрузить в MicroView. Затем вам нужно найти свою копию avrdude - вы найдете ее в IDE Arduino в каталоге hardware / tools / var / bin, хотя в OS X она фактически скрыта в комплекте приложений Arduino.

Теперь все, что вам нужно, - это имя последовательного порта, который использует ваша плата Arduino - вы можете получить его из меню Инструменты → Порты IDE Arduino - и все готово. Пока в каталоге находится avrdude, введите следующую команду:

./avrdude -C ../etc/avrdude.conf -P /dev/tty.usbmodem1411 -b 19200 -c avrisp -p m328p -v -e -U flash: w: / Users / aa / Downloads / MicroView_combined_8-19 -14.hex -U блокировка: ш: 0x0F: м

заменяя имя вашего последовательного порта, мой был /dev/tty.usbmodem1411, а путь к загрузчику MicroView - мой оказался в папке «Загрузки».

Загрузка загрузчика в MicroView

Как только вы начнете загрузку, экран MicroView станет пустым, а во время загрузки на самый правый индикатор должен загореться. Если загорается средний светодиод, у вас есть проблема - посмотрите на вывод avrdude, он обычно довольно понятен, и попробуйте еще раз (проверьте, правильно ли указаны все ваши пути и имена последовательных портов, когда вызывая команду).

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

Загрузка кода

Эскиз MicroView Blink, работающий на фиксированном MicroView

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

Затем в Arduino IDE и откройте эскиз MicroView Blink - этот эскиз будет рисовать круг в течение одной секунды, затем несколько раз выключается - вы можете найти его в меню Примеры → MicroView → LearningKit.

Эскиз MicroView Blink

Теперь вы сможете следовать обычным инструкциям Geek Ammo и загрузить эскиз в MicroView. Если все идет хорошо, вы должны увидеть, что обещанный круг мигает на OLED-экране.

Закрытие MicroView

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

Как только это будет сделано, аккуратно сложите экран обратно в корпус - вы сможете использовать кончик пальца. Экран должен просто встать на место, и как только он вернется, стеклянная верхняя часть MicroView также должна просто вернуться в корпус. Однако перед этим вы должны тщательно протереть стекло чистящей тряпкой, так как пыль под стеклом будет очень заметна на OLED-экране и, вероятно, будет раздражать.

Резюме

Миссия выполнена!

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

Поделиться

Оставить комментарий