Coder Social home page Coder Social logo

elowro / meter-accuracy Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 4.71 MB

❓Meter Accuracy - Portable and open repository of various DMMs accuracy expressed in uncertainty based on range, reading and absolute offset.

Home Page: https://accuracy.calibration.equipment

License: MIT License

Python 100.00%
calibration electronics metrology uncertainty data-structures accuracy

meter-accuracy's Introduction

Meter Accuracy Data Representation

Purpose

Meter Accuracy Data Representation format, abbreviated as MACDR. JSON file structure.

Portable and open repository of various meters accuracy expressed in uncertainty based on range, reading and absolute offset. Intended for machine to machine consumption.

Data

All specified meters data is located in /Meters folder, for easy M2M consumption index.js is auto-generated.

MACDRv1 Format Specification

Format Identifier

org.macdr.v1

Values:

All uncertainties values are floating-point numbers (64bit Double) and assumed to be either positive or negative so 0.1 means ±0.1.

Filename:

Every unique meter model will be represented by a separate json file. Filename should be created as follows:

{Manufacturer}_{Model Name}.json

Example:

Keysight_3458A.json

Metadata:

  • manufacturer - manufacturer short name
  • manufacturer_full - manufacturer name
  • model_name - model full name
  • uid - unique product identifier (reverse dns)
  • product_identifier - manufacturer's product identifier
  • source - description of source (usually datasheet)
  • source_url - link to source (usually to a datasheet)
  • photo_url - link to meter photo²
  • photo_url_author - author¹
  • usdz_model_url - link to meter USDZ 3d model¹
  • usdz_model_url_author - author¹

¹-optional

Important: All assets must be public domain!

Specs

All meter specs are expressed as key-values where key is amount of hours from calibration.

Absolute Quantities

Identifier Unit Description
absolute.voltage.dc Volts DC Voltage
absolute.current.dc Amperes DC Current
absolute.voltage.ac Volts AC Voltage
absolute.current.ac Amperes AC Current
absolute.resistance.2w Ohms Resistance 2-Wire
absolute.resistance.4w Ohms Resistance 4-Wire
absolute.frequency Herz Frequency
absolute.capacitance Farad Capacitance at Frequency
absolute.inductance Henres Inductance at Frequency
absolute.impedance.phase degrees Phase Angle of Impedance

This list is NOT part of the MACDRv1 specification, more identifiers will be added along the way.

Transfer Quantities

Identifier Unit Description
transfer.voltage.dc Volts DC Voltage Transfer
transfer.voltage.ac Volts AC Voltage Transfer
transfer.voltage.acdc Volts AC/DC Voltage Transfer
transfer.resistance.2w Ohms Resistance 2-Wire Transfer
transfer.resistance.4w Ohms Resistance 4-Wire Transfer

This list is NOT part of the MACDRv1 specification, more identifiers will be added along the way.

Structure

Main

{
    "format": "{string}",
	"uid": "{string}",
	"manufacturer": "{string}",
	"model_name": "{string}",
	"product_identifier": "{string}",
	"source": "{url}",
	"source_url": "{url}",
	"transfer": {
		"{Measurement Identifier}": [ ]
	},
	"absolute": {
		"{Measurement Identifier}": [ ]
	}
}

Specs

  • reading - fraction of reading
  • range - fraction of used range
  • absolute - absolute offset (in relevant unit)

Absolute

  • hours_from_calibration - hours limit from meter calibration/adjustment
  • confidence - (optional) some manufacturers specify confidence (0.99 means 99%)
  • aperture_seconds - (optional) some manufacturers specify minimal aperture
  • nplc - (optional) some manufacturers specify minimal bumber of power line cycles
{
	"hours_from_calibration": 0,
	"seconds_between_measurements": 0,
	"absolute": 0.0,
	"reading": 0.0,
	"range": 0.0
}	

Transfer

  • seconds_between_measurements - used in transfer specs, max time between measurements
  • required_temperature_celsius - (optional) some manufacturers specify transfer temperature
  • maximum_temperature_change - (optional) maximum temperature change between measurements or from Tref/Tcal
  • confidence - (optional) some manufacturers specify confidence (0.99 means 99%)
  • aperture_seconds - (optional) some manufacturers specify minimal aperture
  • nplc - (optional) some manufacturers specify minimal bumber of power line cycles
{
	"seconds_between_measurements": 0,
	"required_temperature_celsius": 0,
	"maximum_temperature_change_celsius": 0,
	"absolute": 0.0,
	"reading": 0.0,
	"range": 0.0
}	

Absolute: DC Voltage

  • range - range in Volts
{
	"absolute.voltage.dc": [
		{
			"range": 0, 
			"accuracy": []
		}
	]
}

Absolute: DC Current

  • range - range in Amperes
{
	"absolute.current.dc": [
		{
			"range": 0, 
			"accuracy": []
		}
	]
}

Absolute: Resistance

  • range - range in Ohms
  • current - current used in Amperes
{
	"absolute.resistance.4w": [
		{
			"range": 0, 
			"current": 0,
			"specs": []
		}
	]
}

Absolute: AC Voltage

  • range - range in Volts
  • frequency_from - frequency range start, Herz
  • frequency_to - frequency range end, Herz
{
	"voltage.ac": [
		{
			"range": 0, 
			"frequency_from": 0.0, 
			"frequency_to": 0.0, 
			"specs": []
		}
	]
}

meter-accuracy's People

Contributors

ochococo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

meter-accuracy's Issues

Secondary specification parameters?

Is it planned to have secondary and additional parameters? Just to take simple DCV function for example:

  • Tempco factor (with ACAL and without ACAL ;)
  • High-voltage additional uncertainty due to HV divider heating
  • Factory calibraiton adder
  • Noise specification adder from fast modes of operation
  • Null errors for lowest ranges (esp important for nanovoltmeters and small signals)
    Often resistance also have various modes with different specs (e.g. OCOMP ON or OFF).
    It's impossible to have useful calculation of instrument provided uncertainty without having complete specs dataset.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.