fluxcontrol/genCurvas.py
Pedro Romero cff7d8c356 MCAD 1
2025-03-26 11:07:54 +01:00

63 lines
1.4 KiB
Python

import numpy as np
import pandas as pd
import json
def generar_curva(offset):
muVacio = 4 * np.pi * 1e-7
hPos = np.arange(1,5001,1)
hNeg = np.arange(-5000,0,1)
bPos = muVacio*hPos + offset
bNeg = muVacio*hNeg - offset
h = np.concatenate((hNeg, hPos))
b = np.concatenate((bNeg, bPos))
return h, b
if __name__ == '__main__':
with open('resultados_ensayos.json', 'r') as f: datos = json.load(f)
Eobjetivo = np.array(datos['E'])
Iobjetivo = np.array(datos['I'])
fObjetivo = np.array(datos['f'])
errorObjetivo = 0.01 # +- cuanto % puede haber de diferencia
limSup = 1 + errorObjetivo
limInf = errorObjetivo
offset = 0
flag = True
while flag:
h,b = generar_curva(offset)
datos = np.column_stack((h,b))
np.savetxt('curva.csv', datos, delimiter=',')
############################
'''
Logica de motorCAD-Pyhton, se sacaran unos vectores con
corrientes, frecuencias y tensiones de operacion en
distintos puntos con una curva dada. Esto se hara estableciendo
como fijo la frecuencia y la corriente, si se puede solo
con frecuencia mejor. Se compara la tension (y corriente si no se fija)
con los valores objetivos.
'''
Ecalc = [1, 1, 1, 1, 1]
############################
error = Ecalc / Eobjetivo