При переводе на другой язык тексты на рисунках и диаграммах,
которые на оригинальном английском, тоже переведены.
- Добавлен подраздел 2.10 (клон из Hiland M644).
- В раздел 4.1 был добавлен предметный программист.
- И наконец, подраздел 4.2.1 (программирование под Linux) был добавлен, ’Linux’ новички
’также имеют успех.
Автор был проинформирован об этих мерах.
К сожалению, насколько мне известно, документ еще не обновлялся.
- Я не получил положительный ответ сам.
- Поскольку я считаю, что дополнения важны для "новичков в Linux это издание оправдано.
Оригинал, конечно, может быть достигнут ниже [3].
02/20/20
бm-magic
Many были внесены изменения, но создание графиков с gnuplot на основе необработанных дан-
ных измерений. был сохранен с соответствующим Makefile, документирующим такие зависимости. Время от времени некоторые серии измерений повторяются в конце версии программного
обеспечения и данные обновляются. Это приводит к автоматическому изменению графиков
при перекомпиляции. Эта процедура должна быть сохранена и работать на всех языках. Для
облегчения адаптации к форматам бумаги я сделал относительные значения размера вместо
фиксированные размеры, такие как см и пт.
6.3.2021
K.-H. K¨ubbeler
As вы можете видеть выше, документ теперь обновлен автором и, например, подраздел 4.2.1
с помощью many. ..неизвестный мне до сих пор, советы supplemented. . . спасибо автору.
This выпуск стал необходимым, так как адрес архива ~/transistortester
c svn://www.mikrocontroller.net/transistortester
на https://github.com/Mikrocontroller-net/transistortester [1]
24.03.2021
бm-magic
3
Вступление
Основные мотивы
Каждый радиолюбитель знает следующую задачу: Вы выпаяли транзистор из печатной платы
или достали один из коробки. Если на нем есть маркировка, и у Вас уже есть паспорт или
Вы можете получить документацию об этом элементе, то все в порядке. Но если документация
отсутствует, то Вы понятия не имеете, что это за элемент. Традиционный подход измерения всех
параметров сложный и трудоемкий. Элемент может быть N-P-N, P-N-P, N или P-канальным
MOSFET транзистором и т.д. Идея Markus F. заключалась в том, чтобы переложить ручную
работу на AVR микроконтроллер.
Начало моей работы над проектом
Моя работа с программным обеспечением Тестера от Markus F.[2] началась, потому что у
меня были проблемы с моим программатором. Я купил печатную плату и элементы, но не
смог запрограммировать EEprom ATmega8 с драйвером Windows без сообщения об ошибке.
Поэтому я взял программное обеспечение от Markus F. и изменил все обращения из памяти
EEprom к Flash памяти. Анализируя программное обеспечение для того, чтобы сохранить
память в других местах программы, у меня появилась идея изменить результат функции
ReadADC из единиц АЦП на милливольты (𝑚𝑉 ). Размерность в 𝑚𝑉 необходима для любого
вывода значения напряжения. Если функция ReadADC возвращает значения непосредственно
в 𝑚𝑉 , я могу сохранять преобразования для каждого выходного значения. Размерность в
𝑚𝑉 можно получить, если суммировать результаты 22 показаний АЦП, сумму умножить на
2 и разделить на 9. Таким методом максимальное значение получится
идеально соответствует нужной размерности измеренных значений напряжения в 𝑚𝑉 . Кроме
того дополнительно была надежда, что увеличение, от передискретизации, разрешения АЦП
может способствовать улучшению считанного с АЦП напряжения, как описано в AVR121 [7].
В оригинальной версии функция ReadADC накапливается результат 20 измерений АЦП и
делится потом на 20, так что результат равен оригинальному разрешению АЦП. Т.е., по этому
пути повышение разрешения АЦП невозможно. Так что я должен был сделать небольшую
работу, чтобы изменить функцию ReadADC, а это заставило проанализировать всю программу
и изменить все “if statements” в программе, где запрашиваются значения напряжения. Но это
было только началом моей работы!
1023·22·2
9
= 5001, что
Появлялось все больше и больше идей, чтобы сделать измерения более быстрыми и точными.
Кроме того хотелось расширить диапазон измерений сопротивлений и ёмкостей. Формат
вывода информации на LCD-дисплей был изменен, теперь для диодов, резисторов и конденсаторов используются символы, а не текст. Для получения дополнительной информации
необходимо ознакомиться со списком доступных функций в главе 1. Планируемые работы и
новые идеи представлены в главе 9. Кстати, теперь я могу программировать EEprom ATmega
в операционной системе Linux без ошибок.
Здесь я хотел бы поблагодарить разработчика и автора программного обеспечения Markus
Frejek, который предоставил возможность продолжить начатую им работу. Кроме того, я хотел бы сказать спасибо авторам многочисленных обсуждений на форуме, которые помогли мне
найти новые задачи, слабые места и ошибки. Далее я хотел бы поблагодарить Markus Reschke,
который разрешил мне публиковать его яркие версии программного обеспечения на сервере
SVN. Кроме того, некоторые идеи и программные модули Markus R. были интегрированы в
мою собственную версию программного обеспечения.
4
Также Wolfgang SCH. проделана большая работа по адаптации проекта под дисплей с контроллером ST7565. Большое спасибо ему за адаптацию микропрограммы 1.10k к текущей версии.
Я должен поблагодарить также Asco B., который разработал новую печатную плату для повторения другими радиолюбителями. Следующую благодарность я хотел бы отправить Dirk
W., который разработал порядок сборки этой печатной платы. У меня никогда не хватило бы
времени заниматься всеми этими вещами одновременно с моими разработками программного
обеспечения. Отсутствие времени не позволяет и в дальнейшем развивать программное обеспечение на том же уровне. Спасибо за многочисленные предложения по улучшению Тестера
членам местного отделения “Deutscher Amateur Radio Club (DARC)” из Lennestadt. Кроме того,
я хотел бы сказать спасибо за интеграцию метода дискретизации радиолюбителя “Pieter-Tjerk
(PA3FWM)”. С помощью этого метода измерения маленьких значений емкости и индуктивности заметно улучшено. На завершение, спасибо Nick L из Украины, за поддержку идей своими
прототипами плат, предложение некоторых дополнений и поддержку изменений в русской документации.
5
Глава 1
Характеристики
1. Работает с микроконтроллерами ATmega8, ATmega168 или ATmega328. Также возможно
использовать ATmega644, ATmega1284, ATmega1280 или ATmega2560.
2. Отображение результатов на символьном LCD-дисплее 2x16 или 4x20. Если используется микроконтроллер с объемом флэш-памяти, минимум 32k, то также можно применить
графический дисплей 128x64 пикселя с контроллером ST7565 или SSD1306. При этом
4-проводной интерфейс SPI или I2C шина должны быть подключены вместо 4-битного
параллельного интерфейса для SSD1306 контроллера. Для контроллеров NT7108 или
KS0108 Вы должны использовать преобразователь последовательно-параллельного интерфейса 74HC(T)164 или 74HC(T)595. Дисплей с контроллером PCF8812 или PCF8814
может быть использован только без больших иконок для транзисторов, так как размер
дисплея 102x65 или 96x65 пикселей недостаточен.
3. Запуск - однократное нажатие кнопки TEST с автоотключением.
4. Возможна работа от автономного источника, т.к. ток потребления в выключенном состоянии не превышает 20 𝑛𝐴.
5. Чтобы уменьшить ток потребления в режиме ожидания измерения, программное обеспечение, начиная с версии 1.05k, использует режим сна (Sleep Mode) для микроконтроллеров
Atmega168 или ATmega328.
6. Автоматическое определение N-P-N и P-N-P биполярных транзисторов, N- и P-канальных
MOSFET транзисторов, JFET транзисторов, диодов, двойных диодов, тиристоров и симисторов. Для тиристоров и симисторов уровень открытия должен быть досягаем для
тестера. Для IGBT транзисторов сигнал 5 𝑉 должен быть достаточным для открытия
транзистора.
7. Автоматическое определение расположения выводов элемента.
8. Измерение коэффициента усиления и порогового напряжения база эмиттер биполярного
транзистора.
9. Транзисторы Дарлингтона идентифицируются по пороговому напряжению и коэффициенту усиления.
10. Обнаружение защитного диода в биполярных и MOSFET транзисторах.
11. Измерение порогового напряжения затвора, значение емкости затвора и R
жение затвора около 5 𝑉 в транзисторах MOSFET.
6
DSon
до напря-
12. Измерение порогового напряжения затвора и величины ёмкости затвора MOSFET.
13. Измерение одного или двух резисторов с изображениемсимвола резистора и точностью до 4 десятичных цифр. Все символы пронумерованы соответственно номерам щупов
Тестера (1-2-3). Таким образом, потенциометр также может быть измерен.
14. Разрешение измерения сопротивления до 0, 01 Ω, а величина измерения - до 50 𝑀 Ω.
15. Определение и измерение одного конденсатора с изображением символа конденсатора
Определение и измерение одного конденсатора с изображением символа конденсатора и точностью до четырех десятичных цифр. Ёмкость конденсатора может быть замерена от 25 𝑝𝐹 (8 𝑀 𝐻𝑧, 50 𝑝𝐹 – 1 𝑀 𝐻𝑧) до 100 𝑚𝐹 . Разрешение измерения составляет
1 𝑝𝐹 (8 𝑀 𝐻𝑧).
16. ESR конденсатора измеряется с разрешением 0, 01 Ω для конденсаторов ёмкостью более
20 𝑛𝐹 и отображается числом с двумя значащими десятичными цифрами. Это возможно
только для ATmega168 или ATmega328.
17. Для конденсаторов ёмкостью выше 5000 𝑝𝐹 может быть определена потеря напряжения
после воздействия импульса зарядки. Потеря напряжения дает оценку добротности (качества) конденсатора.
18. Определение до двух диодов с изображением их символовилив правильном
порядке. Дополнительно отображается прямое падение напряжения на диоде.
19. Светодиод (LED) определяется как диод с прямым напряжением выше, чем у обычного
диода. Два светодиода в одном 3-х выводном корпусе также определяются, как два диода.
20. Стабилитроны могут быть определены, если их обратное напряжение пробоя ниже 4, 5 𝑉 .
Они отображаются, как два диода, и могут быть идентифицированы, как стабилитроны,
только по напряжению. Номера выводов, соответствующие символу диода, в этом случае,
идентичны. Реальный вывод анода диода можно идентифицировать только по падению
напряжения (около 700 𝑚𝑉 )!
21. Если определяется более чем 3 диода, число диодов отображается дополнительно с сообщением о том, что элемент повреждён. Это может произойти, только если диоды присоединены ко всем трем выводам, и, по крайней мере, один из диодов - стабилитрон. В этом
случае необходимо произвести измерения, подсоединив к двум щупам Тестера сначала
одну пару из трех выводов элемента, затем – любую другую пару выводов элемента.
22. Измерение величины ёмкости одиночного диода в обратном направлении. Биполярный
транзистор может также быть проанализирован, если подключить базу и коллектор или
базу и эмиттер. Если используется ATmega с объемом флэш-памяти более 8K, то измеряется обратный ток диода с разрешением 2 𝑛𝐴. Значение выводится на дисплей, если оно
больше нуля.
23. Одним измерением можно определить назначение выводов выпрямительного моста.
24. Конденсаторы ёмкостью ниже 25 𝑝𝐹 обычно не определяются, но могут быть измерены
вместе с параллельным диодом или параллельным конденсатором, ёмкостью более 25 𝑝𝐹 .
В этом случае из результата измерения необходимо вычесть ёмкость подключенного параллельно элемента. Для контроллеров, имеющих по крайней мере 32K флэш-памяти
осуществляется автоматический переход на циклический режим измерения, если конденсатор с более чем 25 𝑝𝐹 подключен к ТР1 и ТР3. В этом режиме измерения конденсаторов
Вы можете измерить ёмкость конденсаторов ниже 25 𝑝𝐹 в ТР1 и ТР3 напрямую.
7
25. Для резисторов сопротивлением ниже 2100 Ω, если ATmega с объемом более чем 16K
флэш-памяти, измеряется индуктивность. Иконка индуктивностибудет показана за
иконкой. Диапазон измерений от 0, 01 𝑚𝐻 до 20 𝐻, но точность не высока. Получить
результат измерения можно только с единственным подключенным элементом.
26. Время тестирования большинства элементов составляет приблизительно 2 секунды. Измерение ёмкости или индуктивности могут увеличить время тестирования.
27. Программное обеспечение может конфигурироваться, чтобы произвести ряд измерений
прежде, чем питание будет отключено.
28. В функции самопроверки встроен дополнительный генератор частоты на 50 𝐻𝑧, чтобы
проверить точность тактовой частоты (только для контроллеров с объемом более чем 32K
флэш-памяти).
29. Подключаемое, в режиме самопроверки, оборудование для тарировки внутреннего выходного сопротивления порта и смещения нуля при измерении ёмкости (только для контроллеров с объемом более чем 16K флэш-памяти). Для тарировки необходимо подключить к
щупам 1 и 3 внешний высококачественный конденсатор ёмкостью между 100 𝑛𝐹 и 20 𝜇𝐹
чтобы измерить величину компенсации напряжения смещения аналогового компаратора.
Это уменьшит ошибки измерения ёмкости конденсаторов до 40 𝜇𝐹 . Этот же конденсатор
применяется при коррекции напряжения внутреннего ИОН, замеренного для подстройки
масштаба АЦП при измерении с внутренним ИОН.
30. Отображение обратного тока коллектора 𝐼
и обратного тока коллектора при короткозамкнутых выводах базы и эмиттера 𝐼
при отключенной базе (с разрешением 1 𝜇𝐴)
𝐶𝐸 0
𝐶𝐸 𝑆
(только для ATmega с объемом флэш-памяти больше 16K). Эти значения отображаются если
они не равны нулю (главным образом, для германиевых транзисторов).
31. Для ATmega с объемом флэш-памяти не менее 32K тестер запускает циклический тест
сопротивления резисторов, как только резистор будет обнаружен в тестовых контактах 1
(TP1) и 3 (TP3). Если вы выбрали дополнительное измерение индуктивности для функции циклического теста резисторов в Makefile, задав параметр RMETER_WITH_L, то
индуктивность также может быть определена и измерена в этом режиме. Этот циклический режим работы обозначается [R] или [RL] справа в первой строке экрана дисплея.
Таким же образом запускается циклическое измерение ёмкости, если конденсатор, обнаружен в TP1 и TP3. Этот режим работы отображается символом [C] справа в первой
строке. В циклическом тесте конденсаторов, возможно определение ёмкостей от 1 𝑝𝐹.
Но для автоматического запуска циклического теста ёмкость конденсатора должна быть
больше 25 𝑝𝐹 . Cпециальные режимы могут быть завершены нажатием клавиши TEST.
Тестер вернется к обычному режиму работы.
32. Из диалогового меню можно выбрать измерение частоты на порту PD4 для ATmega. Разрешение составляет 1 𝐻𝑧 для измеряемых частот выше 33 𝑘𝐻𝑧. Для более низких частот
разрешение может быть до 0, 001 𝑚𝐻𝑧 с измерением среднего периода. Вы должны ознакомиться с подразделом измерения частоты 2.2.4 на странице 14 для уточнения деталей
подключения сигнала частоты.
33. Из меню, при отключенной функции последовательного порта, можно вызвать функцию
измерения напряжения до 50 𝑉 при использовании делителя 10:1 на порту PC3. Если
используется ATmega328 в корпусе PLCC, то для измерения можнo использовать один
из дополнительных портов вместе с UART. Если присутствует схема измерения стабилитронов (DC-DC преобразователь), измерение стабилитронов также возможно с помощью
этой функции, нажав кнопку TEST.
8
34. Из меню можно выбрать функцию генератора частоты на тестовом контакте TP2 (PB2
порт ATmega). В настоящее время можно предварительно выбрать частоты от 10 𝐻𝑧 до
2 𝑀 𝐻𝑧.
35. Из диалогового меню функций можно выбрать вывод фиксированной частоты с возможностью выбора ширины импульса на тестовом контакте TP2 (PB2 порт ATmega). Ширина
может быть увеличена на 1% при кратковременном нажатии или на 10% при более длительном нажатии кнопки TEST.
36. Из диалогового меню функций можно запустить отдельное измерение ёмкости с измерением ESR. Только конденсаторы от 2 𝜇𝐹 до 50 𝑚𝐹 могут быть измерены в схеме, так как
используется низкое, около 300 𝑚𝑉 напряжение.
37. Если Ваш контроллер ATmega имеет по крайней мере 32K флэш-памяти (Mega328), у
Вас есть возможность использовать метод дискретизации АЦП, который позволяет испытывать конденсаторы с ёмкостью меньше 100 𝑝𝐹 с разрешением 0, 01 𝑝𝐹. С применением этого же метода, можно также измерять индуктивность катушки меньше 2 𝑚𝐻
со значительно большей точностью путем создания резонансного контура с параллельно
включённым конденсатором известной ёмкости.
Вы должны убедиться, что все конденсаторы разряжены перед началом любых измерений.
Тиристоры и симисторы могут быть обнаружены, если испытательный ток выше тока удержания. Некоторые тиристоры и симисторы нуждаются в более высоких токах, чем этот Тестер
может обеспечить. Доступный ток тестирования только 6 𝑚𝐴! Также IGBT могут быть обнаружены, если 5 𝑉 достаточно для их открытия. Заметьте, что многие дополнительные функции
могут быть доступны при использовании контроллеров с достаточным объемом памяти, таких
как ATmega168. Однако только при использовании контроллеров, в которых, по крайней мере
32 𝑘𝐵 флэш-памяти, таких как ATmega328 или ATmega1284 доступны все функции.
Внимание: Перед подключением убедитесь, чтоконденсаторы разряжены! Тестер
может быть повреждён и в выключенном состоянии. Есть только небольшая защита в портах
ATmega.
Если требуется проверить элементы, установленные в схеме, то оборудование должно быть
отсоединено от источника питания, и должна быть полная уверенность, что остаточное на-пряжение отсутствует в оборудовании.
9
Глава 2
Аппаратные средства
2.1Схема Тестера
Схема на рисунке 2.1 основана на схеме Markus F., из проекта AVR Transistortester [2]. Измененные или перемещенные элементы отмечены зеленым цветом, дополнительные элементы
отмечены красным цветом.
Небольшие изменения внесены в электронный выключатель питания, который создавал проблемы в некоторых реализациях. Резистор R7 уменьшен до 3, 3 𝑘Ω. Конденсатор C2 уменьшен
до 10 𝑛𝐹 . R8 перенесен так, чтобы вывод порта PD6 был подключен к конденсатору C2 через
него, а не непосредственно.
Дополнительные блокировочные конденсаторы должны быть установлены у выводов питания
ATmega и у выводов стабилизатора напряжения. Добавлен один дополнительный подтягивающий резистор на 27 𝑘Ω к выводу порта PD7 (вывод 13 ATmega). В этой модификации
программное обеспечение отключает ВСЕ внутренние подтягивающие резисторы ATmega.
Добавлен дополнительный кварц на 8 𝑀 𝐻𝑧 с конденсаторами C11, C12 на 22 𝑝𝐹 . Точность
кварца дает возможность более точного измерения времени для того, чтобы измерить ёмкость
конденсатора.
Новая версия программного обеспечения может использовать переключение масштаба напряжения АЦП. Скорость переключения зависит от внешнего конденсатора C1 на AREF (вывод
21 ATmega). Чтобы избежать замедления на величину большую, чем необходимо, ёмкость
этого конденсатора должна быть уменьшена до 1 𝑛𝐹 . Можно вообще удалить конденсатор C1.
Для адаптации программного обеспечения к конкретной схеме необходимо посмотреть опции
в Makefile в разделе конфигурации 4 на странице 50.
Соотношение резисторов R11/R12 определяет величину напряжения для контроля разряда
батареи питания. Я приспособил свое программное обеспечение к оригиналу от Markus F. [2]
с величинами резисторов 10 𝑘Ω и 3, 3 𝑘Ω. Сопротивление резисторов в делителе напряжения
можно установить в Makefile .
Дополнительное опорное напряжение 2,5 𝑉 , поданное на порт PC4 (ADC4), может использоваться, чтобы проверить и откалибровать Тестер на имеющееся напряжение VCC (не
обязательно). В качестве ИОН можно использовать LM4040-AIZ2.5 (0,1%), LT1004CZ 2.5
(0,8%) или LM336-Z2.5 (0,8%).
10
Если не установлен ИОН и не предусмотрена защита с использованием реле, Вы должны уста-
IN OUT
GND
IC2
PB7(XTAL2/TOSC2)
PC6(RESET)
PD7(AIN1)
PD6(AIN0)
PD5(T1)
PD4(XCK/T0)
PD3(INT1)
PD2(INT0)
PD1(TXD)
PD0(RXD)
PB4(MISO)
PB5(SCK)
PB3(MOSI/OC2)
PB2(OC1B)
PB1(OC1A)
PB0(ICP)
PC0(ADC0)
PC1(ADC1)
PC2(ADC2)
PC3(ADC3)
PC4(ADC4/SDA)
PC5(ADC5/SCL)
AREF
PB6(XTAL1/TOSC1)
ATmega8/168/328
23
24
25
26
27
28
14
15
16
17
18
19
4
3
2
5
6
11
12
13
1
10
21
9
GND
8
VCC
7
AVCC
AGND
20
22
27k
33k
22p
8MHz
100n
100n100n
Ubat
9
LCD 2x16
1
2
16
15
D7
D6
D5
3
14
4
5
13
12
6
7
11
10
8
D4
D3
D2
D1
D0
E
R/W
RS
VEE
GND
+5V
Ubat
2k2
33−270
BC547
10k
TP2
TP3
TP1
Test
10k
LED1
R10
T3
BC557C
C1
T2
BC547
R1
680R3680R5680
R2
470kR4470kR6470k
C2
10n
T1
R7
3k3
R11
R13
10k
3
5
1
MISO
SCK
RESET
2
4
6
VCC
MOSI
GND
ISP
Reset
22p
1n
R9
100k
100n
10k
27k
R8
D1
R15
C4
C6
R14
2.5V
LT1004
R12
3k3
R16
C5
10u
C9
C3
C10 10u
serial
9V
Reset
C11
C12
Button
VCC
VCC
VCC
VCC
VCC
VCC
VCC
новить подтягивающий резистор R16 к PC4 с высоким номиналом (47 𝑘Ω). Это поможет программному обеспечению обнаружить отсутствующий ИОН. Дополнительный интерфейс ISP
был добавлен для упрощения загрузки новых версий программного обеспечения.
Рис. 2.1. Новая схема Тестера
Таблица 2.1 показывает назначение портов D для различных дисплеев и дополнительных подключений. Для интерфейса SPI сигнал LCD-CE присутствует на порту ATmega. Вход сигнала
CE (Chip Enable) дисплея также может быть подключен к GND вместо подключения его к
выходу сигнала LCD-CE ATmega.
Таблица 2.1. Назначение контактов порта D для подключения различных дисплеев
Программное обеспечение может изменять назначение выводов порта D для удобства разводки
LCD-дисплея. В таблице 2.2 показаны варианты подключения для версии Strip Grid и подключения графического индикатора к микроконтроллеру ATmega328. Также указано использование входов портов для дополнительных функций. При подсоединении графического адаптера
к плате версии Strip Grid (опция STRIP_GRID_BOARD=1) функция измерения частоты не
может быть использована, потому что порт PD4 (T0) используется. Но это соединение используется в китайской версии с графическим дисплеем. В большинстве случаев дополнительные
11
164-595-SER
функции, такие как использование энкодера или частотомера проще реализовать в версии те-
TP2
TP3
TP1
4k7
BC547
PC0(ADC0)
PC1(ADC1)
PC2(ADC2)
PC4(ADC4/SDA)
VCC / Ubat
P6KE6V8A
5
2
1346
SRV05−4
TP1
TP2
TP3
100nF
VCC
стера с символьным дисплеем, потому что все сигналы данных присутствуют в разъеме подключения дисплея.
Таблица 2.2. Назначения портов с опцией STRIP_GRID_BOARD
2.2Улучшения и расширения к прибору
2.2.1Защита портов ATmega
Для защиты ATmega вводится один из двух вариантов схемы защиты из представленных на
рисунке 2.2. В первом варианте контакты обесточенного реле защищают ATmega при отсутствии напряжения питания. Контакты будут разомкнуты программно, как только начнется
измерение.
Во втором варианте защита при помощи диодов уменьшает вероятность повреждения портов
ATmega при подключении конденсатора с остаточным напряжением.
Следует заметить, что ни одна схема не дает полной гарантии защиты ATmega от остаточного
заряда конденсатора. Поэтому, перед тестированием, конденсатор обязательно разрядить!
VCC or Ubat
depends on Uреле
(a) с использованием реле
(b) с использованием диодов
Рис. 2.2. Защита входов ATmega
Вы можете улучшить защиту, установив реле с тремя группами контактов, как показано на
рисунке 2.3. Разрядный ток ограничен резисторами, входы ATmega отключены в защищенном
режиме. Следует помнить, что тестер не защищён в режиме последовательных (циклических)
измерений.
12
4k7
BC547
PC0(ADC0)
PC4(ADC4/SDA)
TP1
TP2
TP3
PC2(ADC2)
PC1(ADC1)
3x10
VCC / Ubat
VCC or Ubat
Vin+
Vin−
Com
DC−DC Conv.
Vout+15
Vout−15
R18
180k
R17
20k
10n
serial / PC3
1uF
33uH
L1
C13
Uext
10k
TMA0515D
T4
Uext
R19
Ubat
100n
C15
INOUT
GND
IC3
MCP1702
IRFU9024
C17
C16
50u100n
C14
Button
depends on Uреле
Рис. 2.3. Улучшенная защита с реле
2.2.2Измерение стабилитронов с напряжением более 4 V
Если UART не требуется, порт PC3 может использоваться в качестве аналогового входа для
измерения внешнего напряжения. Напряжение может составить до 50 𝑉 с дополнительным
резистивным делителем 10:1. На рисунке 2.4 представлена схема для измерения напряжение
пробоя стабилитрона при низком уровне на порте PD7 ATmega. Тестер показывает внешнее
напряжение, пока Вы держите кнопку TEST нажатой. Ток, потребляемый от батареи питания,
при этом возрастает, примерно, на 40 𝑚𝐴.
external
Voltage
Резистивный делитель 10:1 может быть использован для измерения внешних напряжений при
выборе из меню дополнительных функций в ATmega328. Присутствие DC-DC преобразователя
для измерения стабилитронов не мешает, так как кнопка не удерживается в нажатом состоянии
и, соответственно, DC-DC преобразователь обесточен. Таким образом, можно измерять напряжение постоянного тока до 50 𝑉 только положительной полярности, обязательно соблюдая
полярность.
2.2.3Генератор частоты
Из меню дополнительных функций, при использовании ATmega, можно выбрать генератор
частоты. В настоящее время поддерживается выбор частот в диапазоне от 1 𝐻𝑧 до 2 𝑀𝐻 𝑧.
Выходной сигнал 5 𝑉 через резистор 680 Ω выводится на тестовый контакт TP2. В качестве
сигнала GND, при этом, можно использовать GND DC-DC преобразователя или тестовый контакт TP1. Тестовый контакт TP3 подсоединен к GND через резистор 680 Ω. Конечно, Вы также
можете использовать порт PB2 для подключения отдельной схемы усилителя-формирователя.
Can be placed on Tester board!
Рис. 2.4. Схема для измерения параметров стабилитронов
Should be placed separate!
13
Но вход этой схемы не должен создавать большую нагрузку для порта ATmega.
PD4
10k
10k
10k
100nF
470
TP4
VCC
2.2.4Измерение частоты
Для использования дополнительной функции измерения частоты, потребуется незначительная
доработка Тестера. Для измерения частоты используется порт PD4 (T0/PCINT20) ATmega.
Этот же порт используется для подключения LCD-дисплея. В стандартном варианте к порту
PD4 подключен сигнал LCD-RS, в варианте strip grid - сигнал LCD-D4. Для обоих сигналов
порт PD4 может быть переключен на ввод, если в данный момент не требуется выводить
информацию на LCD-дисплей.
Однако, лучше использовать дополнительную схему подключения, изображенную на рисунке 2.5. Напряжение на выводе порта PD4 (LCD-RS или LCD-D4) должно быть установлено
около 2, 4 𝑉 при отключенной ATmega или подстроено во время измерения частоты ATmega,
чтобы получить лучшую чувствительность к входному сигналу. Во время регулировки LCDдисплей должен быть установлен, потому что подтягивающие резисторы индикатора могут
изменить установленное напряжение.
Рис. 2.5. Дополнительная схема для измерения частоты
2.2.5Использование поворотного энкодера
Для более удобного доступа к Меню дополнительных функций для ATmega328, Вы можете дополнить схему, установив инкрементальный энкодер с кнопкой. Рисунок 2.6 показывает схему
подключения к тестеру с символьным LCD. Все сигналы для подключения поворотного инкрементального энкодера доступны в разъеме подключения LCD. По этому, модернизация возможна для большинства существующих тестеров. Во многих случаях графический LCD собран на
переходной плате и подключен к контактам, предназначенным для подключения символьного
LCD. Таким образом, модернизация в этих случаях также возможна.
14
10k10k
1k
1k
PD1
PD3
Test Key
VCCVCC
Рис. 2.6. Схема подключения поворотного энкодера
На рисунке 2.7 показана особенность работы двух типов поворотных инкрементальных энкодеров. В версии 1 полная последовательность состояния переключателей происходит при повороте на два фиксированные положения. Количество полных циклов в два раза меньше чем
количество фиксированных положений за оборот энкодера. В версии 2 при повороте на одно фиксированное положение генерируется полный цикл состояния контактов. В этом случае
количество фиксированных положений соответствует количеству циклов за оборот энкодера.
Иногда, в таких энкодерах, в каждом фиксированном положении состояние переключателей
всегда одинаково.
15
Switch A
Switch B
detentdetentdetent
2013230132012State:
L
H
L
H
Version 1
detentdetentdetent
Switch A
Switch B
detentdetentdetent
2013230132012
Version 2
State:
L
H
L
H
состояние
тумблер A
тумблер B
стопорстопорстопор
версия 2
тумблер A
тумблер B
стопорстопорстопорстопорстопорстопор
состояние
версия 1
Рис. 2.7. Особенности двух типов поворотных инкрементальных энкодеров
Рисунок 2.8 показывает работу энкодера, который имеет не только “дребезг” контактов но и
неустойчивое состояние переключателя в точке фиксации. Каждое изменение состояния переключателей определяется программой и сохраняется в циклический буфер. Поэтому, последние три состояния переключателей можно проверить после каждого изменения состояния. Для
каждого цикла переключения состояний, в общей сложности четыре последовательности могут
быть определены для каждого направления вращения.
Если за одну фиксированную позицию осуществляется один, полный, цикл состояний переключателей, то для правильного подсчета достаточно контролировать состояние переключателя в
одном канале (WITH_ROTARY_SWITCH=2 или 3).
Если для генерации полного цикла состояний переключателей требуется поворот на две фиксированные позиции, как показано на рисунке 2.8, Вы должны контролировать последовательность переключения в двух каналах (WITH_ROTARY_SWITCH=1).
Для энкодеров без фиксации, Вы можете выбрать любую чувствительность к углу поворота.
Значение 2 и 3 устанавливает низкую чувствительность, 1 среднюю чувствительность и 5 высокую чувствительность.
Подсчет импульсов (количество “вверх”, количество “вниз”) может быть обеспечен подбором
определенного алгоритма, но, в то же время, может быть утрачен из-за неустойчивого состояния
контактов переключателей в точке фиксации.
16
H
L
3022
Switch A
Switch B
H
L
0
detent 2detent 1
State:
detent 3
Possible state history from left to right:
0202023232302131301012020
1
1
310 = −023 = −
320 = +013 = +
231 = −
132 = +
102 = −
201 = +
окошечко A
окошечко B
защелказащелказащелка
состояние
Возможные состояния слева направо:
Рис. 2.8. Энкодер с “дребезгом” контактов переключателей
Если энкодер не доступен или не целесообразен из-за конструктивных соображений, вместо
двух контактов энкодера, Вы можете подсоединить две независимые кнопки для перемещения
“Вверх” и “Вниз”. В этом случае значение опции WITH_ROTARY_SWITCH, для корректной
работы программы, должно быть установлено 4.
2.2.6Подключение графического дисплея
Большое спасибо Wolfgang Sch. за выполненную работу по поддержке прибором китайской версии дисплея с контроллером ST7565. В настоящее время вы также можете подключить графический LCD (128x64 пикселей) с контроллером ST7565. Поскольку контроллер ST7565 подключается по последовательному интерфейсу, то только четыре сигнальных линии используется.
Два вывода порта D ATmega могут быть использованы для других задач. ATmega процессор
должен иметь, по крайней мере, 32 𝑘𝐵 флеш-памяти для поддержки графического дисплея.
ST7565 контроллер использует рабочее напряжение 3, 3 𝑉 . Поэтому требуется дополнительный
стабилизатор 3, 3 𝑉 . Документация к контроллеру ST7565 не допускает прямого подключения
логических сигналов уровня 5 𝑉 . Для согласования логических уровней сигналов 5 𝑉 и 3, 3 𝑉
можно использовать схему, приведенную на рисунке 2.9 с использованием микросхемы преобразователя уровней 74HC4050. Вы можете попробовать применить вместо четырех элементов
74HC4050 четыре резистора, примерно 2, 7 𝑘Ω. Падение напряжения на резисторах предотвратит увеличение напряжения на входах графического контроллера больше чем напряжение
питания 3,3 𝑉 , а дополнительные диоды на входах графического контроллера не допустят
попадания выходного сигнала 5 𝑉 от ATmega. Вы должны убедиться, что форма сигналов с
резисторов могут быть правильно восприняты входами контроллера ST7565.
В любом случае, при применении элементов микросхемы 74HC4050 форма сигнала на входе
графического контроллера точнее соответствует форме выходного сигнала с ATmega.
17
1
IRS
2
3
4
5
6
7
11
12
P/S
8
9
10
13
14
15
C86
VOUT
CAP3+
CAP1−
CAP1+
CAP2−
CAP2+
V1
V2
V3
V4
VO
VR
ERC12864−2
LCD/CS
30
16
17
18
19
20
21
22
23
24
25
26
27
28
29
VSS
VDD
DB6_SCL
DB7_SI
DB5
DB4
DB3
DB2
DB1
/RES
A0
R/W_WR
/RD_E
DB0
1u
1u
1u
1u
1u
1u
1u
1u
1u
MCP1702−3.3
INOUT
GND
100n10u
100n
VCC
GND
PD0
PD1
PD2
PD3
RES
RS
SCLK
SI
100n100n
10?
LED
Background
PD5
4050
Vss
8
Vdd
1
32
45
7
6
9
10
1112
1415
Background
LED
Рис. 2.9. Подключение графического дисплея с контроллером ST7565
В таблице 2.3 показаны другие альтернативы подключения ATmega328 или других микроконтроллеров по интерфейсу SPI (LCD_INTERFACE_MODE=4) или для трехпроводного соединения (LCD_INTERFACE_MODE=3). Различные типы подсоединений для одного типа процессора могут быть выбраны с помощью опции в Makefile STRIP_GRID_BOARD. Назначение контактов разъема определено в файле config.h . Если Вам нужно иное подключение, Вы
должны назначить новый номер кода для опции STRIP_GRID_BOARD и задать настройку
подключения в файле config.h .
Контроллерm644m1280m1280m328m328m328m328
STRIP_GRID_BOARD-1-125
Сигнал:
RESPB4PA0PA4PD0PD4PD0PD2
EN, CLKPB6PA2PA2PD2PD2PD2PD3
RS, D/CPB5PA1PA3PD1PD3PD3PD1
B0, MOSIPB7PA3PA1PD3PD1PD1PD4
CE, CSPB3PA4PA5PD5PD5PD5PD5
Таблица 2.3. Подключение по SPI для различных контроллеров
Обычно ST7565 или SSD1306 контроллер подключается по 4-проводному SPI интерфейсу. Но
с контроллером SSD1306 Вы также можете подключить индикатор по интерфейсу I2C использовав PD2 как SDA и PD5 как SCL сигнал. Сигналы SDA и SCL должны быть подтянуты
резисторами около 4, 7 𝑘Ω к напряжению 3, 3 𝑉 . Пример подключения OLED дисплея показан
на рисунке 2.10. Сигналы шины I2C реализованы только путем переключения портов ATmega к
18
0 𝑉 . Перед подключением подтягивающих резисторов к напряжению 5 𝑉 , Вы должны убедить-
and 3.3V regulator
with SSD1306 controller
128x64 OLED modul
SCL
GND
SDA
VCC
and 3.3V regulator
with SSD1306 controller
128x64 OLED modul
SCL
GND
SDA
3V3
IN
OUT
GND
3.9k
PD5
PD2
3.9k
GND
100nF
3.9k
3.9k
PD2
PD5
VCC
68
10u
GND
VCC
68
MCP1702−3302
10u
100nF
LDO
ся, что Ваш контроллер допускает уровень сигнала 5 𝑉 . Обычно входы контроллера дисплея
защищены диодами, которые понижают уровень сигнала до 3, 3 𝑉 . Вы должны убедиться, что
в ATmega записана программа с поддержкой интерфейса I2C до того, как дисплей будет подсоединен. Если Вы записали в контроллер микропрограмму с поддержкой другого интерфейса,
то на выводах ATmega могут присутствовать сигналы с уровнем 5 𝑉 .
Так, как я обнаружил влияние на результаты теста модуля OLED через шину 𝑉 𝐶𝐶, рекомендую установить дополнительную развязку из последовательного резистора 68 Ω и разделительного конденсатора 10 𝜇𝐹 . Вместо 68 Ω резистора можно также использовать индуктивность
1 𝑚𝐻. Без дополнительного фильтра мой тестер с дисплеем OLED определял остаточные токи
в коллекторах биполярных транзисторов.
Также нужно проверить расположение выводов Вашего OLED дисплея. Некоторые модули
имеют отличие в расположении 𝐺𝑁 𝐷 и 𝑉 𝐶𝐶.
Рис. 2.10. Подключение графического OLED дисплея с I2C интерфейсом
Для подключения к контроллерам серии ATmega644 вместо портов PB3 (SCL) и PB4 (SDA)
используются порты PD5 и PD2. Для микроконтроллеров серии ATmega1280 используются
контакты PA5 (SCL) и PA4 (SDA). Для замены символьного дисплея на графический можно
использовать переходную печатную плату-адаптер с разъемом аналогичным символьному LCD,
так как все сигналы и питание на нем доступны.
Намного проще подключить дисплей с контроллером ST7920, потому что контроллер поддерживает напряжение питания 5 𝑉 . Дисплей должен поддерживать режим 128x64 точек. Модуль
дисплея с контроллером ST7920 может быть подключен по 4-bit параллельному интерфейсу
или по специальному, последовательному интерфейсу, согласно рисунка 2.11.
19
1
2
3
4
5
6
7
8
9
VSS
DB4
DB5
DB7
DB6
DB0
DB1
BB2
DB3
VDD
VO
RS
R/W
E
10
11
12
13
14
15
16
17
18
19
20
NC
PSB
RST
VOUT
BLK
BLA
ST7920 Graphic Display
1
2
3
4
5
6
7
8
9
VSS
DB4
DB5
DB7
DB6
DB0
DB1
BB2
DB3
VDD
VO
RS
R/W
E
10
11
12
13
14
15
16
17
18
19
20
NC
PSB
RST
VOUT
BLK
BLA
ST7920 Graphic Display
PD2
PD5
GND
VCC
VCC
VEEVEE
GND
VCC
PD0
PD2
PD3
PD1
GND
PD4
PD5
VCC
4−bit parallel mode
serial mode
serial mode
Рис. 2.11. Подключение индикатора с контроллером ST7920
Для двух типов подключения индикатора с контроллером ST7920 в Makefile должна быть установлена опция “WITH_LCD_ST7565 = 7920”. Кроме того, при подключении по последовательному интерфейсу, надо установить и опцию “CFLAGS += -DLCD_INTERFACE_MODE=5”.
В таблице 2.4 показано подключение различных микроконтроллеров по последовательному интерфейсу с опциями INTERFACE_MODE 5 (ST7920) и 7 (SSD1803).
STRIP_GRID_BOARD-1
Таблица 2.4. Порты для последовательного подключения различных контроллеров
Так же как и в случае применения других графических индикаторов, для дисплея с контроллером ST7920, опциями LCD_ST7565_H_FLIP и LCD_ST7565_V_FLIP можно изменить ориентацию выводимого изображения.
Особым случаем является подключение дисплеев с контроллером NT7108 (KS0108, S6B0108).
Поскольку эти дисплеи используют только параллельный 8-битный интерфейс, необходимо применение последовательно - параллельного преобразователя интерфейсов. Простейший способ
– использование микросхемы 74HCT164 или 74HCT595. Вариант такого подключения показан
на рисунке 2.12.
4-bit parallel mode
Контроллерm644m644m1280m328
Сигнал:
ENPB3PB6PA5PD5
B0, R/WPB4PB7PA4PD2
RESETPB2PB4PA0PD0
20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
VSS
VDD
VO
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
CS1
CS2
/RST
VOUT
BLA
BLK
LM12864 (NT7108 or S6B0108)
100nF 100nF
25k
10k
10k
PD1
PD3
PD4
PD2
PD5
VCC
VEE
GND
from ATmega ports
CLR
CLK
QA
QB
QC
QE
QD
QF
QG
QH
A
B
74HC164
7
GND
14
VCC
VCC
8
9
1
2
3
4
5
6
10
11
12
13
VCC
VCC
VCC
(a) с использованием 74HCT164
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
VSS
VDD
VO
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
CS1
CS2
/RST
VOUT
BLA
BLK
LM12864 (NT7108 or S6B0108)
100nF 100nF
25k
10k
PD1
PD3
PD4
PD5
VCC
VEE
GND
from ATmega ports
10k
PD0
PD2
G
RCK
SRCLR
SRCK
SER
QA
QB
QC
QD
QE
QF
QG
QH
QH’
74HC595
GND8VCC
16
VCC
VCC
VCC
11
13
12
10
14
1
2
3
4
5
6
7
9
15
VCC
(b) с использованием 74HCT595
Рис. 2.12. Подключение графического дисплея с NT7108 контроллером
Так как некоторые модули LCD различаются по расположению выводов, перед подключением Вы должны проверить цоколёвку Вашего дисплея. Некоторые различия в расположении
выводов для серии LCD ABG128064 приведены в таблице 2.5.
128064H128064G128064C128064B
Сигнал
VDD (5V)1242
VSS (GND)2131
VO (Drive)33(5)3
DB0-DB34-77-109-127-10
DB4-DB78-1111-1413-1611-14
CS11215115
CS21316216
Reset1417-17
R/W15575
RS16464
E17686
VEE1818-18
LEDA191917(19)
LEDK202018-
В таблице 2.6 показано подключение по последовательному интерфейсу индикаторов NT7108
к различным микроконтроллерам.
Таблица 2.5. Различие в цоколёвке NT7108 модулей
21
Контроллерm644m1280m328
Сигнал:
ENPB3PA5PD5
RSPB2PA4PD4
B0PB2PA4PD4
CS1PB7PA3PD3
CS2PB5PA1PD1
CLKPB6PA2PD2
PCLKPB4PA0PD0
Таблица 2.6. Подключение индикаторов с NT7108 по последовательному интерфейсу
Вы также можете использовать дисплей с контроллером PCF8814, который обычно используется, например, в Nokia 1100. Вы должны проверить, какой интерфейс контроллера используется
в Вашем модуле дисплея. Контроллер PCF8814 может поддерживать SPI-интерфейс 3-х проводной или 4-х проводной, I2C-интерфейс и специальный 3-х проводной, который ждёт сигнал
данные/команда в качестве первого бита в 8 битных данных. Потому, что дисплей поддерживает только 96х65 пикселей, большие иконки для транзисторов не используются с этим контроллером. Вывод результатов похож на вывод для символьных дисплее. Как и большинство
графических дисплеев, этот контроллер работает с 3, 3 𝑉 . Поэтому требуется преобразователь
уровней логических сигналов для 5 𝑉 выходов ATmega. Для SPI интерфейса и 3-х проводного
интерфейса Вы можете использовать опцию в Makefile LCD_SPI_OPEN_COL (“открытый
коллектор” портов ATmega). Вы должны использовать “Pull-Up” резисторы или не устанавливать опцию PULLUP_DISABLE в Makefile . В настоящее время с контроллером PCF8814
протестирован только 3-х проводной интерфейс.
Таблица 2.7. Назначение контактов для различных типов интерфейсов контроллера PCF8814
Исходный код для поддержки контроллера PCF8812 с 102x65 пикселей также реализован, но,
пока, не тестировался.
2.2.7Подключение графического цветного дисплея
В предложениях китайских продавцов встречаются дешевые модули цветных дисплеев с интерфейсом SPI. На рисунке 2.13 показан вид сзади двух поддерживаемых дисплеев с 128x128
и 128x160 пикселей. Размер модулей очень мал, поэтому текст и символы очень мелкие. Но, в
целом, внешний вид четкий и ясный.
22
Рис. 2.13. Вид сзади двух цветных LCD
Модуль 128x128 пикселей использует контроллер ILI9163. Модуль 128x160 пикселей использует
контроллер очень близкий к ST7735 контроллеру. Модули тестировались с платой адаптера,
которая соединяет сигналы SPI и питание выводов для нормального отображения символов.
Адаптация выходных уровней 5 𝑉 сигналов ATmega к уровню 3, 3 𝑉 сигналов входов контроллера обеспечивается последовательными 10𝑘Ω резисторами. Наличие подсветки (LED) обязательно, т.к. без нее выводимую информацию невозможно прочесть. Из-за высокого разрешения по
вертикали можно отобразить несколько текстовых строк в этих модулях. Для дисплея 128x128
пикселей можно отобразить 8 строк текста шрифтом 12x8, для дисплея 128x160 пикселей получим 10 строк текста. На рисунке 2.14 Вы можете видеть результат измерения германиевого
транзистора на дисплее 128x128 пикселей.
Рис. 2.14. Измерение биполярного PNP транзистора
23
Цветность модулей в настоящее время не используется. Цвет фона и цвет отображаемых элементов можно изменить в файле lcd_defines.h или в Makefile . Контроллер использует программное
16-битное управление цветностью. Цвет отображаемой информации может быть изменен параметром LCD_FG_COLOR, а цвет подсветки параметром LCD_BG_COLOR .
2.3Указания по сборке Тестера
В Тестере может использоваться LCD-дисплей 2x16, программно совместимый с HD44780 или
ST7036. Вы должны учитывать ток, необходимый для подсветки, некоторым LCD-дисплеям
нужен ток ниже, чем другим. Я пытался применить OLED-дисплей, но он стал причиной помех
при измерениях для ATmega, и я егоне рекомендую. Также использование OLED-дисплея
вызвало проблему загрузки специального символа для отображения резистора.
Чтобы получить максимальную точность измерения, резисторы R1 - R6 680 Ω и 470 𝑘Ω должны
быть точными (0,1%). В Тестере могут использоваться ATmega8, ATmega168 и ATmega328.
Для возможности использовать все функции, рекомендуется установить ATmega328.
Сначала Вы должны собрать все элементы Тестера на печатной плате без микроконтроллера.
В качестве IC2 рекомендуется использовать стабилизатор с малым падением напряжения
MCP1702-5002, потому что он потребляет всего 2 𝜇𝐴 и может выдавать 5 𝑉 при входном
напряжение всего 5, 4 𝑉 . Но он несовместим по выводам с известным 78L05 в корпусе TO92 .
После проверки правильности монтажа, необходимо подсоединить батарею или источник
питание к плате без LCD-дисплея и микроконтроллера. При нажатой кнопке TEST должно
присутствовать напряжение 5 𝑉 на выводах питания микроконтроллера и LCD дисплея. Если
отпустить кнопкуTEST, напряжение должно исчезнуть. Если напряжения в норме, то
необходимо отключить питание, правильно вставить микроконтроллер и подключить LCDдисплей. Перед подключением LCD дисплея необходимо внимательно проверить правильность
соединения выводов питания LCD дисплея (т.к. на некоторых LCD дисплеях они подключены
наоборот) с GND и VCC платы Тестера!
Если Вы уверены, что все в порядке, можно подсоединить питание. Если Вы уже запрограммировали ATmega, то можете кратковременно нажать кнопкуTEST. При кратковременном
нажатии кнопки TEST светодиод LED1 и подсветка LCD-дисплея должны включиться. Если
Вы отпускаете кнопкуTEST, светодиод LED1 не должен гаснуть как минимум несколько
секунд (зависит от установленных параметров при компилляции программного обеспечения).
Заметьте, что программное обеспечение для микроконтроллера должно быть для используемого типа микроконтроллера. Программа для ATmega8 не работает на ATmega168!
2.4Доработки для версий Тестера Markus F.
Контроль напряжения. Проблема проявляется следующим образом: Тестер немедленно от-
ключается при каждом включении. Причиной может стать установка фьюзов ( Makefile )
контроля за понижением напряжения питания ATmega на 4, 3 𝑉 . Происходит это следующим образом: порт PD6 пытается зарядить конденсатор C2 100 𝑛𝐹 до уровня VCC, что
вызывает провал напряжения VCC (5 𝑉 ). Для решения проблемы конденсатор C2 может
быть уменьшен до < 10 𝑛𝐹 . Если возможно, то включить последовательно в цепь PD6
резистор сопротивлением более > 220 Ω.
24
Улучшение питания схемы. Если Тестер запускается при нажатии на кнопкуTEST, но
ключ сразу же отпускается, то часто причина этой проблемы в питании. Проблема порождена большим током подсветки LCD-дисплея. Резистор R7 к базе P-N-P-транзистора
T3 был величиной 27 𝑘Ω, чтобы уменьшить потребление энергии. Чтобы улучшить переключение при более низком напряжении батареи или при низком коэффициенте усиления
P-N-P транзистора T3, необходимо уменьшить сопротивление до 3, 3 𝑘Ω.
резистора, после короткого времени, работа заканчивается выключением Тестера с
сообщением “Timeout”. Программное обеспечение формируется с опцией PULLUP_
DISABLE, т. е. все внутренние подтягивающие резисторы отключены. По этой причине
напряжение порта PD7 не определено, если уровень не переключен кнопкой TEST или
транзистором T2 к GND. Внешний резистор сопротивлением 27 𝑘Ω к VCC решает эту
проблему.
Конденсатор C1 в AREF. Многие используют на контакте AREF конденсатор на 100 𝑛𝐹
так же, как и Markus F. Пока не было необходимости менять опорное напряжение АЦП
- это было хорошим решением. Программное обеспечение для ATmega168 и ATmega328
использует автоматический выбор внутреннего опорного напряжения АЦП 1, 1 𝑉 , если
входное напряжение ниже 1 𝑉 . Это позволяет улучшить разрешение АЦП при небольших входных напряжениях. К сожалению, переключение опорного напряжения от 5 𝑉 до
1, 1 𝑉 происходит очень медленно. По этой причине нужно учитывать дополнительное
время ожидания 10 𝑚𝑠. При уменьшении величины конденсатора до 1 𝑛𝐹 , это время может быть существенно уменьшено. Я не заметил ухудшения качества измерения при этом
изменении. Даже с удалённым конденсатором нет существенного изменения результатов
измерения. Если Вы предпочитаете оставить конденсатор на 100 𝑛𝐹 , то можете отключить опцию NO_AREF_CAP в Makefile , для активации увеличения времени ожидания
в программе.
Установка кварца на 8 𝑀𝐻𝑧. Вы можете установить кварц на 8 𝑀𝐻 𝑧 с задней стороны пе-
чатной платы непосредственно к портам PB6 и PB7 (выводы 9 и 10). Моя собственная
доработка была сделана без конденсаторов 22 𝑝𝐹 и работала хорошо со всеми проверенными ATmega. Вы так же можете, выбрав фьюзы, использовать внутренний генератор
на 8 𝑀𝐻 𝑧 для получения лучшего разрешения по времени при стабильных измерениях
величины ёмкостей.
Сглаживание питающего напряжения. В оригинальной схеме Markus F. применен только
один конденсатор 100 𝑛𝐹 по напряжению VCC. Это не дает приемлемую фильтрацию. Вы
должны, по крайней мере, использовать конденсаторы ёмкостью 100 𝑛𝐹 около выводов
питания ATmega и возле выводов входа и выхода стабилизатора напряжения. Дополнительные конденсаторы 10 𝜇𝐹 (электролитические или танталовые) на входе и выходе
стабилизатора напряжения повышают устойчивость напряжения. Танталовый SMD конденсатор 10 𝜇𝐹 легче использовать со стороны печатных дорожек, и он имеет обычно
более низкое значение ESR.
Выбор микроконтроллера ATmega. Для основных функций Тестера возможно использо-
вание ATmega8, Flash память в ней используется практически на 100%. АТmega168 или
АТmega328 совместимы по выводам с ATmega8, я могу рекомендовать замену. При использовании ATmega168 или АТmega328 Вы получаете следующие преимущества:
• Самопроверка с автоматической калибровкой.
25
• Улучшение качества измерения с автоматическим переключением масштаба АЦП.
• Измерение индуктивностей при сопротивлении ниже 2100 Ω.
• Измерение величины ESR конденсаторов с ёмкостью выше 20 𝑛𝐹 .
• Измерение резисторов ниже 10 Ω с разрешением 0, 01 Ω.
• Использование порта PC3 в качестве последовательного выхода или аналогового
входа для измерения внешнего напряжения.
Отсутствующие прецизионное опорное напряжение. Программное обеспечение должно
обнаружить недостающие элементы опорного напряжения на выводе PC4. В этом случае при включении питания во второй строке LCD-дисплея должно появиться сообщение
“No VCC = x.xV”. Если это сообщение появляется при установленном ИОН, Вы должны
подключить резистор 2, 2 𝑘Ω между выводом PC4 и VCC.
2.5Расширенная схема с ATmega644 или ATmega1284
Расширенная схема для контроллеров ATmega644/1284 разработана совместно с Nick L. из
Украины. Схема 2.15 позволяет расширить диапазон измеряемых частот, а также содержит
схему тестирования кварцев. Хотя расширенная схема почти идентична схеме на рисунке 2.1,
назначение портов несколько отличается. Поворотный энкодер на схеме 2.6 должен быть подключен к PB5 и PB7 (вместо PD1 и PD3). Оба сигнала, а также VCC и GND доступны на
разъеме программирования ISP. Таким образом, подключение поворотного энкодера не должно
вызвать затруднений. Делитель 16:1 в 74HC4060 всегда используется для частот выше 2 𝑀 𝐻𝑧.
Он также может быть использован для частот от 24 𝑘𝐻𝑧 до 400 𝑘𝐻𝑧 для повышения точности
измерения частоты с помощью подсчета периода. Для коммутации переключений (делитель частоты и кварцевый генератор) используется аналоговый переключатель 74HC4052. Таблица 2.8
показывает варианты подключения дисплея к портам ATmega324/644/1284. Подключение индикатора с использованием интерфейса I2C возможно только для индикаторов с контроллером
SSD1306. Сигналы интерфейса I2C требуют установки подтягивающих резисторов 4, 7𝑘Ω к напряжению 3, 3 𝑉 . Сигналы шины I2C реализованы только путем переключения портов ATmega
к 0 𝑉 .
26
IN OUT
GND
IC2
IN OUT
GND
IC7
XTAL2
RESET
PD3(PCINT27/TXD1)
PD4(PCINT28/OC1B)
PA0(ADC0)
PA1(ADC1)
PA2(ADC2)
PA3(ADC3)
PA4(ADC4)
PA5(ADC5)
AREF
XTAL1
40
39
38
37
36
35
3
9
12
32
GND
VCC
AVCC
AGND
30
31
27k
8MHz
100n
100n100n
Ubat
Test
LED1
C5
T2
BC547
T3
R16
3k3
R2
10k
Reset
22p
1n
100k
100n
27k
R20
D10
R17
C9
C12
C10
10u
C11
C4
C3 10u
9V
C6
C8
10
PA6(ADC6)
PA7(ADC7)
PD5(PCINT29/OC1A)
PD0(RXD0/T3)
PD1(PCINT24/TXD0)
14
15
16
17
19
18
PD2(PCINT26/RXD1)
PD6(OC2B/ICP)
20
21
PD7(PCINT31/OC2A)
PB7(PCINT15/OC3B/SCK)
PB5(PCINT13/ICP3/MOSI)
PB4(PCINT12/OC0B/SS)
PB3(PCINT11/OC0A/AIN1)
PB2(PCINT10/INT2/AIN0)
PB1(PCINT9/CLK0/T1)
PB0(PCINT8/XCK0/T0)
5
1
2
4
6
7
8
PB6(PCINT14/OC3A/MISO)
9
LCD 2x16 or 4x20
1
2
16
15
D7
D6
D5
3
14
4
5
13
12
6
7
11
10
8
D4
D3
D2
D1
D0
E
R/W
RS
VEE
GND
+5V
3
5
1
MISO
SCK
RESET
2
4
6
VCC
MOSI
GND
ISP
Reset
10−30p
PC0(SCL/PCINT16)
PC1(SDA/PCINT17)
PC2(TCK/PCINT18)
PC3(TMS/PCINT19)
PC4(TD0/PCINT20)
PC5(TDI/PCINT21)
PC6(TOSC1/PCINT22)
PC7(TOSC2/PCINT23)
22
23
24
25
26
27
28
29
serial
Button
10k
680
R11
680
470k
R7
R6
470k
LT1004
2.5V
R5
3k3
R10
100n
470k
470k
R12
680
R8
2k2
R9
R3
10k
Ubat
20k
10n
180k
TP5 (Vext)
TP1
TP2
TP3
100nF
P6KE6V8A
5
2
1 3 4 6
SRV05−4
33−270
R21
100n100n
2M4620k
LF
HF
16:1
ATmega644/1284
TP4
12p
T4T5
1k
R22
4.7k15k
100
470
1k
8.2k
100p
BFT93BFT93
2.2n
10u 33p
1k
1N4148
R28
C19
C20
C21
D11
1k
300
1N4148
1N4148
10k
R33
R32
R26
R27R23
R24
C22
D12
D13
R25
BFR93A
T6
IC4
IC5IC6
IC3
5V
2x15V
33uH
Ubat
DC−DC
+
+
−
−
JMP1
5mA/1mA
300
1.2k
TP5
(Vext)39k
Frequency
R29
39p
R34R31
360k
C25
R35
1M
C26C27
12p
100n
47u
100n
4.7u
1u
C28
C29
C30
C31
1u
C32
R30
R36
R37
BC640
T8
L1
R1
C2
R4
10k
R13
C7
R18
SS14
33k
R14
T1
MPSA65
R19
BC547
C13
10n
C14C15
C16
100n
C17
100n
MCP1702−5.0
MCP1702−5.0
11
13
D16 D17 D18
3x 1N4148
C33
T7
IRLML5203
100u
10k
R41
R40
100k
C34
CLKI
RESET
CLK O
CLKO
Q13
Q12
Q14
Q10
Q9
Q8
Q7
Q6
Q5
Q4
74HC4060
X3
A
B
INH
X0
X1
X2
Y3
Y2
Y1
Y0
Y
X
74HC4052
X3
A
B
INH
X0
X1
X2
Y3
Y2
Y1
Y0
Y
X
74HC4052
CD4011
7
VEE
7
VEE
Vss
8
Vss
8
Vss
8
Vss
7
Vdd
16
Vdd
16
Vdd
16
14
Vdd
VCC
VCC
VCC
VCC
VCC
12
11
5
7
9
10
3
2
1
15
13
14
6
4
VCC
VCC
4
2
5
1
11
14
15
12
6
9
10
13
3
VCC
VCC
1
2
3
6
5
4
13
12
11
8
9
10
VCC
4
2
5
1
11
14
15
12
6
9
10
13
3
VCC
VCC
VCC
VCC
Рис. 2.15. Расширенная схема Транзистор Тестера с ATmega644
Таблица 2.8. Подключения дисплеев к портам ATmega324/644/1284
Вы также можете подключить дисплей с контроллером NT7108 (KS0108, S6B0108) к тестеру,
собранному на ATmega644 или ATmega1284 используя небольшую схему подключения показанную на рисунке 2.16. Вы также должны учитывать различие в назначении контактов дисплейных модулей с контроллерами NT7108, как показано в таблице 2.5 на странице 21.
2.6СхемасиспользованиемATmega1280илиArduino
Тестер может быть создан с использованием микроконтроллера ATmega1280 или ATmega2560,
а также построен на базе Arduino Mega. Схема показана на рисунке 2.17. Назначения контактов Arduino для подключения дисплея указаны зеленым цветом. Компоненты, показанные
красным цветом, не обязательны для правильной работы Тестера. Контроллер ATmega2560
имеет большое количество портов, но только один порт имеет функции, необходимые для обеих
методик измерения частоты. Порт должен быть одновременно таймером/счетчиком для подсчета внешних импульсов и поддерживать внешнее прерывание при изменении уровня сигнала.
Этими функциями обладает только один порт PE6 (T3/INT6). На остальных портах таймеров/счетчиков PD7 (T0), PD6 (T1), PH7 (T4) и PL2 (T5) отсутствует внешнее прерывание. К
сожалению, порт PE6 не подключен к ленточному гнезду Arduino. Порт PE5 (вывод 7) подключен к контакту 3 разъема ШИМ и перемычкой может быть соединен с портом PE6 (вывод 8)
ATmega2560. Выходной сигнал генератора частоты можно получить на порту PB6 (OC1B).
(a) при использовании 74HCT164
Рис. 2.16. Подключение дисплея с контроллером NT7108 к ATmega644/1284
Mega
28
(b) при использовании 74HCT595
Это порт подключен к контакту 12 разъема ШИМ. ISP-разъем не требуется, так как програм-
3
5
1
MISO
SCK
RESET
2
4
6
VCC
MOSI
GND
ISP
XTAL2
PK3(ADC11/PCINT19)
PK2(ADC10/PCINT18)
PK0(ADC8/PCINT16)
PF1(ADC1)
PF2(ADC2)
PF3(ADC3)
PF4(ADC4)
PF5(ADC5)
AREF
XTAL1
ATmega1280/2560
97
96
95
94
93
92
89
88
87
86
85
84
73
71
75
76
77
78
AVCC
27k
22p
16MHz
100n
9
LCD 2x16, 4x20
1
2
16
15
D7
D6
D5
3
14
4
5
13
12
6
7
11
10
8
D4
D3
D2
D1
D0
E
R/W
RS
VEE
GND
+5V
Ubat
2k2
10k
TP2
TP3
TP1
10k
R1
680R3680R5680
R2
470kR4470kR6470k
10k
Reset
22p
1n
100n
10k
2.5V
LT1004
3k3
10u
serial
Test
PF0(ADC0)
GND
VCC
GND
GND
VCC
81
80
33
34
99
VCC
GND
61
31
32
62
VCC
GND
11
10
98
100
30
PK1(ADC9/PCINT17)
PK4(ADC12/PCINT20)
PK5(ADC13/PCINT21)
RESET
PA3(AD3)
PA4(AD4)
PA5(AD5)
PA6(AD6)
PA7(AD7)
74
72
PA0(AD0)
PA1(AD1)
PA2(AD2)
JP1−22
JP1−23
JP1−24
JP1−25
JP1−26
JP1−27
100n
100n
100n
PB1(SCK)
PB3(MISO)
20
22
21
PB2(MOSI)
PE6(T3/INT6)
8
7
PE5(OC3C/INT5)
Button
Button
JP1−29
PB6(OC1B/PCINT6)
25
Frequency
33−270
Output
Input
PWM−3
PWM−12
VCC
VCC
VCC
VCC
VCC
VCC
ма может быть установлена при помощи загрузчика USB Arduino Mega. С использованием
загрузчика есть небольшая задержка запуска программы.
Рис. 2.17. Схема Тестера с использованием ATmega1280, ATmega2560 или Arduino Mega
Конечно, Вы можете подключить все поддерживаемые дисплеи и к ATmega1280 или
ATmega2560 в соответствии с таблицей 2.9.
29
Loading...
+ 119 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.