30.09.2009

SMPReaderUSB в корпусе

Наконец-то руки дошли до дрели и этикеточного принтера, убрал smpreaderusb в корпус:



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

Подумываю о печатной плате, а вдруг все-таки кому-то понадобится?

28.09.2009

Подделка под Arduino

Третьего дня вышел со мной прелюбопытный случай: один мой коллега по Arduino-увлечению пожаловался, что спалил свой Arduino Nano v.3 и попросил схему и расположение элементов. B процессе выяснения подробностей, я понял, что мы смотрим на две разные Arduino Nano!

Я попросил фотки, и... каково же было мое удивление:





Как вы сами уже поняли - это не Arduino Nano v.3, хотя на ней это "написано" (перефразируя известную фразу - гетинакс все стерпит). Вот так должна выглядеть настоящая:



Поэтому, напоминаю еще раз:

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

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

Настоятельно рекомендую покупать Arduino в тех магазинах, названия и ссылки которых вынесены на страницу arduino.cc/en/Main/Buy - по крайней мере, это является гарантией подлинности. Обращаю внимание, что в России - это пока только Linuxcenter.ru.

Только что проверил поступления в их раздел "свободные микроконтроллеры Arduino", и с удовлетворением хочу заметить, что недавно туда завезли партию самых настоящих Arduino:

1. Arduino Duemilanova с процессором ATmega328 (32К памяти):



2. Arduino Mega с ATmega1280 (128К памяти):



3. Arduino Nano v.2.2 c ATmega168 (16К памяти):



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

25.09.2009

Продается МК-90

Продается Электроника МК-90, та самая, с которой сделаны фото в Википедии:



Если мой блог читают все те, кто меня мучительно выспрашивал о том, у кого можно купить - вот ваш шанс ;)

[[Ссылка на аукцион]] (заканчивается 07.10.2009 в 9 часов утра).


UPD: аукцион закончен, калькулятор уходит за 22100 рублей

24.09.2009

bitlash: интерпретатор для Arduino

Оказывается, далеко не всех устраивает традиционное ардуиновское "поправил-компильнул-загрузил". В качестве альтернативы всегда вспоминается интерпретатор языка Бейсик для контроллеров Basic Stamp от Parallax, но оказалось, что идея интерпретации плавно трансформировалась в направление т.н. shell-ов - консольных интерпретаторов, работающих внутри МК AVR/ATmega, в том числе и на Arduino.

По мере возможностей, расскажу про них под тегом shell.

bitlash

Автор: Bill Roy
Сайт проекта: bitlash.net
Лицензия: LGPL 2.1
Время первого упоминания: октябрь 2008 г.

Для начала, надо скачать с сайта проекта файлы bitlash, которые оформлены пользовательской библиотекой Arduino. Текущая версия - 1.0RC2, с предварительной поддержкой Arduino Mega - как видите, проект развивается ;)

Файлы надо распаковать в hardware/libraries/ (ArduinoIDE 0016), не забыв переименовать верхний каталог (что-то типа "bitlash-0.95a") в "bitlash". Далее, надо запустить ArduinoIDE и открыть пример из этой же библиотеки - bitlash-demo.pde:

#include "bitlash.h"


void setup(void) { initBitlash(57600); }


void loop(void) { runBitlash(); }

Компилируем (не пугайтесь only initalized variables can be placed into program memory - это нормально), загружаем.

Размер скетча  -  13,5 Кбайт, следовательно загружать требуется в ATmega168 или ATmega328P.

Подключаемся к виртуальному Serial-порту Arduino при помощи терминальной программы на скорости 57600-N-8 ( с помощью serial-монитора не очень-то удобно: но он не посылает перевод строки, вместо нее приходится набирать символ обратной кавычки ` - на русской клавиатуре он соседствует с ё ). Пример настройки putty:





После коннекта можно полюбоваться приглашением, а затем набрать help:



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

> a=2;b=3;c=(a+b)/2
> print c
2

(увы, арифметика здесь целочисленная). Выводы Arduino обозначены d0..d22 и a0..a7 соответственно. С ними можно манипулировать, как с переменными, что больше похоже на синтаксис AVR GCC, чем на ардуиновский:

> print a0,a1,d2
283 266 1
> d13=1

В первом случае мы прочитаем значения с аналоговых выводов, во втором - зажжем стандартный светодиод L на выводе 13.

Есть и строковые константы, но их длина ограничена 80 символами, если не жалко RAM очень надо - можно исправить в исходном коде и перекомпилять скетч.

В выражениях можно использовать и функции, они по смыслу совпадают с Arduino, только имена урезаны, для экономии. Например, analogRead(0) записывается как ar(0). Есть и возможность написать пользовательскую функцию в скетче, чтобы потом к ней обращаться через usr(arg).

Есть операторы ветвления: if, while и switch. Например:

> if d4: print "the light is on"
the light is on
>

Авторы твердо считают, что цикл for - неоправданная роскошь, которую можно сублимировать через while. Хорошо хоть он не оставил один только if - теоретически, его одного достаточно для любой операции ветвления в программе ;)

Подходим к самому интересному - программированию. Наверное, глупо  крайне неэффективно просто заходить зайти терминалкой на МК, чтобы почитать состояние на входах. Хотя для элементарных тестов какого-то нового оборудования - самое то. Постоянные мелкие правки и перекомпиляция отнимут гораздо больше времени, чем работа в командной строке bitlash - ну, это мое субъективное мнение по поводу аппаратного хакинга, конечно же.

bitlash поддерживает макросы. Макрос - это именованная последовательность команд, например:

> toggle13:="d13=!d13;delay(100)"
saved
>

Скромная надпись saved означает, что макрос сохранен в EEPROM. Те, кто знаком с основами unix shell, оценят:

> ls
toggle13:="d13=!d13;delay(100)"

В этом смысле EEPROM представляет собой некую файловую систему, а макросы - запускаемые команды-файлы. Как и в каждом уважающем себя unix-е, можно запустить задачу как в foreground:

>toggle13

..,так и в background:

>run toggle13

в последнем случае она будет выполняться циклически - светодиод отчаянно замигает. Список задач можно смотреть командой ps, а останавливать - командой stop:

>ps

0: toggle13
>stop 0


Команды top здесь все-таки нет ;), но запустить можно до восьми задач, которые будут функционировать в режиме разделения времени (величину кванта времени можно регулировать параметрами run). Если задача зациклена в foreground, например:

>while 1:toggle13

..., то прервать ее можно по Ctrl-C.

Специальные макро с именем startup выполняется при старте программы:

> startup:="print(1,2,3)" 
> boot 
bitlash v0.99z here!... 
1 2 3 
>

а специальное макро prompt изменяет системное приглашение:

> prompt:="print millis,;print\"$\","
saved
596139$ a =1
604209$ a =1
606905$

Ненужные макро можно удалять командой rm , при этом освобождается EEPROM, но, к сожалению, заодно и фрагментируется. Автор рекомендует распечатать все макро через ls, затем дать команду rm *, а потом снова их ввести через командную строку. Визуальное представление о состоянии EEPROM дает команда peep:

> peep 
E000: t13\ d13= !d13 ;del ay(1 00)\ star tup\ prin t("R unni ng b link -13 demo - p 
E040: ress ^C" ); w hile 1:t 13\. .... .... .... .... .... .... .... .... .... .... 
E080: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... 
E0C0: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... 
E100: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... 
E140: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... 
E180: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... 
E1C0: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....

Комбинируя содержимое sketch-а и макросы bitlash, можно добиваться очень интересных результатов, труднодостижимых при программировании в классической ArduinoIDE. Например, в бэкграунде можно исполнять определенные задачи и одновременно обслуживать общение с пользователем через консоль.

Bitlash можно запустить на ATmega644 (это "родной" процессор Sanguino), через Ethernet (если подключить и правильно заинитить XPort Direct) и с платой GATOR Plus+, которую я как-нибудь разберу под тегом ArduinoCompatible.

Краткий итог: проект определенно заслуживает внимания, потому что в некоторых применениях может оказаться проще и быстрее, чем Arduino/Wiring.

22.09.2009

EDuino

Название: EDuino
Процессор: ATmega168/328
Тактовая частота: 16 МГц
Совместимость с Shield-платами: нет
Совместимость с ArduinoIDE: есть
Домашняя страница проекта: embeddeddreams.com/site/2009/07/29/eduino/
Дата первого упоминания: 29.07.2009

Думая, что все более-менее оригинальные варианты X-duino уже реализованы, я злостно ошибался. Проект Embedded Dreams решил порадовать нас breakout-платой минималистичного дизайна:



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



Пара конденсаторов притаилась под процессором, а вот кварц, скорее всего, располагается с обратной стороны. Но тогда все-таки надо сверлить, о ужас, целых две дырочки.

Как это и бывает в таких проектах ;), имеем TTL-UART, к которому нужен переходник (либо на COM, либо на USB). Кстати, чертежи платы для переходника на COM-порт также прилагаются, выглядит так:



Естественно, автор не мог не разработать версию для макетки (bread board), EDuino-B:



Это - сторона, на которой расположены элементы.

Заметим, что светодиод распаян так не зря - он вставлен в дырочку и виден на противоположной стороне:



Креативно, не так ли? ;)

А вот так он смотрится в макетке:



Файлы проекта:


Файлов Eagle нет, все чертежи в PDF: есть схема, силкскрин, медные проводники - все это можно как минимум распечатать для ЛУТ ;)

Авторы говорят: это наш взгляд на то, как должен выглядеть Arduino Serial. Допустим, но где же COM-порт на транзисторах? Понятно, что добавление транзисторов, резисторов и конденсаторов раздуло бы плату и увеличило количество SMD-элементов.

Краткий итог: еще одна плата DIY, совместимая с Arduino. Поверхностный монтаж - весьма неплохо, потому что не надо сверлить дырки. С другой стороны, through-hole все-таки надежнее.  Думаю, можно рекомендовать для домашнего повторения.

Материалы проекта лицензированы под cc-sa 3.0, как и мой блог ;)

20.09.2009

Разбор калькулятора МК-85

Волею судеб ко мне попал микрокалькулятор Электроника МК-85.



Я хотел заполучить экземпляр с тех пор, как мой коллега, глядя на мой МК-90, заявил, что у него был когда-то МК-85, и вот это уж было по-настоящему круто.



Если верить Википедии, выпуском МК-85 занимался завод Ангстрем - с 1986 по 2000 годы. И было это гораздо более массово, чем с МК-90 - по известным причинам. Согласно истории, в 1984 министр Шокин дал задание скопировать Casio FX-700P для нужд народного хозяйства. Проблема заключалась в том, что микросхем, на которых он был сделан, в стране не производилось. Однако, за работу взялись специалисты Зеленоградского НИИ Точной Технологии, которые предложили адаптировать собственную оригинальную разработку. В итоге МК-85 внешне очень похож на FX-700P, но внутренне представляет собой совершенно отличную схему.





Дисплей МК-85 состоит из 12 знакомест в одну строку. Хотя они выполнены матричным способом, между ними есть разделители - и, увы, полноценного непрерывного графического поля не получается.

Питание может осуществляться как от батарей, так и от сетевого источника питания. Мне достался Д2-37В, такой же, как в МК-90. Кстати, FX-700P питался только от батарей.

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



Что характерно, для замены батарей надо развинтить корпус, повредив первую, внешнюю пломбу. Затем надо сдвинуть влево металлический кожух, и под ним располагаются четыре СЦ-0,18:



При извлечении каждой, у меня вынимался мелкий (1х2 мм размером) кусочек черной резинки. Не понял, зачем оно - то ли дополнительная изоляция, то ли для фиксации батареи в отсеке.



Оригинальные, разбухшие и выделившие соль батареи я заменил на алкалиновые GPA76 (они же LR44). Дальше надо сорвать вторую пломбу (на ней логотип Ангстрема), и отвинтить... 12 винтов, чтобы снять внутренний пластиковый корпус:



Назначение микросхем, слева направо:

  • Т36ВМ1-2 (КА1013ВМ1) - микропроцессорное ядро со встроенными контроллерами памяти и клавиатуры, watchdog, супервизор питания, 15-разрядный порт (на корпусе не хватило одного вывода ;), управляемый генератор, последовательный порт
  • Т36РЕ1-2 (КА1013РЕ1) - ПЗУ 16К х 8 (или 32? мнения расходятся ;)
  • Т36РУ1-2 (КА1013РУ1) - ОЗУ 2К х 8, статическое
  • Т36ВГ1-2 (КА1013ВГ2) - контроллер ЖК-дисплея (подключался через последовательный порт). 

Свободные посадочные места - для двух дополнительных микросхем ОЗУ, таким образом общий объем наращивался до 6Кбайт.




Говорят, люди устанавливали самостоятельно, а в серийном варианте это уже называлось  МК-85М:



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

Верхняя крышка содержит три блока резиновых клавиш с токопроводящей резиной. Обратите внимание на круглое отверстие в корпусе рядом с кнопкой включения:



Далее, в руках остаются три платы в виде тонкого бутерброда: клавиатура, изолятор, процессорная:





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



Точно так же ЖКИ-дисплей соединяется с процессорной платой:



Больше всего меня восхитил этот элемент на плате:



Оказалось, это электролит. В спецификациях калькулятора указано, что программа сохраняется в течение 15 минут даже после изъятия батарей. Видимо, за счет этих 6,8 мкФ!

Схема:



А вот расположение элементов на плате (спасибо пользователю Fuseoppl):



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

Итак, что еще почитать?..

  • Начальные сведения, включая скан руководства, можно найти на заброшенном в 2005-м году mk85.narod.ru.
  • Фантастические апгрейды - 32Кбайта памяти, замена ROM, добавление шины I2C, а также ремонт характерных неисправностей - на польском сайте mk85.republika.pl
  • Всеобъемлющий анализ аппаратного и программного обеспечения (включая то, как программировать на ассемблере), а также эмулятор - на сайте Piotr Piatek-a.
  • История МК-85 опубликована на сайте Виртуальный компьютерный музей.
  • Полная галерея фотоматериалов, в том числе из данной статьи, у меня в picasa-альбоме Электроника-85

В статье использованы материалы из Википедии - свободной энциклопедии. Отдельная благодарность - за иллюстрации - пользователям SysCat (Роман Широков), Fuseoppl.

19.09.2009

Прошел год

Прошел ровно год с момента попадания в мои руки Электроники МК-90.

Ровно год - с того момента, как я, подобно "истинному" программисту, с презрением относился к аппаратным проблемам.

Год назад я понятия не имел, что из себя представляет семейство МК ATmega и Arduino, что такое за шина I2C и 1-Wire, почему светодиоды надо питать от какого-то непонятного ШИМ, как нарисовать схему и развести печатную плату, наконец – чем логика КМОП отличается от ТТЛ и тем более ТТЛШ.

Не скрою – я и до сих пор не уверен, что понимаю это правильно, но мне удалось кое в чем продвинуться, и даже поделиться накопленным опытом с моими дорогими читателями ;)

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

16.09.2009

Arduino Mini в LinuxCenter.ru

Платы Arduino Mini поступили в продажу в магазин LinuxCenter.ru:



Стоит 1290 рублей, из минусов - процессор ATmega168 и отсутствие USB (нужен USB-TTL переходник). Кстати, раньше эту модель называли Arduinio Stamp (марка). На фото - версия 2, еще существует 3 и 4 (они немного отличаются по распиновке). Какая именно продается - к сожалению, неизвестно.

На мой взгляд, морально устарело: у последнего Arduino Nano и ATmega328, и miniUSB.

Но хоть что-то до России добирается - уже хорошо ;)

11.09.2009

ATmega644PA

Фирма-изготовитель процессоров для Arduino ;) заявила, что она "надругалась" над МК ATmega644P аналогичным способом, как и над другими МК семейства mega в этом году (индексы 64, 164P, 8, 128, 168P).

В названии добавилась буква A. За этой скромной буквой скрывается полная переразводка топологии кристалла с целью снижения энергопотребления.  Например, для питания 3В в Idle-моде им удалось понизить до 200 мкА или на 60%.

Приятно, что вместо прекращения выпуска и взвинчивания цен на модели чипов, которым исполнилось полтора года (как это делает, например, Infineon), ATMEL совершенствует старые.

07.09.2009

Тестер микросхем

Недавно мне презентовали весьма рандомный комплект советских логических микросхем, в основном серии К561.

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

Какой же бедный студент откажется от халявных микросхем! Но как отделить зерна от плевел – то бишь, брак от рабочих? Конечно же, первым делом я вооружился справочником В.Л. Шило "Популярные микросхемы КМОП. Справочник. Серии К176, К561, 564, КР1561, 1564" (Москва, "Ягуар", 1993 г.). Узнав оттуда назначение и расположение контактов одной из выбранных наугад микросхем – К561ТМ2, я соединил с Arduino входы первого из двух независимых D-триггеров, входящих в состав этой микросхемы, а прямой и инверсный выходы - на светодиоды с токоограничительными резисторами:



Как только я правильно написал скетч, светодиоды весело замигали:

/* K561TM2
   1 | Q1
   2 | Q1`
   3 | C1 
   4 | R1
   5 | D1
   7 | GND
   9 | D2
  10 | R2
  11 | C2
  12 | Q2`
  13 | Q2
  14 | Vcc
*/ 

#define pinC  2
#define pinR  3
#define pinD  4
#define pinS  5

void setup() {
pinMode(pinC,OUTPUT);
digitalWrite(pinC,HIGH);
pinMode(pinR,OUTPUT);
digitalWrite(pinR,LOW); 
pinMode(pinD,OUTPUT);
digitalWrite(pinD,LOW);
pinMode(pinS,OUTPUT);
digitalWrite(pinS,LOW);
}

void loop() {
digitalWrite(pinD,LOW);
digitalWrite(pinC,LOW);
delay(2);
digitalWrite(pinC,HIGH);
delay(500);
digitalWrite(pinD,HIGH);
digitalWrite(pinC,LOW);
delay(2);
digitalWrite(pinC,HIGH);
delay(500);

}



Помигать также можно и через R/S входы, если заменить в предыдущем примере тело loop:

void loop() {
digitalWrite(pinR,HIGH);
digitalWrite(pinS,LOW);
delay(500);
digitalWrite(pinR,LOW);
digitalWrite(pinS,HIGH);
delay(500);
}



Если светодиоды загораются по-очереди раз в полсекунды, то триггер вроде бы рабочий. Но в корпусе их два, а значит надо повторить проверку и для второго.

И тут я задумался: насколько такая проверка будет корректной?

Любая микросхема имеет определенное быстродействие (зависит от серии, например, в случае с КМОП – от напряжения питания) и неплохо было бы проверить, что оно достижимо. Поскольку оценивать это "на глазок" по миганию светодиодов нельзя, логично доверить это Arduino, подключив к нему и выходы тестируемой микросхемы тоже.

И обязательно надо проверить и взаимное влияние одного триггера на другой – например, при управлении одним, второй своего состояния менять не должен.

А если сделать программу для проверки более универсальной?

Немного подумав надо тем, как должна выглядеть Универсальная Программа Проверки Логических Микросхем, я ужаснулся и потянулся к Интернету, пытаясь найти готовое устройство для повторения. Но все оказалось не так просто, как я ожидал.

Надо заметить, что в существовании подобного устройства я не сомневался – несколько раз, покупая на рынке комплектуху для своего первого Спектрума, я прибегал с услугам дядьки-проверяльщика. Это такой специальный мужик (чем-то смахивающий на коробейника) с портативным проверочным устройством. За небольшую плату покупаемые микросхемы устанавливались в панельку на устройстве, нажималась кнопка и – чудо! Если загорался один светодиод, то проверка считалась успешной, если другой... микросхема возвращалась продавцу с вердиктом "битая". Стоило эта услуга весьма недорого и пользовалась заслуженной популярностью: выпаивать микросхему, рискуя повредить печать, не хотелось.

Первый найденный вариант обнаружился в книге "Популярные микросхемы ТТЛ. Серии: КР1533, КР1531, К531, К555, К155" (Москва, "Аргус", 1993). Назывался он "Прибор для испытания микросхем". Необходимость преподносилась его авторами так: "однотипные микросхемы, изготавливаемые разными фирмами как "функциональные аналоги", могут работать по-разному":



Механическую основу девайса составляет универсальная панелька на 24 контакта, к кажому из которых припаяно по проводку длиной 150мм, со штырьком на конце. С двух сторон расположены тумблеры и светодиоды с гнездами: для начала надо раздобыть описание микросхемы и подключить проводками тумблеры - ко входам, а светодиоды – к выходам. Наверное, вы уже догадываетесь, что дальше надо руководствуясь документацией / интуицией / исключительно субъективным пониманием того, как должна работать микросхема, набирать на тумблерах комбинации и анализировать результат. В схеме предусмотрен генератор импульсов 1 Гц, который предназначен для формирования сигнала проверки последовательных регистров и сдвиговых счетчиков (и тоже имеет отдельное гнездо):



Как гласит последний абзац описания, "некоторые микросхемы КМОП не работают от 5В. Разомкните тумблер S15, подайте от внешнего питания 9В". Это единственное упоминание КМОП в книге, полностью посвященной ТТЛ- и ТТЛШ-логике, отдает мистикой ;)

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

Продолжая искать, я нашел статью "Прибор для контроля работы микросхем", автор Н.И. Заец:



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

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

Кстати, нельзя не заглянуть в статью, на которую ссылается Заец: журнал Радио №7 за 1993, "Тестер для проверки микросхем". Там мы найдем похожую схему для проверки регистров и мультиплексоров ТТЛ-серий, которая предполагает проверку путем формирования тестовой последовательности на испытуемой и эталонной микросхеме. Таким образом, работающей платы не требуется, зато сужается диапазон типов проверяемых микросхем. Необходимость иметь "про запас" исправную эталонную микросхему тоже не отпадает, увы:



(как и все схемы в моем блоге - кликабельно для увеличения)

Продолжение поисков обязательно следует...

03.09.2009

Слабое место Arduino Nano

В процессе эксплуатации Arduino Nano, натолкнулся на одну не очень приятную вещь: на ней отсутствует предохранитель. Вот так он выглядит на Duemilanova:



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

В случае короткого замыкания питающей цепи страдает элемент, который в ней гарантированно находится: в Nano - это диод Шотки, управляющий переключением питания (либо от внешнего источника, либо от USB):


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

Короче, Arduino Nano я бы начинающему не посоветовал. Но все равно - плата более чем прикольная, мне нравится размер и отсутствие лишних проводов до макетки.