Toon posts:

Project: ScrapDMX

Pagina: 1
Acties:

  • Anthor
  • Registratie: Juni 2002
  • Niet online


Ik ben bezig geweest met een moodlight project. Een deel van de voortgang heb ik al in Het RGB (mood)light topic - deel 2 gepost. Aangezien er niet veel zelfbouw DMX op GoT te vinden is zet ik alles in dit topic, in de hoop dat iemand er iets aan heeft.

Het doel was om met ledstrips sfeerverlichting te maken in mijn woonkamer. De ledstrips moesten afzonderlijk aan te sturen zijn. Voor dit project heb ik een USB-DMX interface gemaakt, enkele DMX ontvangers met Atmel μC en ben ik alvast begonnen aan een stand-alone DMX zender.
In deze post staat ergens een link naar een bestand met alle project bestanden.

Er zijn meerdere manieren om verlichting in een woonkamer aan te sturen. In het verleden heb ik wel eens met DMX apparatuur gewerkt, en dat is een van de redenen waarom ik voor DMX heb gekozen. Het is misschien een beetje overkill voor in de woonkamer, maar van een beetje overkill is nog nooit iemand doodgegaan :P

Over de naam van het project: Als ik een naam aan een project moet geven dan is Scrap het eerste waar ik aan denk. (het stamt af van m'n oude netwerk server die de naam had, en eer aan deed)


DMX
In het kort is DMX het protocol wat gebruikt wordt om professionele verlichting aan te sturen bij concerten, theaters, disco's etc.

Het DMX512-A protocol beschrijft de manier van data overdracht over een RS-485 netwerk.
De data wordt serieel verzonden over twee signaallijnen. Voor deze signaallijnen (A,B) wordt een twisted pair gebruikt met differentiële spanning (als A positief is dan is B negatief, en andersom). Het voordeel hierbij is dat er ten opzichte van bv rs232 veel langere kabels gebruikt kunnen worden.

Een DMX netwerk (universe) bestaat uit één zender en één of meerdere ontvangers. volgens rs485 kunnen er maximaal 32 ontvangers aangesloten worden, maar er kunnen repeaters gebruikt worden om dit uit te breiden.
Bij het maken van de standaard is er rekening mee gehouden dat sommige ontvangers data terug sturen, maar dat wordt eigenlijk niet gebruikt. Vandaar dat de standaard 5 polige stekker voorschrijft, en dat er vaak 3 polige stekkers gebruikt worden.

Een DMX zender verstuurt continu pakketten met 512 databytes (adressen). Ontvangers worden niet afzonderlijk door de zender geadresseerd, dus twee ontvangers kunnen naar hetzelfde adres luisteren.

Een verzonden pakket bestaat uit:
- Een break. Een laag signaal (minimaal 88 μS) om aan te geven dat een nieuw frame begint.
- Een Startbyte. Deze moet aangeven voor welke soort apparatuur het is, maar dit wordt eigenlijk niet gebruikt. Voor dimmers geldt startbyte = 0
- 512 Databytes, waarbij byte(n), waarbij n het adres is.

De data wordt serieel verstuurd met 1 startbit, 8 databits en 2 stopbits op 250 Kbaud.
Een pakket duurt dus ongeveer 22 ms, wat neerkomt op een verversingssnelheid van 44Hz.
Er wordt niet aan error detectie gedaan, en daarom mag je nooit gevaarlijke dingen als pyrotechnische apparatuur aansturen met DMX (maar voor in de woonkamer is dat sowieso al niet verstandig ;))

Een DMX ontvanger is een apparaat dat de via DMX verzonden data ontvangt, en op één of meerdere kanalen reageert bv parcans en movingheads. In het algemeen heeft een ontvanger een startadres (het eerste kanaal waar hij naar luistert) en een bepaald aantal opeenvolgende kanalen.

De ontvangers die ik gemaakt heb doen het volgende (ik neem aan dat andere ontvangers dat ook doen):
- Wachten op een break
- De startbyte controleren
- Meetellen met de ontvangen bytes, tot Byte(n) waarbij n het startadres is.
- Vanaf Byte(n) de waardes van een aantal kanalen opslaan.
- Wachten op een nieuwe break. (sommige DMX zenders sturen niet alle 512 waardes mee, maar kleinere pakketen)

Wat het apparaat in de tussentijd met de data doet kan verschillen. Voorbeelden voor kanalen zijn: kleur, pan/tilt, intensiteit, etc.

Meer info staat hier:
[HOWTO] DMX-512 met een Picmicro
http://www.renebiemans.nl/page.php?al=dmx
Handig diagram voor timing: http://www.DMX512-online.com/gifs/dmxpack.gif

Ik ben niet de eerste met een DMX project voor μC's, maar dit topic gaat over wat ik allemaal zelf gemaakt heb.Ik weet niet hoeveel mijn project lijkt op die van anderen. Het aansluiten van een rs485 converter op een usart is redelijk standaard, dus daar zal weinig verschil in zitten.


DMX interface.
In het begin van mijn project had ik een kip en het ei probleem. Ik kon wel een ontvanger maken, maar die kon ik dan niet testen omdat ik geen signaal kon zenden. Ik kon ook een zender maken, maar dan had ik weer niets om te testen of het signaal wel goed was. Daarom heb ik toen besloten om een bestaande open source DMX interface na te maken.
De basis voor mijn DMX interface is de open source Enttec open DMX usb interface. Het bestaande ontwerp heb ik een beetje aangepast. Voornamelijk om er een usb kitje van voti in te kunnen gebruiken, en om ontvangers van een voedingsspanning te voorzien.
Er zijn nog andere open source ontwerpen (bv uDMX), maar ik weet eigenlijk niet meer waarom ik deze heb gekozen.


klikbaar

De usb kit heb ik gekocht zodat ik makkelijk kon beginnen op een breadboard:


En later, nadat ik maar eens was begonnen met het zelf etsen van printplaten, heb ik eerst een versie gemaakt met een header aansluiting. Laatst heb ik het ontwerp aangepast voor een model met een normale USB aansluiting.





-Het rechter weerstandje heb ik in het ontwerp weer verplaatst zodat de IC voet niet meer ingezaagd hoeft te worden.
-De extra pinnen op de interface zijn te gebruiken voor stroomvoorziening in een test opstelling, maar ik denk niet dat het verstandig is om ze te gebruiken in een permanente opstelling met veel ledstrips.

Dit is een interface en dus geen DMX zender. Het genereren van een DMX signaal moet bij deze interface door een pc gedaan worden. De interface gebruik ik in combinatie met de gratis DMX control software Freestyler.


DMX ontvanger
Nadat ik de interface gemaakt had, kon ik beginnen met het maken van een ontvanger. M'n eerste opzet voor een ontvanger was op basis van een attiny2313 met softwarematige pwm. Dit laatste was omdat ik nog niet wist hoeveel kanalen ik aan wilde sturen met één ontvanger. M'n DMX ontvanger code werkt zo dat de DMX adres waardes worden ontvangen en verwerkt in een interrupt, zodat de 'main loop' vrij blijft voor andere dingen. Hierdoor is mijn DMX interrupt makkelijk te gebruiken voor andere toepassingen dan ledjes dimmen.

Dit was m'n eerste setup:

klikbaar

Op het breadboard zitten twee afzonderlijke DMX ontvangers. Links zie je een attiny2313 met rotary encoder en aansluiting voor hd47780 display om de kanaal waardes uit te lezen, en rechts zie je een attiny2313 met 6 dmx->pwm kanalen en twee dmx->servo kanalen. (geschakeld via een uln2803A)

Dit is een kort Filmpje van één van mijn eerste tests, waaruit al een beetje blijkt hoe makkelijk het is om iets aan te sturen met DMX als je de ontvanger code eenmaal hebt.


Daarna ben ik begonnen met solderen.
Vanaf het begin af aan was ik van plan om deze of deze ledstrips aan te sturen. De bedoeling was om de ontvangers direct te koppelen aan de ledstrips, en daarom moesten ze zo smal mogelijk worden om ze netjes weg te kunnen werken.

Dit is ongeveer het schema voor het mijn eerste losse ontvanger.

klikbaar

Het schema is eigenlijk erg simpel. Een max485 (of sn75176) IC ontvangt het DMX (rs485) signaal, en zet het signaal om naar ttl. Omdat mijn DMX ontvanger geen data terug stuurt is er alleen een Rx lijntje nodig naar de attiny2313 μC, en kan de max485 op ontvangen gezet worden door pinnen 2 en 3 aan de gnd te hangen. De Attiny leest de binnengekomen data uit in een interrupt, en pwm't continu 3 kanalen. Deze ontvanger gebruikt softwarematige PWM, en daardoor kan de ontvanger met wat aanpassingen meer kanalen aansturen dan de 4 hardware PWM kanalen van de μC. De 'common-anode' ledstrips worden geschakeld via een ULN2003.

Dit was het resultaat van mijn eerste soldeer actie:

De ontvanger heeft een 5x2 header om dmx(a), dmx(b), gnd, +5V en +12V aan te sluiten en door te lussen.
Onder de IC voet zit een 20Mhz kristal verstopt. Door de draadjes aan andere pinnen van de μC te hangen, kan met dit ontwerp ook hardware pwm gebruikt worden.

(ik heb tussendoor ook nog zelf ledstrips met geïntegreerde ontvanger gemaakt, maar die laat ik even buiten beschouwing)

Deze ontvanger heb ik gemaakt voor bij m'n fluxledstrips. Die strips hebben een andere pinout (+12,R,B,G) dan de 'SMD ledstrips' (+12,R,G,B) die ik latergebruikt heb. Maar dat is op te lossen door of de draadjes op de print, of de firmware, of de instellingen op de PC aan te passen


In mijn queeste naar de voor mij kleinst mogelijke print heb ik toen de ULN2003 vervangen voor losse fetjes. Omdat ik toch maar één ledstrip aan ging sturen per ontvanger heb ik 2n7002 smd fetjes gebruikt.


Deze ontvanger heeft ook nog software PWM, maar ik heb ondertussen het schema voor de enkelzijdige pcb aangepast voor hardware pwm. In de project bestanden zitten twee ontwerpen, één met een losse 5V lijn, en één met een 78l05 op de pcb.


Daarna heb ik maar de overstap naar SMD gemaakt. En om dat voor elkaar te krijgen heb ik een ontwerp gemaakt voor een dubbelzijdige print.

Dit is het schema dat ik uiteindelijk voor m'n ontvangers gebruikt heb:
klikbaar


De ontvangers ets ik per 6. Er passen denk ik met een beetje proppen 24 ontvangers tegelijk op een euro print, maar als dat mislukt door bv een foutje bij het uitlijnen kan de hele print weg.

Dit is een foto van het eerste paneeltje dat ik gemaakt heb, maar hier zit nog een ontwerpfout in. Met wat creatief solderen en frezen valt deze nog te gebruiken, maar ik ets liever nieuwe printjes.

Na wat testen, proberen en connectors vervangen zien mijn controllers er nu zo uit:

3,8 x 1,8 cm (zonder connectors).

Om de μC te programmeren gebruik ik dit adaptertje dat ik gemaakt heb van een oud RAM slot.
De ontvanger gebruikt nu een hardcoded DMX startadres, dus is het ontwerp nog niet erg handig voor toepassingen waar het adres vaak veranderd moet worden.

Om de ledstrips op te hangen heb ik de afdekking van een kabelgoot in stukjes gezaagd, en zo de ledstrips er op gezet:


Zo heb ik er tien gemaakt, en aan m'n plafond gehangen. Ik heb de standaard connectors van de ledstrips af gesoldeerd (scheelt ook wat schaduw), en een haakse header aan de onderkant gezet.


Het resultaat
Het was me wel eens opgevallen, maar mijn muur is niet egaal. Als de ledstrips aan staan zijn er schaduwen van oneffenheden te zien. Ik had de kabelgoot eerst dicht tegen de muur aan vastgezet, maar om het schaduw effect iets te verminderen heb ik de kabelgoot zo ver mogelijk van de muur af vastgezet (op de plafondlijst) Hierdoor valt de normale schaduw van de ledstrips wat meer op als ze uit staan, maar hinderlijk is het niet.

Mijn fototoestel heeft een beetje moeite met de hoeveelheid licht, waardoor ik de gevoeligheid terug moest schroeven om rare vlekken op de foto's te voorkomen. Hieronder staan de gebruikelijke RGB foto's, maar de lichtopbrengst is in het echt wat beter dan op de foto's.




De muur is iets langer dan 4 meter

Dit had ik ook kunnen doen door de ledstrips gewoon door te lussen aan één controller, maar het leuke van het hele DMX verhaal is dat ik nu ook dit soort dingen kan doen:


DMX is ontwikkeld voor het aansturen van licht effecten, dus om te zien wat er mogelijk is met wat simpele scènes in Freestyler moet je dit filmpje even bekijken:



Voor het filmpje heb ik de snelheid van de effecten aangepast, normaal staat alles wat rustiger te faden ;)
(bv een RGB gradiënt zoals in de foto hierboven laten scrollen, 1 stap per minuut)

Ik ben na het ophangen en het testen van het schema nog een (redelijk groot) probleem tegen gekomen.
Om de ontvangers aan elkaar te koppelen had ik een oude netwerkkabel opgedeeld, en er c-grid connectors tussen gezet. (1x 2 pins signaal en 2x 3 pins power). Één ledstrip zou maximaal 240 mA nodig hebben, maar bij mij nam de maximale stroom per ledstrip af als ik extra ontvanger en ledstrips aansloot.

Zie dit grafiekje:

De blauwe reeks is wat ik ongeveer had moeten halen, de rode reeks heb ik gemeten in de opstelling, en gecorrigeerd voor het verbruik van de ontvangers met 0% dutycycle.

Als ik 9 strips op 100% dutycycle had, was het verbruik nog maar ongeveer 60% van de stroom die nodig zou moeten zijn.
Ik ging er van uit dat het aan de netwerk kabel lag, dus die heb ik vervangen door 2x 1,5mm2 installatiedraad (zie eerdere opmerking mbt overkill) en die op bepaalde plaatsen een stukje gestript en er aftakkingen aan gesoldeerd (Ik heb eerst een soort snijklem koppelingen geprobeerd, maar die paste niet goed in de de kabelgoot |:().
Met de nieuwe stroomvoorziening lijkt het probleem verholpen, en nu kan ik eventueel de draad verlengen voor extra ledstrips.

Nu zit het zo vast:

Het groenige blokje is een stukje hout waarvan ik de randen heb ingefreesd, zodat de kabel in de goot geklemd wordt


Project bestanden
HIER staat een zipfile met alle projectbestanden die ik bij elkaar gezet heb. Het gaat vooral om de software, maar ik heb de rest er ook bij gezet.

(EDIT: Zie hier voor de nieuwe firmware Anthor in "Project: ScrapDMX")

Dit zit er in, ik hoop dat iemand er wat aan heeft:
- Bijgewerkte Schema's voor verschillende ScrapDMX ontvangers
- Kicad project voor de verschillende receivers met pcb layouts
- ScrapDMX_hpwm_v1.0 .hex en AVR studio projecten
- ScrapDMX_spwm v1.0 .hex en AVR studio projecten
- Schema voor Enttec open DMX - USB interface, en mijn aangepaste versie daarvan
- Freestyler fixture bestanden

Kicad
De projecten heb ik gemaakt met Kicad (20080825c-final) Dat is een open source ontwerp programma. Als je de projecten goed wil openen dan moet je eerst de inhoud van de map 'Share' op de juiste plek in je Kicad map zetten

Software
Ik heb de software voor de controllers geprogrammeerd in assembly met avr studio 4.15-(623).
De code is voorzien van comments, en ik hoop dat dat genoeg is om de werking ervan te verklaren.
Ik heb de code van de ontvangers geschreven voor attiny2313 μC's, maar met wat aanpassingen zou het ook kunnen werken op een andere AVR. (met een hardware USART)

Het DMX signaal wordt uitgelezen in een interrupt. De 3 kanalen waar de ontvanger op reageert worden opgeslagen in het SRAM. In de 'main_loop' worden de waardes naar de OCRx regsisters geschreven.
Standaard zijn de registers: OC1A: Rood, OC0A: Groen, OC0B: Blauw, maar dat kan aangepast worden. OCR1B is ook nog beschikbaar voor PWM, maar ik heb voor de huidige pin-out gekozen omdat dat beter uit kwam voor de layout van de dubbelzijdige print.

Dit gebeurt er als er een ontvanger aangezet wordt:
- Als een ontvanger opstart, dan wordt er +/- 2 seconden een test signaal naar de ledstrip gestuurd (groen met een beetje rood en blauw) om de leds te testen
- Als het startadres 0 of groter dan 512 is dan knippert de ledstrip rood. (als het startadress 511 of 512 is wordt alles boven 512 genegeerd door het aantal adressen aan te passen)
- De strips staan bij een kanaal waarde '0' niet helemaal uit. Er is altijd een beetje licht te zien.
- Als het DMX signaal ongeveer een kwart seconde uitvalt dan wordt de output geel tot er weer een signaal gedetecteerd wordt. (kleur kan in de software aangepast worden)

Het startadres van een ontvanger is hardcoded, maar het is makkelijk aan te passen.
Als je de μC programmeert vanuit avr studio:
- open het project
- scroll naar benenden
- verander daar de aangegegeven waardes
- compileer en upload naar de μC

ponyprog:
- open het .hex bestand
- ga naar 'Edit' en zet vink 'write buffer enabled' aan
- scroll naar het einde
- verander de waarde van adressen 0x07DF en 0x07EF in het nieuwe startadres (0x07EF is bit 9 van het startadres)
De te veranderen adressen zijn de laatste in de regel van de tweede kolom
(let op dat je niet in de tekst kolom edit, omdat bv. het karakter "1" een andere waarde (31) heeft dan het getal 1
- upload naar de μC

Na het uploaden heeft de μC misschien nog een 'harde reset' nodig

De softwarematige pwm heb ik nog een update gegeven nadat ik klaar was met de hardware-pwm. De firmware werkt wel, maar ik heb het niet uitvoerig getest,

Hardware
De ontwerpen zitten in de zipfile, Ik gebruik zelf alleen de dubbelzijdige printjes.
Een nadeel is dat een ISP connectie of op de print gesoldeerd moet worden (heb ik niet geprobeerd), of dat er programmeer adapter gemaakt moet worden van een oud ram-slot oid (ik weet niet meer welk type, de afstand tussen de printbanen is 0,05" )

De bijgewerkte versie van de enkelzijdige prints heb ik aangepast, geëtst en even getest.
Voor condensator C5 heb ik geen waarde ingevuld. Ik heb hem toegevoegd als buffer, ik weet niet wat een goede capaciteit zou zijn. Voor de dubbelzijdige print heb ik 1 μF gebruikt, maar dat was alleen omdat dat de hoogste capaciteit was die ik in 0805 had liggen.

Er zitten geen ISP aansluitingen bij de enkelzijdige prints, maar is de attiny is te programmeren door een el-cheapo model ic-voet op deze manier over de uC te schuiven.

De aansluitingen voor signaal en voedingsspanning zijn bij alle prints anders, dus als je ze wil gebruiken moet je daar goed op letten.


ToDo
Ik ben nog niet klaar met het project, er zijn nog een paar dingen die ik wil doen:
• Ontvanger
-De hardware kan weer aangepast worden, ik gebruik nu maar 4 pinnen voor power & signaal.
Het liefst heb ik een systeem dat makkelijk modulair aan te sluiten is. Het systeem is ook nog niet beveiligd tegen aansluit fouten e.d., daar moet ik ook nog wat voor verzinnen.

- Ik wil nog een 'intensiteit' kanaal in de software toevoegen, waardoor een kleur beter gedimd kan worden.
- Misschien kan ik de code nog aanpassen zodat het makkelijker als 'include' gebruikt kan worden (ik weet alleen niet wat de beste manier is om dat te doen)

• Ondertussen ben ik ook nog een beetje bezig geweest met het maken van een een DMX zender op basis van een atmel μC. Ik heb een Atmega88 μC gebruikt om de zender te maken. Deze μC heeft genoeg SRAM om alle 512 kanalen bij te houden. De zender gebruikt de 'UDR Empty' en 'Timer0 output compare' interrupts om het DMX signaal te genereren. De code voor de zender zit nog niet in de zipfile, omdat ik overstap op een andere μC als ik er mee verder ga. (omdat ik dan een extra usart wil voor bv
een afstandsbediening.)

• Alles hangt nu aan mijn pc- of labvoeding (op een manier waar ik liever geen foto's van maak ;) ).
Ik heb de interface als in een behuizing gestopt en daar is nog ruimte voor mooie aansluitingen, maar daar moet ik nog iets moois van maken.
Als ik een losse zender maak dan lijkt een losse voeding mij beter.

• Ik heb ook een basis systeem gemaakt voor een servocontroller (12 bit resolutie). Ik ben er niet helemaal tevreden over omdat het bij kleine stapjes een beetje schokkerig gaat, en omdat de aansturing specifiek voor mijn servo's is. maar de basis is er. Ik heb er geen serieuze plannen mee, dus ik weet niet of ik er nog wat aan ga doen.






Disclaimer
Ik heb geen electrotechnische achtergrond dus ik kan NIET garanderen dat het werkt en/of veilig is.
Ik noem dit een DMX project omdat het werkt op de open DMX-usb interface, maar ik heb niet kunnen controleren of het werkt op andere dmx apparaten. (als iemand dat wel heeft kan ik misschien wel een printje opsturen) Ik ga binnekort even proberen of ik zo'n uDMX interface kan maken, dan kan ik daarmee ook even testen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
tnx,

De servocontroller heeft nu 12 bit resolutie.
Ik gebruik een 16 bit timer op fast pwm. Met ICR1H,ICR1L als TOP voor de verversingssnelheid en
Er worden 2 kanalen uitgelezen per servo, maar door wat bitshifts gooi ik de hoogste bits weg omdat ik anders een te lange puls zou kunnen krijgen. Die 12 bits tel ik op (of haal ik af) van een constante (middenpunt) om via de output compare registers een servo signaal te krijgen.

De programmeer adapter heb ik gemaakt omdat ik niet aan de prints wil solderen om nieuwe firmware te uploaden, en een standaard header vond ik te groot. Die RAM slot had ik over van een eerder projectje.
Het is wel een beetje gepriegel, omdat er via's in de weg zitten

Één ontvanger per twee ledstrips kan ook, maar dan moet ik een andere uC nemen met meer timers, of terug naar software pwm, maar dat doe ik liever niet.
Ik heb ook gedacht aan het ontwerpen van een ledstrip met geïntegreerde DMX ontvanger, dat zou nog mooier zijn.

Maar ik ga eerst een intensiteit kanaal toevoegen aan de ontvangers. Ik heb al wat code maar die moet ik nog afmaken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Mijn moodlight werkt nog, maar ik vind het leuk om dit project nog verder uit te werken (misschien heeft iemand er nog iets aan.) vandaar dit 'status report'. Zoals ergens anders in dit forum ook al wordt besproken, lijkt het me ook wat om dit project later te kunnen combineren met een Ambilight, maar daar heb ik nog geen tijd in gestopt. Ik ben nu eerst nog bezig met het maken van een nieuwe versie van mijn ontvanger.

Voor de dubbelzijdige print heb ik nu ongeveer dit ontwerp:

klikbaar, (grid = 0,025")

Het ontwerp is nog steeds bedoeld voor DIY. Als ik een print zou laten maken bij bv makepcb dan kan ik een nettere print ontwerpen omdat de gaten voor de connectors dan doorgemetalliseerd zijn, en dan kunnen er ook via's onder de ic's gezet worden.

Omdat ik nu heb bepaald hoe alles aangesloten wordt, kan ik 4-polige connectors gebruiken. De 1206 'draadbrug' heb ik vervangen voor een LL4148 diode. Het was niet eerder bij me opgekomen om dat te doen, maar het effect is dat de ontvanger nu (ook door de veranderde aansluiting) beveiligd is tegen verkeerd-om aansluiten van de voeding connector. (het best is natuurlijk om de connectors te gebruiken zoals degene die standaard op de ledstrips van de SK van Niels zitten, daarbij moet je echt moeite voor doen om ze verkeerd om aan te sluiten.)

Ik heb nu ook wat meer ruimte vrijgehouden voor de programmeer adapter

In mijn 'vorige' versie heb ik de zones handmatig rond de componenten gezet zodat er voldoende afstand zou zijn. In de nieuwste release van Kicad zijn de zones iets verbeterd en nu kan ik proberen het automatisch te laten doen. Ik heb een testje geëtst om te kijken of ik fijn genoeg kon etsen, zie hier en hier.
0,012" zone tussenruimte blijkt geen probleem om thuis te etsen. (Ik weet niet hoe ver ik kan gaan, maar 0,009" is me ondertussen ook al gelukt voor een ander printje)
Maar kan iemand mij vertellen of dat elektrisch gezien een veilige afstand is tussen b.v. 12V en Gnd, of tussen 2 signaal lijnen.?


- Het intensiteit kanaal heb ik ook af, ik heb alleen nog geen zin gehad om al mijn ontvangers te flashen. Dus ik weet nog niet of het er mooier/makkelijker van wordt. Als ik ze flash moet ik namelijk ook al mijn kleur programma's aanpassen, omdat de kanalen opschuiven.

- Ondertussen heb ik mijn ontvangers ook getest met een uDMX interface. (Een beetje aangepaste zelfbouw versie, 180 euro is toch iets te gortig)
De ontvangers werken wel voor moodlight icm freestyler maar als de lampen te snel geschakeld worden lijkt het alsof het signaal niet snel genoeg ge-update wordt. Ik heb nog geen idee waar dat aan ligt, dat moet ik nog uitzoeken.

- Ik heb ook nog wat tijd gestopt in het ontwerpen van een ledstrip met ingebouwde ontvanger. Ik weet nog niet of ik iets met dit ontwerp ga doen, ik vroeg me alleen af of ik het op een print zou kunnen krijgen. De bedoeling van dit ontwerp is dat de ontvanger/ledstrip makkelijker aan te sluiten zijn. Alles wordt doorgelust, net als de normale ledstrips. Maar ik denk niet dar er genoeg ampère door zo'n klein connectortje mag om heel veel ledstrips aan te sturen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
simplendi schreef op zaterdag 11 april 2009 @ 22:20:
[...]

9 mil spacing bij 12V vind ik nog niet zo heel schokkend klein. De doorslag spanning van lucht ligt ongeveer bij 30kV/cm. Je moet dus 600V halen wil je doorslag hebben. Het is echter wel zo dat de kans op kortsluiting door vocht groter wordt (de weerstand is kleiner)
Dan moet ik toch maar wat extra afstand houden bij de voedingslijnen. Ik heb hier ook nog een bus Greencoat staan, dat kan ik er ook nog op doen om te beschermen tegen vocht.
raymonvdm schreef op zaterdag 11 april 2009 @ 22:33:
Hmmm dit is nice

Is het mogelijk om DMX ontvangers bij je te bestellen. Ik was van plan om een USB-DMX interface te kopen saman met DMX led iets.

Ambilight met DMX via Windows Vista Mediacenter

Blijkbaar heb jij het al gemaakt :-)
Wat Ik nu heb kan je een moodlight kan noemen, (nog) geen ambilight.
Ik heb er al eerder een mailtje over gekregen van iemand, maar Ik weet niet of verkopen een goed idee is. Ik weet niet genoeg van electronica om te kunnen bepalen hoe goed mijn ontwerp is. (hoewel het wel verleidelijk wordt als ik hier de prijs zie die ze er voor durven te vragen :D) Daar komt nog bij dat de ontvangers niet echt uitblinken in gebruiksgemak, voor het veranderen van de DMX adressen moet de uC nu nog geflashed worden. In mijn huidige ontwerp heb ik daar nog geen rekening mee gehouden, dat heb ik een beetje voor me uit geschoven.

Ik weet ook nog niet of mijn firmware geschikt is voor andere DMX zenders/interfaces.
Verschillende zenders geven allemaal net een ander DMX signaal. Ik heb geprobeerd om de code voor de ontvanger zo flexibel mogelijk te maken, maar hoe goed dat werkt wil ik nog testen met de zelfbouw ontwerpen die op internet te vinden zijn.

Als je aan het zoeken ben naar interfaces, dan kan ik je zeker aanraden om te kijken of er een geschikt ontwerp is voor zelfbouw. Dat kan je redelijk wat geld schelen. (Als die werken in combinatie met de ambilight software die je wil gebruiken.)
Als je voor thuis wil proberen een ontvanger te maken adhv mijn ontwerp, kan ik natuurlijk wel proberen te helpen als dat nodig is.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Stoney3K schreef op dinsdag 14 april 2009 @ 12:14:
[...]


Knightrider?

There are many copies...

;)
Toaster :)
Overigens een HEEL gaaf uitgewerkt project, en ik moet zeggen dat het wit van die LED-strips erg mooi tot zijn recht komt. Zijn het single-chip RGB LEDs? Die geven vaak een mooier wit dan strips met losse LEDs voor rood, groen en blauw.

Ik ga zeker eens door de schematics en code heen bladeren. Ik ben zelf een project getiteld "OpenLightDesk" aan het opstarten, wat de andere kant van de DMX-chain aan moet pakken (de stuurtafel dus) ;), en ik zie dat je zelfs al een provisorische "movinghead" in elkaar gezet hebt. Dus misschien is het een leuk idee om hier eens over te babbelen op IRC bijvoorbeeld.
Open Light Desk klinkt intressant, daar moeten we het maar eens over hebben. (ik had zelf ook al wat ideetjes in die richting). Qua commerciële apparatuur heb ik alleen ervaring met een simpele showtec light-8. Zoiets lijkt me wel haalbaar, maar ik neem aan dat je wat verder wil gaan dan dat.

En het zijn idd single chip leds (zie eerste plaatje in de openings post).
btw, weet iemand wat de rede zou kunnen zijn voor het haaks op de banen plaatsen van de weerstanden op die ledstrips?
[...]


RDM (Remote Device Management) is al niet meer out-of-spec dus dat kun je eventueel in een later stadium nog implementeren. 50Hz is inderdaad een beetje de gangbare standaard, er zijn zelfs tafels die hogere refreshrates uit kunnen sturen.
Waar komt die 50 Hz vandaan? wordt er minder data verzonden, of wordt er een hogere baudrate gebruikt?

RDM DMX weet ik nog eigenlijk niks van, daar moet ik dus nog even wat over lezen.
Maar wat ik er zo snel over zie, is dat bij de ontvangers de max485 RE en /DE pinnen aan een io moeten, en dat de Di aan de Tx van de uC aangesloten worden, de rest is software. (in mijn ontwerp voor de ledstrip met ontvanger had ik die pinnen alvast aangesloten, voor het geval dat het nodig zou zijn :) )

  • Anthor
  • Registratie: Juni 2002
  • Niet online
In de datasheets van de 78l05 staat dat er een 0,33uF voor, en een 0,1uF condensator na de spanningsregelaar moeten. In mijn ontvangers heb ik voor die eerste 0,47uF gebruikt maar volgens mij moet dat geen problemen geven.
De elco's met grotere capaciteit zie ik vaak bij schakelingen waar een gelijkgerichtte wisselspanning wordt afgevlakt, misschien dat minder uF ook kan. Maar omdat de voedingslijn constant geschakeld wordt is het geen overbodige luxe. Er zit al wel een 1uF condensatortje op de 12V, maar dat zal niet genoeg zijn om het goed te stabiliseren. Met een beetje passen en meten zou ik nog wel zoiets zoiets er tussen kunnen zetten, maar ik weet niet of 100uF genoeg is om voldoende effect te hebben.
Ik heb bij het ontwerpen de grotere condensator eigenlijk weggelaten omdat ik degene die ik in huis had te groot vond (misschien niet een van de de beste redenen :X ). En omdat ik bij de manier van aansluiten die ik eerst in gedachte had, nog relatief makkelijk grotere elco's aan de voedingslijns kon hangen als het niet zo goed zou functioneren.


Ik heb ook de Manolator DMX512 software nog even op mijn systeempje (met enttec controller) los gelaten. In die software kan ik ook de refreshrate op 50Hz zetten, en dat lijkt ook te werken.
Het is overigs wel handig om programma's als Freestyler en Manolator in taskmanager een hogere prioriteit te geven. Als ik op mijn computer door een document of site scroll, valt het signaal soms heel even weg. (dat kan ik zien omdat mijn controllers op geel gaan als er een x aantal ms geen signaal is) De prioriteit veranderen verhelpt dit probleem bij freestyler, bij manolator iets minder, maar dat ziet er nogal cpu heavy uit.

Verder heb ik nog een vraag. Ik heb nu alles op de onderstaande manier aangesloten.

klikbaar

Maar als ik mijn systeem uit wil breiden, zou ik het dan zo aan kunnen sluiten?
Met CO.net voeding bedoel ik dit soort dingen, maar het gaat me niet om die specifieke voeding. Ik weet niet wat er in profi spul allemaal met de signaal lijnen gebeurt, maar ik kan me voorstellen dat het dmx signaal galvanisch gescheiden wordt.

klikbaar

Ik wil nog steeds een nieuwe versie van de bestanden online zetten, maar ik ben afgelopen tijd ook met wat andere electro dingen bezig geweest. (waaronder het vanmiddag verzieken van mijn glcd die ik voor mijn dmx bediening in gedachte had |:()

@lekkere kwal
ik heb nog wel wat (kale) printjes, als je er in geïnteresseerd zou zijn.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
naftebakje schreef op zaterdag 25 april 2009 @ 14:09:
[...]
Dat spaart breedte van de print, en is veel gemakkelijker te routen (pad is nu een stuk van een baantje, en de baantjes lopen in de lengte van de board).
[...]
Op de wiki over dmx staat dat men hogere refreshrates haalt door minder adressen door te zenden (stoppen aan 256 ipv 512 bijvoorbeeld geeft ~ dubbele refreshrate), maar ik denk dat ze in deze gewoon ietsje sneller zenden (zodat ze "toevallig" synchroon met het net lopen, is mss om een of andere reden eenvoudiger?).
simplendi schreef op zaterdag 25 april 2009 @ 20:26:
Professionele controllers zenden gewoon 512 kanalen op 50 Hz door. Er wordt dus niet bezuinigd op de adresruimte. Zover ik weet heeft deze 50Hz niks te maken met het lichtnet (De controllers in Amerika lopen ook op 50Hz zover ik weet)
Heeft iemand toevallig een of meerdere voorbeelden van apparaten die dat doen, dan kan ik de manuals eens opzoeken.
50Hz kan je met 512 kanalen niet halen door de Break in te korten dus dan zullen ze een hogere baudrate gebruiken. (+/-283K als ik het even snel uitreken met de minimale breaklengte)
Ik moet de baudrate foutmarge berekeningen voor mijn uC maar eens doen, misschien is 50hz ook haalbaar

Maar als iedereen zich gewoon aan de standaard zou houden zou het voor mij een stuk makkelijker zijn. :P
En nog een opmerking over problemen met DMX als de PC zwaar belast wordt: waarom gebruikt men eigenlijk geen µC met voldoende RAM geheugen (>512 bytes), die kan dezelfde data blijven verzenden zolang er geen nieuwe data van de PC komt, en je hoeft enkel de veranderingen door te sturen (adres xx naar waarde yy lijkt me minder data dan constant de volledige dataset).
De open enttec dmx-usb interface is zoals hierboven al gezegd is alleen een ft232bm met een rs485 converter erachter, maar daar heb ik niet echt problemen mee.
Ik heb code voor het ontvangen van DMX en code voor het verzenden van DMX, misschien kan ik die bij elkaar gooien in een atmega88 om een DMX (data)buffer te maken.
(ik kan ook de WDT in de ontvangers aanpassen zodat ze langer zonder signaal kunnen,maar dat is cheaten ;))

De uDMX interface heeft juist wel een uC (atmega8) aan boord. Die interface buffert de data wel, maar is degene die niet snel genoeg lijkt te gaan. De atmega gebruikt de AVR-USB code voor de usb->uC communicatie).
Ik heb al een beetje naar de code gekeken, maar mijn C is nogal roestig dus daar moet ik nog wat beter naar kijken om zien hoe dat precies werkt.
Hoe het met de pc drivers voor de uDMX zit weet ik niet precies. Ik dacht dat die werken op de manier die naftebakje omschrijft, maar dat Freestyler toch automatisch 512 kanalen uitstuurt.

Acties:
  • 0Henk 'm!

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik hoor graag of het werkt.
Wat voor setup heb je in gedachte?
Als je overweegt de dubbelzijdige print te maken dan zou ik nog even wachten, ik heb een nieuwe versie die wat beter is, maar ik wil er eerst nog even een werkend exemplaar van maken voordat ik die online zet.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik ben bezig geweest met het maken van een nieuwe versie van mijn dubbelzijdige prints, maar ik heb nog wat twijfels over de kwaliteit daarvan. (ik ga er even vanuit dat je het over de dubbelzijdige variant hebt)

Ik heb er ondertussen 6 nieuwe printjes van gemaakt, en een deel daarvan heb ik na het solderen eerst moeten 'debuggen' voordat ik ze werkend kreeg. Vooral de fetjes zijn nogal fragiel, en er moesten na het solderen meteen al een paar vervangen worden (dat kan ook aan mijn soldeerskills liggen, ondanks dat ik er erg voorzichtig mee ben geweest). Gelukkig zijn die dingen bij de led actie van Niels maar €0,025 per stuk dus dat valt dan wel weer mee.

Omdat ik ook de ambilight software van vandeGerrit probeer te testen (zie het diy ambilight topic) hangt mijn moodlight er nu een beetje sneu bij omdat ik daar een paar ledstrips voor gebruik. Ik heb een paar nieuwe ledstrips besteld, en ik was van plan om daar op te wachten voordat ik verder ga met testen.

Printjes leveren zit er dus voorlopig nog niet in. Mijn ets-methode ('in scannerbak gemodde gezichtsbruiner' voor belichting en au-bain-marie verwarmde natriumpersulfaat) is ook niet echt een garantie voor geslaagde printjes (vooral omdat het dubbelzijdige printjes zijn), dus als ik de losse ontvanger printjes zou leveren dan worden dat dus exemplaren die van een pcb-boer komen, en daar moet (wil) ik dan eigenlijk weer een heel nieuw ontwerp voor maken.

Maar als ik printjes ga laten maken dan ga ik denk ik voor de ledstrip met ingebouwde dmx ontvanger die ik heb ontworpen. Dat ontwerp bestaat alleen nog op tekening, daar heb ik het basis circuit nog niet van getest (ik verwacht geen problemen, ik heb alleen nog geen zin gehad mijn code over te zetten zodat het op een atmega88 draait )
Die ledstrips kan ik sowieso niet zelf maken, dat moet ik door een bedrijf laten doen (de print is te lang voor mijn lichtbak, en ik kan geen via's maken die onder ic's moeten komen)
En als ik pcb's laat maken, dan wordt de eerste lading sowieso een test-batch. Als daaruit blijkt dat het een geschikt ontwerp is, dan wil ik pas gaan denken over eventuele levering aan anderen.

Als je ze netjes weg zou kunnen werken is een aangepaste versie van mijn gaatjesprint ontwerp misschien een optie. Aan te raden aanpassingen zijn dan:
- geen extern xtal
- hardware pwm gebruiken, misschien met Fets
- ander manier van aansluiten

[nogvoorhetpostenedit]
Ik heb even naar het ontwerp gekeken, en het lijkt me wel haalbaar
Dit is het resultaat na 5 minuutjes beunen
Disclaimer Ga dit niet meteen kopiëren want ik weet niet eens of ik de footprint van een to92 fet goed gegokt heb

Als jij (of iemand anders) echt interesse hebt in het gaatjesprint ontwerp wil ik er wel tijd in stoppen, zodat ik van dat ontwerp ook een nieuwe versie heb.
(met misschien ook een 7805 aan boord zodat het aansluiten wat makkelijker wordt)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
De attiny2313 heeft 4 hardware pwm pinnen ( OC0A, OC0B, OC1A, OC1B) mijn ontvangers gebruiken er maar 3, maar die 4de is makkelijk te activeren.

Meer dan 4 kanalen kan met een attiny2313 alleen icm de software-pwm.
Je kan die ULN dan met wat knip en plak werk in de code makkelijk aansluiten op portb. (als je 8 kanalen nodig hebt kan je een ULN2803 gebruiken)
De pinnen van portd (behalve Rx natuurlijk) moeten ook te gebruiken zijn, maar ieder kanaal dat je toevoegt gaat ten koste van de PWM frequentie. (een combinatie van bv 3 hardware pwm kanalen en 3 software pwm kanalen in één device zou misschien ook nog kunnen werken, dat heb ik eigenlijk nog niet getest)

Voor de ledstrip, waar ik het in mijn vorige post over had, had ik een atmega88 in gedachte. Die heeft 6 hardware pwm kanalen en qua prijs scheelt het niet veel met een attiny2313. (iig goedkoper dan twee keer een ontvanger met een attiny). Zoals ik zei moet ik de code daarvoor nog even omzetten, maar dat zal niet zo veel werk zijn dat zal ik binnenkort even doen, dan kan ik dat meteen testen (zal maandag iig wel gedaan moeten zijn).

Die ULN kan je ook gebruiken voor de hpwm variant.
als je bv in het gaatjesprint ontwerp het kristal en de c's weglaat, de attiny op 8Mhz laat draaien, en de OC0A,B en 1A pinnen aansluit op de ULN zou je ook gewoon de hpwm .HEX moeten kunnen gebruiken.

Als ik die code voor de atmega88 af heb, dan zou je die kunnen gebruiken, en dan 6 hpwm kanalen door één uln2003 kunnen sturen.


Misschien moet ik ook maar eens kijken of ik avr-gcc kan misbruiken om device afhankelijke code te genereren.

Acties:
  • 0Henk 'm!

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op zondag 19 juli 2009 @ 11:38:
Ik had net even die zipfile gedownload met alle schema's enz. Nou valt me op dat er bij de hardware PWM schema's geen kristal meer in staat. Ik zie ze ook niet op je printjes. Zijn deze bij hardware PWM niet nodig? Laat je de uC gewoon op de standaard 1MHz lopen?
Bij hardware pwm is het niet nodig om een extern kristal te gebruiken. De attiny moet wel op 8 MHz gezet worden.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik heb m'n code nu ook werkend op een atmega88, voor 2x (3 kanalen pwm + master dimmer)
De code voor de attiny was niet meteen te compilen voor de atmega, sommige registers liggen bv. buiten hebt bereik van de in en out instructies, dus moesten er wat dingen aangepast worden.
Ik heb nog niet gekeken naar wat een handige pinout voor op een print is, en ik moet alles nog uitwerken, maar het schema valt wel te raden. De source enzo stop ik in de update als ik die eindelijk eens af heb. Als iemand in de tussentijd interesse heeft in een .HEX voor de atmega88 dan wil ik die wel uploaden. (en eventueel recompilen voor een handige pinout)

Ik kwam ook nog een foutje tegen.
In de v1.0 hpwm asm staat dit:

code:
1
2
3
4
5
INIT_WDT:                           ;Watchdog timer setup       (modified from attiny2313 datasheet)    
    WDR                         ; Start timed sequence
    in Temp1, WDTCSR
    ori Temp1, (1<<WDCE) ;| (1<<WDE)        ;Enable wdt change bit
    out WDTCSR, Temp1


Met een de attiny viel het probleem niet op, maar er staat een verdwaalde comment, want volgens de datasheet moet de WDE bit altijd als 1 worden weggeschreven, dus de ORI instructie moet dit worden:
code:
4
ori Temp1, (1<<WDCE) | (1<<WDE)     ;Enable wdt change bit


Zonder die aanpassing schakelde mijn atmega steeds tussen de kanaalwaardes en de 'geen signaal' waardes
Anoniem: 228838 schreef op zondag 19 juli 2009 @ 22:03:
Waarom ben je in je queeste voor kleiner nog niet overgestapt op een tiny25? De 6 i/o pins lijken mij voldoende voor jou toepassing? De pinout voor hardwarematige PWM is dan misschien wat onhandig maar daar is volgens mij softwarematig wel een mouw aan te passen (met een interrupt op een timer). Ik zou daarbij overwegen om de module selfprogramming mogelijkheden te geven, misschien heb je daarvoor echter ook transmit nodig ...
Ik ben begonnen met een 2313 omdat ik daar al wat ervaring mee had, en omdat het de enige normale attiny is met een echte USART. Ik ben met het schrijven van de receiver gegaan voor een makkelijke copy-paste routine die ik voor meerdere dingen kon gebruiken, en niet gehinderd door uitgebreide uC kennis heb ik besloten dat de USART voor mij een goede oplossing was. Met de receiver code en het formaat ben ik nu wel tevreden, voordat ik met dit project begon gebruikte ik alleen nog maar gaatjesprint, nu maak ik dubbelzijdige printjes en gebruik ik het liefst alleen nog smd componenten. 'Kleiner' is me denk ik wel gelukt ;)

laatst had ik zelfs een printer-storing omdat er een verdwaalde ontvanger in het loopwerk terecht was gekomen :+ .

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op woensdag 29 juli 2009 @ 22:54:
Zo, ik heb vandaag even een brakke USB DMX unit in elkaar gezet. Zit nu op een gaatjesprint, maar moet er nog een keer een fatsoenlijk printje voor ontwerpen...

Eerst eens zien dat ik nu een aantal ontvangers krijg. Kan ik een beetje gaan testen.
Ik ben benieuwd of mijn systeem een beetje reproduceerbaar is.
Wupgup schreef op donderdag 30 juli 2009 @ 11:44:
Ook ik ben ermee bezig :). Mijn zender zit helemaal in elkaar op een zelfgemaakt printje en *lijkt* te werken.
Tot nu toe staat de ontvanger op een breadbordje, maar nog geen succes ermee...
Als je een ledstrip (of losse leds) hebt aangesloten dan kan je daar misschien wat informatie uit halen.
Ik weet even niet meer wat er precies in zit qua fout detectie, maar een RGB ledstrip moet sowieso eerst een paar tellen op groen gaan, daarna:

- Op geel als er geen goed DMX signaal wordt ontvangen.
- Knippert rood als er iets mis met het ingestelde DMX adres (hoger dan 512 bv).
- Als de leds weer uit gaan ontvang je wel een signaal.

Wat is je gebruikte hardware/software? (een foto kan ook helpen)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Wat bedoel je met verschillende kleuren? en gebruik je de freestyler fixtures uit de .zip of andere?

Dat je geel krijgt als je Freestyler afsluit is een goed teken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Wupgup schreef op donderdag 30 juli 2009 @ 14:18:
Ik gebruik de freestyler fixtures uit de zip, maar zodra ik freestyler opstart wordt mijn ledstrip oranje terwijl alle 3 kanalen op 0 staan. En hij gaat dan soms ook naar groen en dan weer terug naar oranje...

Hij moet toch standaard beginnen op kanaal 1 (t/m 3)?

edit: het kan sowieso kloppen dat de kleuren anders zijn dan bij jou iv.m. een andere ledstrip ;).
Het standaard startaddress is idd 1.

Het probleem komt me niet bekend voor, heb je het het ondertussen al werkend gekregen?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Als je een goede detail foto maakt kan ik proberen te kijken of er iets mis is met je schakeling.

Weet je zeker dat je fuses goed staan?

Je kan ook even langskomen op het #elektro kanaal van irc.tweakers.net http://irc.tweakers.net/elektro.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Hier staat een handig fuses calculator:
http://www.engbedded.com/fusecalc/

Zo heb ik de fuses staan voor de software pwm met 20 Mhz kristal
Je moet wel even opletten want bij de fuses is een 0 geprogrammeerd en een 1 niet geprogrammeerd (ofzo, het is voor mij ook een beetje onduidelijk)

Controleer dus of de waarde van de byte die onderaan staat hetzelfde is in je programmer software (De high byte hoef je niks aan te veranderen.)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Dat is geen high voltage parallel programmer.

Als je de fuses goed hebt gezet dan reageert de attiny ook niet als er iets mis is met de aansluiting van het kristal, dus dat kan je ook nog controleren.

Als in de fuses alleen de clocksource fout staat, dan zou het kunnen dat je hem weer tot leven kan wekken met je USBASP als je of een horlogekristal of een extrene clock aansluit.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Je hoeft alleen de low fuses te veranderen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Wupgup schreef op dinsdag 11 augustus 2009 @ 11:55:
Nu ik de 2 condensatoren van het kristal vervangen heb werkt het helemaal :).

Binnenkort even kijken of ik wat onderdelen uit China kan bestellen en eventueel daar printplaatjes ga laten maken.

Bedankt voor de hulp allemaal ;).
Mooi om te horen dat mijn resultaat ook daadwerkelijk reproduceerbaar is :)
remco_k schreef op dinsdag 11 augustus 2009 @ 12:39:
[...]

(Late reaktie op een post uit april...)
Als dat zo zou zijn, is dat vragen om problemen. Hoewel de meeste fixtures het misschien gewoon snappen.
Ik heb nog nooit een DMX tafel of controller gezien die een DMX packet met 512 kanalen sneller stuurt (of kan sturen) dan de c.a. 23 msec die de specificatie voorschrijft. Ik moet er dan wel bijzeggen dat ik er ook nooit naar heb gezocht. :P
De enige goede (en compatible) manier om een packet sneller te sturen is om minder kanalen te sturen (gewoon opnieuw beginnen met het sturen van de packet na X kanalen):
256 -> c.a. 12 msec
128 -> c.a. 6 msec
...

Ik geloof dat het minimum op 8 kanalen ligt. De meeste DMX interfaces (waaronder ook de Enttec USB DMX pro) kunnen dit.

In FreeStyler is dit in te stellen bij sommige interfaces, waaronder ook de Enttec USB DMX Pro.
En op het FreeStyler forum is er ook een hoop over te vinden.
Ik heb een tijdje terug de handleiding van die Martin MAXXYZ doorgelezen, en bij dat ding kan je de DMX-out een beetje tweaken, Ik denk voor het geval de ontvangers het signaal niet goed begrijpen. Maar de eerder genoemde 50 HZ bij 512 kanalen lijkt me nogal buiten de DMX specificaties vallen, het lijkt me ook dat er dan minder kanalen verzonden worden.

De standaard settings van dat ding zijn zelfs ietsjes trager dan de minimale specificaties door langere Marks en Breaks (als ik er vanuit mag gaan dat de 'channel time' de lengte van één bit is)

wikipedia heeft het over een minimum packet length van 24 kanalen. (maar dat is wiki dus het kan ook een rare typo of gewoon fout zijn ;) )
En dan nog iets, preventief: Velleman heeft een USB kit, de VM-116 / K8062.
Gebruik die absoluut niet. De kit is dusdanig slecht/traag ontworpen, dat het uitsturen van een DMX packet met 512 kanalen met 512 waardes boven 0, zomaar 600 msec (!) kan duren. Minder waardes boven 0 maakt het sneller (256 boven 0: 300 msec ,....) (Getest, en zeker weten niet de oorzaak van de PC of andere hardware, heb zelfs de driver van de Velleman interface herschreven om dit probleem te testen / tackelen, dat laatste bleek niet mogelijk omdat de interface zelf zo traag is)
Dat ding heb ik snel weer de deur uitgedaan en de Enttec USB DMX Pro aangeschaft.

De eerder genoemde Enttec USB DMX Pro buffert inderdaad zelf en "garandeerd" zodoende een compatible DMX protocol, wat je software verder ook doet.
Ik heb ook niet veel goeds gelezen over dat velleman ding.

Heeft iemand de onderstaande interface al eens getest?:
http://www.elektor.nl/art...512-interface.54132.lynkx

  • Anthor
  • Registratie: Juni 2002
  • Niet online
oeps dubbelpost :P, maar voor de mensen die overwegen iets met dmx te doen:

Op samenkopen.net is er weer een freeduino actie open. Met deze en deze van de ftdi subactie heb je de USB basis voor een DMX interface die compatible zou moeten zijn met een entec openDMX-usb. Er moeten dan alleen nog een componentjes en een max485 ic bij, voor een goedkope interface.

Ik heb het een tijdje terug getest met een bordje uit de vorige actie, en mijn ontvangers reageerde iig op het signaal. Ik dacht dat de ft232rl compatible was met de drivers van de ft2323bm die in de originele entec open usb dmx zit, dus er zouden geen problemen moeten zijn.


Mijn bestelling uit china is nu ook binnen, dus ik kan binnenkort weer eens verder met dit project.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
De ontvangers zitten aan de ledstrips met standaard haakse male en female headers. ik heb ze of bij dickbest of bij voti gekocht, maar je kan ze ook bij de Led actie van Niels op SK kopen.

M'n moodlight heeft twee vastgeklemde aders installatiedraad in de kabelgoot, met om de zoveel cm een vastgesoldeerde aftakking. Het ontwerp in de zipfile heeft 2x4 haakse headers voor de aansluiting, maar ik gebruik maar 4 pinnetjes voor spanning en data. (opletten bij het aansluiten, zeker bij de versie in de zipfile kunnen er dingen stuk gaan. sowieso is het verstandig de 1206 0R0 weerstand (draadbrug) te vervangen door een LL41418 diode )



M'n ambilight heeft een standaard netsnoer van een of ander apparaat, met aftakkingen door snijklem koppelingen voor de stroomvoorziening.
De data kabel is bij beide één twisted pair uit een UTP kabel, met c-grid stekkertjes.



Maar in m'n nieuwe ontwerp heb ik de stekkertjes aangepast. ik heb nu een paar ontvangers waar de los gesoldeerde connectoren van de ledstrips op moeten. Ik heb nu de 4 aderige bandkabel van de bovengenoemde actie, maar helaas is er iets misgegaan met de losse connectoren die ik besteld heb, dus ik heb het nog niet aangesloten.

Ik heb gisteren nog het schema gemaakt voor een interface met het ftdi breakout bordje waar ik het in mijn vorige post over had.


klikbaar

Met de breakout board op bus-powered werkt dit iig vanaf een breadboard

Ik heb geprobeerd een self-powered variant te maken samen met nog wat dingen op eem gaatjesprint. Vanaf breadboard werkte het nog, maar na het solderen herkent mijn pc het bordje niet meer |:(
Dat breakout-bordje was al eens gerepareerd, maar misschien niet goed genoeg. Helaas heb ik hem vast moeten solderen wegens ruimte gebrek in de beoogde behuizing, dus ik kan alleen nog bij de bovenkant.Ik hoop dat ik hem nog aan de praat krijg, want ik was bezig om eindelijk eens alles netjes weg te werken in een kastje waar usb en voeding enzo bij elkaar komen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik heb nog geen plannen voor, ik wil eerst eens het project een update geven (vernieuwde ontwerpen, software. etc.)

Ik ben nu ook een beetje bezig met een eigen gebufferde usb interface, waar ik het uC gedeelte waarschijnlijk al van af heb (kan het niet controleren omdat ik geen logic analyzer heb)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
In Ponyprog:


Vanaf de factory-settings hoef je allen de CKDIV8 te veranderen (uit te zetten)

Hier staan de preciese settings in de Fuse calculator op engbedded.com(handige tool)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
dj_dysaster schreef op donderdag 10 september 2009 @ 09:02:
Na het lezen van dit project heb ik besloten om aan de hand van jou schema`s en tekeningen een testsetupje te gaan maken. Zaterdag ga ik op mn werk even de printjes etsen en indien de onderdelen er zijn, de boel bestukken.

* dj_dysaster heb der zin in :+
Was je van plan om de dubbelzijdige print te maken?
Zo ja, dan heb ik een verbeterd ontwerp. stuur maar een DM als je interesse hebt.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
ziporah schreef op zondag 13 september 2009 @ 22:00:
Hey Anthor,

kan je ook een package voor de servo controller ter beschikking maken ?
Dit zou ook wel leuk zijn als ik hier een beetje mee kon spelen.
De firmware vind ik nog niet goed genoeg om openbaar te maken, de servo's schokte een beetje iirc. Die dingen hebben nogal wat te lijden gehad toen ik die led blinker voor de contest heb gemaakt, en ik wil eigenlijk een paar nieuwe servo's hebben voordat ik daarmee verder ga. (ik heb de servo's ook nog niet los gehaald, omdat ze onderdeel zijn van de constructie)

Misschien weet er iemand nog een leuk adresje voor mini rc-servo's?
Ik heb trouwens de freestyler ook aan het werken met mijn oksidizer dmx interface.
Hij neemt alleen redelijk wat cpu (maar dat kan zijn omdat hij in vmware draait)

Om de intensiteit van je strip te regelen heb ik trouwen een leuk trucje, je zet gewoon een 4Ch lpar op hetzelfde kanaal als je rgb strip en freestyler laat je toe om de global fade te gebruiken om de intensiteit van je strip te regelen.
Kan je dan ook faden als je niet een sequence afspeelt in de cue?
Ik gebruik zelf al wel firmware voor de ontvanger met een apart dimmer kanaal, met bijbehorende fixture file voor in freestyler, daarmee kan ik ook de master instensity gebruiken, maar niet als ik geen sequence afspeel.

Als iemand het wil hebben om het alvast te testen staat hier een zipje met de v1.1 firmware voor hardware pwm en de freestyler fixture die ik nu gebruik (RGBM kanalen).
Momenteel heb ik 2 strips aan mijn universe hangen, samen met 2 professionele dmx rgb pars en de kleuren komen volledig overeen. Nu alleen nog wat extra scrapdmx'jes maken, zodat ik mijn 3e strip en mijn kleef-led-strip ook kan gaan uitproberen.
Ik heb nieuwe ledstrips voor mijn ambilight (de 5060 variant van niels), maar deze geven veel meer groen licht dan mijn oude ledstrips (zelfde type) heeft iemand anders hier ook last van?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
@dj_dysaster
Ik dacht dat je de dubbelzijdige printjes al gemaakt had.
Die versie die jij gemaakt heb is de versie waar ik het minst aandacht aan heb besteed tbh.

En over de fetjes:
Daar had ik eigenlijk geen goed beargumenteerde rede voor. Het leek me gewoon beter (mede door wat ik hier in [EL] allemaal gelezen heb over fets).
DP Kunst schreef op zondag 20 september 2009 @ 01:14:
[...]

Mini RC servo's zijn goed te vinden. Bijv op DealExtreme , HobbyKing of R2Hobbies.

Wat bedoel je met RGBM ? Rood, groen, blauw en ...? Ben daar wel benieuwd naar. MIsschien nog een extra kanaal voor wit, voor flitsen ofzo.
De M staat voor master, maar het kan ook dimmer, intensity o.i.d. genoemd worden.
Het kanaal zorgt ervoor dat je kleuren kan dimmen zonder dat je elk kanaal apart weer met instellen om de kleur te behouden.
In de firmware is het gewoon de twee bytes vermenigvuldigen, en de lower byte van het 16-bit resultaat weggooien.

Voorbeeldje: Als de kanaal waardes 42,211,94, 255 zijn, dan heb je een lichte kleur groen. Als je dan alleen het vierde kanaal gebuikt om te dimmen krijg je automagisch zoiets:

255247239231223215207199191183175167159151143135
12711911110395877971635547393123157


Een extra strobe kanaal heb ik ook aan gedacht, dat moet opzich ook wel te doen zijn, maar voor thuis verlichting is het niet de eerste prioriteit.

Qua servo's dacht ik aan deze:
http://www.dealextreme.com/details.dx/sku.12859 en http://www.dealextreme.com/details.dx/sku.20022

Voor die prijs verwacht ik er niet te veel van, maar een simpel spiegeltje of ledje moet er wel mee te draaien zijn denk ik. Ik had al een paypal account aangemaakt en was van plan er binnenkort een paar te bestellen. (Goed nieuws voor ziporah dus ;) )
Maar nu moet ik ook nog even kijken of het nog in prijs/kwaliteit scheelt bij die andere shops, de verzendkosten vallen wel mee.

Ik heb ook nog het onderstaande printje gemaakt voor mijn display, zodat ik weer wat vrije breadboard ruimte heb:


Bovenaanzicht van de print. De IC met uitroepteken is een attiny2313 waarvan ik alle pootjes heb omgebogen, zodat hij belly-up in de socket kon. Dat scheelde een hoop geëtter met bij het maken van de print layout.
(het doel was eigenlijk om zoveel mogelijk through-hole componenten gebruiken, maar ik bedenk me net pas dat ik gewoon een smd attiny had kunnen gebruiken :X)


De onderkant is voorzien van een laagje greencoat


Een electronica sandwich met mijn print en een standaard 4*20 LCD schermpje


En het resultaat is een apparaatje dat makkelijk DMX waardes kan uitlezen. Verder niet zo boeiend, behalve als je bezig bent met testen enzo.

Nu moet ik nog even kijken of en hoe ik dit netjes in een behuizing ga krijgen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Misschien heeft de organisator van deze actie nog wat liggen. Ik heb er zelf een buiten de actie om besteld, maar die heeft wat kuren tbh, (ik heb heb op dat forum niet veel slechte dingen gelezen, dus je kan het proberen).

Ik gebruik zelf deze: http://www.circuitsonline...oller/avr-programmer.html
edit:
ik had er even overheen gelezen dat je ook geen par-poort meer hebt

[Voor 9% gewijzigd door Anthor op 20-09-2009 16:33]


  • Anthor
  • Registratie: Juni 2002
  • Niet online
Over pcb's laten maken:
Op het moment heb ik (behalve bij de open dmx-usb) er nog copyright boven staan omdat ik er nog niet helemaal uit ben wat ik er mee wil.
Ik dacht dat ik dit, en dat iedereen het voor het voor thuis-gebruik mag namaken, in de startpost had gezet, maar dat zal tijdens het tijdens het maken van de TS zijn weggevallen.

Een georganiseerde inkoop zie ik nog niet zitten. Ik heb zelf ook nog wel eens dat een vers gesoldeerd printje niet meteen werkt. En ik vraag me soms nog af of het ontwerp wel goed genoeg is.

@ziporah
Gebruik je een variant met een uln2003? want de 2n7002 fetjes gaan 4 meter flexstrip niet trekken

@DP Kunst
Bedankt voor de tip. er zijn nu 10 van deze onderweg

@dj_dysaster
De attiny moet op 8 Mhz. Heb je in de fusebits de ckdiv8 uitgezet? (zie een eerdere post van mij in dit topic)
Waar in de code zie je dat hij op 4Mhz moet draaien?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Deze ontvangers heb ik alleen getest met de 5060 ledstrips van niels. De fluxledstrips zouden geen probleem moeten die hebben wat minder mA nodig. Misschien moet ik maar eens een fail-test doen.

Ik ben vandaag voor minder ledjes per ontvanger gegaan. Onderstaande foto's zeggen genoeg denk ik:





Een nieuw ontwerp voor een printje met bv een atmega88 zou beter zijn omdat daar al 6 hardware pwm kanalen opzitten, dit is een beetje verspilling tbh.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik heb het even teruggezocht, en ik heb deze 3 gebruikt:
http://www.conrad.nl/goto.php?artikel=144711

http://samenkopen.net/action_product/411553/326207
Hier staat er alleen 78L05 op de package
(deze zit ook op de testprint van de versie in jouw foto)

http://nl.farnell.com/stm...05/dp/1366573?Ntt=1366573
Met een code waarvan ik denk dat er 8C818 staat. die eerste 8 zou een B kunnen zijn en de 1 een L
8C levert een NJM78L05A op in dit smd code tabel.

Die laatste heeft dus wel een A, maar Ik kan me niet herinneren dat ik een andere pin-out tegen ben gekomen dan KQ in dit plaatje:



Maar het zou wel verklaren waarom er een ontwerpfout in mijn eerste paneeltje met ontvangers zat (zie TS) ;)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Hoe zit dat dan met die dioder strips?, ik had begrepen dat het het rgb strips waren met gezamenlijke Gnd ipv 12V

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Weet je toevallig ook wat ze per kleur aan mA nodig hebben? (zonder de controller ertussen)

als groen en blauw zijn omgedraaid kan je in de source van mijn v1.0 versie dit:
.equ PWM_GREEN = OCR0A
.equ PWM_BLUE = OCR0B

veranderen in dit:
.equ PWM_GREEN = OCR0B
.equ PWM_BLUE = OCR0A

en als je dat compiled en flashed dan hoef je de draadjes niet om te draaien.

Het moet niet moeilijk zijn om net als het startadres in het laatste stuk program memory een config voor de RGB volgorde te zetten. lijkt jullie dat handig? want dan kan ik kijken of dat in de 1.1 versie erbij kan.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Die C heb ik toegevoegd om eventuele stroompieken op te vangen, de waarde is denk ik niet erg belangrijk.
In m'n smd ontvangers gebruik ik 1uF omdat dat de grootste waarde is die ik (in 0805 formaat) in huis heb. Als je er genoeg ruimte voor hebt kan je er een grotere in zetten, 100 uF lijkt me wel genoeg

  • Anthor
  • Registratie: Juni 2002
  • Niet online
dj_dysaster schreef op zaterdag 21 november 2009 @ 19:42:
Anthor, ben je nog bezig met dit project? Ik ben benieuwd of je je plannen voor een "master" kanaal nog geimplementeerd hebt, aangezien ik daar ook naar opzoek ben.

De huidige opstelling draait voor als nog prima (2 strips) en ik ben van plan nog 4 modules bij te maken met de master functie.
Het project stond de laatste tijd op een laag pitje omdat ik tussendoor iets anders moest doen, maar dat is nu af.
Het master kanaal gebuik ik zelf al een tijdje. Als je de firmware alvast wil hebben moet je even een PM sturen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op woensdag 30 december 2009 @ 19:50:
Ik ben er na lange tijd ook weer even mee bezig. Is er een reden waarom OC0B gebruikt wordt ipv OC1B. Want het is namelijk veel makkelijker om een PCBtje te ontwerpen als pin 14,15 en 16 gebruikt worden ipv 12,15 en 9...
Ja, het was makkelijker een smd printje te ontwerpen met die pin layout ;)

voorzover ik zo snel even kan zien hoef je alleen de .equ's, TCCR0A en TCCR1A aan te passen om andere pinnen te gebruiken.

Ik heb overigens voor kerst een oude DMX t-bar gekregen, daar ga ik dus ook nog mee aan de slag.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Dat ziet er netjes uit, maar voor extra beveiliging zou ik een een diode tussen 12V en de spanningsregelaar zetten, en de pinout zo veranderen dat de dmx lijnen in het midden zitten, dan zet je niet 12V op de MAX als je de stekker perongeluk verkeerd om aansluit.

En als je de strips door gaat lussen, dan zou ik de verbindingen tussen de 12V en de Gnd bij de header zo dik mogelijk maken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
@DP Kunst

Die layout ziet er mooi uit. Ik heb mijn ontwerp niet zo compact gekregen omdat ik ze zelf ging etsen, en dan geven de via's onder ic's problemen.


@Stoney3K

Hier loopt ook weer een ledstrip actie: http://samenkopen.net/action_products/531177

€12,95 per meter, voor flexibele rgb strip die lijkt op die van J&H.
Nu zijn ze uitverkocht, maar ik denk dat er tzt wel weer een nieuwe actie komt.

Deze pcb ledstrips zijn zo goedkoop dat dat je voor dat geld de losse ledjes niet bij de SK actie van Niels kan kopen. (als die vergelijkbaar zijn).
Die strips zijn denk ik wel te zwaar voor de m'n ontvangers met 2n7002 fetjes, dus die moeten doormidden.
Volgende actie bestel ik er misschien ook wel een paar.


Ik heb voor oud en nieuw een soort moodlight (mood = feest ;)) gemaakt voor showtje:
http://www.youtube.com/watch?v=_acVdM3B56E

Het zijn 6 segmenten van fluxledstrip (losse r,g en b leds), die ik aan elkaar gelijmd heb. Het was buiten niet echt een succes, ik hoopte op mist/smog/rook maar dat was er niet.
Maar de controllerprint met atmega88 heeft bij de rx pin toevallig wat ruimte vrij in de vorm van een max485 foorptint.

Als het lukt om alles mooi te software-pwmmen icm DMX dan heb ik een ontwerp voor een dmx bordje dat 6 ledstrips aan kan, en dan kan je bv een ambilight systeempje maken met 'send the light' met maar 1 printplaat.
De 'sequencer' lijkt me ook bruikbaar in een dmx zender. of als stand-alone optie in de interface waar ik mee bezig ben geweest.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
De DMX simpelste dmx interfaces zijn idd een usb-rs232 convertor met een max485 oid erachter.
Normale rs232 poorten zijn te langzaam, maar de usb converters kunnen wel de 250 KBaud aan die voor DMX nodig is. Als je een ft232rl of ft232bm gebruikt, dan zouden alle DMX programma's die een enttec open usb dmx ondersteunen daar mee moeten kunnen werken. (schema's staan al in dit topic)

Ik heb zelf al een ontwerp voor een ledstrip van 29 cm met 12 (2x3 kanalen) leds en een atmega88 (48 zou ook kunnen, maar die kom ik minder vaak tegen bij webshops e.d.)
Die strip heeft ook een aangesloten Tx lijn (net als bij dp kunst), en die zou dus ook dienst kunnen doen als master voor 512 kanalen. Bij die strips heb ik de power en signaal connectors aan beide kanten gezet, zodat je ze net als normale ledstrips kan doorverbinden. Ik ben er alleen nog niet aan toegekomen die print te laten maken.

De software voor ledstrips op een '88 heb ik al af, maar ik moet nog iets controleren, ik dacht een tijdje terug wat raars te zien toen ik met m'n RGB + 2x Servo ontvanger bezig was.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik heb nog nooit een print laten maken, dus als ik die ledstrip printjes ga laten maken ga ik eens uitzoeken bij welke proto-toko ik dat het beste kan laten doen. In #Elektro zijn al verschillende bedrijven genoemd, dus ik weet nog niet welke het wordt.

Maar ik heb het nu even druk, als ik tijd heb zal ik als eerste naar die atmega88 code kijken.

Wat je precies met een tweede kanalen set wil snap ik niet precies, als je alles dezelfde kleur wil geven kan je dat toch gewoon in een dmx packet zetten?

Iirc stoppen mijn ontvangers nu met tellen als ze het laatste adres hebben ontvangen waarop ze geadresseerd zijn. Het idee erachter is dat ze dan makkelijker om kunnen gaan met DMX zenders die minder dan 512 kanalen versturen, maar of dat daadwerkelijk help weet ik niet ;)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Heb je voor die interface de usb dmx het schema van enttec gebruikt?
Met die afmetingen kan je er aan denken het geheel nog iets kleiner te maken zodat het in een XLR stekker past.

Die atmega code komt er aan, ik heb nu weer tijd.
Ik heb de code al even bekeken en een mogelijk probleem gevonden.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik moet bekennen dat ik me er nog niet toe heb kunnen zetten om er mee verder te gaan.
Ik zag wel dat er (eindelijk) een nieuwe RC van kicad beschikbaar is. Met met de laatste kicad versie had ik wat problemen in m'n ontwerp, ik hoop dat die nu opgelost zijn. (o.a. de boorgaten in m'n groundplane werden niet normaal geprint)

Kicad kan ook gerbers maken, wat je er voor moet doen om een goede set bestanden te krijgen weet ik niet precies, daar heb ik me nog niet echt in verdiept.

Als je zo'n usb kit van Voti hebt (zie startpost) kan je denk ik makkelijk een ontwerp maken voor een open usb-dmx op een gaatjesprint. Misschien kan je ergens op internet een ontwerp vinden, dat deel is wel opensource.
Voor het testen van de ontvanger is een breadboardje natuurlijk handig, maar er zit ook een ontwerp voor gaatjesprint bij de bestanden.


Ontvangers 'uitdelen' doe ik niet, als je interesse hebt in de ontvangers moet je ze zelf maken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Nice freeform :)

Ga jij ook een ambilight systeem maken met dmx ledstrips?

En heb je zelf gekozen voor attiny2313V's of heb je die toevallig ook gekregen van Niels terwijl je 'normale' had besteld?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ziet er netjes uit, wat kostte dat totaal?

Waarom heb je geen witte silkscreen gekozen? dat groen lijkt me minder mooi weg te werken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Heb je het ontwerp nog moeten aanpassen voordat je er een print van kon laten maken? en heb je de ontvanger al werkend gekregen?

Ik weet niet of je het al van plan was, maar de draadbrug tussen 12V en de spanningsregelaar kan je beter vervangen door een LL4148 diode. (of een normale 1n4148 er tegenaan solderen als dat past)

Zit er nou een FT232RL in TQFP formaat op die rs485 converter of lijkt dat zo?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
@DP kunst
Ziet er mooi uit, werkt het nu helemaal?

@rvbcrs
Bij freestyler zit een fixture creator, daarmee kan je zelf fixtures voor freestyler maken of veranderen, en dus ook de kleur aanwijzing van de kanalen.

Ik weet niet of sequences of cue's makkelijk uitwisslbaar zijn.
Makkelijk testen kan met DMX 400, een onderdeel van freestyler.

Hoe zit je opstelling er nu uit, en werkt het al?
- Heb je de weerstanden R9 - R11 uit het enttec schema (zie startpost) nog toegevoegd aan je usb -rs485 converter?
- Heb je de Gnd van de converter ook doorverbonden naar de DMX ontvangers?
- wat gebeurt er als je maar één ontvanger tegelijk aansluit?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
rvbcrs schreef op vrijdag 19 maart 2010 @ 14:27:
Ik zal eens kijken of ik met die DMX400 aan de slag kan, het lijkt allemaal wel goed te werken want er komt een signaal binnen op jouw dmx receiver bordjes tenminste ze gaan van geel (in standby) naar een kleur die ik in freestyler aangeef op het kleuren pallet, alleen lijkt het min of meer toevallig wanneer een kleur het doet, het is niet zo dat als ik rood kies dat de leds dan rood worden.
Springen ze tussen het kleuren veranderen door steeds op geel? want dat zou beteken dat het signaal niet goed overkomt. (als je pinout hetzelfde is)
Vanaf het moment dat freestyler begint met zenden moet die gele kleur verdwijnen en niet zomaar terug komen. (Als je dat laatste hebt kan het helpen de process priority van freestyler in windows te verhogen.)
Moet ik iets toevoegen aan die RS485 controller die ik heb van ebay? ik heb niet de Entec Open DMX he..
R9 - R11 uit het enttec schema in de startpost. Of op z'n minst een weerstand van ongeveer 150 Ohm tussen A en B. En op de foto zag ik dat je Gnd van je converter niet op de Gnd van de ontvangers hebt aangesloten, dat moet je ook doen.
Ik heb geprobeerd maar 1 ontvanger aan te sluiten en dan heb ik eigenlijk hetzelfde resultaat, hij staat geel te branden todaat ik in Freestyler iets van een kleur aanklik.. wat ik in feite doe is met mijn muis over het kleur palet heen bewegen en dan zo nu en dan zie ik de leds van kleur veranderen.

@All - Thanks voor de hulp alvast
Misschien een overbodige vraag, maar heb je de heb je de Clk div/8 fuse uitgezet in je attiny?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Staan de fixtures in freestyler goed ingesteld? (niet toevallig op overlappende adresen?)

En wat gebeurt er als je per kanaal waardes aanpast?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Je bent niet de eerste :)
Misschien moet ik maar eens een detectie voor dat probleem verzinnen.

Om een fixture te gebruiken in dmx 400 moet je eerst rechts-klikken op een fixture en een kanaal aanwijzen.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
M'n project mappen zijn een beetje een zooitje, maar ik denk dat dit een goede firmware is voor een attiny2313 met master kanaal. Hier staat een zipje met een nieuwe .Hex en een fixture voor freestyler.
Hou er rekening mee dat de ontvanger nu 4 kanalen gebruikt.

Ik moet nog even kijken wat ik nog af moet maken in de versie waar ook de pin-config in de hexfile staat.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik heb hier nog een print liggen met atmega88 die 6 ledstrips aanstuurt met software pwm, maar daar heb ik nog geen dmx ontvanger van gemaakt (wel wat ruimte overgelaten voor een max485 op de print). Dat moet wel lukken.
Maar tbh spreekt me dat niet aan, de opzet van m'n systeem was juist dat het enigszins modulair is en makkelijk aan een plafond te hangen is. Een print voor 6 ledstrips wordt al snel wat groter, en dan moet je weer extra lange kabels gaan trekken naar die ledstrips toe.
Voor een ambilight systeem (ipv moodlight) is het misschien wel iets handiger, maar daar zijn ook niet DMX oplossingen voor.

De code voor een atmega88 werkt al (2 ledstrips) en die ga ik ook beschikbaar stellen als die af is. (Dat wordt ook gewoon in ASM, C code voor dmx ontvangers moet wel te vinden zijn denk ik.) Maar de software voor de 2313 ontvanger is nu even de basis, en de wijzigingen daarin zorgen ervoor dat het even geen zin heeft om verder te gaan met de atmega88 code.
Als DP Kunst nog rare problemen met die software heeft wil ik daar nog wel naar kijken, en als iemand een .hex wil voor een atmega88 met 2 ledstrips aan de hardware pwm wil ik die wel compileren voor een bepaalde pinout.

Ik heb de atmega88 ontvanger alleen nog maar op een breadboard getest. Ik heb er dus nog geen mooi uitgewerkt schema voor. Een layout voor een ledstrip PCB ben ik mee bezig geweest maar die is nog niet helemaal af.

Maar het lijkt me het beste om eindelijk die nieuwe 2313 software eens af te maken.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
De 10SU is de low-power variant, die kan (volgens de specificaties) maximaal een 10 MHz extern kristal aan.
Maar als het goed is kan die op 5V ook gewoon op 8MHz draaien met de interne oscillator.

DP Kunst heeft er iig een werkende ontvanger mee gemaakt.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik ben gisteren druk bezig geweest met de nieuwe versie van de hardware pwm software voor de ontvanger (2313)

HIER staat een zip met de laatste (beta) versie van de nieuwe firmware en freestyler fixture.
Ik heb hem nog niet uitvoerig getest, maar het lijkt helemaal te werken.

Wijzigingen ten opzichte van versie 1.0:
• Master kanaal toegevoegd. (De rest is ook nieuw t.o.v. de alpha versie die ik laatst postte)
• Deel van de RGB code herschreven zodat de pinout te veranderen is, en om de code makkelijker om te kunnen zetten naar atmega48/88/168.
• Configuratie van vanuit .hex bestand voor:
• 'NoSignal' Kleuren (handig als je even snel verlichting aan wil zetten).
• Output Compare pinnen. Die zijn allemaal te koppelen aan r,g,b of master kanaal
(4 outputs tegelijk kan ook)

• Niet gebruikte pinnen zijn nu tri-stated.
• Als een kanaal op 0 staat zijn de leds nu helemaal uit. (maar daar wil ik nog een optie van maken).
• Een DMX address error schakelt nu alle geconfigureerde output compare pinnen.
• Bij verkeerde karakters in de .hex config van de outputs gebeurt hetzelfde als bij een adres fout, maar als het goed is knippert de fout geconfigureerde output niet.

note:
- Zet de address count in de .hex op 3 als je geen Master kanaal wil. Als je freestyler gebruikt moet je waarschijnlijk al je sequences opnieuw maken als je overstapt van de 3 kanaals ontvanger naar de nieuwe fixture.


En ik heb gisteren ook een werkende versie van een 6x3 kanaals software pwm ontvanger gemaakt.
Maar dat was een paar minuten knippen en plakken uit twee verschillende projecten dus dat is nog niet helemaal klaar voor een release :P

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik hoor graag wat de bevindingen zijn.

Ik had die drukte in dit topic ook even nodig om er weer eens wat tijd in te stoppen.
De nieuwe firmware is zo geschreven dat alles makkelijk naar code voor een atmega88 is om te zetten, wat ik binnenkort ook ga doen. (maar eerst even een atmega ontvanger op een gaatjesprint zetten, want ik heb breadboard-ruimte te kort)

Dit is het printje met de 6x3 ontvanger.



Het was oorspronkelijk een printje voor stand-alone licht en herrie, maar bij het maken van de layout had ik al rekening gehouden met een DMX optie. De ic's zijn: 2x uln2003, 1x uln2803, 1x max485(smd), 1x atmega88 en een 7805, niks bijzonders dus.

Een nadeel van het huidige ontwerp is dat de aansluiting op het moment 2x9 kathode, en 1x2 anode zijn, maar er is genoeg ruimte om normale connectors te plaatsen zonder grote veranderingen.

Hier staat een niet al te boeiend filmpje van de dat ding in actie. Aangestuurd met een paar sequences en dmx400 vanuit freestyler: http://www.youtube.com/watch?v=glGmF02HARY
Bij m'n youtube filmpjes staat er ook nog een met wat dat ding vroeger deed.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik ben zeker nog bezig geweest met de code voor atmega's. Ik heb de projecten voor attiny's en atmega's
samengevoegd en de code wordt nu afhankelijk van de include file gecompileerd naar attiny2313 of atmega48/88/168, voor respectievelijk 1 of 2 ledstrips.
Die 48 en 168 versies heb ik nog niet getest, maar afaik is alleen de FLASHEND anders, en daarmee verwacht ik geen problemen. De prijs per uC is atm de bepalende factor voor de keuze tussen de verschillende atmega's (de nieuwe attiny4313 zou ook moeten werken, maar die zal niet goedkoper zijn dan een 2313).
Het zou kunnen dat ik tzt ook een DMX controller integreer in de code voor de atmega's, in dat geval is het misschien wel leuk om veel flash ruimte te hebben.

Gisteren heb ik de 'Dipswitch routine' er ook al ingeplakt, maar mijn plan was die code nog wat te verbeteren zodat die ook makkelijk op andere pin configuraties werkt.

Er zit wel een nadeel aan al die verbeteringen, de code is nu wel minder overzichtelijk geworden


Werkt de laatste .hex overigens naar behoren?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op vrijdag 02 april 2010 @ 12:59:
De laatste hex werkte prima! Heb m nu in 5 strips draaien. Alleen heel soms loopt een strip vast. Dan blijft ie hangen op een bepaalde kleur. Ff resetten en hij doet het weer. Maar weet niet of dit aan de firmware ligt of aan de goedkope uC's van ebay.
Is dat bij het opstarten of als de ledstrip een tijdje aan staat?

  • Anthor
  • Registratie: Juni 2002
  • Niet online
check ook even of de spanningsregelaar niet te heet wordt.
Ik heb hier alleen nog maar een breadboard opstelling, dus het kan zijn dat ik niet alle problemen tegen kom.
Als alles goed gaat heb ik vandaag een .hex voor je met de nieuwe code en de dipswitch routine

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op vrijdag 02 april 2010 @ 20:17:
Heb de spanningsregelaars ff gecheckt, worden niet heel warm. Is ook wel logisch omdat met die 5v alleen de uC en de max485 gevoed wordt.
Dat is goed om te weten. Ik heb hier wel eens een ontvanger gehad die nogal warm aanvoelde, maar nooit echt uitgezocht of dat een oorzaak van problemen is.
Nieuwe hex zou wel relaxed zijn! Soms is het wel lastig als je ze helemaal uit wil hebben. Heb je het bij deze versie ook zo gemaakt dat je zelf de kleur in kunt stellen die die krijg als ie geen DMX signaal heeft?
Ja, en voortaan zijn alle wijzigingen die ik hier aangeef voor beide ontvangers (4 / 8 kanalen hardware pwm)
Het is nu (als ik er een beetje rekening mee hou met programmeren) niet meer dan in het onderstaande stuk de comment verplaatsen :)

code:
1
2
;.include "tn2313def.inc"
.include "m88def.inc"

  • Anthor
  • Registratie: Juni 2002
  • Niet online
@DP Kunst
Hopen dat het dat laatste is, maar dat lijkt me niet tbh aannemelijk voor nieuwe uC's
Heb je ze bij een betrouwbare verkoper gekocht?

@_trickster_
Het verschil tussen software / hardware pwm:
- Een attiny2313 heeft hardware timers met PWM functie, als je die gebruikt kost het vrijwel geen 'cpu' tijd om de leds aan te sturen, en zou de uC nog vanalles kunnen doen in de tussentijd. Het nadeel hieraan is dat er maar 4 kanalen op zo'n 2313 zitten dus kan je dat niet verder uitbreiden
- Bij software pwm laat je de code de PWM cycle en dutycycle tellen en vergelijken en pinnen schakelen. Hiervoor heb je meer cpu tijd nodig, maar je kan in principe iedere i/o pin gebruiken voor pwm.

Op het moment is de software pwm versie van m'n firmware nog onveranderd, de hardware pwm versie is al wel verbeterd.
Met wat kleine wijzigingen in het ontwerp voor gaatjesprint kan je daar ook gewoon de hardware pwm versie van maken. (ik heb misschien zelfs al ergens een aangepast ontwerp, maar die moet ik dan even zoeken)

Welke print het best is om mee te beginnen hangt een beetje af van je soldeer / ets skills

Programmers:
- Als je nog een parallelle poort op je pc hebt dan kan je met een paar simpele componentjes een programmer maken. Ik gebruik nog steeds zoiets: http://www.circuitsonline...oller/avr-programmer.html
- Als je geen parallelle poort hebt dan moet je een usb programmer hebben.
deze http://www.fischl.de/usbasp/ of deze http://smoerijf.be/avr-usb-programmer.ct zou je eens naar kunnen kijken, maar er zijn nog zat andere ontwerpen te vinden.


@de rest:
Ik heb de Zip van de laatste versie voor de 2313 vervangen, hier is de link nog een keer.
Er was nog iets mis met de manier waarop de leds uit werden gezet bij dmx waarde 0.
Met dank aan DP Kunst voor het vinden van het probleem.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
LED-Maniak schreef op vrijdag 09 april 2010 @ 18:54:
haha oke dan :)

Tijd voor pics dus! ;)
Nee, filmpjes :P

Heb je ze nu alle 25 werkend gekregen?
Zo ja, alvast veel plezier met freestyler sequences maken, daar gaat een hoop tijd inzitten met 50 fixtures :P

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op zaterdag 10 april 2010 @ 14:40:En net toch maar ff een beetje lopen spelen met sequences in Freestyler. Klopt het dat je maar 15 stappen kunt maken? :S
Ja,
Tenzij je zoiets in freestyler.ini heb staan: ;)

code:
1
2
[NumberOfScenes]
Number=64

  • Anthor
  • Registratie: Juni 2002
  • Niet online
bekibe schreef op vrijdag 23 april 2010 @ 15:06:
Is er ergens een site met een overzicht van dit project?
Want ganse thread aflopen achter alle info is veel werk..

Wou net zelf beginnen aan dergelijks en ben blij dat mijn google search achter avr dmx een afgewerkt project oplevert :) minder werk voor mij (minder fun ook maar goed..)
Een aparte site heb ik nog niet gemaakt, dus je zal alle info uit dit topic moeten halen.
Ik zou er nog wel eens een site voor willen maken, maar dat heeft geen prioriteit.
DP Kunst schreef op zondag 18 april 2010 @ 16:30:
Alleen nog een klein probleempje. Als er al een DMX signaal gestuurd wordt, en ik zet voeding voor de lampen aan, dan gaan de meeste in de opstartfase, maar sommige gaan in een random kleur en blijven die dan ook, of ze gaan knipperen in die kleur. Als ik de voeding aanzet zonder dat er DMX gestuurd wordt gaat het goed.
Zoiets is me ook wel eens opgevallen. Bij power-on van de uC wordt eerst de usart buffer geflushed voordat de RX interrupt aangaat, maar dat werkt dus niet helemaal.
Nu ik er even over nadenk weet ik de oorzaak misschien al, dus daar moet ik daar nog even naar kijken.
Ow, en Anthor, was jij toevallig ook nog met iets bezig dat standalone DMX uit kan sturen? Dan kan ik ze ook echt aansturen zonder dat de pc er voor aan moet :).
Atm ben ik er niet actief mee bezig, maar Ik heb een project liggen voor een atmega88 die DMX in en out heeft (een buffer dus) en een ander project met een 'sequencer' voor licht effectjes. Die wil ik nog eens samen gaan voegen, maar ik heb nog niet echt nagedacht over de bediening van zoiets.

Het resultaat zou dan waarschijnlijk een apparaat worden (met een usb -> dmx interface, of gewoon DMX-in) die kijkt of er een usb signaal is, zo ja dan wordt die gebufferd (nette timings, en 512 kanalen uit ongeacht het aantal input kanalen). Is er geen dmx-in signaal dan verzint dat ding zelf iets om te zenden.

Die buffer heb ik hier standaard tussen m'n pc en m'n ledstrips en dat werkt gewoon. M'n pc is niet zo snel en soms valt het output signaal van freestyler net te lang weg als ik bv door een website scroll. Dan gaan de ledstrips even naar de time-out kleuren, en weer terug.
Met de buffer ertussen is dat probleem weg, maar ik heb geen logic-analyser om de timings goed te bekijken, dus ik weet nog niet of de timings echt binnen de DMX specs zitten.

(Qua hardware is het atm niet meer dan een atmega88 @ 20 Mhz, een max485, een ft232rl breakout board, en wat ledjes, condensatoren en weerstanden op een breadboard)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ja, dat kan je in de .Hex aanpassen

Dit staat er in de laatste versie (als je de .hex opent met een programma dat kan editten):
code:
1
2
3
4
5
6
7
8
9
10
11
12
Ledstrip#,   |a 
R,G,B,W or - |s 
(W = master) |c                 
   case      |i     
 sensitive   |i 
OC0A         :1G
OC0B         :1B
OC1A         :1R
OC1B         :2G
OC2A (mega88):2B
OC2B (mega88):2R
----------------


De attiny negeert het ledstrip nummer, dat is alleen voor de atmega versie.
Je kan gewoon de G,B en R op het eind van de regels verplaatsen om de juiste signalen op de outputs te krijgen. Bij het opstarten van de ontvanger worden de outputs geconfigureerd.
(De ontvanger verwacht wel dat het DMX signaal de volgorde R,G,B ( en eventueel M ) heeft).

Ik zie net dat één van die kanalen nog op " - " moet om de output uit te zetten.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ik gebruik zelf bij het testen meestal een ft232rl op breakoutboard + max485 als (enttec) usb dmx interface.
(zonder de weerstanden aan de dmx lijnen)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Dat probleem lag aan de timer die automatisch de pin weer hoog maakte (dus geen software of interrupt), maar dat is vziw al verholpen.

Heb je deze firmware gepobeerd?
Anthor in "Project: ScrapDMX"

  • Anthor
  • Registratie: Juni 2002
  • Niet online
idd vreemd, ik heb gisteren die firmware nog speciaal in een ontvanger geflashed en er was niks te zien.

Heb je mijn ontwerp gebruikt, of een variatie erop? en hoeveel licht komt er uit die leds?
Met de oude firmware was er slechts een klein puntje licht te zien bij die ledstrips.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
vdbeke schreef op vrijdag 25 februari 2011 @ 17:11:
Die weerstand aan de gate (1K) leek me wel vrij hoog, misschien eens verlagen naar 47 ohm. Best eens meten of de fetjes wel volledig dicht gestuurd worden.
Ik gebruik zelf tegenwoordig 270 Ohm weerstandjes bij de gates (met het idee dat je dan niet boven de 20 mA max van de i/o port komt)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ziet er veelbelovend uit.
Je kan de usart ook gewoon pollen misschien dat je dan beter uit komt met je cycles voor i2c

De woningbouw heeft mijn huis opgeknapt, en ik ben nu zelf bezig met de afwerking. Ik ben van plan een hoop RGB verlichting toe te gaan passen, dus ik hoop binnenkort weer verder te gaan met dit project.

  • Anthor
  • Registratie: Juni 2002
  • Niet online
Ziet er goed uit. Hoe breed is de rand in het beeld die je sampelt? en hoe ziet het er uit bij drukkere scenes? (actiefilms o.i.d)

Ik volg het wel, maar ben er niet actief mee bezig. Ik ben nog steeds bezig met mijn woning, maar ik kan binnenkort gaan bepalen wat ik waar aan licht wil hebben, Als ik dan weer een normaal ingerichtte klushoek heb dan zal ik dit project wel weer oppakken denk ik. (maar reprap krijgt ook voorrang ;)

  • Anthor
  • Registratie: Juni 2002
  • Niet online
DP Kunst schreef op zaterdag 05 november 2011 @ 18:15:
Reprap moet k ook nog steeds mee bezig idd. Heb jij nog verdere plannen dan voor ScrapDMX?
Ik ben de laatste tijd erg weinig bezig geweest met elektronica, maar ik vind dat ik alles nog steeds een keer opnieuw moet bundelen en online moet zetten. En ik wil misschien nog het een en ander uitwerken zodat ik een compleet systeem heb dat ik kan gebruiken in m'n vers opgeknapte woning. (zender/ontvangers/bestuurbare spots etc ;) )
Maar ik heb er nu nogal weinig tijd voor (en de komende tijd zie ik het ook niet zo snel gebeuren).
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee