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

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

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


Ответить
Mickle
Поставщик валерьянки для Кота
Сообщения: 2346
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

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

Сообщение Mickle »

Не секрет, что многие вольтметры и мультиметры с АЦП двойного интегрирования очень легко превратить в устройство для сбора данных - логгер, даже при отсутствии какого либо штатного интерфейса для соединения с ПК. Для этого достаточно разыскать на принципиальной схеме прибора сигнал, который бы менял своё состояние в начале цикла интегрирования измеряемого напряжения 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.
Реклама
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

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

Сообщение Ратмир »

Доброе утро! Михаил, хотел спросить современный ПК с LPT подойдет для подключения В7-38.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Mickle
Поставщик валерьянки для Кота
Сообщения: 2346
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

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

Сообщение Mickle »

Да, Ратмир, подойдёт. Именно на таком я и отлаживал ПО. Но загружать придётся DOS, т.к. для измерения интервалов требуется жёсткое реальное время.
Аватара пользователя
Ратмир
Друг Кота
Сообщения: 8865
Зарегистрирован: Чт янв 20, 2011 19:54:19
Откуда: Уфа

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

Сообщение Ратмир »

Через norton commander?
У меня второй ситемник совсем пустой (операционнки нет вообще), может установить Win98 или Win2000, или под XP эмулятор DOS. сейчас на основном системнике стоит Vista здесь я даже не представляю как запустить DOS.
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Mickle
Поставщик валерьянки для Кота
Сообщения: 2346
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

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

Сообщение Mickle »

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

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

Сообщение Ратмир »

Спасибо Михаил, разобрался, пришлось конечно через кокй-то инопланетный нортон :)
Вложения
P1080245.JPG
(158.07 КБ) 1139 скачиваний
P1080246.JPG
(158.79 КБ) 1067 скачиваний
P1080247.JPG
(182.95 КБ) 1103 скачивания
"Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Изображение
Реклама
Mickle
Поставщик валерьянки для Кота
Сообщения: 2346
Зарегистрирован: Чт сен 09, 2010 07:32:24
Откуда: г. Рыбинск

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

Сообщение Mickle »

Если программу логгера запустить так logger.exe /d , то она не заметит отсутствия прибора и будет работать как ни в чём не бывало :))
Eastlogic
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт ноя 01, 2016 17:50:13
Откуда: Харьковская обл.

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

Сообщение Eastlogic »

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

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

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

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

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

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

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

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

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

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

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

Продолжать ?
Eastlogic
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт ноя 01, 2016 17:50:13
Откуда: Харьковская обл.

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

Сообщение Eastlogic »

Залил программу под МК.
Написана в 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 КБ) 201 скачивание
V7_38_Link.zip
Прошивка МК
(34.26 КБ) 184 скачивания
Ответить

Вернуться в «Измерения»