Пятница, 26.04.2024, 19:39 Приветствую Вас Гость

Автозапуск за 1500р. на ЛЮБОЙ сигнализации?! -> at13.ru

Главная | Регистрация | Вход | RSS

Каталог статей


Тестер сетевого кабеля LAN на МК и LCD 16x4


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

Открыть схему тестера.

Открыть вторую часть схемы (разъема).

Сердцем схемы является микроконтроллер ATMega16. Почему именно он? Спор «AVR vs PIC» есть типичный холивар, поэтому скажу просто: моим произволом пусть будет AVR. А из всей их линейки Mega16 самый дешевый кристалл, имеющий на борту АЦП на 8 каналов. Усложнять схему коммутаторами аналоговых сигналов мне откровенно не хотелось. Немаловажный плюс: эту модель можно купить даже в моем замкадье, где на весь город один магазин электронных комплектующих с ценами по 150-500% от Москвы.

Порт A микроконтроллера — это входы АЦП, на порту B у нас ISP и пара служебных функций, порт C используем для формирования тестовых сигналов, ну а порт D — для общения с пользователем посредством HD44780-совместимого дисплея.

Питаем схему от батарейки типа «Крона», через стабилизатор LP2950, DA1 по схеме. Почему не ШИМ, а обычный линейный стабилизатор, пусть и low-dropout? Ток потребления невелик, на одной батарейке я провел все тестирование и отладку схемы, запустил уже пару реальных объектов по полсотни портов — пока не разрядилась. А вот высокочастотные помехи, которые есть спутник любого ШИМа, могут снизить точность работы АЦП. Усложнять схему, опять же, не хочется. Почему именно LP2950? Он был в магазине.

Входные цепи защитим с помощью супрессоров VD1.1 — VD1.8, я взял 1,5КЕ6,8СА. От попадания в 220В они, конечно, не спасут, а вот 60В с какой-нибудь телефонной линии погасить вполне смогут.

Цепочка VD2 — R4 служит для обнаружения разряда батареи. На стабилитроне падает 5,1В, Таким образом, когда напряжение батареи упадет ниже 6В, на PB2 появится лог. 0. Тут по уму нужен бы триггер Шмитта, но не нашлось.

Информацию выводим с помощью HD44780-совместимого дисплея, мне попался WH-1604A-YYH-CT#. Схема подключения типовая и пояснений не требует. Стоит сказать только о номинале сопротивления R5, задающего яркость подсветки. Чем больше номинал, тем дольше будет жить батарейка — вся остальная схема потребляет менее 5 мА, основной потребитель именно подсветка дисплея. Но если переусердствовать, в темноте ничего не увидишь на экране. Я остановился на 100 Ом.


Работа тестера делится на несколько этапов, которые повторяются циклически.

Этап 1. Начальные проверки

проверим, не подключено ли к линии какое-либо активное оборудование. Все управляющие линии (порт C, напомню) переводим в Hi-Z состояние, измеряем напряжение на всех линиях. Они должны быть околонулевыми. В противном случае мы понимаем, что с другой стороны провода подключено что угодно, но не наша ответная часть, и дальше продолжать смысла не имеет. Зато имеет смысл сообщить пользователю, что «на линии есть напряжение!».
проверим уровень сигнала на PB2. Если там 0, то батарея разряжена. Сообщим о неполадке пользователю, если все ОК — идем далее.


Этап 2. Проверка целостности линий и наличия коротких замыканий

Для каждой из 8 линий проделываем следующее. Подаем на нее +5В с порта C, сохраняя все остальные линии порта в высокоимпедансном состоянии, и измеряем напряжение на остальных линиях. Если на всех линиях околонулевые значения — исследуемая линия оборвана. Если же на какой-то из линий тоже появилось +5В — это КЗ. В норме мы увидим некие промежуточные значения.

Этап 3. Выяснение схемы кроссировки

Вот и подобрались к самому интересному. Отсеяв все заведомо неисправные линии (перебитые и закороченные провода), приступим к измерению сопротивлений оставшихся линий (пусть их количество N, 0 <= N <= 8). Введем обозначения:
Rxy — сопротивление между линиями x и y.
Rx — номинал сопротивления, подключенного к линии x.
Ясно, что Rxy = Rx + Ry

Замеряя сопротивления между линиями, мы получаем систему линейных уравнений. Сравнив полученные значения R1… RN с эталонными, мы выясним схему кроссировки.

Сопротивление вычислить несложно. Подадим на линию X высокий уровень, на линию Y — низкий, а прочие линии порта C оставим в Hi-Z. В цепи (см. рис. 3) падение напряжения на известном нам сопротивлении, образованном параллельным включением R1.Y и R2.Y по схеме составляет U1, а на неизвестном Rxy падает (U2 — U1). Значит, Rxy = (R1 || R2) * (U2 — U1) / U1.


Если N < 3 — мы бессильны. Мы можем произвести всего одно измерение сопротивления между ними, в то время, как имеем 2 неизвестных — сопротивление, подключенное к каждой из них. Система, в которой число уравнений меньше числа неизвестных, имеет бесконечное множество решений. Придется показать пользователю знаки вопроса на этих линиях — они вроде бы исправны, но выяснить схему кроссировки возможным не представляется.

При N = 3 у нас есть лишь один возможный вариант. Измерив все доступные сопротивления R12, R13, R23, мы получим систему:
R1 + R2 = R12
R1 + R3 = R13
R2 + R3 = R23
Легко показать, что:
R1 = 1/2 * (R12+ R13 — R23)
R2 = R12 — R1
R3 = R13 — R1.

При больших значениях N мы можем составлять систему уравнений множеством способов, проводя замеры различных сопротивлений Rxy. На первый взгляд, разницы, как выбирать, какие сопротивления измерить, нет. Однако, дьявол обитает в мелочах. На примере N = 8 поясню, что я имею в виду. В первой реализации алгоритма я делал измерения так:
R1 + R2 = R12
R1 + R3 = R13

R1 + R8 = R18
R2 + R3 = R23
Сложив два первых уравнения и вычтя последнее, получим то же самое 2R1 = R12 + R13 — R23, а все остальные сопротивления найдем из уравнений 1 — 7, где R1 уже известно.

Проблема кроется в том, что при некоторых видах кроссировки значение R1 оказывалось велико (15 кОм и выше), а погрешность измерения сопротивления с его увеличением возрастает. В итоге, получалось так, что малые относительно R1 сопротивления номиналом 1-2 кОм измерялись с погрешностью в 70-80%! Очевидно, что для обеспечения хорошей точности нам стоит составить систему так, чтобы на месте R1 оказалась другая неизвестная, минимальная из всех. Для этого нам придется выполнить все возможные измерения (хорошо, что их не так много, в худшем случае 28). Фактически, мы получили матрицу 8 х 8, симметричную относительно главной диагонали (ясно, что Rxy = Ryx). Выберем из всех результатов минимальный, пусть это Rij = Ri + Rj. В строке i найдем Rik, такое, что Rik > Rij, но меньше прочих элементов строки. Получим:
Ri + Rj = Rij
Ri + Rk = Rik
Rj + Rk = Rjk
Решаем и находим среди Ri, Rj, Rk наименьшее (предположим, им оказалось Ri). оставшиеся неизвестные Rx находим из Rx = Rix — Ri.


Фотографии устройства:




Плата установлена в корпус, дисплей закреплен, к нему припаян шлейф веселенькой расцветки. Отверстие под дисплей прорезал дремелем с помощью миниатюрного отрезного диска.


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


Тест: отрезок кабеля длиной 10 м, обжат с одной стороны.


Тест: отрезок кабеля длиной 10 м, обжат с одной стороны.


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

Скачать файлы проекта (~7кб.)

Первоисточник

Категория: Измерительные устройства | Добавил: Адвансед (31.12.2013)
Просмотров: 4527 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Вход на сайт
Наш опрос
Какой из фьюзов при прошивке МК отключает вывод RESET?
Всего ответов: 124
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Друзья сайта