Печатная плата своими руками

Расскажу о моем первом опыте изготовления плат по ЛУТ. Вот наиболее подробная инструкция.

2013-03-29 22.36.32

И так, необходимость возникла только потому что злобная компания FTDI не хочет делать переходник USB<->USRT в корпусе DIP. А забивать память МК библиотекой на USB не хочется.

Все делал прямо по инструкции:

0. Закупил все что нужно

2013-03-28 19.50.29

 

  1. Хлористое железо
  2. Припой ножик канцелярский
  3. Провод
  4. Ванночка для травления
  5. Шкурка (самая мелкая)
  6. Глицерин ( в аптеке 7р)
  7. Однослойный текстолит
  8. Электрические компоненты

1. Нарисовал плату, распечатал на лазерном принтере

2013-03-28 19.59.43

 

Не забудьте инвертировать плату по одной оси до распечатки. Руками не трогать, только за края. Фольгу прошкурить.

2. Отутюжил, смыл

2013-03-28 20.32.46

 

Не зря сделал сразу 10 шт, так и знал что что-то может пойти не так. Либо плохо прогладил либо пальцем ляпнул не знаю, но -2 штуки сверху. Глянец в некоторых местах сходит очень тяжело, но он не влияет на травление.

 

3. Вытравил и выпилил

2013-03-28 21.47.40 2013-03-29 10.40.40

 

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

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

Самое мучение с многоконтактными элементами (FT232). Сначала припаиваем 1 ногу крайнюю, потом, если другие ногу немного не совпадают, поворачиваем вокруг нее и припаиваем противоположную дальше сами знаете.

 

4. Залудил припаял контрольный диод, а потом и все остальное

2013-03-29 21.34.48

 

 

Вот видео как работает FT. С ПК посылаю команду на переключение светодиодов.

 

Фотоаппарат своими руками

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

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

Как только, об этом узнал, принялся сразу разбирать все мышки в доме, но не все имеют сенсор способный выдавать дамп пикселей. Долгие поиски, показали, что такие сенсоры есть только в мышах Logitech. И тут мне повезло, у друга завалялась старя мыша. Разобрав ее, я увидел желанный ADNS. Вот по нему документация.

2013-03-23 13.27.13 В доке даже есть примеры схемы, одна из которых и есть эта мыш. Так что, проблем с пониманием чего к чему нет.

А что делать дальше?

Для начала надо продумать как все это будет работать. 

Миниатюрный программатор AVR

Отличный программатор, на мой взгляд.

Вот ссылка на него.

Самый маленький из тех что видел.

Особенно радует совместимость с XMega т.к. это MKII клон.

В общем будем копировать=)

Флэшка своими руками

Привет всем. Для создания своей флэшки с блэк джеком и шлюхами я взял модуль памяти M25P32 (документация), контроллер ATMega168 (документация) и конвертер USB<->UART (SerialPort) (документация).

И так. Зачем все это нужно?

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

Схема

Без имени-2

Это документация на используемые схемы. Там же и есть способы их подключения.

FT232RL_V202 m25p32 atmega168

 

 

 

 

 

 

По сути же схема выглядит так

 

Протоколы

Здесь мы используем 2 основных протокола. Это UART и SPI оба они реализованы в контроллере, остается только привести их в удобный для себя вид.

Терминал

 

Основные ошибки с UARTом:

  • Забыть линию TXD настроить выходом ( например DDRD |= (1<<PD1) )
  • Скорость передачи лучше брать из стандартного ряда а значения для UBBR из мануала

Для проверки я использовал вот эту прогу (Terminal)

Не забывать при SPI:

  • Задать все порты (входы выходы)
  • Давать задержку между передачей и принятием данных

Программа

Для своего удобства разделил программу на несколько блоков

Вообще-то этот проект сделан чтобы автоматически прибавлять числа и записывать в память, но от изначальной задачи он отличается совсем немного.

Все изменения будут заключены в одном единственном блоке.

Пусть у нас будет 3 комманды:

  1. Запись данных
  2. Считывание данных
  3. Стирание

Изменения будут только в блоке прерывания:

ISR(USART_RX_vect){
 if(command==0xFF){
  command = UDR0;
 }else{
  switch(command){
   case 0x01://Запись данных

   break;
   case 0x02://Чтение данных

   break;
   case 0x03://Стирание данных

   break;
  }
 }
}

Проект

SoftWare

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

HardWare

Это плата на которой это все тестилось.

2013-02-13 11.40.52

 

Питание так же от USB.

Заключение

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

 

Программатор для AVR своими руками

Первое c чего начинает каждый решивший начать изучать микроконтроллеры это программатор. И так, поискав я нашел вариант полностью меня устроил. Спасибо PROTTOSS. Все инструкции к этому устройству можно найти там же. Здесь же будет рассказано о том как это сделал я.

IMG_0461

Готовый макет.

Для начала, почему именно он?

Наверное вы уже заметили, что с ПК он связан через USB, а другие  наиприятнейшие варианты требуют наличия LTP порта (6 проводов). Хотя, к нему мы еще вернемся.

Почему не USBasp?

Вот тут как говорится, что первое под руку попало=)

Хотя в защиту своего выбора могу заметить, что по данным сайта разработчика, USBasp поддерживается на:

  • AVRDUDE
  • BASCOM-AVR
  • Khazama AVR Programmer
  • eXtreme Burner – AVR

А AVR910:

  • AVRProg v.1.4,
  •  ChipBlasterAVR v.1.07 Evaluation,
  •  CodeVisionAVR,
  • AVROSP (ATMEL AVR Open Source Programmer)

И если вы хотите идти по праведному пути, и использовать AVRStudio или на худой конец CV AVR, то выбор очевиден.

Вступление

Для этого программатора, как и для всех рукодельных присуща философская проблема, курицы и яйца. Что-бы сделать программатор надо иметь программатор. А вот в случае с 6 проводным, все просто. Так что прежде чем начинать, убедитесь в существовании LTP порта в доступной близости или же наличие друзей, коллег, однокурсников имеющих готовый программатор.

Для любителей сделать все красиво ЛУТ в руки, я же хотел проверить для начала будет это вообще работать или нет. Так что купил просто однослойную макетку.

И так, что нам нужно?

Посмотрим на схему нам предлагаемую

shematic

 

Вот что нам надо будет закупить:

  1. MINI USB ( я ставил обычный и в результате куча проблем, мини лучше спаяется и проводов таких у всех дома навалом )
  2. Провод USB <-> MINI USB
  3. Разъем ISP на 10 ног ( вообще 10 ногий выход не используется на макетных платах ATmega и Tiny, но на 6 ног всегда можно сделать переходник )
  4. Контроллер Atmega8 ( купил сразу 2, 1- в программер, а другой будем уже использовать)
  5. Светодиодов 3шт ( когда разных цветов – веселее, опять же лучше с запасом для своей платы, выбираем их по току не меньше 10мА )
  6. Сопротивления 330 Ом, 100 Ом, 1.5 кОм, 10 кОм, 1 МОм
  7. Конденсаторы … все как обычно, только не забываем С5 - электролитический (банка) на 10В
  8. Кварц 12 МГц
  9. Джампер и 3 штырьки под него

J3 мне не пригодился а вот J1/J2 понадобится при программировании самого программатора

Файл прошивки и драйвер есть все на сайте PROTTOSS.COM

Там же заявлено, что его видят практически все кто мне нужно, но к нему подключиться смог только CVAVR, в прочем это не мешает писать код в AVRStudio компилировать и прошивать через CVAVR.

Шаг 1: Пайка

2013-07-30 13.33.02

 

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

Шаг 2: Прошивка

Возможно одного энтузиазма будет мало, для прошивки программатора надо будет, если у вас нет COM или LTP порта на компьютере. Хотя для отчаянных есть еще такой вариант (Моя платка с использованием этого чипа).

В любом случае прошивается через PonyProg

Шаг 3: Тестируем

 

Альтернативные программаторы

PS: Подробнее о совместимости с AVRStudio