User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/teaching/ie0624/proyectos/control_motores_sincronicos/codigo.meta failed
teaching:ie0624:proyectos:control_motores_sincronicos:codigo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:ie0624:proyectos:control_motores_sincronicos:codigo [2018/12/17 16:27] microsteaching:ie0624:proyectos:control_motores_sincronicos:codigo [2022/09/20 00:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
-===== Código Fuente Utilizado para la Implementación del Sistema de Control =====+====== Código Fuente Utilizado para la Implementación del Sistema de Control =====
 + 
 +==== Diagrama de Flujo==== 
 +  * A continuación se muestra el código fuente utilizado para la implementación de Sistema de Control, incluyendo la comunicación a través de USART, y las señales enviadas al puente H para el control de potencia. 
 +Para una mejor comprensión de la lógica general, ver el [[teaching:ie0624:proyectos:control_motores_sincronicos:codigo:diagrama|diagrama de flujo]] del sistema implementado.
  
 <code C> <code C>
  
 /* /*
-   * Copyright (C) 2013 ARCOS-Lab Universidad de Costa Rica +   * Copyright (C) 2018 ARCOS-Lab Universidad de Costa Rica
-   * Author: Federico Ruiz Ugalde <memeruiz@gmail.com>+
    *    *
    * This program is free software: you can redistribute it and/or modify    * This program is free software: you can redistribute it and/or modify
Line 183: Line 186:
  rcc_periph_clock_enable(RCC_GPIOA);  rcc_periph_clock_enable(RCC_GPIOA);
  //ADC  //ADC
- gpio_mode_setup(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO0);//Se configura PA0 para que funcione con el boton de USER+ gpio_mode_setup(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO0);//PA0 config to work with USER botton
  gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO1);  gpio_mode_setup(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO1);
  adc_power_off(ADC1);  adc_power_off(ADC1);
Line 204: Line 207:
 } }
  
-  void tim1_up_tim16_isr(void) { //Interrupcion overflow del timerfrecuencia del PWM+  void tim1_up_tim16_isr(void) { //Timer overflow interrupt, PWM frecuency
     // Clear the update interrupt flag     // Clear the update interrupt flag
     timer_clear_flag(TIM1,  TIM_SR_UIF);     timer_clear_flag(TIM1,  TIM_SR_UIF);
Line 240: Line 243:
  
  
-//funcion imprimir numeros con usart+//print numbers func. with USART
  
-static void my_usart_print_int(uint32_t usart, int16_t value)//imprime valores que uno envia por usart+static void my_usart_print_int(uint32_t usart, int16_t value)//print sent values
 { {
  int8_t i;  int8_t i;
Line 506: Line 509:
  
 </code> </code>
 +
 +
 +  * **NOTA:** El código fuente utilizado para la implementación del sistema de control, está diseñado para una alimentación de ''24V'' por lo que en caso de querer ejecutarse a ''12V'' y que se realice una lectura correctar por parte del microcontrolador, se debe de ir a la sección en donde se calcula el error normalizado 
 + 
 +<code C>
 + //Calculo de error normalizado
 +     e=((double)ref/(double)100) - ((double)temp/(double)4096);
 +</code>
 +
 +y cambiar el valor ''4096'' por ''2048''. Para valores distintos de tensión, se debe de escalar este valor y realizar los ajustes necesarios al divisor de tensiones de manera que la entrada analógica sólo reciba valores de entrada entre los 0V y 3,3V.
  
  
 [[teaching:ie0624:proyectos:control_motores_sincronicos|Tabla de Contenidos]] [[teaching:ie0624:proyectos:control_motores_sincronicos|Tabla de Contenidos]]
teaching/ie0624/proyectos/control_motores_sincronicos/codigo.1545064051.txt.gz · Last modified: 2022/09/20 00:08 (external edit)