Как стать автором
Обновить

Комментарии 28

Здорово! А как примерно выглядит система команд вольтметра?
LMGTFY: _http://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments
>>For example, the command to «Measure a DC voltage then measure an AC current» would be issued as MEASure:VOLTage:DC?;:MEASure:CURRent:AC? .

>>For example, the command “SYSTem:COMMunicate:SERial:BAUD 2400 ” would set an RS-232 serial communications interface to 2400 bit/s. This could also alternatively be abbreviated “SYST:COMM:SER:BAUD 2400”. The query command “SYSTem:COMMunicate:SERial:BAUD? ” or “SYST:COMM:SER:BAUD? ” would instruct the instrument to report its current baud rate.

upd: хм, а теги я уже не могу.
В простейшем случае, например, так (измерение постоянного напряжения):

> MEASURE:VOLTAGE?
< 1.2345E+01

Галочка вправо — команда, влево — ответ устройства. Но система команд SCPI позволяет и более тонкие способы управления.
Эх, ностальгия! Лет двадцать назад мы подключали такие вольтметры к ДВК через КАМАК. Да, шлейфы из проводов были знатные. Теперь всё проще. Такой вопрос — а Ардуинка не является ли «бутылочным горлышком»? Я это к тому, что частота опроса при таком решении максимально возможная для этого прибора? Можно ведь взять плату цифровых входов-выходов, типа, скажем NI PCI-6509 и получить тоже самое — будет ли такое решение более быстрым («бюджетным» оно ни разу не будет — это понятно) по сравнению с ардуинкой (если не делать буферизацию данных в контроллере)?
У нас тоже раньше использовался КАМАК + контроллер на ISA шине.

Одно измерение производится в течении 0,3-5 секунд, в среднем — раз в секунду. И прошивка не производит периодический опрос, вместо этого по окончании каждого измерения В7-28 генерирует цифровой импульс, по которому срабатывает аппаратное прерывание в ATmega. Объём данных по последовательному порту небольшой, 9600 бод/сек хватает за глаза.

Бутылочным горлышком мог бы стать малый размер ОЗУ — всего 8 кбайт, но нам хватило, даже есть буфер для хранения 512 измерений.
Хм… интересно, можно ли из такой пары — цифровой вольтметр + интерфейс к ПК сделать осцилограф для сигналов низкой частоты при должной частоте измерений? Или измерение фиксированно по времени (0,3-5,0с как у вас указано)?
В7-28 — это если у Вас частоты порядка 0,1 Гц и ниже. Правда, интервал между измерениями будет «плавать» на несколько процентов. В качестве «осциллографа для бедных» гораздо лучше себя покажет Agilent 34410, у него и частоты до кГц, и точность интервала выше.
Ясно, спасибо. Нет, «для бедных» уж лучше тогда С1-72.
Странно, а мне первая мысль в голову пришла использовать регистры сдвига, тогда можно было бы обойтись ардуинкой за 2$. Те самые 74HC595 для вывода, и 74HC165N для ввода… тогда от ардуины надо было бы всего 4-5 проводов для управления регистрами, а плату с регистрами можно было разместить прямо на разъёме прибора, избавившись от длинного шлейфа. А если взять еще esp8266 прикрутить… то можно было бы продавать такой переходник за сотни зеленых денег избавится от шлейфа вообще.
Ладно если импортозамещение тогда и там и там использовать 561ИР9, их правда поболее надо будет т.к. они 4-битные.
Сдвиговые регистры я бы использовал только в случае несовместимости по уровням входов/выходов. Нам в нашем случае показалось удобным держать всю электронику в одном месте. Но спасибо за наводку, будем иметь в виду.
Они зато здорово сокращают количество жил которое необходимо тянуть к прибору.
Некоторое время назад подключал к ПК прибор комбинированный цифровой Щ300, тоже через Arduino Mega. Протокол, правда, взял Modbus RTU, т. к. ардуина работает не только с Щ300, но еще много чего делает, в том числе работает через SPI с огромным массивом реле, через 60(!) микросхем SN74HC595 в одной шине. Заводил тоже в LabVIEW.
Была даже мысль заменить у Щ300 шаговый переключателя диапазонов на релейную схему, чтобы тоже с ПК диапазоны переключать и в конечном итоге автоматизировать подбор диапазона измерения, но коллеги не одобрили. Т.к. такая модификация не прошла бы метрологическую поверку :)
image

У нас Щ300 не используются, но было бы интересно адапировать прошивку для этого вольтметра. Работа свёдется к клонированию проекта v7-28-arduino и его модификации.

Если у Вас будет время и интерес, я готов посотрудничать.
Мы сейчас занимаемся подключением Щ300 к компьютеру. К сожалению, в Интернете очень мало информации на эту тему. Удалось понять, как выводятся цифры, но непонятно как выводится положение запятой, на какие штырьки разъема. Может, подскажете?
Помоему, проще и быстрее определить это экспериментально. Не тысячи контактов же опрашивать.
К сожалению, не могу помочь, у нас в лаборатории нет Щ-300.
Когда я писал прошивку для В7-28, то пользовался техническим описанием (в бумажном виде), а непонятные места проверял на действующем приборе.
Год назад бы пожал бы крепко руку за такую статью. Но в целом она бесценна для всех лаборантов, которые занимаются измерениями и системой их автоматизации.
Не понимаю я таких изобретателей велосипеда.
«Нет штатных «электронщиков», которые могли бы разработать и спаять плату микроконтроллера» — берите готовое изделие LCard — хочешь на USB, хочешь на PCI,
с разрядностью от 12 до 24 бит и всякими там сертификатами соответствия,
А хлам сдать на золото.
Ну или оставить — для понастальгировать и проверить всякое новомодное.
Лабораторный вольтметр, такой как В7-28, — это не просто АЦП, это ещё схемы интегрирования (усреднения), автоподстройки ноля, шумоподавления и пр., что позволяет получать результат с точностью до 5 цифр.

АЦП от LCard — хорошие изделия в своей нише, но их назначение ближе к цифровому осциллографу.
В цифровом виде это уже делать нельзя? 24 бита это уже 7 значащих цифр, а функциональность определяется софтом. Хочешь усреднение, хочешь среднеквадратичное значение, пиковые значения, медианное, подстройка под сетевые наводки и т.д. Раньше если это прибор не умел изначально переделать его было весьма сложно, а тут лишь написал соответствующий софт и дело в шляпе.
Часть функциональности возможно решить только схемотехнически, например автоподстройка ноля, или регулировка входного сопротивления.
Шумоподавление и усреднение можно реализовать программно, при этом частоту опроса АЦП потребуется сделать максимально возможной. Правда 7 знаков вряд ли получится. И, наверное, схемотехническое решение всё равно даст выигрыш в точности, но не берусь утверждать — не специалист.
К тому же вольтметры позволяют переключать диапазоны измерений, например в В7-28 их 5 по постоянному напряжению. Программно это не реализовать без радикальной потери в точности.
Это называется нормирование сигнала, и это осуществляется в любом случае аппаратно. Причём переключение диапазонов это самая простая аппаратная часть измерительного прибора, хотя она ответственна за точность измерений. Где нужно переключать диапазоны, иметь входное сопротивление единицы-десятки ТОм используется приставка к АЦП.
Но вообще написать драйвер для АЦП, реализующий SCPI-вольметр, — отличная идея. Если его дополнить эмулятором последовательного порта, то получим программный адаптер. В ряде случаев может получиться замена лабораторному вольтметру.
вот совершенно не понимаю тех, кто ставит минус и не может пройти на сайт к Л-кардам и почитать документацию. 24 бита АЦП — это несколько больше (чем дофига), чем 5 десятичных цифр.

ЗЫ: если что, я в настоящем я не пользователь Л-карда и даже обижен на них, но мои претензии связаны не с тем, что их продукция что-то плохо мерит.
Если измерять напряжение простым АЦП, то Вы получите шум уже во 2-3 знаке, в первую очередь из-за наводок по цепи питания 50 Гц. АЦП это только часть цифрового вольтметра.
я догадываюсь про это, и производители LCard догадываются.
я немного лажанулся — 24 бита АЦП у них в платах для крейтовой системы, а в обычных — до 16 бит.
О, и цены у них теперича не то, что давеча www.lcard.ru/products/external/e-502 — 30 тыр.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории