INTRODUCCION
En este artculo se explicara el
procedimiento para realizar un
controlador difuso e implementarlo en
un en la tarjeta de STM32F para ver sus
resultados, nos apoyaremos con varias
herramienta de programacin como son
Matlab, dev c++ cube mx, entre otros, la
idea principal de este ejercicio es
entender la lgica difusa y aplicarla en
un sistema para obtener resultados, se
implementar para un sistema de
pndulo y se realizara las pruebas a FIGURA 1 COMFIGURACION DE VARIABLES DE
travs de los diferentes programas ENTRADA Y SALIDA
if (x<=TZa || x>=TZc)
Despus de la inferencia se procede a TZ=0;
programar as sentencias la agregacin else
que una parte importante del programa if (x>=TZb)
TZ=(TZc-x)/(TZc-TZb);
ya que es donde se empieza a definir la else
salida con la ayuda de los conjuntos TZ=(x-TZa)/(TZb-TZa);
difusos, en esta parte del programa se end
end
if (TZ>Arg(1)) %
Implicaci?n y Agregaci?n
temp(2)=Arg(1);
else
temp(2)=TZ;
end
if (x>=TPb)
TP=1; Al ingresa los dos vemos como salida
else cambia en este caso la velocidad se
if (x<=TPa)
program a -12 radianes/seg y la
TP=0;
else posicin en -12 grados y la respuesta en
TP= (x-TPa)/(TPb- la salida es de -12.5 voltios,
TPa); procederemos a ejecutar el programa en
end la venta de comandos de Matlab para
end
verificar los resultados
if (TP>Arg(4)) %
Implicaci?n y Agregaci?n
temp(3)=Arg(4);
else
temp(3)=TP;
end
for i=2:3
if(temp(1)<temp(i))
temp(1)=temp(i);
end
end
sump=sump+temp(1)*x;
sum=sum+temp(1);
end
Sal=sump/sum
} } temp[2]=Arg[1];
// salidas a TN }else{
if(temp[1]<temp[i]){
temp[1]=temp[i];
}}
sump=sump+temp[1]*x;
sum=sum+temp[1];
}
printf("%f",Sal);
}
De igual forma procedemos a verificar
que el programa arroje los mismos datos
que los programas anteriores