Crowtail- Electricity Sensor

From Elecrow
Jump to navigation Jump to search


The Electricity sensor module is a member of Crowtail. It is based on the TA12-200 current transformer which can transform the large AC into small amplitude. You can use it to test large alternating current up to 5A.

Model: CT010593E

Crowtail- Electricity Sensor.jpg


  • Crowtail compatible interface
  • Maximum 5A input
  • High accuracy
  • Small size



Items Min Norm Max Unit
Transformation ratio - 2000:1 - -
Input Current 0 - 5 A
Output Current 0 - 2.5 mA
Sampling Resistance - 800 - Ω
Sampling Voltage 0 - 2 V
Working Frequency 20 - 20K HZ
Nonlinear scale - - 0.2% -
Phase Shift - - 5' -
Operating Temperature -55 - 85
Dielectric strength - 6 - KVAC/1min


With Arduino

The following sketch demonstrates a simple application of measuring the amplitude of the alternating voltage.The SIG pin will output a alternating voltage based on the alternating current being measured. You can measure the value using ADC.

Connect the module to the analog A0 of Crowtail- Base board Put the alternating current wire through the hole of the current transformer.

Electric sensor0021.jpg

1.Copy and paste code as below to a your Arduino sketch.

//	Function: Measure the amplitude current of the alternating current and 
//			  the effective current of the sinusoidal alternating current.
//	Hardware: Crowtail - Electricity Sensor		
//	Date: 	 June 2,2016
//	by
#define ELECTRICITY_SENSOR A0 // Analog input pin that sensor is attached to

float amplitude_current;               //amplitude current
float effective_value;       //effective current 

void setup() 
void loop() 
	int sensor_max;
	sensor_max = getMaxValue();
	Serial.print("sensor_max = ");
	//the VCC on the Crowtail interface of the sensor is 5v
						//Only for sinusoidal alternating current
	Serial.println("The amplitude of the current is(in mA)");
	Serial.println(amplitude_current,1);//Only one number after the decimal point
	Serial.println("The effective value of the current is(in mA)");
void pins_init()
/*Function: Sample for 1000ms and get the maximum value from the SIG pin*/
int getMaxValue()
	int sensorValue;             //value read from the sensor
	int sensorMax = 0;
	uint32_t start_time = millis();
	while((millis()-start_time) < 1000)//sample for 1000ms
		sensorValue = analogRead(ELECTRICITY_SENSOR);
		if (sensorValue > sensorMax) 
			/*record the maximum sensor value*/
			sensorMax = sensorValue;
	return sensorMax;

Note: The minimum effective current that can be sensed by the code can be calculated using the equation below. minimum_current=1/1024*5/800*2000000/1.414=8.6(mA).

2.Open the serial monitor, The results is as follows:

Electric sensor2.png