Please save your personal Avatar and your personal mails you have here in this forum as we will change the forum software in the next few days or at least next week. Thanks. Regards, Stefan Hartmann ( Admin)
v 20130925 2L 60500 42400 60800 41900 3 0 0 0 -1 -1L 60800 41900 61200 41700 3 0 0 0 -1 -1L 61200 40500 61500 41000 3 0 0 0 -1 -1L 61500 41000 62000 41300 3 0 0 0 -1 -1L 62000 41300 62400 41400 3 0 0 0 -1 -1L 62400 41400 63800 41500 3 0 0 0 -1 -1L 60500 39900 61200 40000 3 0 0 0 -1 -1L 61200 40000 61200 39000 3 0 0 0 -1 -1L 60300 41500 64000 41500 3 0 0 0 -1 -1L 60300 39000 64000 39000 3 0 0 0 -1 -1
import sys#Time for a gschem unit in nsXU = 10.0#Voltage for a gschem unit for ch 1 in mVYU1 = 1.0#Voltage for a gschem unit for ch 2 in mVYU2 = 10.0#Resistor 1 resistance in ohmsR1 = 983.0#Resistor 2 resistance in ohmsR2 = 99.4#Frequency in HzF = 30303.0if (len(sys.argv) < 2): print ("\nUsage: python pancake3.py sch_file\n") sys.exit()f = open(sys.argv[1], "r")lines = []for s in f: l = [] i1 = -1 if (s[0] != "L"): continue for j in range(0, 5): if (i1 == len(s)): break i0 = i1 + 1 i1 = i0 + s[i0:].find(" ") if (s[i0:].find(" ") == -1): i1 = len(s) if (j and s[i0:i1].isdigit()): l.append(int(s[i0:i1])) lines.append([l[0], l[1], l[2], l[3]])f.close()y0 = lines[len(lines) - 2][1]x0 = lines[0][0]i1 = i2 = 0lines.pop();lines.pop();for i in range(0, len(lines)): if (lines[1] <= y0): i1 = i breakfor i in range(0, len(lines)): if (lines[0] == x0): i2 = iilist = lines[0 : i1]olist = lines[i1 : i2]ch2list = lines[i2 : ]x0 = ilist[0][0]for i in range(0, len(ilist)): ilist[0] -= x0 ilist[2] -= x0 ilist[1] -= y0 ilist[3] -= y0x0 = olist[0][0]for i in range(0, len(olist)): olist[0] -= x0 olist[2] -= x0 olist[1] = y0 - olist[1] olist[3] = y0 - olist[3]x0 = ch2list[0][0]y0 = ch2list[len(ch2list) - 1][3]for i in range(0, len(ch2list)): ch2list[0] -= x0 ch2list[2] -= x0 ch2list[1] -= y0 ch2list[3] -= y0ilast = ilist[len(ilist) - 1][2]olast = olist[len(olist) - 1][2]i1 = i2 = 0e = 0.0for t in range(0, ilast, 10): if (t >= ilist[i1][2]): i1 += 1; if (t >= ch2list[i2][2]): i2 += 1; lx1 = float(ilist[i1][2] - ilist[i1][0]) ly1 = float(ilist[i1][3] - ilist[i1][1]) dx1 = float(t - ilist[i1][0]) r1 = abs(dx1 / lx1) dy1 = ly1 * r1 lx2 = float(ch2list[i2][2] - ch2list[i2][0]) ly2 = float(ch2list[i2][3] - ch2list[i2][1]) dx2 = float(t - ch2list[i2][0]) r2 = abs(dx2 / lx2) dy2 = ly2 * r2 ilr = (ch2list[i2][1] + dy2) * YU2 / R1 vlr = (ilist[i1][1] + dy1) * YU1 plr = ilr * vlr / 1000 pr = vlr * vlr / R2 / 1000 pl = plr - pr e += pl#Energy in uJe *= XU / 10 / 1000000print("Input power was %.3f uW" % (F * e))i1 = 0e = 0.0for t in range(0, olast, 10): if (t >= olist[i1][2]): i1 += 1; lx1 = float(olist[i1][2] - olist[i1][0]) ly1 = float(olist[i1][3] - olist[i1][1]) dx1 = float(t - olist[i1][0]) r1 = abs(dx1 / lx1) dy1 = ly1 * r1 vlr = (olist[i1][1] + dy1) * YU1 pr = vlr * vlr / R2 / 1000 e += pr#Energy in uJe *= XU / 10 / 1000000print("Output power was %.3f uW" % (F * e))
Input power was 3.888 uWOutput power was 7.896 uW
import sys#Time for gschem unit in nsXU = 10.0#Voltage for gschem unit for ch 1 in mVYU1 = 1.0#Voltage for gschem unit for ch 2 in mVYU2 = 10.0#Resistor 2 resistance in ohmsR2 = 983.0#Resistor 3 resistance in ohmsR3 = 99.4#Frequency in HzF = 30303.0def getlist(list, x0, y0, invert): for i in range(0, len(list)): list[ i ][0] -= x0 list[ i ][2] -= x0 if (invert): list[ i ][1] = y0 - list[ i ][1] list[ i ][3] = y0 - list[ i ][3] else: list[ i ][1] -= y0 list[ i ][3] -= y0 return listdef gety(list, i, t): lx = float(list[ i ][2] - list[ i ][0]) ly = float(list[ i ][3] - list[ i ][1]) dx = float(t - list[ i ][0]) dy = ly * abs(dx / lx) return list[ i ][1] + dydef output(str, e): #Energy in uJ e *= XU / 10 / 1000000 print("%s power was %.3f uW" % (str, F * e))if (len(sys.argv) < 2): print ("\nUsage: python pancake4.py sch_file\n") sys.exit()f = open(sys.argv[1], "r")lines = []for s in f: l = [] i1 = -1 if (s[0] != "L"): continue for j in range(0, 5): if (i1 == len(s)): break i0 = i1 + 1 i1 = i0 + s[i0:].find(" ") if (s[i0:].find(" ") == -1): i1 = len(s) if (j and s[i0:i1].isdigit()): l.append(int(s[i0:i1])) lines.append([l[0], l[1], l[2], l[3]])f.close()x0 = lines[0][0]y0 = lines[-2][1]lines.pop()lines.pop()i1 = map(lambda l: l[1] <= y0, lines).index(True)i2 = map(lambda l: l[0] == x0, lines[1 : ]).index(True) + 1ilist = getlist(lines[: i1], x0, y0, False)olist = getlist(lines[i1 : i2], lines[i1][0], y0, True)ch2list = getlist(lines[i2 : ], lines[i2][0], lines[-1][3], False)e = 0.0i1 = i2 = 0for t in range(0, ilist[-1][2], 10): if (t >= ilist[i1][2]): i1 += 1; if (t >= ch2list[i2][2]): i2 += 1; ilr = gety(ch2list, i2, t) * YU2 / R2 vlr = gety(ilist, i1, t) * YU1 plr = ilr * vlr / 1000 pr = vlr * vlr / R3 / 1000 pl = plr - pr e += ploutput("Input", e)e = 0.0i1 = 0for t in range(0, olist[-1][2], 10): if (t >= olist[i1][2]): i1 += 1; vlr = gety(olist, i1, t) * YU1 pr = vlr * vlr / R3 / 1000 e += proutput("Output", e)
do you want to replicate following?https://www.facebook.com/ricard.montseny/videos/vb.100000949034144/2150504444991169/?type=2&theaterhttps://www.facebook.com/ricard.montseny/videos/vb.100000949034144/2170624892979124/?type=2&theater
Hey Dani1you're doing Good job
v 20130925 2L 60500 42500 60900 41900 3 0 0 0 -1 -1L 60900 41900 61300 41700 3 0 0 0 -1 -1L 61300 40500 61600 41000 3 0 0 0 -1 -1L 61600 41000 62000 41300 3 0 0 0 -1 -1L 62000 41300 62400 41400 3 0 0 0 -1 -1L 62400 41400 63800 41500 3 0 0 0 -1 -1L 60500 40000 61300 40100 3 0 0 0 -1 -1L 61300 40100 61300 39000 3 0 0 0 -1 -1L 60300 41500 64000 41500 3 0 0 0 -1 -1L 60300 39000 64000 39000 3 0 0 0 -1 -1
Input power was 5.277 uWOutput power was 7.500 uW
we do have some friends who have done many experiments with Pancake coils and multi windings [BiFi etc]I will ask a few to have a look here.thanks for sharing your work....
The pancake coil he shows has about 20 winds, if that helps any