Заголовок сообщения: Подключаем вольтметр В7-38 к ПК через LPT
Добавлено: Вс июл 31, 2011 17:54:29
Поставщик валерьянки для Кота
Карма: 68
Рейтинг сообщений: 3375
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2268 Откуда: г. Рыбинск
Рейтинг сообщения:1
Не секрет, что многие вольтметры и мультиметры с АЦП двойного интегрирования очень легко превратить в устройство для сбора данных - логгер, даже при отсутствии какого либо штатного интерфейса для соединения с ПК. Для этого достаточно разыскать на принципиальной схеме прибора сигнал, который бы менял своё состояние в начале цикла интегрирования измеряемого напряжения 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.
Через norton commander? У меня второй ситемник совсем пустой (операционнки нет вообще), может установить Win98 или Win2000, или под XP эмулятор DOS. сейчас на основном системнике стоит Vista здесь я даже не представляю как запустить DOS.
_________________ "Мы так жить будем, что наши внуки нам завидовать будут" В.С. Черномырдин
Заголовок сообщения: Re: Подключаем вольтметр В7-38 к ПК через LPT
Добавлено: Вт авг 23, 2011 09:23:22
Поставщик валерьянки для Кота
Карма: 68
Рейтинг сообщений: 3375
Зарегистрирован: Чт сен 09, 2010 07:32:24 Сообщений: 2268 Откуда: г. Рыбинск
Рейтинг сообщения:0
Основной лучше не трогать А вот второй системник как раз можно использовать для всяких экспериментов. Я бы установил на него Windows 98. В таком случае при необходимости можно и штатный MS-DOS 7 загрузить через меню профилей загрузки ОС. А ещё проще и быстрее сделать загрузочную USB флешку с DOS и со всеми программами для экспериментов. Тогда можно будет использовать любой из двух системников, не затрагивая их содержимое.
Понравилась идея подключения В7-38 к ПК. Только вот, подключение через LPT да еще под ДОСом с необходимостью жесткой временной детерминированности замера, на сегодняшний день, ну никак не устраивала.
В общем задача была решена из того, что было под рукой и под Винду ))) Схемы, как таковой я не рисовал, да и нечего там рисовать. Была старая макетка с AtMega16, кварцем 8МГц, стабилизатором 5В и MAX232 на борту для связи по COM-порту. Впрочем, если есть необходимость, можно и конвертер UART-USB и опторазвязку сделать. Но пока задача не стояла.
МК питается от самого прибора +12В. Та же схема на 5-ти транзисторах, добавил диоды для защиты от обратного смещения базового перехода. Когда сделал, подумал, что не дурно бы задействовать еще и 6-й сигнал - счетные импульсы - для автоматического точного замера частоты 200 кГц, он к тому же выведен на "диагностический" разъем. Но пока обошелся ручной калибровкой.
МК занимается тем, что измеряет длительность интервала интегрирования по таймеру, определяет предел измерения и знак. Все. Таймер считает очень быстро, длительность интервала определяется очень хорошо ))) Отправляет это в ASCII пакете на комп, каждый замер == отправка. Благо времени вагон.
На компьютере прием, разбор этого всего дела, отображение.
Пока только тестовая терминальная программа, отображает принимаемый пакет без его разборки и вычисленное значение в бесконечном цикле.
Что интересно при "правильной" калибровке - внесении точного значения частоты 200 кГц, и расчете первого такта интегрирования (20 000 импульсов) опираясь на точное внесенное значение частоты, практически полностью снимаются недостатки описанные товарищем Mickle, а именно расхождения отображаемого прибором значения и значения вычисляемого компьютером. Этих расхождения нет !!! Практически нет.
Потом пришла идея, можно сделать и "автокалибровку", замерив точное значение частоты 200 кГц самим МК. Но пока отставил.
Я просто ох**ел. Среднее значение расхождение показаний 0,5 МЗР прибора до 1 МЗР прибора максимум. По всем диапазонам !!! В любых комбинациях !!! Понятное дело, что речь идет не о точности прибора, а о расхождении в замеренных значениях временных интервалов самим прибором и МК.
Если интересно, могу поделиться скромными наработками.
Залил программу под МК. Написана в 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]
Скачиваний: 189
Комментарий к файлу: Прошивка МК V7_38_Link.zip [34.26 KiB]
Скачиваний: 168
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения