Changes between Version 11 and Version 12 of Hardware/dInfrastructure/qPowerMeasurment


Ignore:
Timestamp:
Aug 23, 2013, 9:18:31 PM (11 years ago)
Author:
pavan717
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Hardware/dInfrastructure/qPowerMeasurment

    v11 v12  
    4242
    4343
    44 Once the current is stepped down by the toroid, a 42Ω resister is used to convert the AC current into AC voltage at the entrance of the Power Sensing Platform. Then the AC voltage is converted to DC voltage by going through AD737JNZ chip with a average off-set of 3.364mV between the input and output of the chip. The voltage regulator is used to lower the voltage that powers the AD737JNZ chip to values of ± 2.5V from ± 3.3V.  The inverting amplifier with a gain of 4.7 is used to convert the negative voltage value outputted from the AD737JNZ chip to a positive value because the Arduino does not accept negative inputs. Once the signal enters the Arduino analog pins, the Arduino will read the signal at the analog pin and output a resolution reading between 0 to 1023. The Arduino has a 10-bit analog to digital converter so it will map input voltages between 0 and 5 volts into integer values between 0 and 1023. Then the software part of this project will fix the off-set of the AD737JNZ chip and the scaling factor of the toroid along with adjusting the Arduino to covert the resolution readings to power readings.         
     44Once the current is stepped down by the toroid, a 42Ω resister is used to convert the AC current into AC voltage at the entrance of the Power Sensing Platform. Then the AC voltage is converted to DC voltage by going through AD737JNZ chip with a average off-set of 3.364mV between the input and output of the chip. The voltage regulator is used to lower the voltage that powers the AD737JNZ chip to values of ± 2.5V from ± 3.3V.  The inverting amplifier with a gain of 4.7 is used to convert the negative voltage value outputted from the AD737JNZ chip to a positive value because the Arduino does not accept negative inputs. Once the signal enters the Arduino analog pins, the Arduino will read the signal at the analog pin and output a resolution reading between 0 to 1023. The Arduino has a 10-bit analog to digital converter (ADC) so it will map input voltages between 0 and 5 volts into integer values between 0 and 1023. In this project I have used the internal built in voltage of 1.1V instead of the normal 5V in the Arduino board. This change will map the resolution reading between 0 to 1023 for 0 to 1.1V. Then the software part of this project will fix the off-set of the AD737JNZ chip and the scaling factor of the toroid along with adjusting the Arduino to covert the resolution readings to power readings.         
    4545
    4646 
     
    5252
    5353'''Procedure:'''
    54    1: Connect the Arduino Board and Arduino Ethernet Shield to the ORBIT Power Sensing Platform. The Arduino board will be connected to the bottom of the ORBIT Power Sensing Platform and the Arduino Ethernet Shield will be place on the top of the ORBIT Power Sensing Platform as shown below:
     54   1) Connect the Arduino Board and Arduino Ethernet Shield to the ORBIT Power Sensing Platform. The Arduino board will be connected to the bottom of the ORBIT Power Sensing Platform and the Arduino Ethernet Shield will be place on the top of the ORBIT Power Sensing Platform as shown below:
    5555
    5656|| [[Image(board.PNG, 400px)]] ||
     
    5858 
    5959[[BR]]
     60   2) Upload the following code to the Arduino board from the attachments: {{{PowerSensingCode.ino}}} Note: MAC & IP Address will have to be changed for future       
     61      sensors along with AD737JNZ chip off-set for each pin and proper toroid scaling ratio. [[BR]]
     62   3) Calculations inside the code: [[BR]]
     63     {{{
     64     if (analogChannel == 0)   
     65        {double d= 0.0;
     66           d = static_cast<double>(sensorReading);                                                 
     67           double power = 42 * square((((((((sensorReading/1024.0)*1100.0)/4.700)+2.468)/42)*40)/0.02623)/1000);   
     68           client.print(power); // Prints out Power Reading in Watts
     69                                 
     70         //double voltage = (((sensorReading/1024.0)*1100.0)/4.700+2.468);  //Prints out Voltage Reading
     71         //client.print(voltage); // Prints out Voltage Reading in Volts
     72        }
     73     }}} 
     74[[BR]]
     75      The calculations shown above are only for analog pin 0 out of 12 analog pins, the rest of the pins have similar calculations. When the output from the
     76      Power Sensing Platform enters the input of the Arduino board its resolution reading is called the "sensorReading." The sensorReading value is a resolution   
     77      reading between 0 to 1023 for 1100mV (1.1V), that needs to be converted to double datatype from a integer datatype to proceed with further calculations
     78      which are in double datatype.[[BR]]
     79{{{((((sensorReading/1024.0)*1100.0)/4.700)+2.468)}}}[[BR]]
     80      First convert the resolution reading into voltage reading by taking the
     81      ratio of the resolution reading and multiplying it by 1100mV internal Arduino voltage. Then by dividing the inverting amplifier gain of 4.7 and adding the
     82      AD737JNZ chip off-set of 2.468mV gives us a final voltage reading of the input signal.  The off-set for the AD737JNZ chip was calculated individually for
     83      each analog pin by testing 10 different AC signals and measuring the input and output for AD737JNZ chip.                     
    6084
    61    2: Upload the following code to the Arduino board from the attachments: {{{PowerSensingCode.ino}}}
    6285
     86
     87   
    6388----
    6489