import math
#Variable Declaration
N=100
B=0.2 #in Tesla
D=1*10**-2 #in m
l=1.5*10**-2 #in m
I=1*10**-3 #in A
#Calculation of torque
Td=B*l*I*N*D #Torque equation
#Result
print "Torque=",Td," N.m"
import math
#Variable Declaration
current_sensitivity=1*10**-6 #in A/mm
damping_resistance=1*10**3 #in ohm
#Voltage sensitivity
voltage_sensitivity=damping_resistance*current_sensitivity
#Megaohm sensitivity
megaohm_sensitivity=1/current_sensitivity
#Results
print "Voltage Sensitivity=",int(voltage_sensitivity*1000)," mV/mm"
print "Megaohm Sensitivity=",int(megaohm_sensitivity/10**6),"mega ohm"
import math
#Variable Declaration
Rm=99 #Coil resistance in ohm
Im1=0.1*10**-3 #FSD current in A
Rs=1 #Shunt resistance in ohm
#Calculation
#At FSD
Vm1=Im1*Rm #Meter Voltage
Is1=Vm1/Rs
It1=Is1+Im1 #Total Current
#At 0.5 FSD
Im2=0.5*Im1 #0.5 FSD current
Vm2=Im2*Rm #Meter Voltage
Is2=Vm2/Rs #Shunt current
It2=Im2+Is2 #Total current
#At 0.25 FSD
Im3=0.25*Im1 #0.25 FSD current
Vm3=Im3*Rm #Meter Voltage
Is3=Vm3/Rs #Shunt current
It3=Im3+Is3 #Total current
#Results
print "At FSD,"
print "Meter Voltage=",round(Vm1*1000,1)," mV"
print "Meter Current=",round(Im1*1000,1)," mA"
print "Shunt Current=",round(Is1*1000,1)," mA"
print "Total Current=",round(It1*1000,1),"mA"
print " "
print "At 0.5 FSD,"
print "Meter Voltage=",round(Vm2*1000,2)," mV"
print "Meter Current=",round(Im2*1000,2)," mA"
print "Shunt Current=",round(Is2*1000,2)," mA"
print "Total Current=",round(It2*1000,2)," mA"
print " "
print "At 0.25 FSD,"
print "Meter Voltage=",round(Vm3*1000,3)," mV"
print "Meter Current=",round(Im3*1000,3)," mA"
print "Shunt Current=",round(Is3*1000,3)," mA"
print "Total Current=",round(It3*1000,1)," mA"
import math
#Variable Declaration
Im=100*10**-6 #FSD Current in A
Rm=1*10**3 #Coil Resistance
I1=100*10**-3 #Required FSD current
I2=1 #Required FSD current
#Calculation
#FSD=100mA
Vm1=Im*Rm #Meter Voltage
Is1=I1-Im #Shunt Current
Rs1=Vm1/Is1 #Shunt Resistance
#FSD=1A
Vm2=Im*Rm #Meter Voltage
Is2=I2-Im #Shunt Current
Rs2=Vm2/Is2 #Shunt Resistance
#Results
print "For FSD=100mA,"
print "Shunt Resistance=",round(Rs1,3)," ohm"
print "For FSD=1A,"
print "Shunt Resistance=",round(Rs2,5)," ohm"
import math
#Variable Declaration
R1=0.05 #in ohm
R2=0.45 #in ohm
R3=4.5 #in ohm
Rm=1*10**3 #in ohm
Im=50*10**-6 #in A
#Calculation
#Switch at contact B
Vs1=Im*Rm
Is1=Vs1/(R1+R2+R3)
It1=Im+Is1
#Switch at contact C
Vs2=Im*(Rm+R3)
Is2=Vs2/(R1+R2)
It2=Im+Is2
#Swithc at contact D
Vs3=Im*(Rm+R3+R2)
Is3=Vs3/R1
It3=Im+Is3
#Results
print "When switch is at B, Ammeter Range=",int(It1*1000)," mA"
print "When switch is at C, Ammeter Range=",int(It2*1000)," mA"
print "When switch is at D, Ammeter Range=",int(It3)," A"
import math
#Variable Declaration
Im=100*10**-6 #in A
Rm=1*10**3 #in ohm
V=50 #in V
#Calculations
Rs=V/Im-Rm #in ohm
#At 0.8 FSD
Im1=0.8*Im #in A
V1=Im1*(Rs+Rm) #in V
#At 0.5 FSD
Im2=0.5*Im #in A
V2=Im2*(Rs+Rm) #in V
#At 0.2 FSD
Im3=0.2*Im #in A
V3=Im3*(Rs+Rm) #in V
#Results
print "For 50V at full scale, multiplier resistance should be",int(Rs/1000)," kilo ohm"
print "When instrument reads 0.8 FSD, applied voltage is",int(V1)," volt"
print "When instrument reads 0.5 FSD, applied voltage is",int(V2)," volt"
print "When instrument reads 0.2 FSD, applied voltage is",int(V3)," volt"
import math
#Variable declaration
Im=50*10**-6 #FSD current in A
Rm=1700 #Coil resistance in ohm
V1=10 #Required range in V
V2=50 #Required range in V
V3=100 #Required range in V
#For Circuit 1
R11=V1/Im-Rm
R12=V2/Im-Rm
R13=V3/Im-Rm
#For Circuit 2
R21=V1/Im-Rm
R22=V2/Im-R21-Rm
R23=V3/Im-R22-R21-Rm
#Results
print "For Circuit 1,"
print "R1=",round(R11/1000,1),"kilo ohm"
print "R2=",round(R12/1000,1),"kilo ohm"
print "R3=",round(R13/10**6,4),"mega ohm"
print " "
print "For Circuit 2,"
print "R1=",round(R21/1000,1),"kilo ohm"
print "R2=",int(R22/1000),"kilo ohm"
print "R3=",round(R23/10**6,4),"mega ohm"
import math
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
## Variable Declaration
I=100*10**-6 #Full Scale Current in A
Rm=1*10**3 #Coil Resistance in ohm
Vrms=100 #FSD rms voltage in V
Vf=0.7 #Diode voltage
#At FSD, the average current flowing through PMMC is
Iavg=I
Im=round(Iavg/0.637,6)
rectifier_voltage_drops=2*Vf
peak_voltage=1.414*Vrms
Rs=(peak_voltage-rectifier_voltage_drops)/Im-Rm
#To plot rectified waveform used by the voltmeter at FSD
t=np.arange(0.01,1.0,0.01) #Time Axis
x=np.zeros(99)
N=0
while(N<99):
x[N]=(peak_voltage-2*Vf)*math.fabs(math.sin(2*math.pi*N*2/100))
N=N+1
plt.plot(t,x) #Full wave rectified sine wave
plt.plot(t,(peak_voltage-2*Vf)*t/t,'--',label='Vm') #Peak Voltage Marker
plt.plot(t,(Vrms-0.707*2*Vf)*t/t,'--',label='Vrms') #RMS Voltage Marker
plt.plot(t,(peak_voltage-2*Vf)*0.637*t/t,'--',label='Vavg') #Average Voltage Marker
legend = plt.legend(loc='lower right')
plt.xlabel('Time(second)')
plt.ylabel('Input Voltage(V)')
plt.title('Rectified waveform across PMMC at FSD')
#Results
print "Multiplier Resistance=",round(Rs/1000,1), "kilo ohm"
import math
#Variable Declaration
#Data from Example 3-7
Rs=890*10**3 #in ohm
Rm=1*10**3 #in ohm
Vrms=100 #in V
Vf=0.7 #in V
I=100*10**-6 #in A
#When input=75V (rms)
Vrms1=75
Im1=(1.414*Vrms1-2*Vf)/(Rs+Rm)
Iavg1=0.637*Im1
p1=Iavg1/I
#When input=50V (rms)
Vrms2=50
Im2=(1.414*Vrms2-2*Vf)/(Rs+Rm)
Iavg2=0.637*Im2
p2=Iavg2/I
#Results
print "When input is 75 V(rms), meter reading is",round(p1,2)," FSD"
print "When input is 50 V(rms), meter reading is",round(p2,2)," FSD"
import math
#Variable Declaration
#From Example 3-8
Im=157*10**-6 #Maximum Current(A)
Vrms=100 #Maximum rms voltage(V)
#Calculation
Irms=0.707*Im #Property of sinusoid
R=Vrms/Irms #Ohm's Law
sensitivity=R/Vrms
print "The sensitivity of the voltmeter described in example 3-8 is,",int(sensitivity/1000),"kilo ohm/V"
import math
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#Variable Declaration
Iav=50*10**-6 #FSD Current (A)
Rm=1700 #Coil resistance(ohm)
Imin=100*10**-6 #Minimum forward current (peak)in A
p=20.0/100.0 #20% FSD at 100 micro amps
Vrms=50
Vf=0.7
#Calculation
Im=Iav/(0.5*0.637)
#At 20% FSD, If must be 100micro amps, hence the current at 100% FSD is
If_peak=Imin/p
Ish_peak=If_peak-Im
Vm_peak=Im*Rm
Rsh=Vm_peak/Ish_peak
Rs=(1.414*Vrms-Vm_peak-Vf)/If_peak
#Plot of half wave rectified voltage appearing across PMMC instrument
t=np.arange(0.01,1.0,0.01) #Time Axis
N=0
x=np.zeros(99)
while(N<99):
if((N<=25)|(N>50)&(N<=75)):
x[N]=(If_peak-Im)*Rsh*math.sin(2*math.pi*2*N/100)
else:
x[N]=0
N=N+1
plt.plot(t,x)
plt.plot(t,(If_peak-Im)*Rsh*t/t,'--',label='Vmax')
plt.plot(t,0.5*(If_peak-Im)*Rsh*t/t,'--',label='Vrms')
plt.plot(t,0.318*(If_peak-Im)*Rsh*t/t,'--',label='Vavg')
plt.xlabel('Time(second)')
plt.ylabel('Voltage(V)')
plt.title('Half wave rectified waveform across PMMC at FSD')
legend = plt.legend(loc='lower right')
#Results
print "The value of Rsh is",int(Rsh)," ohm"
print "The value of Rs is",round(Rs/1000,1)," kilo ohm"
import math
#Variable Declaration
Iav=1*10**-3 #in A
Rm=1700 #in ohm
Ns=500 #Secondary windings
Np=4 #Primary windings
Vf=0.7 #in V
Rs=20*10**3 #in ohm
Ip=250*10**-3 #in A
#Calculation
Im=Iav/0.637 #Property of sine half wave
Em=Im*(Rs+Rm)+2*Vf
Es=0.707*Em
rms_meter_current=1.11*Iav
#Trasnformer rms secondary current is,
Is=Ip*Np/Ns
Il=Is-rms_meter_current
Rl=Es/Il
print "The required value of Rl is",round(Rl/1000,1)," kilo ohm"
import math
#Variable Delcaration
current_fsd=100*10**-6
accuracy=1.0/100.0
#Calculation
error_fsd=accuracy*current_fsd
#At FSD
indicated_current_fsd=current_fsd
measured_current_fsd_max=indicated_current_fsd+error_fsd
measured_current_fsd_min=indicated_current_fsd-error_fsd
#At 0.5 FSD
indicated_current=0.5*current_fsd
measured_current_max=indicated_current+error_fsd
measured_current_min=indicated_current-error_fsd
error=error_fsd/indicated_current
#Results
print "At FSD,"
print "Measured current=",measured_current_fsd_min*10**6," micro ampere to",measured_current_fsd_max*10**6," micro ampere"
print "Error=±",int(accuracy*100),"% of measured current"
print " "
print "At 0.5 FSD,"
print "Measured current=",measured_current_min*10**6," micro ampere to",measured_current_max*10**6," micro ampere"
print "Error= ±",int(error*100),"% of measured current"
import math
#Variable Declaration
Eb=1.5 #Battery Voltage(V)
R1=15.0*10**3 #Standard resistance+meter resistance
Im=Eb/R1 #Ohm's Law
#At 0.5 FSD
Im1=0.5*Im #Current at 0.5 FSD
Rx1=Eb/Im1-R1 #Resistance measured at 0.5 FSD
#At 0.25 FSD
Im2=Im/4
Rx2=Eb/Im2-Rx1 #Resistance measured at 0.25 FSD
#At 0.75 FSD
Im3=0.75*Im
Rx3=Eb/Im3-Rx1 #Resistance measured at 0.25 FSD
#Results
print "When Rx=0, the meter indicates",int(Im*10**6),"micro ampere(FSD)"
print " "
print "At 0.5 FSD, Rx=",int(Rx1*10**-3)," kilo ohm"
print "At 0.25 FSD, Rx=",int(Rx2*10**-3)," kilo ohm"
print "At 0.75 FSD, Rx=",round(Rx3*10**-3)," kilo ohm"
import math
#Variable Declaration
Eb1=1.5 #Battery Voltage(V)
R1=15*10**3 #Series resistance as shown in figure(ohm)
Rm=50 #Coil resistance (ohm)
R2=50 #Shunt resistance(ohm)
I_fsd=50*10**-6 #FSD Current(A)
Eb2=1.3
#At 0.5 FSD, with Eb=1.5V
Im1=0.5*I_fsd
Vm1=Im1*Rm
I21=Vm1/R2 #Ohm's Law
Ib1=I21+Im1 #KCL
Rx1=Eb1/Ib1-R1 #Unknown resistance value is found
#With Rx=0,Eb=1.3V
Ib2=Eb2/R1 #Total Current
I22=Ib2-I_fsd #Shunt Current using KCL
Vm2=I_fsd*Rm #Voltage across meter
R22=Vm2/I22 #Shunt Resistance value
#At 0.5FSD, Eb=1.3V
Im3=0.5*I_fsd #Meter Current
Vm3=Im3*Rm #Voltage across meter using Ohm's Law
I23=Vm3/R22 #Shunt Current using Ohm's Law
Ib3=I23+Im3 #Total current using KCL
Rx2=Eb2/Ib3-R1 #Resitance reading on Ohm scale
#Results
print "Ohmmeter scale reading at 0.5 FSD is,",int(Rx1/1000),"kilo ohm"
print "With Rx=0 and Eb=1.3V, R2 should be",round(R22,2),"ohm"
print "At 0.5 FSD, with Eb=1.3V, the ohmeter scale reading is,",int(Rx2/1000),"kilo ohm"
import math
#Variable Declaration
#From Circuit Diagram
R1=14 #in ohm
R2=10 #in ohm
R3=9.99*10**3 #in ohm
R4=2.875*10**3 #in ohm
R5=3.82*10**3 #in ohm
Eb=1.5 #Battery current
#Calculation
#When Rx=0, battery current is
R6=R3+R4+R5 #Series equivalent
R7=R2*R6/(R2+R6) #Parallel equivalent
Ib1=Eb/(R1+R7)
Im1=Ib1*R2/(R2+R6) #Using Current Dividor Rule
#When Rx=24 ohm,
R8=24
Ib2=Eb1/(R8+R1+R7) #From figure
Im2=Ib2*R2/(R2+R6) #Using Current Dividor Rule
n=round(Ib2/Ib1,3)
#Results
print "When Rx=0,"
print "Battery current=",round(Ib1*1000,3)," mA"
print "Meter current=",round(Im1*10**6,2)," micro ampere"
print "Full Scale= 0 ohm"
print " "
print "When Rx=24,"
print "Battery Current=",round(Ib2*10**3,3),"mA"
print "Meter Current=",round(Im2*10**6,2),"micro ampere"
print "As meter current is",n,"times of full scale.Thus, when Rx=24 ohm it indicates half scale reading"