Günstige (und bessere) alternative zur DMX Extension
Einklappen
X
-
Vorankündigung: ich Plane eine verbesserte Version des Arduino Sketch zu veröffentlich
möchte das aber erst tun, wenns bei mir ein paar Wochen stabiel läuft
und 2-3 Kleinigkeiten noch erledigt sind
falls jemand interesse hat, sich halbwegs dafür interessiert und nicht vorher einen C-Grundkurs erwartet
darf er sich gern als Beta-tester melden ;-)
Verbesserungen sind:
wenn man von 0% auf z.b. 100% schaltet, wurde bisher linear dort hin gedimmt, jetzt geschieht das mit der eingestellten Dimmkurve
das wars dann auch schon ;-)
die Umstellung ergab aber ein paar nette "Nebeneffekte"
auch kann man jetzt einen ENCJ2860 verwenden (der verbraucht aber sehr viel Speicher, macht also nur bedingt Sinn..)
usw.
-
Ich bin mit V0.3 des Layouts soweit. Es gab ein paar Änderungen: Die Schutzbeschaltung mit Dioden des DMX ist zugunsten des SM712 rausgeflogen und das Quartz ist aus Platzgründen auf die Unsertseite gewandert. Ich habe testweise ein paar Keramikresonatoren bestellt, muss die aber noch testen und durch das Quartz auf der Unterseite konnte ich im Anschlussbereich alle Bauteile in das Gehäuse verschieben.
Auch habe ich mir die Sperrdiode für den 5V Betrieb gespart, da dort ja eben kein OKI eingelötet ist und dadurch nichts rückgespeist werden kann. Die 5V des FOCA sind nun nicht mehr mit der Schaltung verbunden, da wir ja knapp über 500mA (USB Spezifikation max) liegen.
Die Polyfuse und der Kondensator nach dem Oki sind jetzt nicht drauf... der OKI sieht am Oszilloskop wirklich knackscharf aus.
Ich muss sowieso noch 1-2 Nächte drüber schlafen und evtl kommt die Polyfuse mit einer Verpolungsschutzdiode noch rein - dann muss ich diese für die 5V Version allerdings anders bestücken...
Wie wichtig ist die 5V Version?
Die Platinen werde ich diesmal bei Multi-CB fertigen lassen, wo die Kosten fast gleich mit OSHPark liegen. Das Layout wurde deswegen auch mit deren DRC gebaut und erlaubt somit kleinere Abstände und Bohrungen.
Außerdem habe ich dort bessere Rabatte wenn es zu mehr als ein paar Platinen kommt. Ich habe bereits ein anderes Layout dort bestellt und sowie das zurück ist und alles in Ordnung ist, werde ich die UDP2DMX-Bridge-Platinen dort in Auftrag geben.
Grundliegend würde ich mich freuen wenn ihr noch mal über die Schaltung (PDF Anhang) abschließend drüber guckt. Dafür schon mal Danke :-)
Zuletzt geändert von pmayer; 06.01.2018, 19:09.Einen Kommentar schreiben:
-
hatte am Vormittag nix zu tun (ausser auf den Truthahn aufzupassen)
Quick&Dirty DMX Debugger gebaut (also DMX Client/Empfänger/Receiver)
für Arduino Leonardo
man kann damit beliebige DMX Kanäle "überwachen" und bekommt bei jeder Änderung einen TimeStamp und die Werte (als CSV)
das kann man sich dann im Excel/Libre Office auswerten/darstellen..
Code:
https://sourceforge.net/p/udptodmx/c...urce/DMXDebug/
Beispiel:millis maxMS Freq2 CH1 CH2 CH3 CH4 CH5 212671 6 219.20 254 0 0 0 0 212675 6 219.20 253 0 0 0 0 212680 6 219.20 252 0 0 0 0 212684 6 219.20 250 0 0 0 0 212689 6 219.20 249 0 0 0 0 212694 6 219.20 248 0 0 0 0 212699 6 219.20 247 0 0 0 0 Einen Kommentar schreiben:
-
Ok, ich lass mal die Kirche im Dorf. Wollte eine SM712 für die DMX Schutzbeschaltung nehmen. https://www.digikey.de/product-detai...0CT-ND/5019610
Mit dem Kondesator am Ausgang des OKI hast du recht, plane ich ein. Allerdings ist das am Oszi wirklich "smooth" und es steht ja "may" und "no additional capacitors" ;-)Zuletzt geändert von pmayer; 22.12.2017, 16:06. -
Ok, das ist mir entgangen. Was mir da auffällt, am Ausgang des 78sr fehlt ne ordentliche Kapazität, "Recommended Output Filtering" nach PDF sind da min. 10uF besser mehr, (47uF)
Der OKI-78 ist allerdings nicht irgend eine Auflötplatine sondern von Murata als 78xx drop-in-replacement ohne jegliche Beschaltung, Inklusive Compliance etc.: https://power.murata.com/data/power/oki-78sr.pdf.
Doch das KANN schon OK sein, wollte nur sagen, das einem solche Kleinigkieten manchmal den Ar... retten können :-)Was die EMV-Sachen angeht, bin ich völlig bei dir. Da warte ich wie gesagt auf Rückmeldung der Agentur, was wir alles erfüllen müssen. Das wird aber sicher bis ins neue Jahr dauern.
Der SPI ist direkt verbunden, ohne Serienwiderstände. Ist dann so nicht ok?
Das kommt halt auf die Dioden an, wenn es dafür nutzbare TVS Dioden sind, kann man das natürlich so machen, es gibt aber eben auch Bauteile die spezielle für den jeweiligen Zweck ausgeleget sind, und in diesem Fall zwei passende Dioden in einem Gehäuse vereinen.Schutzbeschaltung am DMX ist ja durch die beiden Dioden gegeben.
Spezialbauteile mag ich eigentlich auch nicht sonderlich, aber in diesem Fall gibt es eben das Bauteil von einigen Herstellern und es ist weit verbreitet.
Wenn man sich noch mehr Mühe bei der Schutzbeschaltung gibt, könnte man z.B. noch Induktivitäten in Serie vorsehen. -
Hey Labmaster , vielen vielen Dank für die Info's.
Der OKI-78 ist allerdings nicht irgend eine Auflötplatine sondern von Murata als 78xx drop-in-replacement ohne jegliche Beschaltung, Inklusive Compliance etc.: https://power.murata.com/data/power/oki-78sr.pdf.
Was die EMV-Sachen angeht, bin ich völlig bei dir. Da warte ich wie gesagt auf Rückmeldung der Agentur, was wir alles erfüllen müssen. Das wird aber sicher bis ins neue Jahr dauern.
Der SPI ist direkt verbunden, ohne Serienwiderstände. Ist dann so nicht ok?
Schutzbeschaltung am DMX ist ja durch die beiden Dioden gegeben.
Hoffe ich habe dich richtig verstanden. Häng dir mal das PDF der aktuellen Schaltung an.
Angehängte DateienEinen Kommentar schreiben:
-
Genau so wichtig wie die Halbduplex Bidir Auslegung des RS485 Anschlusses, find ich dessen Schutz bezüglich Überspannung.... Hierzu gehört auch eine entsprechende Beschaltung, welche im Minimalfall aus wenigstens einer speziellen TVS Diode besteht. (z.B. eben wenigstens eine SM712 http://www.semtech.com/images/datasheet/sm712.pdf, typische Beschaltung auf Seite 5)
Auch sollte der Buck Konverter direkt aufs Board, wo man dann auch im Layout Einfluss auf die EMI hat , wenn mal ein echtes Produkt daraus werden soll wird man da mit einem nicht Cerifizierten Einlötmodul nicht weiter kommen.
Einer meiner Buck Lieblinge die ich wohl auch für diesen Fall nehmen würde (wenn man 28 bis 30V Eingnagsspannung nie überschreitet) wäre der AOZ1280 im SOT23-6 Gehäuse. ( http://aosmd.com/res/data_sheets/aoz1280ci.pdf )
Der AOZ1280 passt mit allen nötigen Komponennten (inklusive Induktivität) auf eine Fläche von weniger als 10 x10mm hat ne einstellbare Versorgungsspannung und schaft je nach Auslegung über 1A Dauer. Typische Beschaltung ist auf Seite 1 des Datenblatts zu sehen, als Schottky Diode bei dieser Anwendung (bezüglich Strom) würde hier sowas wie eine SD0805S04 (in 0805) reichen.
Passende Festinduktivitäten mit 2.2uH und 1A bis 2A gibt es im 0805 Gehäuse massig (von TDK, Murata ...)
Aufbau und Routing relativ unproblematisch.
Was auch noch zu überlegen ist, ist die Anbindung der WS5500 an den Prozessor. Ich kennen den Schaltplan nicht, jedoch würde ich z.B. in jedem Fall für den SPI Bus Serienwiderstände auf der CLK und den Datenleitungen vorsehen. Auch das Grounding Konzept ist hier gut zu bedenken.
Wir hatten in der Vergangenheit gerade bei SPI schon die eine oder andere Überaschung bei den EMV Tests in der Messkammer, was sich dann durch entsprechende Anpassung solcher Serienwiderstände beheben ließ ohne jedes mal ein neues Layout machen zu müssen.
1 BildZuletzt geändert von Labmaster; 22.12.2017, 12:04.Einen Kommentar schreiben:
-
hismastersvoice / Robert L. Ich bin nur halb weiter gekommen. Gerade habe ich das Problem, dass MightyCore zwingend die selbst mitgebrachte EthernetLib (W5100) verwenden will. Offensichtlich hat sich da irgendwas geändert, weil früher ging das (1284p, W5500). Hab bei MightyCore schon nachgefragt: https://github.com/MCUdude/MightyCore/issues/72 und auch PaulStoffregen, den Entwickler der Lib und Erfinder des Teensy, darum gebeten es zu kommentieren.
Außerdem funktioniert die DMXSimple Lib "offiziell" nicht auf __AVR_ATmega644P__, das wäre aber nur ein kleiner Patch wofür ich einen Pull-Request machen kann. (DmxSimple.cpp:64). Das mit der Nutzung des zweiten Serials von DmxSerial sollte gehen. Ich hab aber noch nicht geguckt, was Robert L. da angepasst hat.
Mein Plan wäre momentan folgender:
- Die jetzige Version 0.3 finalisieren und mit ATMega328p "fertig" bauen, damit die Leute was davon haben
- Aus der Basis eine ethernet-multi-RS485 Bridge entwickeln. Die sollte dann DMX-RDM, Modbus, RS485 etc können, ganz wie Labmaster es vorgeschlagen hat.
Was sagt ihr?
Hier mal der ATMega644 Breadboard-Aufbau:
Zuletzt geändert von pmayer; 22.12.2017, 11:09.Einen Kommentar schreiben:
-
Wichtig: 644P oder 644PA... der 644 hat nur einen UART.
Kann dir auch gerne welche als DIP-40 schicken. -
Ich baue gerade den ATMega644PA zusammen. Alles soweit in Ordnung, allerdings habe ich ein Problem: Der Arduino Bootloader möchte zwingend auf Serial(0), außer man kompiliert ihn neu. DMXSerial möchte auch auf Serial(0). Das ist soweit kein Problem, da ja während dem booten noch kein DMX läuft. Zum Debugging würde dann Serial1 herhalten - soweit ok.
Allerdings müsste man dann zwischen flashen seriellem debuggen umstecken. Das finde ich nur halb schön...
Ahh, habe aber gerade etwas gefunden:
Ein simples define sollte die Lib also auf Serial1 schieben... ich probiers aus.Code:// Define port & bit values for Hardware Serial Port. // The library works unchanged with the Arduino 2009, UNO, MGEA 2560 and Leonardo boards. // The Arduino MGEA 2560 boards use the serial port 0 on pins 0 an 1. // The Arduino Leonardo will use serial port 1, also on pins 0 an 1. (on the 32u4 boards the first USART is USART1) // This is consistent to the Layout of the Arduino DMX Shield http://www.mathertel.de/Arduino/DMXShield.aspx. // For using the serial port 1 on a Arduino MEGA 2560 board, enable the following DMX_USE_PORT1 definition. // #define DMX_USE_PORT1
Zuletzt geändert von pmayer; 21.12.2017, 19:51.Einen Kommentar schreiben:
-
kann hier keinen Unterschied erkennen zwischen RS485 (halb duplex) und DMX (mit RDM)
(Lötjumpern gibts dort auch teilweise)Zuletzt geändert von Robert L.; 20.12.2017, 20:04.
Einen Kommentar schreiben: