@DJSoyer
aeh, Du liest schon Deine PNs??weil da hab ichs Dir geschrieben.
Das im gelben Rahmen ist der USBN und der kommt von unten auf die Platine.
aber pass auf, dass den richtig rum einloetest
@DJSoyer
aeh, Du liest schon Deine PNs??weil da hab ichs Dir geschrieben.
Das im gelben Rahmen ist der USBN und der kommt von unten auf die Platine.
aber pass auf, dass den richtig rum einloetest
ich komm bis dahin:
IF wird in der 7170 erkannt, im USB-Fernzugang erscheint ein unbekanntes Geraet und im Geraetemanager siehts wie im angehaengten Bild aus:
Das IF wird net von DMXC erkannt. ;-(((((((8
2h spaeter:
nu gehts. Vermutlich liefert die 7170 nur 100mA Strom. Mit nem externen Netzteil gehts.
So nu hab ich wenigstens wieder Verwendung fuer die 7170. Als Testobjekt war se mir zu schade.
Danke Gluffi
baeh der stefan war schneller:
http://www.ne555.at/atmel-avr-mikr…echnik/383.html
einen Taktgenerator mit einem NE555 bauen, (muss kein genauer Takt sein)
http://www.netzweber.ch/?p=75
Frequenz kannst hier berechnen:
http://www.elektronik-kompendium.de/sites/slt/0310131.htm
am Oszi gibts einen Calibrator, der liefert ein Rechtecksignal.
einen Attiny nehmen und einen Port proggen, der abwechselnd high und low wird. Diesen Port an xtal1 und beide AVRs mit GND verbinden
(Das ist der Vorteil von SMD)
Das Doppelblinken kann auch besagen, dass "nicht alle benötigten Kanäle empfangen" werden. Stell ma alle Dip-Schalter auf 0, wenn Du auf Startadresse 1 senden willst.
Bin mir bei Hennes Transceiver gerade nicht sicher, ob zu der (Bin)-Adresse der Dipschalter nicht noch 1 dazugezaehlt werden muss.
(und keine Lust, im Quellcode nachzukucken).
Die Fuses hast richtig gesetzt?
Low: 0x3F
High 0x9F
Wenn Du einen Sender hast, der mehr wie 512 Byte sendet, ist es relativ einfach:
Voraussetzung: Die Bytes des zweiten Universe kommen nach den Bytes des ersten Universe
Die Nummer fuer das Startbyte fuer das zweite Universe ist bekannt (kann man ueber ein Maeuseklavier oder LCD +Buttons setzen)
Das 2te Universe haengt hinter dem ersten
nimm einen ATMega32 (der hat 2k Ram, wegen dem Zwischenspeichern, der eingehenden DMX-Signale)
Bau einen DMX-In und DMX-Out um den ATMega und den restlichen Kleinkram drumherum.(Schematics findest z.B. bei Digital Enlightenment, FX-5-, DMX-Dimmer- und DMX-Multiplexer-Projekt).
Schreib die DMX-Reception ISR (aus dem o.a. DMX-Dimmer Projekt) um, indem Du alle Byte verwirfst, die Du net brauchst (kleiner der Nummer des Startbyte fuer das 2te Universe), die restlichen Bytes speicherst zwischen.
Klau die Sendefunktion aus dem o.a. DMX-Multiplexer Projekt und sende die zwischengespeicherten Bytes ueber DMX-Out fuer das 2.te Universe
Mehr oder weniger Cut Copy und Paste
Das Problem ist nicht, mehr wie 512 Byte zu uebertragen, sondern die Frequenz, da DMX mit 250kBit uebertragen wird. Wenn 2 Universen uebertragen willst, liegt die Refreshrate bei nur noch ca. 25Hz
das LCD ist nicht initialisert...
vermutlich mein Fehler, probier ma dieses hex-file:
sry
hast schon am Kontrast Poti rumgedreht??
bzw. latuer volle Zeichen nur in einer Zeile oder in beiden?
Zitat
Am Ausgang sollte ein sauberes Rechteck mit ca. 50% DutyCycle anliegen, dessen Flanken den Nulldurchgängen entsprechen.So stehts auf der Seite von Hendrik, wo du das Bild her hast
tsss...
eigentlich ist das nur Rumgezicke und hat nix mit dem Problem vom Fleckenzwerg zu tun, aber ich kanns mir net verkneifen:
erstens steht auf dem Bild drunter, dass es von H. Hoelscher ist (ist ja nur zur Verdeutlichung, wo man suchen koennte und ich hab nie behauptet, dass das auf meinem Mist gewachsen ist),
zweitens was hat das mit der Problemloesung zu tun, hmmm?
Schon mal an die ZC-Detection gedacht?
Eine einfache Nulldurchgangserkennung:
[Blocked Image: http://www.hoelscher-hi.de/hendrik/light/dmxdimmer/zc_sch.gif]
Einfach mal mit nem Oszi am Optokoppler (ZC-Pin, der geht zu einem Pin am MC) messen, was da rauskommt. Sollte ein 50Hz Signal (0-1) sein.
Ich glaub aber eher an einen Triac, der nicht mehr richtig funktioniert.
quick n dirty:
da der DMX-Dimmer vom Hendrik Hoelscher nach dem Phasenanschnittdimmerprinzip arbeitet, kannst auch induktive Lasten damit treiben.
Layout mit ZC-Detection und einem Lastteil ohne zusaetzliche Stromversorgung. Aber die kannst ja von der anderen Platine nehmen, sofern da 5 Volt anliegen.
Damit sparst Dir zusaetzlichen Trafo und der 230V Luefter bleibt auch drin. Eventuell nen Triac nehmen, bei dem der mitllere Pin nicht mit der Kuehlfahne verbunden ist.
Die Bauteile entsprechen der Bauteilliste von Hendrik Hoelscher DMX-Dimmer Projekt.
Achja, in der Dimmerpack.asm die 8. Zeile (oder sowas aehnliches) aendern:
von:
.equ DMX_CHANNELS= 8
in:
.equ DMX_CHANNELS= 1
hf
wolf
Die ZC Detection ist mit auf der LayoutPlatine und der Transceiver leuchtet solange rot, bis er ein "ZC_OK" Flag aus der ISR "ext_zc" kriegt, die durch INT1 ausgeloest wird.
Lt Source blinkt es folgendermassen:
;wenn durchrotiert (blink = 0)
ldi tempL, 0b10000000
sbrs Flags, VALID_DMX
ldi tempL, 0b10001010
sbrs Flags, SIGNAL_COMING
ldi tempL, 0b10000010
sbrs Flags, ZC_OK
ldi tempL, 0b11111111
.
.
.
too_hot: ;temp is too high
ldi tempL, 0b10101010
sbr FlagsEx, (1<<HOT)
kein DMX-Signal: Blinken
Signal wird nicht als DMX-Signal (bzw. zu wenig Channels) erkannt: Doppelblinken
Uebertemperatur: schnelles Dauerblinken
kein ZC: Dauerrot
hast schon mal den Verdahtungsplan angekuckt? (Ist zwar fuer den Einfachdimmer)
cu
wolf
Wenn das Strobo noch DMX-Signale auswertet, kannst folgendes probieren:
such in der <strobo.asm> nach: "calc_mode:"
du findest:
calc_mode:
cbr MainFlags, (1<<doMODE)
lds TempA, MODEraw
cpi TempA, 200
ergaenze nach:
cbr MainFlags, (1<<doMODE)
lds TempA, MODEraw
diese beiden Zeilen:
cpi TempA, 253
rjmp reset
danach gehts weiter mit:
cpi TempA, 200
dannn compilst die asm Datei und probierst es aus, in dem Du den DMX-Kanal 3 mit einem Wert >252 faehrst.
Das Strobo sollte dann resetten.
Musst halt aufpassen, dass ein SYNC dann halt nur noch zwischen 200 und 252 funktioniert
hf
wolf
wenn das nicht funktioniert, dann koennte man noch versuchen, das "hochgebogene Beinchen" (RESET) per Software auf GND zu ziehen, dann rebootet der MC auch, vorausgesetzt, das Strobo "haengt" wegen des MC.
3 oder 4. edit:
hab mir grad ma den Quellcode angekuckt, und es faellt auf, dass in der Funktion calc_heatinc, die Variable brightraw, (die gleichzeitig fuer die (vermutlich ) Intensitaet verwendet wird) zur Berechnung des Overheat benutzt wird. Habs zwar noch net genau angesehen, aber vermutlich wirds dadran liegen.
Schuld daran ist diese Zeile in der Funktion <calc_brightness>:
rcall calc_heatInc ;calc new inc val. for heat simulation
Eventuell koennte man den Ueberhitzungsmodus auch ueber den Analogkomparator des 8515 loesen. (Vorausgesetzt, die Pins sind noch frei)
mach mal ein Bild von der Platine.
ich kenne jemand, der hat den DE DMX-Dimmer auch auf Lochraster aufgebaut, und hat die Verbindungen mit Loetzinn gemacht, da ging dann auch nix
kuck dir mal den DMX-Dimmer vom Hendrik an, der kann auch Switchmode, und dann bist flexibler, ist die gleiche Platine, nur der LOAD-Teil ist mit ein paar Bauteilen mehr bestueckt.
du kannst es versuchen:
zuerst ma an allen 4 Ecken runterdruecken ( aber net so arg)
Normalerweise wird das Glas fuer das LCD von einem Blechrahmen gehalten.
Bieg die Halter zurueck, haeng das LCD an Pin1 (VSs) bis Pin3(Kontrast) wie vorher beschrieben und verschieb das Glas solange auf den Gummis, bis Du lauter schwarze Balken in der oberen Zeile siehst.
Ich hab allerdings auch schon ein 4zeiliges Display von Reichelt gehabt, das hatte auch nen Knaller, mal gings und dann mal wieder net und auch lauter komische Zeichen.
Wenn neue LCD bestellst, kuck ma bei Pollin, die sind normalerweise guenstiger
drueck mal ein bissel auf dem Display rum, vielleicht auch mal ein bissel das Glas hin- und herschieben. Wenns dann besser wird, ist das Glas des Displays ein bissel von den Leitgummis gerutscht, sprich dejustiert, oder die Halterung des Glases ist ein bissel locker.
gruss
wolf
das LCD hat als Daten:4,2V und 130mA also 0,8V vernichten --> 0,8V/0,13A=6,15Ohm also sollte als R14 ein 10 Ohm Widerstand reichen.
( Das ist aber nur fuer die Backgroundbeleuchtung, hat also nix mit der Funktion des Displays zu tun)
Test ma, ob das LCD ueberhaupt tut:
Pin1 des LCD an GND, Pin2 des LCD an VCC; Pin3 des LCD an Poti, zusaetzlich an die beiden "Enden" des Potis Gnd und VCC.
den 15K Widerstand weglassen und ein 10k Poti nehmen
[Blocked Image: http://www.sprut.de/electronic/lcd/speisung.gif]
dann solltest sowas sehen:
(einfach am Poti rumdrehen, irgendwann kommt so ein Bild)
[Blocked Image: http://www.sprut.de/electronic/lcd/lcd_test_27x4.jpg]
das ist ein vierzeiliges Display, daher sollte nur die obere Reihe auf deinem LCD so sichtbar sein
P.S.:
hab noch den Schaltplan drangehaengt, aber der ist net so schoen... sry, ging aber auf die Schnelle net anders
Lieber Stephan,
der Themenstarter schreibt schon die ganze Zeit hier.
Leider ist Deine Annahme der LCD-Pinbelegung falsch. Die Ansteuerung des LCD wird ueber 8-Bit realisiert, somit liegt D0..D3 mitnichten auf GND, ansonsten waeren die PINS PC0..PC3 des Atmega net mit den LCD Pins verbunden.
Richtig ist, dass RW auf GND liegt, da aber keine Lesezugriffe aufs LCD erfolgen, ist somit RW immer low.
Den Schaltplan hab ich damals vergessen, ins Archiv reinzukopieren, da aber meine email Adresse im ersten Archiv drinsteht, ist es ein leichtes, mich wegen der Schematics zu kontaktieren.
Zur Verdeutlichung anbei ein Picture.
Gruss
wolf