Homepage

  • Projekte
  • Shop
  • Forum
Erweiterte Suche
  • Schnellzugriff
    • Unbeantwortete Themen
    • Aktive Themen
    • Suche
  • FAQ
  • Anmelden
  • Registrieren
  • Foren-Übersicht
  • Suche

Genauerer Regelweg

Antworten
  • Druckansicht
Erweiterte Suche
6 Beiträge • Seite 1 von 1
Karsten21
Beiträge: 1
Registriert: 12.11.2012, 15:00:26

Genauerer Regelweg

  • Zitieren

Beitrag von Karsten21 » 12.11.2012, 15:23:20

Moin Ulli,

Zunächst einmal herzlichen Dank für den netten DMX Dimmer :D
Die Komentare im Code sind etwas verwirrend wenn man nicht gleich den Taschnrechner zückt.
LINE 63: ist natürlich die Empfangsroutine für DMX
LINE 105: Der Timer wird bei 12Mhz alle 100usec und nicht alle 1ms aufgerufen
LINE 153: Das ist die ISR vom externen interrupt von der Zero cross detection
LINE 178: Timer für die Phasenanschnittberechnung ( alle 100usec )

Bei meinen Test war der Regelweg im unteren Bereich zu klein. Erst ab einem DMX datenwert von 75 fängt die Phasenanschnitt steuerung zu arbeiten. Logisch, denn es sind 90 Schritte a´100usec definiert und die Umrechnung nach val1 ergibt 0-128. Bleiben also nur ein nutzbarer Wertebereich von 75-255 also etwa 70% des Reglerweges.

Ich habe das mit einer kleinen Tabelle erweitert ( ist ja genug Platz da ):

Code: Alles auswählen

// map table with 255 values. Three times the same value scaled down at the end
uint8_t valMap[] = {90,89,89,88,88,87,87,...7,7,6,6,5,5,4,4,3,3,2,2,1,0,0};

//new calculation of val1
val1 = valMap[dmx_buffer[dmx_adresse]];
Natürlich kann man die Tabelle auch in´s PROGMEM legen. Jetzt habe ich den gesammten Fahrweg der Regler für den Dimmer :D

Wie wäre es mit etwas doxygen für die Kommentare?

Beste Grüße
Karsten
Nach oben

Benutzeravatar
Ulrich
Site Admin
Beiträge: 3054
Registriert: 29.02.2004, 18:12:19
Wohnort: Siegen
Kontaktdaten:
Kontaktdaten von Ulrich
Website

Re: Genauerer Regelweg

  • Zitieren

Beitrag von Ulrich » 22.11.2012, 14:36:12

Hallo,

Danke für die Anregung. Die Kommentare waren Falsch! Das war meine Schuld, habe die Software in der schnelle geschrieben, und die Kommentare nicht angepasst.

Wäre schön wenn die gesamte Tabelle gepostet wäre ;-)

Gruß
Uli
Nach oben

Rene
Beiträge: 7
Registriert: 12.11.2013, 12:06:56

Re: Genauerer Regelweg

  • Zitieren

Beitrag von Rene » 25.11.2013, 23:18:02

Hallo,

mir ist auch aufgefallen, dass der Regelweg besser sein kann.

Mit ein bisschen Mathe, erhält man folgende Punkte:

A(255|0)
B(0|90)

Wenn man davon ausgeht, dass der Regelweg linear ist, lässt sich damit folgende Gleichung ermitteln:
f(x) = -6/17x + 90

Jetzt nur noch für x die Werte 0 bis 255 einsetzen und schon hat man den Regelweg. Aber die Arbeit muss sich keiner machen, hab es ja schon gemacht ;)

Code: Alles auswählen

unsigned char valMap[256] = {
90,90,89,89,89,88,88,88,87,87,86,86,86,85,85,85,84,
84,84,83,83,83,82,82,82,81,81,80,80,80,79,79,79,78,
78,78,77,77,77,76,76,76,75,75,74,74,74,73,73,73,72,
72,72,71,71,71,70,70,70,69,69,68,68,68,67,67,67,66,
66,66,65,65,65,64,64,64,63,63,62,62,62,61,61,61,60,
60,60,59,59,59,58,58,58,57,57,56,56,56,55,55,55,54,
54,54,53,53,53,52,52,52,51,51,50,50,50,49,49,49,48,
48,48,47,47,47,46,46,46,45,45,44,44,44,43,43,43,42,
42,42,41,41,41,40,40,40,39,39,38,38,38,37,37,37,36,
36,36,35,35,35,34,34,34,33,33,32,32,32,31,31,31,30,
30,30,29,29,29,28,28,28,27,27,26,26,26,25,25,25,24,
24,24,23,23,23,22,22,22,21,21,20,20,20,19,19,19,18,
18,18,17,17,17,16,16,16,15,15,14,14,14,13,13,13,12,
12,12,11,11,11,10,10,10,9,9,8,8,8,7,7,7,6,6,6,5,5,5,4,
4,4,3,3,2,2,2,1,1,1,0,0};
Hier auch noch die passende Methode, um mal die beiden Regelwege gegeneinander zu testen:

Code: Alles auswählen

void dimtest() {
	unsigned int i;
	for(i=0; i <= 255; i++) {
		
		val1 = valMap[i];
		val2 = (255 - i)/2;
		val3=90;
		_delay_ms(10);	
	}
	val1=90;
	val2=90;
	val3=90;
}
Ich versuche gerade auch noch ein paar andere Anpassungen zu machen (z.B. die letzten Werte speichern und bei neustart des AVRs wiederherstellen). Wenn das fertig ist, werde ich das auch zur Verfügung stellen - vielleicht wird es ja jemand brauchen können.
Nach oben

djtronic
Beiträge: 14
Registriert: 18.12.2014, 15:35:13

Re: Genauerer Regelweg

  • Zitieren

Beitrag von djtronic » 23.12.2015, 11:16:05

Ich würde gerne dieses ältere Thema neu aufgreifen da ich mir den Dimmer zulege und die Sourcen verstehen will.

Grundsätzliche Funktionsweise wie ich es verstehe (bitte korrigiert mich):
Die ZERO CROSSING Schaltung erzeugt am Anfang einer jeden positiven Halbwelle einen Interrupt - nicht aber bei den negativen Halbwellen! Richtig?
Der Phasenanschnitt der negativen Halbwelle muss also aus dem Startzeitpunkt der positiven berechnet werden. Richtig?

Ein Timer (TIMER2_COMPA_vect) alle 100us = 0.1ms kann die drei SSRs durchschalten.

Schaue ich mir die Netzfrequenz mit 50Hz an, so ist jede Halbwelle 10ms lang. D.h. mit der Auflösung des Timers kann ich jede Halbwelle in 100 Schritte unterteilen was 0-100% entspricht. Die maximale Auflösung von 255 Schritten (DMX) ist damit nicht möglich (aber vermutlich auch nicht nötig 8)).

Die im letzten Beitrag gepostete Tabelle mappt jetzt wunderbar die 255 DMX Werte auf bis zu 90. Wieso aber 90?

Code: Alles auswählen

if(phase_off_count > 90) phase_off_count = 0;
Es kann dank dieser Codezeile nur 90% der positiven Halbwelle genutzt werden.

Was ist eigentlich mit der negativen Halbwelle?
Nach oben

Benutzeravatar
Ulrich
Site Admin
Beiträge: 3054
Registriert: 29.02.2004, 18:12:19
Wohnort: Siegen
Kontaktdaten:
Kontaktdaten von Ulrich
Website

Re: Genauerer Regelweg

  • Zitieren

Beitrag von Ulrich » 23.12.2015, 13:15:28

Bei der positiven Halbwelle schaltet der Optokoppler durch. Steigende und fallende Flanke sind in etwa der Nulldurchgang! Dadurch werden die Widerstände nicht so warm, da die Leistung nicht dauerhaft anliegt. Im mittel quasi 0,3Watt aufgeteilt auf 2 Widerstände. Ich verwende 0,6Watt Widerstände aber auch 1/4 Watt würde gehen.

So langsam erinnere ich mich wieder, was ich so vor fast 5 Jahren gemacht habe. Das Gerät ist seit dem in meiner Decke.

https://www.youtube.com/watch?v=sd2KP7H-8nU
Nach oben

djtronic
Beiträge: 14
Registriert: 18.12.2014, 15:35:13

Re: Genauerer Regelweg

  • Zitieren

Beitrag von djtronic » 23.12.2015, 14:18:43

Hm, jetzt hast Du gedanklich meinen anderen Beitrag fortgesetzt :)
Aber die Fragen aus dem jetztigen sind leider noch nicht verstanden :(
Nach oben

Antworten
  • Druckansicht

6 Beiträge • Seite 1 von 1

Zurück zu „DMX 3 Kanal Dimmer“



  • Foren-Übersicht
  • Alle Zeiten sind UTC+01:00
  • Alle Cookies löschen

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de

Datenschutz | Nutzungsbedingungen

 

 

sitemap  |    |  datenschutz   |  impressum