Design and Implementation of a Tool for the Development of Fuzzy Controllers on uC 51 "- 3
Diseño e Implantación de una Herramienta para el Desarrollo de Controladores Fuzzy sobre uC 51" - 3
Autor
Cantillo Veléz, Daniel Eduardo
Rodríguez Benavides, Juan Andrés
Fecha
2021-05-31Resumen
Dentro de la investigación realizada se pudo reconocer que la arquitectura difusa es una técnica muy creativa para los sistemas de control, buscando el tratamiento de datos de control cómo una simple cuestión de lógica, similar al pensamiento humano. Luego de aprender bien sobre este pudimos definir los parámetros Fuzzy que queríamos utilizar en el proyecto. Para la fuzzificación se tienen varias funciones con distintos subconjuntos en los cuales va a estar definida la entrada y para defuzzificar empleando el método del centroide ya que garantiza una salida más segura al tener en cuenta los centros de gravedad de las funciones. Después de definir los parámetros Fuzzy a utilizar, se inició el desarrollo de librería en C para un sistema de control que pueda usarse con microcontroladores. Posteriormente, al reconocer la magnitud de la herramienta y la información presente en el estado del arte se decidió no realizar el montaje de la librería sobre el microcontrolador, debido que la capacidad de memoria disponible limitaría las funciones de la herramienta. Por otro lado, se tomó la iniciativa de realizar de forma obligatoria el desarrollo de una interfaz de usuario, la cual a inicios del proyecto se propuso como un agregado. Para lograr elaborar la interfaz de usuario se tuvo que desarrollar en la misma medida que se desarrollaba la librería, para poder dar solución a los errores y problemas que existen en el mundo de las GUI, la medida que íbamos incorporando piezas del código a la interfaz, el proyecto iba cogiendo forma. Luego de terminar la interfaz y verificar su correcto funcionamiento, se realizaron pruebas con el Fuzzy Toolkit de MATLAB y cómo se puede observar en la sección de análisis de resultados se obtuvieron resultados positivos Para finalizar, se puede afirmar que se cumplieron todos los objetivos planteados al inicio del semestre, sin embargo, lo más importante es la cantidad de conocimiento que se adquirió en el desarrollo de la aplicación. Within the research carried out, it was possible to recognize that fuzzy architecture is a very creative technique for control systems, seeking the treatment of control data as a simple matter of logic, similar to human thought. After learning about it well, we were able to define the Fuzzy parameters that we wanted to use in the project. For fuzzification there are several functions with different subsets in which the input is going to be defined and for defuzzification using the centroid method since it guarantees a safer output by taking into account the centers of gravity of the functions. After defining the Fuzzy parameters to be used, the development of a C library for a control system that can be used with microcontrollers began. Subsequently, when recognizing the magnitude of the tool and the information present in the state of the art, it was decided not to mount the library on the microcontroller, because the available memory capacity would limit the functions of the tool. On the other hand, the initiative was taken to carry out the mandatory development of a user interface, which at the beginning of the project was proposed as an add-on. In order to develop the user interface, it was necessary to develop to the same extent that the library was developed, in order to solve the errors and problems that exist in the world of GUIs, the extent to which we were incorporating pieces of code into the interface , the project was taking shape. After finishing the interface and verifying its correct operation, tests were carried out with the MATLAB Fuzzy Toolkit and how it can be observed in the results analysis section, positive results were obtained.To conclude, it can be stated that all the objectives set out in the At the beginning of the semester, however, the most important thing is the amount of knowledge that was acquired in the development of the application.