Что мерить, чем мерить, как мерить. И, естественно - зачем мерить...

При поддержке компании ПРИСТ


Ответить

Подключаем вольтметр В7-38 к ПК через LPT

Вс июл 31, 2011 17:54:29

Не секрет, что многие вольтметры и мультиметры с АЦП двойного интегрирования очень легко превратить в устройство для сбора данных - логгер, даже при отсутствии какого либо штатного интерфейса для соединения с ПК. Для этого достаточно разыскать на принципиальной схеме прибора сигнал, который бы менял своё состояние в начале цикла интегрирования измеряемого напряжения T1 и в конце цикла интегрирования напряжения опорного источника T2 (т.е. в момент срабатывания компаратора нуль-органа АЦП). Поскольку длительность первого цикла всегда постоянная, то измерив полный временной интервал Tint=Т1+Т2, мы можем рассчитать величину Т2, которая непосредственно (линейно) связана с показаниями вольтметра.

Рассмотрим для примера возможность подобной доработки некогда популярного универсального вольтметра В7-38. Взглянув на его схему, можно легко определить, что искомый нами сигнал активности цикла измерения находится на выводе 3 диагностического разъёма Ш3 МРН. Казалось бы задача решена. Но всё же не будем торопиться. Вольтметр, который мы выбрали для эксперимента, имеет автоматический выбор предела измерения (АВП). А это означает, что не зная текущий режим, логгер не сможет правильно интерпретировать результат преобразования. Проблема усугубляется ещё и тем, что предел измерения может измениться в любой момент в процессе работы прибора. К счастью, простота схемы АВП позволяет без труда считать из него информацию о текущем пределе, да ещё и в компактном двоичном виде. Для этого нам потребуются выводы 6, 11 и 14 реверсивного счётчика МС15 К561ИЕ15. В дополнение к ним задействуем ещё один важный сигнал - флаг полярности, который подхватим с вывода 13 триггера МС11-1 К561ТМ2.

Наконец, последний штрих. Все 5 сигналов, позволяющих получить результат измерения на ПК, имеют кроме ничтожной нагрузочной способности ещё и нестандартные логические уровни -12 В/+2 В. Чтобы привести их к нормальному виду, потребуется простейший конвертер, например, на 5 транзисторах. Только после этого можно распаивать кабель к LPT порту и писать программное обеспечение.

Что в конечном итоге получилось у вашего покорного кота - можно посмотреть чуть ниже. Платка с транзисторным конвертером и стабилизатором напряжения крепится уголком к пластмассовой задней панели прибора. Разъём для подсоединения кабеля связи с ПК можно разместить там же, или воспользоваться совершенно бесполезным до сих пор диагностическим разъёмом Ш3, предварительно перерезав идущие к нему на плате проводники.

Изображение Изображение

Программное обеспечение к этой конструкции "выходного дня" писалось под ископаемые компьютеры на базе 80386SX и Pentium, соответственно на Turbo Pascal 7.0 и TMT Pascal. Естественно, что никаких изысков ожидать не приходится. В первом случае задействуется стандартный графический режим VGA 640х480 16 цветов и используется системный таймер i82c54, во втором - VESA 640х480 256 цветов и используется Pentium TSC. Результаты работы сохраняются в виде CSV файла со столбцами данных, привязанных ко времени. Обрабатывать эти файлы можно чем угодно, хоть MS Excel'ем.

Изображение Изображение

В целом, реализация идеи оказалась вполне жизнеспособна. Модифицированный вольтметр исправно работал в паре с ноутбуком на различных опытных установках. Тем не менее, ряд подводных камней всё же следует иметь ввиду:
1) Значения на индикаторе вольтметра и регистрируемые логгером могут не совпадать по ряду причин, самая весомая из которых - отклонение частоты задающего генератора вольтметра от номинальной в 200 кГц. Частично эту ошибку можно скорректировать подбором константы Corrector в модуле V738io.
2) Теоретически, разрешение логгера должно быть на полпорядка выше разрешения самого прибора. Однако, в ряде случаев достигнуть этого не представляется возможным. Например, при работе в мультизадачной ОС, при обслуживании системных устройств процессором в SMM режиме (типичный случай - эмуляция legacy USB), при недоступном TSC.

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 06:25:01

Доброе утро! Михаил, хотел спросить современный ПК с LPT подойдет для подключения В7-38.

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 07:12:47

Да, Ратмир, подойдёт. Именно на таком я и отлаживал ПО. Но загружать придётся DOS, т.к. для измерения интервалов требуется жёсткое реальное время.

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 08:11:58

Через norton commander?
У меня второй ситемник совсем пустой (операционнки нет вообще), может установить Win98 или Win2000, или под XP эмулятор DOS. сейчас на основном системнике стоит Vista здесь я даже не представляю как запустить DOS.

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 09:23:22

Основной лучше не трогать :) А вот второй системник как раз можно использовать для всяких экспериментов. Я бы установил на него Windows 98. В таком случае при необходимости можно и штатный MS-DOS 7 загрузить через меню профилей загрузки ОС. А ещё проще и быстрее сделать загрузочную USB флешку с DOS и со всеми программами для экспериментов. Тогда можно будет использовать любой из двух системников, не затрагивая их содержимое.

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 10:03:14

Спасибо Михаил, разобрался, пришлось конечно через кокй-то инопланетный нортон :)
Вложения
P1080245.JPG
(158.07 KiB) Скачиваний: 1078
P1080246.JPG
(158.79 KiB) Скачиваний: 1029
P1080247.JPG
(182.95 KiB) Скачиваний: 1054

Re: Подключаем вольтметр В7-38 к ПК через LPT

Вт авг 23, 2011 10:12:36

Если программу логгера запустить так logger.exe /d , то она не заметит отсутствия прибора и будет работать как ни в чём не бывало :))

Re: Подключаем вольтметр В7-38 к ПК через LPT

Пт авг 27, 2021 12:42:54

Позвольте "реанимирую" тему.

Понравилась идея подключения В7-38 к ПК.
Только вот, подключение через LPT да еще под ДОСом с необходимостью жесткой временной детерминированности замера, на сегодняшний день, ну никак не устраивала.

В общем задача была решена из того, что было под рукой и под Винду )))
Схемы, как таковой я не рисовал, да и нечего там рисовать. Была старая макетка с AtMega16, кварцем 8МГц, стабилизатором 5В и MAX232 на борту для связи по COM-порту.
Впрочем, если есть необходимость, можно и конвертер UART-USB и опторазвязку сделать. Но пока задача не стояла.

МК питается от самого прибора +12В. Та же схема на 5-ти транзисторах, добавил диоды для защиты от обратного смещения базового перехода. Когда сделал, подумал, что не дурно бы задействовать еще и 6-й сигнал - счетные импульсы - для автоматического точного замера частоты 200 кГц, он к тому же выведен на "диагностический" разъем. Но пока обошелся ручной калибровкой.

МК занимается тем, что измеряет длительность интервала интегрирования по таймеру, определяет предел измерения и знак. Все. Таймер считает очень быстро, длительность интервала определяется очень хорошо ))) Отправляет это в ASCII пакете на комп, каждый замер == отправка. Благо времени вагон.

На компьютере прием, разбор этого всего дела, отображение.

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

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

Потом пришла идея, можно сделать и "автокалибровку", замерив точное значение частоты 200 кГц самим МК. Но пока отставил.

Я просто ох**ел.
Среднее значение расхождение показаний 0,5 МЗР прибора до 1 МЗР прибора максимум. По всем диапазонам !!! В любых комбинациях !!!
Понятное дело, что речь идет не о точности прибора, а о расхождении в замеренных значениях временных интервалов самим прибором и МК.

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

Продолжать ?

Re: Подключаем вольтметр В7-38 к ПК через LPT

Сб сен 18, 2021 16:45:14

Залил программу под МК.
Написана в IAR 5.3 под AtMega32 - то что было под руками. Программа простая как двери, никакой экзотической периферии не использует, посему легко адаптируется в принципе под широкий спектр МК семейства.

Каждый замер выдает посылку в UART в ASCII коде. Детальная расшифровка посылки внутри, вкратце - стратовый байт, предел измерения прибора, знак, полное время интегрирования в микросекундах.

Подключение - как у Mickle-a, задействованные пины - по тексту программы.
Питается все устройство от +12В вольтметра В7-38, дальше стаб. 7805. В принципе - заметил, что это не есть хорошо, т.к. при подключении девайса видимо есть небольшая просадка питания, т.к. показания уплывают на несколько (2-5 мВ). Так что, лучше питать отдельно.
На плате MAX232 - работает только в одну сторону - на передачу.

Выбрасываю в общий доступ небольшую терминальную программу, непрерывно читающую значения вольтметра. Если будет полезно. Ехе-шник глубоко внутри. Там же лежит файл "init.txt", где можно указать номер СОМ-порта и подобранную/измеренную точную частоту 200кГц прибора. Кто пожелает дорабатывать - среда CodeBlocks 17.12.

Работаю над программой с графиками и всем прочим, но там все очень сыро, не считаю нужным пока выкладывать.
Вложения
ComPort2.zip
Терминальная программа
(405.61 KiB) Скачиваний: 140
V7_38_Link.zip
Прошивка МК
(34.26 KiB) Скачиваний: 127
Ответить