Comments 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: хм, а теги я уже не могу.
>>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 позволяет и более тонкие способы управления.
> MEASURE:VOLTAGE?
< 1.2345E+01
Галочка вправо — команда, влево — ответ устройства. Но система команд SCPI позволяет и более тонкие способы управления.
Эх, ностальгия! Лет двадцать назад мы подключали такие вольтметры к ДВК через КАМАК. Да, шлейфы из проводов были знатные. Теперь всё проще. Такой вопрос — а Ардуинка не является ли «бутылочным горлышком»? Я это к тому, что частота опроса при таком решении максимально возможная для этого прибора? Можно ведь взять плату цифровых входов-выходов, типа, скажем NI PCI-6509 и получить тоже самое — будет ли такое решение более быстрым («бюджетным» оно ни разу не будет — это понятно) по сравнению с ардуинкой (если не делать буферизацию данных в контроллере)?
У нас тоже раньше использовался КАМАК + контроллер на ISA шине.
Одно измерение производится в течении 0,3-5 секунд, в среднем — раз в секунду. И прошивка не производит периодический опрос, вместо этого по окончании каждого измерения В7-28 генерирует цифровой импульс, по которому срабатывает аппаратное прерывание в ATmega. Объём данных по последовательному порту небольшой, 9600 бод/сек хватает за глаза.
Бутылочным горлышком мог бы стать малый размер ОЗУ — всего 8 кбайт, но нам хватило, даже есть буфер для хранения 512 измерений.
Одно измерение производится в течении 0,3-5 секунд, в среднем — раз в секунду. И прошивка не производит периодический опрос, вместо этого по окончании каждого измерения В7-28 генерирует цифровой импульс, по которому срабатывает аппаратное прерывание в ATmega. Объём данных по последовательному порту небольшой, 9600 бод/сек хватает за глаза.
Бутылочным горлышком мог бы стать малый размер ОЗУ — всего 8 кбайт, но нам хватило, даже есть буфер для хранения 512 измерений.
Хм… интересно, можно ли из такой пары — цифровой вольтметр + интерфейс к ПК сделать осцилограф для сигналов низкой частоты при должной частоте измерений? Или измерение фиксированно по времени (0,3-5,0с как у вас указано)?
В7-28 — это если у Вас частоты порядка 0,1 Гц и ниже. Правда, интервал между измерениями будет «плавать» на несколько процентов. В качестве «осциллографа для бедных» гораздо лучше себя покажет Agilent 34410, у него и частоты до кГц, и точность интервала выше.
Странно, а мне первая мысль в голову пришла использовать регистры сдвига, тогда можно было бы обойтись ардуинкой за 2$. Те самые 74HC595 для вывода, и 74HC165N для ввода… тогда от ардуины надо было бы всего 4-5 проводов для управления регистрами, а плату с регистрами можно было разместить прямо на разъёме прибора, избавившись от длинного шлейфа. А если взять еще esp8266 прикрутить… то можно было бы продавать такой переходник за сотни зеленых денег избавится от шлейфа вообще.
Ладно если импортозамещение тогда и там и там использовать 561ИР9, их правда поболее надо будет т.к. они 4-битные.
Ладно если импортозамещение тогда и там и там использовать 561ИР9, их правда поболее надо будет т.к. они 4-битные.
Сдвиговые регистры я бы использовал только в случае несовместимости по уровням входов/выходов. Нам в нашем случае показалось удобным держать всю электронику в одном месте. Но спасибо за наводку, будем иметь в виду.
Некоторое время назад подключал к ПК прибор комбинированный цифровой Щ300, тоже через Arduino Mega. Протокол, правда, взял Modbus RTU, т. к. ардуина работает не только с Щ300, но еще много чего делает, в том числе работает через SPI с огромным массивом реле, через 60(!) микросхем SN74HC595 в одной шине. Заводил тоже в LabVIEW.
Была даже мысль заменить у Щ300 шаговый переключателя диапазонов на релейную схему, чтобы тоже с ПК диапазоны переключать и в конечном итоге автоматизировать подбор диапазона измерения, но коллеги не одобрили. Т.к. такая модификация не прошла бы метрологическую поверку :)

Была даже мысль заменить у Щ300 шаговый переключателя диапазонов на релейную схему, чтобы тоже с ПК диапазоны переключать и в конечном итоге автоматизировать подбор диапазона измерения, но коллеги не одобрили. Т.к. такая модификация не прошла бы метрологическую поверку :)

У нас Щ300 не используются, но было бы интересно адапировать прошивку для этого вольтметра. Работа свёдется к клонированию проекта v7-28-arduino и его модификации.
Если у Вас будет время и интерес, я готов посотрудничать.
Если у Вас будет время и интерес, я готов посотрудничать.
Мы сейчас занимаемся подключением Щ300 к компьютеру. К сожалению, в Интернете очень мало информации на эту тему. Удалось понять, как выводятся цифры, но непонятно как выводится положение запятой, на какие штырьки разъема. Может, подскажете?
Год назад бы пожал бы крепко руку за такую статью. Но в целом она бесценна для всех лаборантов, которые занимаются измерениями и системой их автоматизации.
Не понимаю я таких изобретателей велосипеда.
«Нет штатных «электронщиков», которые могли бы разработать и спаять плату микроконтроллера» — берите готовое изделие LCard — хочешь на USB, хочешь на PCI,
с разрядностью от 12 до 24 бит и всякими там сертификатами соответствия,
А хлам сдать на золото.
Ну или оставить — для понастальгировать и проверить всякое новомодное.
«Нет штатных «электронщиков», которые могли бы разработать и спаять плату микроконтроллера» — берите готовое изделие LCard — хочешь на USB, хочешь на PCI,
с разрядностью от 12 до 24 бит и всякими там сертификатами соответствия,
А хлам сдать на золото.
Ну или оставить — для понастальгировать и проверить всякое новомодное.
Лабораторный вольтметр, такой как В7-28, — это не просто АЦП, это ещё схемы интегрирования (усреднения), автоподстройки ноля, шумоподавления и пр., что позволяет получать результат с точностью до 5 цифр.
АЦП от LCard — хорошие изделия в своей нише, но их назначение ближе к цифровому осциллографу.
АЦП от LCard — хорошие изделия в своей нише, но их назначение ближе к цифровому осциллографу.
В цифровом виде это уже делать нельзя? 24 бита это уже 7 значащих цифр, а функциональность определяется софтом. Хочешь усреднение, хочешь среднеквадратичное значение, пиковые значения, медианное, подстройка под сетевые наводки и т.д. Раньше если это прибор не умел изначально переделать его было весьма сложно, а тут лишь написал соответствующий софт и дело в шляпе.
Часть функциональности возможно решить только схемотехнически, например автоподстройка ноля, или регулировка входного сопротивления.
Шумоподавление и усреднение можно реализовать программно, при этом частоту опроса АЦП потребуется сделать максимально возможной. Правда 7 знаков вряд ли получится. И, наверное, схемотехническое решение всё равно даст выигрыш в точности, но не берусь утверждать — не специалист.
Шумоподавление и усреднение можно реализовать программно, при этом частоту опроса АЦП потребуется сделать максимально возможной. Правда 7 знаков вряд ли получится. И, наверное, схемотехническое решение всё равно даст выигрыш в точности, но не берусь утверждать — не специалист.
К тому же вольтметры позволяют переключать диапазоны измерений, например в В7-28 их 5 по постоянному напряжению. Программно это не реализовать без радикальной потери в точности.
Это называется нормирование сигнала, и это осуществляется в любом случае аппаратно. Причём переключение диапазонов это самая простая аппаратная часть измерительного прибора, хотя она ответственна за точность измерений. Где нужно переключать диапазоны, иметь входное сопротивление единицы-десятки ТОм используется приставка к АЦП.
Но вообще написать драйвер для АЦП, реализующий SCPI-вольметр, — отличная идея. Если его дополнить эмулятором последовательного порта, то получим программный адаптер. В ряде случаев может получиться замена лабораторному вольтметру.
вот совершенно не понимаю тех, кто ставит минус и не может пройти на сайт к Л-кардам и почитать документацию. 24 бита АЦП — это несколько больше (чем дофига), чем 5 десятичных цифр.
ЗЫ: если что, я в настоящем я не пользователь Л-карда и даже обижен на них, но мои претензии связаны не с тем, что их продукция что-то плохо мерит.
ЗЫ: если что, я в настоящем я не пользователь Л-карда и даже обижен на них, но мои претензии связаны не с тем, что их продукция что-то плохо мерит.
Если измерять напряжение простым АЦП, то Вы получите шум уже во 2-3 знаке, в первую очередь из-за наводок по цепи питания 50 Гц. АЦП это только часть цифрового вольтметра.
Sign up to leave a comment.
USB-адаптер для цифрового вольтметра В7-28 на базе Arduino Mega