Archive for the 'Electronics' category

Компас: подготовка

Апр 21 2011 Published by under Electronics

А вот так мы будем усиливать выход KMZ41. Вроде работает :).

Схема:

На входе будет сигнал от -1 до 1 вольта, показывающий угол поворота датчика относительно магнитного поля. На выходе надо от 0 до 5 вольт. Схема совершенно классическая, известна как дифференциальный или измерительный усилитель. Также в народе имеет название «сименсовская схема», по причине упоминания во всех даташитах на ОУ.

На выходе:

2 комментария

Оборудование

Апр 08 2011 Published by under Electronics

Полмесяца колебался между покупкой паяльной станции и осциллографа и остановился на паяльной станции. Жаба оказалась сильнее. Но осциллограф все равно куплю, никуда не денется.

Теперь нужно распаять пару старых телефонов, для практики работы феном, и никакие LGA/TQFP нам не страшны.

3 комментария

Ниже уровнем уже некуда

Мар 27 2011 Published by under Electronics

Вернее, можно на ассемблере писать, но некомфортно — кругом одни деревья, леса не видно. Язык C для микроконтроллеров — самое оно.

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

Если по порядку, то задача выглядит довольно просто: есть два порта. Нужно управлять шириной импульсов в каждом канале в интервале от 0.5 ms до 2 ms. Между импульсами делать задержку примерно в 10 ms. К каналам подключены две сервомашинки (на самом деле сервомашинка и регулятор хода, но это не важно), чем шире импульсы, тем на больший угол поворачивается серва (или быстрее вращается двигатель).

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

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

Все работало очень хорошо, за исключением одной мелочи — когда значения в каждом канале были близки (+/- десяток отсчетов таймера), сервомашинки слегка подергивались. Причина — разница во времени работы ISR в случаях когда импульсы не равны и когда равны.

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

К своему стыду, то решение, которое в конце концов заработало именно так как нужно, мне не нравится — приходится использовать по отдельному прерыванию таймера на каждую сервомашинку, что с моей точки зрения, перебор. Другое решение, которое скорее всего тоже заработает — использовать режим compare ECCP, что тоже не лучше — каналов ECCP всего два, и они точно могут понадобится в будущем оба.

Вот так выглядит подрагивающая серва (дрожит на 12-й секунде видео):

Зачем все это делалось, расскажу в другой раз, после испытаний :).

2 комментария

Хоровиц, Хилл

Фев 26 2011 Published by under Electronics, Life

Дошла очередь до П. Хоровиц, У.Хилл «Искусство схемотехники». Судя по отзывам, это Кнут от электроники. Посмотрим.

No responses yet

USB & LCD

Янв 17 2011 Published by under Electronics

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

Когда-то давно, в институте еще, возился с ЖК-индикатором DataVision, подключал через LPT, управлял через lcdproc и lcd4linux. Получил массу удовольствия. Отдельная девайсина, подключенная через кучу проводов к компу, показывающая пролетающие над головой спутники в реальном времени — выглядит очень круто. С тех пор лежал в столе до лучших времен DV-20200 (20×2). И они, наконец, настали.

За пару дней вытравилась-спаялась вот такая платка, основная задача которой — служить наглядным пособием в изучении работы с USB и управлении LCD на HD44780 (HD44780 — контроллер от Hitachi, на основе которого построен индикатор).

На картинке выше можно видеть следующее:

  • Плату с PIC18F2550 с минимумом всего (кварц можно было не впаивать, но я что-то прощелкал тему с внутренним генератором частоты).
  • PicKit2, через который это безобразие можно программировать, отлаживать и играться с USART (куда же без консольки).
  • Старый, изрядно уже поцарапанный, но все еще рабочий DV-20200, выводящий бессмертное «Бип-бип».
  • Сбоку болтается временно припаяный, уже ненужный, разъем для PicKit2, использованный для анализа задержек при взаимодействии с HD44780 (PicKit2 — не только программатор и отладчик, но еще и логический пробник).

Пока научился работать с индикатором (не сильно сложно, но повозиться пришлось), в дальнейших планах — USB, USART и программирование pic-ов на C. Схему, плату и код софтинки можно смело брать здесь.

Ссылки по теме:

No responses yet

Закончил с GTP USB

Дек 19 2010 Published by under Electronics

Внезапно, без особых проблем, взял и заработал универсальный программатор PIC. Приятно. Проверил на всех имеющихся PIC-ах: 16F84A, 18F2550 и 18F452, работает шустро и без глюков.

Фиговинка состоит из собственно программатора на 18F2550:

И адаптера ZIF-панелькой:

Правда, без ложки говна неприятных особенностей не обошлось — работает GTP только под WinXP. Ни Win7, ни Linux не поддерживаются: прошивка закрытая, дрова тоже. Вздохнув, и вооружившись USB-сниффером приступаю к подружению железки с линухом, благо что никаких драйверов там не надо — libusb и вперед.

Ну и PicKit2 для полноты счастья заказал :).

No responses yet

Ambilight USB

Ноя 25 2010 Published by under Electronics

Какая прелесть: http://habrahabr.ru/blogs/DIY/100085/

В тудушечку (переделав на PIC, само собой).

No responses yet

Изделия №2 и №3 — программатор и тестовая плата

Ноя 14 2010 Published by under Electronics

Новости в  построении огромных жестянкоподобных нанороботов:

  1. Купил сверлилку. Зверь-машина, фигачит до 20000 rpm, очень удобная.
  2. Купил УФ-лампу. Теперь можно делать очень милые платы фоторезистивным способом.
  3. Сделал программатор 16F84 и вдоволь с ним наигрался.
  4. Сделал демоплату для игрищ с 16F84 со светодиодами и кнопками. Схема бессовестно стырена из книжки Тима Уилмсхерста, где она фигурирует как электронный пинг-понг.

Ближайшие планы:

  1. Универсальный программатор PIC с USB-интерфейсом.
  2. Мечта детства: propeller clock.

Немного фоток зырить тут:

Continue Reading »

No responses yet

Выбирая программатор

Сен 27 2010 Published by under Electronics

Пошарился вчера немного по интернетам в поисках схемы программатора для PIC. То что хотелось бы моей неискушенной хотелкой:

  1. USB — интерфейс, ибо на ноуте нет ни DB25, ни DB9;
  2. подержку микроконтроллеров DIP8-DIP40. Планов громадье, поэтому не хотелось бы делать стопицот программаторов;
  3. чем проще, тем лучше.

Увы и ах, после гугления выяснилось что выбирать-то особо не из чего. Либо делать вот такого монстрика (немного ссыкотно), либо покупать PICKIT2/3. Покупать не особо хочется, поэтому решил для начала положить прибор на все три пункта и сделать вот такой программатор PIC16x84, на котором впоследствии собрать propeller clock и вдоволь с ним наиграться. После чего уже можно будет и за нормальный программатор браться.

Заодно выяснил что Chip&Dip — невероятные барыги. За простенький PIC16F84A они хотят 330 рублей, что ровно в три раза дороже цен оф.представителя Microchip в рашке. Такие подозрения у меня и раньше были (как-то нефигово за кусок текстолита 100 рублей хотеть), но сейчас я в этом убедился наверняка. Будем искать альтернативные источники радиошняги. Монитор старый, кстати, дома стоит, распаять, что ли…

No responses yet

Изделие №1

Сен 26 2010 Published by under Electronics

Спаял предусилитель микрофонный, одна штука.

Процесс (сперва на макетке):

Сначала хотел сделать усилитель на двух транзисторах, но он что-то не заработал (может ненароком полевик спалил, руки ведь аки крюки):

Поэтому нашел еще проще вариант, на одном транзисторе:

Развел сначала все на одной плате, но вдруг осознал что сверлить-то нечем (надо будет бормашинку купить). Поэтому стало без разъема.

Нарисовал и протравил платку:

Спаял, собрал, проверил. Итить! Работает:

Внешний вид изделия:

Качество, конечно, не ах :). Но для любительских целей сойдет: godfather-res

No responses yet

« Newer posts Older posts »