Hallo, ich habe kürzlich den DMX Transceiver von Henne gebaut. http://www.hoelscher-hi.de/hendrik/light/dmxled.htm Habe dann die Board.hex draufgezogen um das Board zu überprüfen, da war alles okay. Danach hab ich die LED Firmware überspielt. Soweit so gut. Da ich daheim kein DMX Pult habe, wollte ich den Transceiver mittels 2 LEDs und den internen Programmen testen. Jedoch leuchten die LED's permanent, also habe ich die Outputs des ATMEGA8151 an den Oszi gehängt. Setze ich den Transceiver unter Strom ist das PWM Signal zunächst sehr breit, fast auf Gleichstromniveau, jedoch wird es mit der Zeit immer schmaler(siehe Anhang), bis es einbricht und nur noch Gleichstromcharakter hat. Danach blinkt kurz die grüne StatusLED. Sobald ich den Transceiver vom Strom trenne und wieder anschließe geht das Spiel wieder von vorne los. Kann das ein Problem mit dem Taktgeber sein? Habe einen 8MHz Quarzoszilator anstatt des Resonators eingebaut, allerdings dürfte das ja kein Problem mit der Firmware haben oder etwa doch? Gruß Thomas
@ Thomas Bauer (baua) >Setze ich den Transceiver unter Strom ist das PWM Signal zunächst sehr >breit, fast auf Gleichstromniveau, jedoch wird es mit der Zeit immer >schmaler(siehe Anhang), bis es einbricht und nur noch >Gleichstromcharakter hat. Danach blinkt kurz die grüne StatusLED. >Sobald ich den Transceiver vom Strom trenne und wieder anschließe geht >das Spiel wieder von vorne los. Klingt nach einem Einschalttest in der Software. >Kann das ein Problem mit dem Taktgeber sein? Habe einen 8MHz >Quarzoszilator anstatt des Resonators eingebaut, allerdings dürfte das >ja kein Problem mit der Firmware haben oder etwa doch? Das ist kein Problem.
Hast du die beiden Eingangsleitungen mal kurzgeschlossen (miteinander verbunden)? Das ist ein Differenzverstärker am Eingang. Wenn sich die Eingänge da irgendwas einfangen, dann wertet die Schaltung alles mögliche aus. Und einfangen können sich die genug.
>Klingt nach einem Einschalttest in der Software. Wenn ich den Transceiver anschalte und alle DIP Schalter auf OFF habe hat ist der Pin einfach nur auf VCC. Das PWM Signal kommt erst wenn man den 10ten DIP umlegt-> Standalonebetrieb. Wobei eig. erst dann ein Programm laufen dürfte, wenn ich einen einen der ersten 3 DIPs umlege. Henne schreibt dazu: Stand Alone Mode Durch Einschalten von DIP10 wird der Stand Alone Mode aktiviert. Folgende Einstellungen sind über die übrigen DIPs möglich: DIP1-3 Programm DIP5-8 Geschwindigkeit DIP9 Strobe >Hast du die beiden Eingangsleitungen mal kurzgeschlossen (miteinander >verbunden)? > > >Das ist ein Differenzverstärker am Eingang. Wenn sich die Eingänge da >irgendwas einfangen, dann wertet die Schaltung alles mögliche aus. Und >einfangen können sich die genug. Hab ich grade probiert, aber hat keine Änderung hervorgebracht. Ich hab die Software mal mit angehängt, falls da jemand etwas mehr rauslesen kann von euch. Meine letzten und einzigen Programmierungen waren vor ein paar Jahren mit ABEL. Da kann ich nur die grobe Funktion aus der Datei erkennen.
Thomas Bauer schrieb: > Hab ich grade probiert, aber hat keine Änderung hervorgebracht. Vergiss das. Ich hab überlesen, dass du im Testmodus 'manuell' bist. > Das PWM Signal kommt erst wenn man den 10ten DIP umlegt-> > Standalonebetrieb. Wobei eig. erst dann ein Programm laufen dürfte, > wenn ich einen einen der ersten 3 DIPs umlege. Nope. Du hast 3 Bits an diesem Eingang und 8 Demoprogramme. Auch das Programm 0 ist ein Programm. Nach allen was ich im Code gesehen habe könnte das Verhalten korrekt sein. Hier sind die 8 Muster
1 | .org PAT0 ;on |
2 | .dw 0b0111111111 |
3 | .dw 0b1111111111 |
4 | |
5 | .org PAT1 ;Lauflicht |
6 | .dw 0b0000000001 |
7 | .dw 0b0000000010 |
8 | .dw 0b0000000100 |
9 | .dw 0b0000001000 |
10 | .dw 0b0000010000 |
11 | .dw 0b0000100000 |
12 | .dw 0b0001000000 |
13 | .dw 0b0010000000 |
14 | .dw 0b1100000000 |
15 | |
16 | .org PAT2 ;ping pong |
17 | .dw 0b0000010000 |
18 | .dw 0b0000100000 |
19 | .dw 0b0000001000 |
20 | .dw 0b0001000000 |
21 | .dw 0b0000000100 |
22 | .dw 0b0010000000 |
23 | .dw 0b0000000010 |
24 | .dw 0b0100000000 |
25 | .dw 0b1000000001 |
26 | |
27 | .org PAT3 ;ping pong |
28 | .dw 0b0000011000 |
29 | .dw 0b0000100100 |
30 | .dw 0b0001000010 |
31 | .dw 0b1010000001 |
32 | |
33 | .org PAT4 ;pfeil |
34 | .dw 0b0000011000 |
35 | .dw 0b0000111100 |
36 | .dw 0b0001111110 |
37 | .dw 0b0011111111 |
38 | .dw 0b0011100111 |
39 | .dw 0b0011000011 |
40 | .dw 0b1010000001 |
41 | |
42 | .org PAT5 ;RGB |
43 | .dw 0b0001001001 |
44 | .dw 0b0011011011 |
45 | .dw 0b0010010010 |
46 | .dw 0b0110110110 |
47 | .dw 0b0100100100 |
48 | .dw 0b1101101101 |
49 | |
50 | .org PAT6 ;RGB spread |
51 | .dw 0b0100010001 |
52 | .dw 0b0101110011 |
53 | .dw 0b0001100010 |
54 | .dw 0b0011101110 |
55 | .dw 0b0010001100 |
56 | .dw 0b1110011101 |
57 | |
58 | .org PAT7 |
59 | .dw 0b0001001001 ;RGB single change |
60 | .dw 0b0001001011 |
61 | .dw 0b0001011011 |
62 | .dw 0b0011011011 |
63 | .dw 0b0011011010 |
64 | .dw 0b0011010010 |
65 | .dw 0b0010010010 |
66 | .dw 0b0010010110 |
67 | .dw 0b0010110110 |
68 | .dw 0b0110110110 |
69 | .dw 0b0110110100 |
70 | .dw 0b0110100100 |
71 | .dw 0b0100100100 |
72 | .dw 0b0100100101 |
73 | .dw 0b0100101101 |
74 | .dw 0b0101101101 |
75 | .dw 0b0101101001 |
76 | .dw 0b1101001001 |
Das Muster '0' hat einen Bitunterschied im 7. Bit. Ich würde das als 'Blink diese LED' ansehen. Auch hab ich in der Software was gelesen, dass es da wohbl einen Fader von einem Zustand in den nächsten gibt. Ich bin allerdings noch nicht durchgestiegen, wie das funktioniert. Was ist mit den restlichen Mustern? Sehen die so aus, wie man aus den Mustertabellen erwarten könnte?
Das is das Seltsame. Das Programm läuft an sobald ich DIP 10 umlege, es macht dabei keinen unterschied ob dabei einer der anderen DIPs geschalten ist oder währenddessen geschalten wird. -> Keines der Muster wird abgerufen. Ich habe momentan an den ersten 2 Outputs eine LED geklemmt, zur optischen überprüfung und mit Oszi alle 8 AD(Output1-8) Pins abgerufen, die senden alle das gleiche Signal (Synchron) Dass das Mäuseklavier korrekt verlötet ist, dessen bin ich mir sicher, hab ich auch mit der Board.hex (Testfile) überprüft. Im Code steht etwas, von reset pattern. Hat das vllt. was zu tun mit den Programmpattern?
1 | ldi ZH, high(PAT0*2) ;get next step |
2 | lds tempH, StepCnt |
3 | mov ZL, tempH |
4 | lsl ZL |
5 | inc tempH |
6 | sts StepCnt, tempH |
7 | lpm tempH, Z+ |
8 | sts NewStepL, tempH |
9 | lpm tempH, Z |
10 | sts NewStepH, tempH |
11 | |
12 | sbrs tempH, 1 ;reset pattern? |
13 | rjmp chs_step_ret |
14 | |
15 | in ZL, PinC |
16 | com ZL |
17 | andi ZL, 0b00000111 ;isolate pattern |
18 | ldi tempH, 10 |
19 | mul ZL, tempH |
20 | sts StepCnt, r0 ;save pattern |
21 | |
22 | rjmp chs_step_ret |
Thomas Bauer schrieb: > Im Code steht etwas, von reset pattern. Hat das vllt. was zu tun mit den > Programmpattern? das 'reset' ist hier als Verb gebraucht. Also 'setzte den Musterzähler' auf Anfang zurück. Logisch: irgendwann ist jedes Muster zu Ende und beginnt wieder von vorne. Es wird also auf den Anfang 'reset'-et.
Ich werde mir denk ich mal die Tage ein DMX Interface ausleihen oder vllt. auch eins selbermachen wenn ich was gutes finde. Letzenendes ist ja nur der DMX Modus des Transceivers von Relevanz, da ich die Programme ja nur zum testen ablaufen lassen wollte. Dennoch dickes Dankeschön so far für die Hilfe!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.