Como encender LEDs a determinadas temperaturas usando LM35 en PROTEUS con Amplificador Operacional

Поделиться
HTML-код
  • Опубликовано: 13 окт 2024
  • Aprende a encender un dispositivo de acuerdo con el rango de temperatura mediante amplificadores operacionales simulados en Proteus

Комментарии • 36

  • @ronyd...1310
    @ronyd...1310 2 года назад +2

    DE 10 .... COMO SIEMPRE...!!! LIKE X MAS VIDEOS SOBRE COMPONENTES ELECTRONICOS.

  • @ricardofreire7802
    @ricardofreire7802 8 месяцев назад +1

    Me ha servido muchísimo. GRACIAS!!

    • @ElectroOmar
      @ElectroOmar  8 месяцев назад +2

      De nada. Mucho éxito en tu circuito 👍🏻😀

  • @kevinbecerra6957
    @kevinbecerra6957 2 года назад +4

    Gran video! disculpa la molestia pero tengo una duda urgente, yo tengo que hacer algo parecido pero fisicamente, es decir, tengo que hacer un sensor igual, con lm35 y comparadores pero con dos leds, el primero (verde) prende en igual o mayor a 35 y que cuando llegue a ser igual o mayor a 45 (el segundo led rojo) se apague el verde y se mantenga el rojo. me urge saber, ¿no tendrias un diagrama a la mano de ello? en serio te lo agradeceria muchisimo :( saludos!

  • @Danntorres
    @Danntorres 3 года назад +1

    Felicidades por los 2000 subs 👌🏻

    • @ElectroOmar
      @ElectroOmar  3 года назад +1

      Gracias. La comunidad crece todos los días. Saludos.

  • @israelsalpec8787
    @israelsalpec8787 6 месяцев назад

    Hola podrías conectarlo a un PIC, a cualquier PIC que desees solamente que expliques cómo se utiliza con una pantalla LM016L

  • @MaverickHunterX97
    @MaverickHunterX97 2 года назад +1

    Muchas gracias estimado, te pasaste

    • @ElectroOmar
      @ElectroOmar  2 года назад +2

      De nada. Mucho éxito. Saludos

  • @jhonjairoangaritaarango722
    @jhonjairoangaritaarango722 День назад +1

    hola. como puedo controlar la temperatura para el conjelador y el refrijerador de una nevera, calibrando la tenperatura con un ponteciometro.

    • @ElectroOmar
      @ElectroOmar  18 часов назад +1

      Buen día. Son dos sensores independientes? Uno para el congelador y otro para el refrigerador? Es un solo compresor?

  • @coyoteg10
    @coyoteg10 3 года назад +2

    Gran video gracias

  • @Danntorres
    @Danntorres 3 года назад +1

    Excelente video 👌🏻

  • @luismiguelbastidas3215
    @luismiguelbastidas3215 7 месяцев назад +1

    Una pregunta.. como hago que para que cuando pase el umbral de la temp mayor prenda el led rojo y active un ventilador? Gracias!!

    • @ElectroOmar
      @ElectroOmar  7 месяцев назад +1

      Hola. Seria un ventilador de alterna o de corriente directa?
      ruclips.net/video/uMVthZzMrt0/видео.html

  • @oscartadeorodriguezresendi1718
    @oscartadeorodriguezresendi1718 2 года назад +2

    Hola, como podria hacer un Diseño del sensor de temperatura de 0-5 V que corresponda al rango de 20 grados a 100 grados con un LM35

  • @anfieloel-troyano8879
    @anfieloel-troyano8879 3 года назад

    Hola Omar, excelente vídeo. Una consulta, si es que se puede, ¿Cómo podría añadir un potenciómetro a mi circuito de control de T° de un horno para poder fijar la T° que yo quisiera? Mi problema está en la programación si pudieras guiarme o al menos aclararme, porfavor, gracias.

    • @ElectroOmar
      @ElectroOmar  3 года назад

      Hola gracias. Si hablas de programación entiendo que lo vas a hacer con un microcontrolador. En la entrada el sensor y la salida debe tener aumentos o disminuciones de PWM en función de la temperatura en el caso de corriente directa. O control por TRIAC en el caso de alterna. Si solo lo quieres manual. El potenciómetro hazle una conversión ADC y vinculalo al PWM

    • @anfieloel-troyano8879
      @anfieloel-troyano8879 3 года назад

      ​ @ElectroOmar Esta es mi programación sin potenciómetro para un DSPIC33FJ32MC202 de 12 bits, sé que tengo q conectar el potenciómetro en el pin AR1, pero no sé en qué parte de la programación tengo añadir o modificar, para que me funcione, gracias señor Omar héroe de la Electrónica Programable.
      #include "config.h"
      #include
      #include "reloj.h"
      #include "xlcd.h"
      #include
      /********************DEFINICION DE MACROS**************************************/
      #define SETPOINT 1.25
      #define PIN_CONTROL LATBbits.LATB8
      /*******************DEFINICION DE VARIABLES GLOBALES***************************/
      uint16_t data; //LEER EL ADC
      float temp; //TEMPERATURA
      float val;
      uint8_t tick;
      //PROTOTIPO DE FUNCIONES
      void TIMER_Cofig(void);
      void GPIO_Init(void);
      void ADC_Config(void);
      void Hardware_Init(void);
      /************************funcion prinicipal************************************/
      int main(void) {
      Hardware_Init();
      LCD_Init(); //RS = RB6, RW = RB5, E = RB4
      delay_ms(0.1);
      printf(" UNAC - FIEE");
      LCD_setCursor(1,0);//SE MUEVE A LA SEGUNDA FILA
      printf("SIST. DE CONTROL");
      delay_ms(1500);
      LCD_clear();
      printf("**PRESS START**");
      LATAbits.LATA4 = 0;
      while(1){
      if(PORTBbits.RB7){
      delay_ms(100);
      while(PORTBbits.RB7);
      break;
      }
      }
      LATAbits.LATA4 = 1;
      while(1){
      val = (float)(5.0/4095)*data;
      temp = (1/0.025)*val;
      if(val < SETPOINT)
      PIN_CONTROL = 1;
      else
      PIN_CONTROL = 0;
      if(tick>=100){
      LCD_clear();
      printf("temp->%.1f",temp);
      LCD_setCursor(1,0);
      printf("val->%.2f",val);
      tick = 0;
      }
      delay_ms(1);
      }
      }
      /***********************DEFINCION DE FUNCIONES**********************************/
      void Hardware_Init(void){
      TIMER_Cofig();
      GPIO_Init();
      ADC_Config();


      }
      void TIMER_Cofig(void){
      T1CON = 0;
      T1CONbits.TCKPS = 0x1; //PSC->8
      PR1 = 625-1; //1ms
      //INTERRUPCIONES DEL TIMER
      IFS0bits.T1IF = 0;
      IPC0bits.T1IP = 1; //PRIORIDAD 1
      IEC0bits.T1IE = 1; //SE ACTIVA LA INTERRUPCION POR TIMER

      T1CONbits.TON = 1; //SE ACTIVA EL CONTEO
      }
      void GPIO_Init(void){
      TRISBbits.TRISB7 = 1; //ENTRADA
      TRISBbits.TRISB8 = 0; //SALIDA ->CONTROL
      TRISAbits.TRISA4 = 0; //SALIDA

      }
      void ADC_Config(void){
      AD1PCFGL = 0xFFFF; //inicialmente se desactiva todas los pines adc
      /*0. Se selecciona 10-bit o 12-bit*/
      AD1CON1bits.AD12B = 1; //se selecciona 12 bit
      /*1. Seleccione los pines del puerto como entradas analógicas (AD1PCFGH o AD1PCFGL ).*/
      AD1PCFGLbits.PCFG0 = 0; //AN0
      TRISAbits.TRISA0 = 1; //entrada analogica
      /*2. Seleccione la fuente de referencia de voltaje para que coincida con el rango
      * esperado en las entradas analógicas (AD1CON2 ).*/
      AD1CON2bits.VCFG = 0; //AVDD-AVss
      /*3. Seleccione el reloj de conversión analógico para que coincida con la
      * velocidad de datos deseada con el reloj del procesador (AD1CON3 ).*/
      AD1CON3bits.ADCS = 1; //2 · TCY = TAD
      /*4. Determine cuántos canales de muestreo y retención se utilizarán
      * (AD1CON2 y AD1PCFGH o AD1PCFGL ).*/
      AD1CON2bits.CHPS = 0;
      /*5. Seleccione la muestra apropiada/secuencia de conversión (AD1CON1 y AD1CON3 ).*/
      AD1CON1bits.SSRC = 0; //CONVERSION MANUAL
      AD1CON1bits.ASAM = 1; //MUESTREO AUTOMATICO
      /*6. Seleccione la forma en que se presentan los resultados de conversión
      * en el búfer (AD1CON1 ).*/
      AD1CON1bits.FORM = 0; //enteros
      /*7. SELECCIÓN DE ENTRADA ANALÓGICA PARA CONVERSIÓN*/
      AD1CHS0bits.CH0SA = 0; // Channel 0 positive input is AN0
      AD1CHS0bits.CH0NA = 0; //0 = Channel 0 negative input is VREF
      /*8. Encienda el módulo ADC (AD1CON1 ).*/
      AD1CON1bits.ADON = 1;
      /*9. Configure la interrupción de ADC (si es necesario):
      a) Borrar el bit AD1IF.
      b) Seleccione la prioridad de interrupción de ADC.*/
      }
      //RUTINA DE SERIVICIO DE LA INTERRUPCION
      void __attribute__((__interrupt__, no_auto_psv)) _T1Interrupt(void){
      IFS0bits.T1IF = 0;
      tick++;
      AD1CON1bits.SAMP = 0; // Start converting
      while (!AD1CON1bits.DONE); // Conversion done?
      AD1CON1bits.DONE = 0; // Clear conversion done status bit
      data = ADC1BUF0;
      }
      //ESTA FUNCION SIRVE PARA EL USO DE LA FUNCION PRINTF
      int write(int handle, void *buffer, unsigned int len)
      {
      int i;
      switch (handle)
      {
      case 0: // handle 0 corresponds to stdout
      case 1: // handle 1 corresponds to stdin
      case 2: // handle 2 corresponds to stderr
      default:
      for (i=0; i

    • @ElectroOmar
      @ElectroOmar  3 года назад

      Yo creo que debes ponerlo al principio dentro del ciclo principal...para que este muestreando frecuentemente y hagas con ese dato en digital lo que tu quieras.

  • @yamilethayala2884
    @yamilethayala2884 2 года назад +1

    Hola podrías ayudarme con un circuito para autoclave con el dispositivo LM35 que al llegar a una temperatura de 40 grados se me active un LED y al aumentar a los 42 grados se me desactive según el tiempo programado por un timer se lo agradecería

    • @ElectroOmar
      @ElectroOmar  2 года назад

      Hola. Lo de los 40 grados no tiene problema es como cualquiera de los videos de la lista de reproducción. Para el timer que mencionas.... debes poner otro comparador en 42 y la salida en lugar de mandarlo al LED...lo mandas al trigger del 555. Solo Recuerda que se activa con un flanco de bajada cuando baja a 1/3 del Vcc.

  • @dianajanethgradizbaca8274
    @dianajanethgradizbaca8274 Год назад +1

    Como estableces la referencia se 12 V?

    • @ElectroOmar
      @ElectroOmar  Год назад +2

      Hola. Necesitarías a partir de un voltaje un poco más alto por ejemplo 14 crear la divisora der voltaje. Otra opción sería hacerlo con zener.

  • @quetagonzalez2307
    @quetagonzalez2307 3 года назад

    💡💡🌟👍

  • @danielmalagonmejia5933
    @danielmalagonmejia5933 2 года назад +1

    Cómo podría hacer eso mismo pero con 6 leds, lo estuve intentando por dos días y lo que me salió fue como un patrón en el cual encienden 1 si y el otro no, al aumentar la temperatura se va corriendo el patrón hasta que solo queda un LED encendido

    • @ElectroOmar
      @ElectroOmar  2 года назад +1

      Entiendo. ¿Ya revisaste este otro video del canal?
      ruclips.net/video/T65FQrvPpA8/видео.html

    • @danielmalagonmejia5933
      @danielmalagonmejia5933 2 года назад +1

      @@ElectroOmar sip aunque ya el instructor nos indico como hacerlo con relés y transistores, igualmente gracias.

    • @ElectroOmar
      @ElectroOmar  2 года назад +2

      Que estés bien. Saludos

  • @pnqg
    @pnqg 2 года назад

    Por qué será que cuando bajo la temperatura (para el cambio de rojo a verde) no prende el led verde, pero si prende al aumentarla?

    • @ElectroOmar
      @ElectroOmar  2 года назад +1

      Hola. Pon un voltímetro en el terminal inversor del amplificador cuyo LED de el problema y monitorea ese voltaje de referencia para rastrear la causa.

    • @pnqg
      @pnqg 2 года назад

      @@ElectroOmar Muchísimas gracias!

  • @silvagaliciacarlaitzel5540
    @silvagaliciacarlaitzel5540 Год назад +1

    Y si necesito programar con arduino, cómo sería?

    • @ElectroOmar
      @ElectroOmar  Год назад +1

      Necesitas acondicionar la señal para que la reciba el pin de entrada para hacer la conversión analógica digital. La entrada debe tener voltaje de 0 a 5 volts