Так что я сделал себе usb-программатор
Оказалось, дешево и сердито все придумано давным-давно - USBtinyISP тини2313 стоит $1.5, остальное копейки, ну в $3-4 максимум все обошлось; я выбрал первую версию схемы, развел платку с smd, вместо впайного usb разьема у меня разьем на шнурке - usb разьемы на ноуте по бокам и поэтому неудобно, если что-то из ноута торчит - руками зацепается
Вечером вытравил плату, днем распаял, прошил, потратил пол-дня на понять - почему не шьется, потом почему не определяется виндой - и в пайке было 3 косяка, и фьюзы прошивал неправильно :)
Заготовка платки:
![](https://lh4.googleusercontent.com/-17mEGh8GQOU/TqUEmmhUmTI/AAAAAAAACDo/NzW2nX4VN_k/s500/IMG_20111021_225512.jpg)
Проутюженая платка:
![](https://lh3.googleusercontent.com/-vxMVh9zpn7k/TqUE_QWk-aI/AAAAAAAACEI/gJQJMPQ_3HI/s500/IMG_20111021_225835.jpg)
Откисание (я просто бросаю платку в теплую воду на минут 5, пока бумага не "взрыхлится"):
![](https://lh6.googleusercontent.com/-BfxRi5sS-wU/TqUFg_0VWkI/AAAAAAAACEw/hw3PViQSlxI/s500/IMG_20111021_230131.jpg)
Снимание бумаги (просто скатываю бумагу без фанатизма, под струйкой теплой воды):
![](https://lh6.googleusercontent.com/-enpv3KzMudw/TqUF8U2nGBI/AAAAAAAACFQ/RyWA4HGm3SQ/s500/IMG_20111021_230516.jpg)
Платка готовая к травлению:
![](https://lh5.googleusercontent.com/-IpxmhrQ9Hus/TqUF1FGrt7I/AAAAAAAACFI/hNRq4lCry4g/s500/IMG_20111021_235546.jpg)
Внезапно обнаружил, что хлорное железо в банке (от времени?) закаменело, а сверху покрыто слоем непонятной рыжей жидкости :( Кое-как наковырял немного, залил горячей водой, бросил травить:
![](https://lh5.googleusercontent.com/-qS3PQtygeQk/TqUFP8D0vzI/AAAAAAAACEY/-HAUAHspfOU/s500/IMG_20111021_231824.jpg)
Плата получилась на хорошо+ (а огрехи - типа вот слева-сверху пады разные - это принтер глючил)
![](https://lh5.googleusercontent.com/-CAK3_ePqR_4/TqUEyoE1N9I/AAAAAAAACD4/t9K-2LA2YGA/s500/IMG_20111021_235952.jpg)
Залудил, распаял
![](https://lh6.googleusercontent.com/-12M_Ql7ODyU/TqUFVD_ozsI/AAAAAAAACEg/uH7qgTlsJTI/s500/IMG_20111022_130244.jpg)
На схеме, которую я делал (v.1.0) есть 3 перемычки: JP5 замыкается для программирования самого программатора - разьем "настоящего" программатора включается в разьем на плате, а эта перемычка подключает линию RESET к RST программируемого контроллера - после программирования перемычку надо убрать, а то наш программатор сам себя попробует еще перепрограммировать :) Эта фича не работает на v.2 схемы, там буферы на выходе
Перемычка JP4 определяет, откуда питается программатор - от usb или от внешнего питания (т.е. от схемы, которую он программирует); перемычка JP3 определяет, откуда питается схема, которую программируем - от своего истояника питания или от usb; usb тут может отдать имхо ток всего 100 мА, поэтому надо бдить
Глюки были с прошивкой, точнее с фьюзами; в итого получилось самым правильным способом (который из-за лени не использовал сразу.. вот и получилось, что ленивый 2 раза делает) - в архиве с исходниками с сайта есть готовая прошивка (main.hex в папке spi), а в makefile есть команд-лайн для прошивки (в котором только надо было поменять тип программатора - у меня простой на LPT, он идентифицируется как STK200):
avrdude -c STK200 -pt2313 -U flash:w:main.hexavrdude у меня уже был (он устанавливается скорее всего с WinAVR.. ну или я его установил туда когда-то), так что после прошивки вот таким образом все завелось с первого раза - при подключении программатора к usb зажегся светодиодик, винда спросила за драйверы
avrdude -c STK200 -pt2313 -U hfuse:w:0xdb:m -U lfuse:w:0xef:m
![](https://lh5.googleusercontent.com/-azsz1eIFJgM/TqUEr_u4DyI/AAAAAAAACDw/4ohOhKZmfFs/s500/IMG_20111023_230100.jpg)
а при прошивке зажигается другой светодиодик, сигнализирующий, что что-то работает :)
Шьется не то, чтоб супер быстро, медленнее имхо, чем от lpt, но а) прошивки небольшие у меня обычно, б) я никуда не спешу :)
Зато у меня есть программатор и я начну ковырять очередной новый прожект.. ну если ничего больше не помешает :)
Комментариев нет:
Отправить комментарий