• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs Juli 2025.
    Thema: "Unscharf"

    Nur noch bis zum 31.07.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüführung

AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

wird wohl das hier sein

Code:
#include <avr/io.h> 
#include <avr/interrupt.h> 
#include <stdint.h>
#include <util/delay.h>

#include "IR_drv.h"

/* Macros for IR LED */
#define LED_ON()		IR_PORT |= (1<<IR_PIN)
#define LED_OFF()		IR_PORT &= ~(1<<IR_PIN)

//#define	PULSE_32k()		LED_ON(); _delay_us(15.24);	LED_OFF(); _delay_us(15.24)
// execution times of Port Clear/Set are longer because of 1MHz clock so we decrease them...
#define	PULSE_32k()		LED_ON(); _delay_us(14);	LED_OFF(); _delay_us(10)
#define PULSE_38k()		LED_ON(); _delay_us(13.15);	LED_OFF(); _delay_us(13.15)
#define PULSE_38_4k()	LED_ON(); _delay_us(12);	LED_OFF(); _delay_us(8)
//#define PULSE_38_4k()	LED_ON(); _delay_us(13.02);	LED_OFF(); _delay_us(13.02)
//#define PULSE_40k()		LED_ON(); _delay_us(12.5);	LED_OFF(); _delay_us(12.5)
#define PULSE_40k()		LED_ON(); _delay_us(12);	LED_OFF(); _delay_us(4)


void IR_toggle(uint8_t camera_type){
	uint16_t i;
	uint8_t j,k;

	uint16_t mask;
	uint16_t address;
	uint16_t cmd;

	/* we disable interrupts for perfect timing */
	cli();
	switch(camera_type){
		case 0:	/* Canon RC-1 Protocol */
			for(i = 0; i < 16; i++){
				PULSE_32k();
			}
			_delay_ms(7.33);
			for(i = 0; i < 16; i++){
				PULSE_32k();
			}
			break;
		
		case 1:	/* Nikon ML-L3 Protocol */
			for(j = 0; j < 2; j++){
				for(i = 0; i < 77; i++){
					PULSE_38_4k();
				}
				_delay_ms(27.83);
				for(i = 0; i < 15; i++){
					PULSE_38_4k();
				}
				_delay_ms(1.58);
				for(i = 0; i < 16; i++){
					PULSE_38_4k();
				}
				_delay_ms(3.58);
				for(i = 0; i < 16; i++){
					PULSE_38_4k();
				}
				if(!j)
					_delay_ms(63);
			}
			break;
		case 2:  /* Pentax IR F */
			for(i = 0; i < 494; i++){
				PULSE_38_4k();
			}
			_delay_ms(3);
			for(j = 0; j < 7; j++){
				for(i = 0; i < 38; i++){
					PULSE_38_4k();
				}
				_delay_ms(1);
			}		
			break;
		case 3: /* Sony */
			address = 0x1E3A;
			cmd = 0x2D;
			for(k = 0; k<5; k++){
				mask = 1;
				/* Send Start-Burst */
				for(i = 0; i < 96; i++){
					PULSE_40k();
				}
				_delay_us(640);
				j=0;
				/* Send CMD; LSB first */
				while(j++ <7){
					if(cmd & mask){
						for(i = 0; i < 48; i++){
							PULSE_40k();
						}
					}
					else{
						for(i = 0; i < 24; i++){
							PULSE_40k();
						}
					
					}
					_delay_us(640);
					mask <<= 1;
				}
				j=0;
				mask = 1;
				/* Send Adress; LSB first */
				while(j++<13){
					if(address & mask){
						for(i = 0; i < 48; i++){
							PULSE_40k();
						}
					}
					else{
						for(i = 0; i < 24; i++){
							PULSE_40k();
						}
					
					}
					_delay_us(640);
					mask <<= 1;
				}
				_delay_ms(11);
			}
			break;
	}
	sei();
}
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Naja, vielleicht kann Master das ja auch in der FW unterbringen. Gibt sicherlich auch welche die haben mehrere Kameras vom selber Hersteller, da wäre es sicher besser, wenn man dann direkt am Trigger das regeln könnte.

Ich werde aber ggf mal probieren, das selber anzupassen. Brauche aber die FW 1.01
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Also ich habe die Timings gerade nochmal geprüft und eigentlich siehts auch alles voll in Ordnung aus.
Ich habe die Pentax Routine (wie fast alle anderen) halt auch Blind programmiert, ich kann hier nichts austesten an anderen Kameras. Im Internet findet man auch unterschiedliche Pentax Timings, die einen sagen:
13ms Puls+3ms Pause+7 Pulse à 1ms mit je 1ms Pause
die anderen sagen
15ms Puls+5ms+7 Pulse à 1ms mit je 1ms Pause

PS: Kann es sein, das auf der ersten Seite noch die FW 1.00 ist? Habe auf meinem die 1.01 drauf
Ja ich habe "heimlich" den Fehler mit dem Wakeup korrigiert (siehe Bedienungsanleitung), komme bloß nicht dazu das wieder online zu stellen.

Ich werde mal in der nächsten Firmware einbauen, dass das OSCCAL Register modifiziert werden kann (das ist der Kalibrierungswert für den Oszillator)

Achja noxx... kannst du vielleicht das Piepen mal mit deiner Soundkarte und Mikro aufnehmen und mal schauen wie hoch der Piepton ist? Normalerweise sollte das so 4,6-4,8 Khz sein (kannst du z.B. Audacity nehmen)
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

...

Achja noxx... kannst du vielleicht das Piepen mal mit deiner Soundkarte und Mikro aufnehmen und mal schauen wie hoch der Piepton ist? Normalerweise sollte das so 4,6-4,8 Khz sein (kannst du z.B. Audacity nehmen)


Vom Trigger? In einer bestimmten Situation, piept ja nicht immer das Ding!

Gruss
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Vom Trigger? In einer bestimmten Situation, piept ja nicht immer das Ding!

Gruss
Nimm einfach mit Audacity auf wenn du z.B. eine Funktion verlässt. Dann stoppst du die Aufnahme und Zoomst in ein "Piep-Puls" und misst dann die Zeit von Nulldurchgang zu Nulldurchgang.

Oder anders. Starte einfach den Bulb Mode und vergleiche den Zeitzähler mit einer Stoppuhr nach z.B. 5 Minuten und sag dann die Abweichung. Ich bin gerade schon dabei das in das Settingsmenü einzubauen, kann sich nur noch um Stunden handeln :)
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Also ich habe die Timings gerade nochmal geprüft und eigentlich siehts auch alles voll in Ordnung aus.

nun ja ohne Quarz ist schon reichlich Abweichung möglich, wie ich feststellen durfte sind die Teiler, delays auch nicht optimal, man erreicht mit verschiedensten on/off ähnliche "kHz" , ich beziehe mich auf den Code vom SmartTrigger, evtl. ist ein ON mehr und dafür ein OFF weniger sinnvoll, oder umgekehrt, mein Oszi war jedenfalls mit den SmartTrigger ON/OFF Timing eher unzufrieden, kann durchaus an meinem internen RC 8 MHz liegen vom verwendeten Atmel

Ich werde mal in der nächsten Firmware einbauen, dass das OSCCAL Register modifiziert werden kann (das ist der Kalibrierungswert für den Oszillator)
halte ich für ne gute Idee, ggfs noch Feintuning über on/off und Laufvariable i der Schleife
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

halte ich für ne gute Idee, ggfs noch Feintuning über on/off und Laufvariable i der Schleife
Ja ich habe es schon drin glaube ich :D.
Also anbei jetzt 1.02 Beta mal zum testen.

Im Optionsmenü gibts jetzt ein "Osc.Cal." Der Wert kann zwischen 0-100 eingestellt werden. 50 ist "+-0" wird der Wert verringert "Tickt" der MultiTigger langsamer wird er erhöht schneller.

Also ich habe meinen Trigger jetzt auf 10 Minuten auf die Sekunde genau. Noxx kannst du das mal testen?!

Vorgehensweise:
Bulb starten 2-4 Minuten warten und schauen ob er zu schnell oder zu langsam tickt.
Wenn er zu schnell tickt im Optionsmenü den Osc.Cal. etwas erhöhen (erstmal mit +-10 anfangen) ansonsten etwas verringern => Taste lang drücken => Saveto EEPROM => Ja dann den Trigger ausmachen und wieder einschalten und wieder messen.
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

...

Oder anders. Starte einfach den Bulb Mode und vergleiche den Zeitzähler mit einer Stoppuhr nach z.B. 5 Minuten und sag dann die Abweichung. Ich bin gerade schon dabei das in das Settingsmenü einzubauen, kann sich nur noch um Stunden handeln :)

Nach 5 Minuten auf dem Trigger stand meine Stoppuhr auf 04:57

Gruss
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Nach 5 Minuten auf dem Trigger stand meine Stoppuhr auf 04:57

Gruss
Is ja fast nicht der Rede wert. Kannst ja trotzdem mal versuchen zu kompensieren. Vermutlich auf 46 stellen dann passt es.
Aber 20cm... da muss schon etwas anderes nicht ganz in Ordnung sein. Hat jemand eine echte Pentax IR F und kann man Scopen?

Blöde frage... ich habe nicht zufällig die 560Ohm und 6,2 Ohm vertauscht? (R8 vs R14)
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Is ja fast nicht der Rede wert. Kannst ja trotzdem mal versuchen zu kompensieren. Vermutlich auf 46 stellen dann passt es.
Aber 20cm... da muss schon etwas anderes nicht ganz in Ordnung sein. Hat jemand eine echte Pentax IR F und kann man Scopen?

Blöde frage... ich habe nicht zufällig die 560Ohm und 6,2 Ohm vertauscht? (R8 vs R14)

47 scheint zu passen

Hier mal "dein Werk" ;)


Gruss
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh


Nee, im Gegenteil. Jetzt kommt nicht mal mehr 1 Bild :confused:

Naja, vielleicht hast ja noch ne Idee?!?

Nicht das ich IR unbedingt brauche, aber wenn er schonmal da ist ....


Gruss

PS: Hat FW 1.01 beim Start nicht auch die FW-Version angezeigt? 1.02 tuts nicht mehr.
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

PS: Hat FW 1.01 beim Start nicht auch die FW-Version angezeigt? 1.02 tuts nicht mehr.
Nö, war immer nur im Options-Menü zu sehen. Beim start kommt nur kurz die Batteriespannung.

Stellt mal zum Spaß auf 54 oder so und schau obs dann besser wird. Evtl. ist es doch keine 38kKz Modulation sondern eher 36 oder 32 kHz.

Hat noch jemand ne Pentax und meinen MultiTrigger?
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

Nö, war immer nur im Options-Menü zu sehen. Beim start kommt nur kurz die Batteriespannung.

Stellt mal zum Spaß auf 54 oder so und schau obs dann besser wird. Evtl. ist es doch keine 38kKz Modulation sondern eher 36 oder 32 kHz.

Hat noch jemand ne Pentax und meinen MultiTrigger?

54 bringt nix, aber 60. Da klappt es immer :). Kann aber auch sein, das 58/59 oder 61/62 optimaler sind.

Und nun? Sag was ich testen soll...
 
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

danke....wenn ich irgendwie den optimalsten wert rausfinden kann, sag bescheid.

gruss


PS: Mit 60 als Wert habe ich aus 12m entfernung knipsen können, weiter konnte ich jetzt nicht testen....denke da geht aber noch was
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

danke....wenn ich irgendwie den optimalsten wert rausfinden kann, sag bescheid.

gruss
Ich habe gerade nochmal im Internet etwas recherchiert und dort bin ich auf einen Duty-Cycle von 27% gestoßen (recht ungewöhlich für IR meist ist das 50% => also 50% der Zeit IR an; 50% aus), aber ich baue das morgen oder übermorgen mal darauf um, vielleicht ist das ja der Kniff daran...
Irgenwie schaffen wird das schon... immerhin hast du nen Progger, was die Sache etwas beschleunigen dürfte.


PS: Mit 60 als Wert habe ich aus 12m entfernung knipsen können, weiter konnte ich jetzt nicht testen....denke da geht aber noch was
Das ist mal ein ziemlich ordentlicher Wert. Scheint sich ja gelohnt zu haben, dass ich die TSAL7200 anstatt der SFH203 genommen habe.
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

bin ich auf einen Duty-Cycle von 27% gestoßen (recht ungewöhlich für IR meist ist das 50% => also 50% der Zeit IR an; 50% aus), aber ich baue das morgen oder übermorgen mal darauf um, vielleicht ist das ja der Kniff daran...

hmm, das sieht so aus wie verändertes on/off ? was mein Oszi schon merkte

ich meine ja auch der Strom durch die IR hält sich nicht an 50% on off :confused: ;)

PS. LED Fading ist auch so ein Thema, die Stromkennlinie ist z.B. für eine Helligkeitsregelung ziemlich krumm, evt. liegts doch an den Diodenkennlinien das 50% on/off nicht optimal ist .....
 
Zuletzt bearbeitet:
AW: DIY MultiTrigger - Intervall, HDR, Blitz, Lichtschranke, LZB, Strobo|LCD, Menüfüh

hmm, das sieht so aus wie verändertes on/off ? was mein Oszi schon merkte

ich meine ja auch der Strom durch die IR hält sich nicht an 50% on off :confused: ;)
Nein daran liegts denke ich nicht, das bewegt sich wohl eher im Nanosekundenbereich.
Die SFH415 z.B. liegt bei 500ns 10%->90% und 90%->10% (also sogar symmetrisch)

Die Asymmetrie der Pulse kommt eher durch die geringere Taktrate des µCs zustande. Port setzen (also PORT |= (1<Pxy) ) geht schneller als Rücksetzen (PORT &= ~(1<<Pxy)), darum musste ich die Delays entsprechend anpassen und die Symmetrie zu erreichen:
Code:
#define PULSE_38_4k()	LED_ON(); _delay_us(12);	LED_OFF(); _delay_us(8)
Alternativ kann man das aber auch mit einem XOR erreichen muss ich bei Gelegenheit mal schauen wie sich das auswirkt.
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten