logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega8][c] układ sterowania MOC3041

wojtek1984 13 Maj 2009 13:26 1373 2
REKLAMA
  • #1 6524754
    wojtek1984
    Poziom 12  
    Robie prosty układ do sterowania 3 wyjsciami na MOC3041 i mam mały problem z programem. Chciałem zrobić aby jeden przycisk załączał sterowanie i układ w zależności od temperatury sterował wysciami a drugi wyłączał. Zależność od temperatury działa i załączanie i wyłączanie też ale nie mogę tych dwóch czynności zgrać w jedno. Bo jak wyłączę to na chwile zatrzymuje ale potem nadal działa zależność temperatury. Szukam kogoś kto by pomógł w napisaniu programu bo chce zrobić układ w którym by sie załączało sterowanie i ustawiało temperaturę oczekiwana do osiągnięcia za pomocą + i - i wyłączało układ.
  • REKLAMA
  • Pomocny post
    #2 6524881
    Dr.Vee
    VIP Zasłużony dla elektroda
    Spróbuj tak:
    /* zmienna globalna */
    static uint8_t regulacja_temperatury = 1;
    
    if(bit_is_clear(PRZYCISKI_PIN_PORT,PRZYCISK_START))
    {
        MOC3041_1_ON;
        MOC3041_2_ON;
        MOC3041_3_ON;
        regulacja_temperatury = 1;
    }
    else if(bit_is_clear(PRZYCISKI_PIN_PORT,PRZYCISK_STOP))
    {
        MOC3041_1_OFF;
        MOC3041_2_OFF;
        MOC3041_3_OFF;
        regulacja_temperatury = 0;
    }
    else if(regulacja_temperatury)
    {
        if(decicelsius>190)
        {
            MOC3041_1_ON;
            MOC3041_2_ON;
            MOC3041_3_ON;
        }
        else
        {
            MOC3041_1_OFF;
            MOC3041_2_OFF;
        }
    }

    Jeszcze trochę wypadałoby dodać do programu (regulacja progu, histereza itp).

    Pozdrawiam,
    Dr.Vee
  • #3 6524928
    wojtek1984
    Poziom 12  
    Działa załączanie i wyłączanie. Nie ma regulacji po wyłączeniu ale jeszcze MOC 1 i 2 miga ( załącza sie i wyłącza po przekroczeniu 19`C ).
    Pozdrawiam.

    Już rozwiązałem ten problem i załączam działającą wersje. Szukam jeszcze kogoś kto by pomógł do tego dopisać ustawianie oczekiwanej temperatury przed startem za pomocą 2 przycisków(+ i -).

    
    static uint8_t regulacja_temperatury =0;
    static uint8_t temp_produkt=0;
    
    	if(bit_is_clear(PRZYCISKI_PIN_PORT,PRZYCISK_START))
    	{
    	    MOC3041_1_ON;
        	    MOC3041_2_ON;
                MOC3041_3_ON;
     	    regulacja_temperatury = 1;
    	}
    	else if(bit_is_clear(PRZYCISKI_PIN_PORT,PRZYCISK_STOP))
    		{
        		MOC3041_1_OFF;
      		MOC3041_2_OFF;
        		MOC3041_3_OFF;
      		regulacja_temperatury = 0;
    		}
    	else if(regulacja_temperatury)
    	{
        		if(temp_produkt>190)
        		{
     		MOC3041_1_ON;
           		MOC3041_2_ON;
                    MOC3041_3_ON;
        		}
        		else
    		if(temp_produkt<=190)
        		{
            	MOC3041_1_OFF;
         		MOC3041_2_OFF;
        		}
    	}
    
    
    	return(0);
    }
REKLAMA