STROBO-FUNKTION IN IRS DMX

OP #6183208
Lesenswert?

Hallo und zunächst einmal vielen Dank für Ihre Hilfe
Ich versuche meine SUN-STAR Mini-Waschmaschine zu reparieren
Ursprünglich wurde ein STC 90C52RC-Mikroprozessor mitgeliefert, der vor 
Alterung gestorben ist
Alle anderen Teile und Zubehörteile sind in gutem Zustand und 
funktionieren ordnungsgemäß
Ich beabsichtige, es durch ATMEGA162 zu ersetzen, das 
Pin-zu-Pin-kompatibel ist
Das ursprüngliche Board muss nur ein paar kleinere Änderungen vornehmen
wie man den Kristall und die zugehörigen Kondensatoren wechselt und die 
10K-Widerstandsarrays entfernt, die PULL-UP machen
das in der atmega162 sind nicht nötig
Ich brauche nur ein kleines Detail, um es zu erreichen
versuche verschiedene Wege, aber ohne Erfolg
Mir fehlt die STROBO-Funktion im IRS von timer1
Das pwm der LEDs funktioniert genau wie die DIMMER MASTER-Funktion
Ich hoffe Ihre Kommentare oder Vorschläge, wie es geht
Vielen Dank fürs Lesen. Ich habe mich für meine Hilfe interessiert
1
// *************** ISRs ****************
2
ISR (TIMER1_OVF_vect)                      
3
{            //half step
4

5

6
   unsigned int DimmMaster;
7
  static unsigned char pwm_counter0 = 0;
8
  pwm_counter0++;
9
  static unsigned char pwm_counter1 = 0;
10
  pwm_counter1++;
11
  static unsigned char pwm_counter2 = 0;
12
  pwm_counter2++;
13

14
  if(pwm_counter0 == 255)
15
  {
16
    pwm_counter0 = 0;
17
  }
18

19
  if(pwm_counter1 == 255)
20
  {
21
    pwm_counter1 = 0;
22
  }
23

24
  if(pwm_counter2 == 255)
25
  {
26
    pwm_counter2 = 0;
27

28
  }           
29

30

31
            DimmMaster=DmxRxField[4];
32
            DimmMaster=DimmMaster*DmxRxField[7];
33

34
            DimmMaster=(DimmMaster>>8);
35
            if ((unsigned char)(DimmMaster)>pwm_counter0) //ROJO  //RED  
36
            {
37
                PORTB &= ~(1<<PB0);                //LED OFF (APAGADO)
38
            }else{
39
                PORTB |= (1<<PB0);                //LED ON  (ENCENDIDO)        
40
            }
41
            
42

43
            DimmMaster=DmxRxField[5];
44
            DimmMaster=DimmMaster*DmxRxField[7];
45

46
            DimmMaster=(DimmMaster>>8);
47
            if ((unsigned char)(DimmMaster)>pwm_counter1)  //VERDE  //GREEN     
48
            {
49
                PORTB &= ~(1<<PB1);                //LED OFF (APAGADO)
50
            }else{
51
                PORTB |= (1<<PB1);                //LED ON  (ENCENDIDO)        
52
            }
53

54

55
            DimmMaster=DmxRxField[6];
56
            DimmMaster=DimmMaster*DmxRxField[7];
57

58
            DimmMaster=(DimmMaster>>8);
59

60
            if ((unsigned char)(DimmMaster)>pwm_counter2) //AZUL  //BLUE  
61
            {
62
                PORTB &= ~(1<<PB2);                //LED OFF (APAGADO)
63
            }else{
64
                PORTB |= (1<<PB2);                //LED ON  (ENCENDIDO)        
65
            } 
66
 
67
 
68

69

70

71
}
OP #6183346
Lesenswert?

Hallo und danke für das Interesse
Die Wahrheit ist, dass der ursprüngliche Name des Teams
Die Chinesen wollten eigentlich einen Badeanzug anzünden
dass auf die gleiche Weise in einer anderen Sprache einschließlich 
Englisch etwas anderes anzeigt
Ich habe 8 gleiche Einheiten und dies ist die erste, die nicht mehr 
funktioniert
 Deshalb habe ich Interesse daran, ein Programm zu erstellen, um sie zu 
reparieren
 Es ist keine große Sache, aber die Teams zusammen sorgen für eine gute 
Atmosphäre und sind beeindruckend
Hier ist ein Werbevideo des Herstellers vor vielen Jahren, besagtes 
Gerät wird nicht mehr hergestellt
https://youtu.be/wafNUcARt-o

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren