Toon posts:

[HOWTO] DMX-512 met een Picmicro

Pagina: 1 2 Laatste
Acties:
  • 24.924 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Inleiding
Aangezien DMX een veel gebruikt aansturingsprotocol is in de lichtwereld, en het erg bruikbaar is met bv LED verlichting besloot ik een HOWTO te schrijven waar alles een beetje helder wordt uitgelegd. Het gaat hier alleen om het ONTVANGEN van DMX. Het verzenden zal ik later nog toevoegen, dat is iets complexer. Het doel van deze Howto is een beetje vertellen hoe DMX in zijn werk gaat en wat de toepassingen zijn.
Ik heb een standaard schema met werkende code toegevoegd. Voor de diepgaandere uitleg en beschrijving van de ASM code tot in detail heb ik een PDF'je gemaakt. Die bestaat uit 16 pagina's en het was onmogelijk om dat allemaal in dit topic te krijgen. Daarom hier alleen een generale beschrijving!
Het PDF'je is hier te downloaden:

klik

Wat is DMX-512?

DMX-512 (afgekort DMX) Staat voor Digital MultipleXed. DMX wordt vooral gebruikt in de lichtwereld en houdt in dat alle signalen voor ieder kanaal door 1 kabel worden gestuurd. DMX-512 Heeft de mogelijkheid om informatie te versturen voor 512 verschillende apparaten (kanalen geheten). Deze worden achter elkaar verstuurd, ook als er geen veranderingen zijn in de gegevens. Om te zorgen dat elk apparaaat de juiste informatie ontvangt heeft ieder apparaat een eigen adres, en uitsluitend naar dat adres wordt geluisterd. Dit instellen van adressen gebeurd doormiddel van dipswitches of knopjes.

Nu is het zo dat apparaten meer dan één kanaal kunnen gebruiken. Denk bijvoorbeeld aan een dimmer die 12 lampen onafhankelijk kan dimmen. Om ze onafhankelijk aan te sturen zijn dus 12 verschillende DMX kanalen nodig. Het is gebruikelijk dat in dat geval alleen het eerste adres wordt ingesteld en dat het apparaat vanaf dat punt 12 kanalen pakt. Er zijn ook meer apparaten dan dimmers. Denk aan scanners, movingheads, rookmachines. Allemaal bestuurbaar via DMX. Deze ondernemen een actie afhankelijk van de gegevens die doorgestuurd worden.

Hoe werkt het?

Een DMX cyclus is als volgt opgebouwd:

BREAK

Startcode Kanaal1 Kanaal2 Kanaal3 .......Kanaal 512
BREAK

Startcode .....

Etc. Er wordt naast 512 kanalen dus nog één kanaal verstuurd, de zogeheten startcode. Deze startcode geeft aan voor wat voor apparaat de code bedoeld is. Startcode0 was bedoeld voor dimmers en 1 voor iets anders bijvoorbeeld. Echter zijn de startcodes nooit van de grond gekomen en is de enige gebruikelijke startcode 0. Andere codes worden niet gebruikt! Toch is het handig om er bewust van te zijn tijdens het programmeren!

Per kanaal wordt 1 byte verstuurd, 8 bits. Dat betekend dat ieder kanaal 2^8 = 256 waarden aan kan nemen, 0 ... 255. Iedere byte wordt ingesloten door 1 bit laag en 2 bits hoog. Dit is zeer belangerijk voor het functioneren van de ontvangsthardware.

De BREAK bestaat uit 88 us laag. Zonder startbits en stopbits. een BREAK is dus op geen enkele manier te intepreteren als databyte en is dus eenvoudig te herkennen. Dit is ook essentieel voor het functioneren, immers als er geen break wordt gedetecteerd, kan er geen teller gestart worden die de kanalen telt. Dit kan betekenen dat het apparaat helemaal niets ontvangt, of de verkeerde kanalen. Een BREAK is essentieel!

Hier een grafische weergave van het DMX protocol:
http://members.chello.nl/g.assies/dmx.JPG

Allemaal leuk enzo.. maar die PIC!!
Een DMXbus kan nooit zomaar op een PIC aangesloten worden, aangezien er hele andere spanningen gebruikt worden. Het kan wel dmv an een converterchip. Vaak gebruikt is de SN75176. Die converteerd de spanningsniveau's van de PIC naar de RS485-Bus (officiele benaming voor de electrische standaard van DMX). Voor het ontvangen van DMX wordt bij de pic gebruik gemaakt van de seriele connectie. de USART (Univerisal Synchronus Asynchronus Reciever Transmitter). Deze handeld de ontvangt verder af.

Dit is het standaard schema voor dmx:
http://members.chello.nl/g.assies/dmxstandaard.JPG Het IC rechts is een SN75176. Het grote IC is een PIC16F628A. De 4 ledjes zijn de outputs die via PWM gedimd worden. Dit schema gaat uit van adres1, aangezien een 16F628A te weinig pinnen heeft voor 9 dipswitches zijn die niet toegevoegd. Het is mogelijk dit met 7segment displays te doen etc. Maar dat zal ik later toevoegen.

Deze code draait erop:
klik
En dimt de 4 ledjes aan de hand van de ontvangen DMX waarden.

Ik hoop dat het hiermee een beetje duidelijk wordt wat je met DMX kan en hoe je het kan integreren in een microcontroller. Commentaar is zeer welkom, Wat zijn de onduidelijkheden, wat moet verbeterd worden, spelfouten etc. :)

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Erg mooi uitgelegd, petje af.
Voor het uitlezen van de eventuele dip-switches kan je best een schuifregister gebruiken. Dan ben je met 2 pinnen klaar (een klok, en de serial out van je schuifregister(s)), en kan je zoveel swiches inlezen als je maar wil.

[Voor 80% gewijzigd door naftebakje op 07-04-2006 17:34]

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Gaaf! _o_
Hier ga ik denk ikzeker weten nog wel eens mee spelen! Leuk om op deze manier je kamerverlichting aan te kunnen sturen, en met wat chases kun je natuurlijk de mooiste effecten maken! :9

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
naftebakje schreef op vrijdag 07 april 2006 @ 17:32:
Erg mooi uitgelegd, petje af.
Voor het uitlezen van de eventuele dip-switches kan je best een schuifregister gebruiken. Dan ben je met 2 pinnen klaar (een klok, en de serial out van je schuifregister(s)), en kan je zoveel swiches inlezen als je maar wil.
Ja inderdaad :) Helemaal niet aan gedacht :P

Ik heb inmiddels weer een DMX project klaar: een sturing voor de magnum 2000 rookmachine. En nu ben ik bezig met een 4 kanaal dimmerpack om te bouwen naar dmx. HEt ontwerp en alles is al klaar ik wacht alleen nog op mijn nieuwe fotoprinten die ik besteld heb.. Ik hou jullie op de hoogte..

Moet er verder nog wat toegevoegd worden aan deze howto? Wat is onduidelijk etc? Verzenden komt nog! dat is bijna af.
_ferry_ schreef op donderdag 13 april 2006 @ 21:24:
Gaaf! _o_
Hier ga ik denk ikzeker weten nog wel eens mee spelen! Leuk om op deze manier je kamerverlichting aan te kunnen sturen, en met wat chases kun je natuurlijk de mooiste effecten maken! :9
Ja leuk is het zeker. Het heeft me veel moeite gekost om het aan de praat te krijgen dus ik wilde het andere hobbisten niet onthouden :P

[Voor 22% gewijzigd door Thijsch op 13-04-2006 23:54]


  • Yoram
  • Registratie: Augustus 2004
  • Laatst online: 07-06 17:58
whoei nu heb ik een project waarmee ik kan beginnen met microcontrollers, en het is ook nog DMX ,helemaal gaaf.
* Yoram denkt aan moving heads van zijn stage besturen :P

Hallo!


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
YoramScheer schreef op vrijdag 14 april 2006 @ 00:30:
whoei nu heb ik een project waarmee ik kan beginnen met microcontrollers, en het is ook nog DMX ,helemaal gaaf.
* Yoram denkt aan moving heads van zijn stage besturen :P
Merk wel op dat het tot nu toe over ontvangen gaat. Mijn verzendcode is af maar nog niet getest.. misschien vind ik met de pasen een mogelijkheid :P

[Voor 3% gewijzigd door Thijsch op 14-04-2006 01:12]


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Enige is misschien nog de timing toevoegen aan je figuurtje, dat is altijd handig, figuur zegt meer dan 1000 woorden.
En een leuk zendertje in een PIC, dat via een mooie applicatie op PC via RS232 de DMX laat verzenden zou nog super zijn (das waar je naartoe werkt, begin gerust wat simpeler :+ )

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
naftebakje schreef op vrijdag 14 april 2006 @ 09:47:
Enige is misschien nog de timing toevoegen aan je figuurtje, dat is altijd handig, figuur zegt meer dan 1000 woorden.
En een leuk zendertje in een PIC, dat via een mooie applicatie op PC via RS232 de DMX laat verzenden zou nog super zijn (das waar je naartoe werkt, begin gerust wat simpeler :+ )
Ieder hokje is 4 microseconden.

  • Yoram
  • Registratie: Augustus 2004
  • Laatst online: 07-06 17:58
ParaDot schreef op vrijdag 14 april 2006 @ 01:12:
[...]

Merk wel op dat het tot nu toe over ontvangen gaat. Mijn verzendcode is af maar nog niet getest.. misschien vind ik met de pasen een mogelijkheid :P
* Yoram leest nog een keer GOED,
ohjah :D ook leuk ontvangen :P

Hallo!


  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Verzenden gaat makkelijk via een DMX paneeltje (150€) of USB dongle (€70) + software. Zonde om daar een PIC voor te gebruiken IMHO, DMX gebruik je immers om veel aan te sturen en op een makkelijke manier met programma's en stappen. Dat gaat je met een PIC denk ik niet snel lukken :P

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Ik snap wat je bedoeld en je hebt gelijk als je het hebt over complexe intelligente verlichting. Ik heb het vooral over LED verlichting en dergelijke. Een PIC is goed te gebruiken voor simpele aansturing daarvan.! Zeker als je het kostenplaatje daar in meeneemt..

En daarbij.. het is toch juist leuk ;)

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Dat is waar, ik zat zelf meer bij de gedachte om overal in mijn kamer de led's aan te sturen via DMX, maar als je natuurlijk enkele leds hebt, dan is aansturing via PIC ook te doen.

Het idee wat ik heb is om meerdere RGB led's via 1 pic aan te sturen, maar geen idee hoe goed dat te doen is, voor elke RGB led 1 PIC tikt namelijk nogal aan qua prijs :P Bijvoorbeeld een moodlight te maken aan de muur verdeeld in een aantal vlakken welke je dan kunt aansturen. Ideeen genoeg :P

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
_ferry_ schreef op woensdag 19 april 2006 @ 12:40:
Dat is waar, ik zat zelf meer bij de gedachte om overal in mijn kamer de led's aan te sturen via DMX, maar als je natuurlijk enkele leds hebt, dan is aansturing via PIC ook te doen.

Het idee wat ik heb is om meerdere RGB led's via 1 pic aan te sturen, maar geen idee hoe goed dat te doen is, voor elke RGB led 1 PIC tikt namelijk nogal aan qua prijs :P Bijvoorbeeld een moodlight te maken aan de muur verdeeld in een aantal vlakken welke je dan kunt aansturen. Ideeen genoeg :P
Dat heb ik dus gebouwd, RGB moodlight aanstuurbaar via dmx.. ik zal even fotos maken!

Anoniem: 54248

Wanneer kunnen we de zender howto verwachten >:)

Anoniem: 15528

Dat voorbeeld van die verschillende panelen is dus ook wat ik wil gaan maken. Het komt er op neer dat ik 9 groepen van RGB-leds aan wil sturen. Hoe kan ik dit het beste doen met een microcontroller? Ik heb namelijk maar 13 outputs die ik softwarematig kan gebruiken om pwm in te programmeren of 4 hardwarematige PWM kanalen en dat terwijl ik er eigenlijk 9x3=27 nodig heb.

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Anoniem: 15528 schreef op woensdag 19 april 2006 @ 19:53:
Dat voorbeeld van die verschillende panelen is dus ook wat ik wil gaan maken. Het komt er op neer dat ik 9 groepen van RGB-leds aan wil sturen. Hoe kan ik dit het beste doen met een microcontroller? Ik heb namelijk maar 13 outputs die ik softwarematig kan gebruiken om pwm in te programmeren of 4 hardwarematige PWM kanalen en dat terwijl ik er eigenlijk 9x3=27 nodig heb.
Er bestaan specifieke LED-driver IC's, die dit voor je kunnen, je stuurt ze gewoon aan met I2C of SPI of dergerlijke vanuit je PIC. Maxim heeft daarvoor leuke dingen.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 15528 schreef op woensdag 19 april 2006 @ 19:53:
Dat voorbeeld van die verschillende panelen is dus ook wat ik wil gaan maken. Het komt er op neer dat ik 9 groepen van RGB-leds aan wil sturen. Hoe kan ik dit het beste doen met een microcontroller? Ik heb namelijk maar 13 outputs die ik softwarematig kan gebruiken om pwm in te programmeren of 4 hardwarematige PWM kanalen en dat terwijl ik er eigenlijk 9x3=27 nodig heb.
Je zit dan aan een grotere PIC of idd PWM IC's..

Verzenden zit eraan te komen :P Zie het moodlight topic voor fotos van mijn rgb dmx bouwlamp!

Anoniem: 87420

Komt de update over verzenden toevallig nog?? O-)

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 87420 schreef op woensdag 30 augustus 2006 @ 08:34:
Komt de update over verzenden toevallig nog?? O-)
Goed dat je het zegt.. het is er een beetje bij ingeschoten :P Ik zal een dezer dagen eens kijken..

Anoniem: 87420

sorrry voor het kickje maar ik ben toch wel heel erg benieuwd naar het zendgedeelte van je? aah pls kleine how-to??

Anoniem: 200590

Ok, Thijsch

Ik heb jouw schema even overgenomen, maar je zal direct aan "mijn" schema zie, dat ik absoluut niet veel van electronica ken.
Ik ben al even bezig met op het net her en der dingen te zoeken over RGB ledverlichting en er valt wel wat over te vinden. Zowel dmx als gewoon via dimmers.

Nu ga ik zelf software proberen schrijven (visual basic) om mijn licht in mijn woonkamer aan te sturen.
De bedoeling is dat ik rgb licht achter mijn zetel maak, zodanig dat het meest ondenkbare mogelijk wordt.

Nu heb ik wel nergens gevonden hoe je een shiftregister aansluit op een pic (16f628).
Ik heb dus een poging gedaan om er dat toch maar een shiftregister aan te hangen.

Hoe ver ben ik de mist in gegaan en weet er iemand of er eventueel andere mogelijkheden zijn om zowel een dipswitch als 9 uitgangen op 1 pic te hangen die alleen maar dmx in 9 verschillende kanalen moet omzetten. (gebruik ik bijvoorbeeld de juiste ic's of aansluitingen...)

http://users.telenet.be/visser/extra/dmx-schema.gif

  • virus.elektro
  • Registratie: Januari 2002
  • Laatst online: 08-06 15:43

virus.elektro

profesionele monitor sloper

ik zou in ieder geval niet de clock van het schuifregister aan het kristal hangen. Die pic kan dat nooit zo snel inlezen. beter is om de clock van het schuifregister aan een normaal i/o pootje te hangen. dan kan je namelijk zelf bepalen wanneer die leest van het schuif register. nu stuurt het register iedere keer bitjes en weet je niet eens bij welk van de acht schakelaars hij is

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

Ik zie dat de standaard connector een 5Polige XLR is deze zijn echter een factor 3 duurder dan de 3Polige. Is mischien niet helemaal netjes maar ik denk dat ik deze ook wel mag gebruiken toch?

  • Wolf87
  • Registratie: Juli 2004
  • Laatst online: 03:31
TrailBlazer schreef op dinsdag 12 december 2006 @ 08:29:
Ik zie dat de standaard connector een 5Polige XLR is deze zijn echter een factor 3 duurder dan de 3Polige. Is mischien niet helemaal netjes maar ik denk dat ik deze ook wel mag gebruiken toch?
Dat maakt niets uit nee, in de profesionele wereld wordt bijna alleen maar gebruik gemaakt van 3-polig

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

^^ idd, niets zo irritant om te merken dat je DMX kabel te kort is en dat er 5 polige pluggen aanzitten :X

@Thijsch:
Kun je ook op meerdere universes lezen/zenden dmv deze PIC?

Nu met Land Rover Series 3 en Defender 90


Anoniem: 200590

ik zou in ieder geval niet de clock van het schuifregister aan het kristal hangen. Die pic kan dat nooit zo snel inlezen. beter is om de clock van het schuifregister aan een normaal i/o pootje te hangen. dan kan je namelijk zelf bepalen wanneer die leest van het schuif register. nu stuurt het register iedere keer bitjes en weet je niet eens bij welk van de acht schakelaars hij is
Dus dan hang ik bijvoorbeeld de clockinput van de 74HC165 (pin 2) aan pin 18 van 16f628.
Maar dan krijgt die toch nooit een kloksignaal binnen???

Aan iedereen die DMX maakt. Neem gewoon 3pin-xlrs.
In het begin dachten ze: we nemen een 5pin, maar met pin 4 en 5 hebben ze nooit wat gedaan. En nu zijn er zelfs al veel moving heads gewoon 3pin's.
(zorg dat je gewoon wat overganggen hebt en klaar is kees...)

Als je met leds werkt kan je die 4de en 5de pin ook als 12v voedingskabels laten dienen...
Koppel dan wel 4 en 5 niet aan elkaar in je overgangsstuksjes :9

[Voor 9% gewijzigd door Anoniem: 200590 op 12-12-2006 12:38]


  • virus.elektro
  • Registratie: Januari 2002
  • Laatst online: 08-06 15:43

virus.elektro

profesionele monitor sloper

je zal het kloksignaal ook zelf op dat pinnetje moeten zetten met de programatuur

voorbeeldje
klok pinnetje hoog -> data inlezen -> klok pinnetje laag en dat herhalen

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


Anoniem: 200590

virus.elektro schreef op dinsdag 12 december 2006 @ 13:01:
je zal het kloksignaal ook zelf op dat pinnetje moeten zetten met de programatuur

voorbeeldje
klok pinnetje hoog -> data inlezen -> klok pinnetje laag en dat herhalen
Dus dan kan ik dit niet doen: nl. 9 + 2 leds aansluiten op een PIC 16f628
http://users.telenet.be/visser/extra/dmx-schema2.gif

Kan er mij trouwens iemand zeggen welke waarde R2 heeft? en of de andere waardes kloppen?
Ik ben een echte beginneling en alles wat ik leer komt van jullie (de internetproffen)...

Ik heb ook de Assemblyfile van Thijs aangepast, maar ik weet niet of ik het goed doe.
Assembly File
Alles wat rood is heb ik aangepast. Dus dat kan wel eens volledig fout zijn...

Hoe kan ik bijvoorbeeld het shiftregister aansluiten op de pic? enkel pin 13 is nog vrij (RB7)
Kan ik (zie assembly) het adres ipv 1 maal te laten optellen, 8maal?

Ik weet dat ik veel vraag, maar ik wil leren...

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Je hebt, om via dat schuifregister de DIP-switches uit te lezen, 3 pinnen nodig, een ingang (data) waarlangs je de status van de DIPswitches seriëel in de PIC binnenkrijgt, en 2 uitgangen (clock en een signaal dat aangeeft dat de DIPswitches ingelezen moeten worden, parallel load heet die lees ik bij nxp).
Dan komt er wel nog eens een klein beetje intelligent design bij, om die schuifregister met zo weinig mogelijk verlies (0 of 1 pinnetje nodig) aan te sluiten op de PIC, daarvoor moet je eens goed nadenken wat ie doet. Met éénmalig (bij het opstarten en initialiseren van de PIC) de DIP-swiches uit te lezen komt je toe, wil je het adres veranderen moet je dan even de spanning uitschakelen. Daardoor maakt het niet uit dat je de 2 nodige uitgangen samenneemt met pinnetjes waar ook een LED aan hangt, dat deze bij het opstarten even flikkeren maakt niets uit. Wat je dan wel in de gaten moet houden, is of je de ingang (data) mag samennemen met een ledje, daarvoor moet de 74HC165 20mA kunnen leveren (zie datasheet, als hij het niet kan dan moet je er een vrij pinnetje (13 dus) voor gebruiken).

Wat de waarde voor R2 moet zijn, vind je terug in de datasheet van de SN75176A.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
naftebakje schreef op dinsdag 12 december 2006 @ 22:46:
Je hebt, om via dat schuifregister de DIP-switches uit te lezen, 3 pinnen nodig, een ingang (data) waarlangs je de status van de DIPswitches seriëel in de PIC binnenkrijgt, en 2 uitgangen (clock en een signaal dat aangeeft dat de DIPswitches ingelezen moeten worden, parallel load heet die lees ik bij nxp).
Dan komt er wel nog eens een klein beetje intelligent design bij, om die schuifregister met zo weinig mogelijk verlies (0 of 1 pinnetje nodig) aan te sluiten op de PIC, daarvoor moet je eens goed nadenken wat ie doet. Met éénmalig (bij het opstarten en initialiseren van de PIC) de DIP-swiches uit te lezen komt je toe, wil je het adres veranderen moet je dan even de spanning uitschakelen. Daardoor maakt het niet uit dat je de 2 nodige uitgangen samenneemt met pinnetjes waar ook een LED aan hangt, dat deze bij het opstarten even flikkeren maakt niets uit. Wat je dan wel in de gaten moet houden, is of je de ingang (data) mag samennemen met een ledje, daarvoor moet de 74HC165 20mA kunnen leveren (zie datasheet, als hij het niet kan dan moet je er een vrij pinnetje (13 dus) voor gebruiken).

Wat de waarde voor R2 moet zijn, vind je terug in de datasheet van de SN75176A.
Hier sluit ik me bij aan. Alleen nog even over R2: dat is een pulldown weerstand op de communicatie lijn, die de lijn laaghoudt als bv het tranciever ic er niet in zit. (Wat bij mij nog wel eens voorkwam). Deze kan je in principe gewoon weglaten.

Verder zit ik je code even door te kijken en ik zie bijvoorbeeld bij de equ's iets opmerkelijk:

Reg8 EQU 028h
Reg9 EQU 029h
Count EQU 030h
W_SAVE EQU 031h

Het zijn hexadecimale waarden, dus na 29 komt 2A 2B 2C 2D 2E 2F. En alle registers kan je gewoon achter elkaar zetten. (dat getal geeft een geheugenplaats aan).

/edit: verder zie ik wel dat sinds ik deze code heb geschreven ik wat heb bijgeleerd :P het is een zooitje :X ik ga er morgen eens aan spenderen :P

[Voor 17% gewijzigd door Thijsch op 12-12-2006 23:05]


Anoniem: 200590

alvast bedankt.
Ik wacht even geduldig af.

Voor zover ik aan datasheets uitkan, kan die 74HC165 (shiftreg) geen 20mA uitgeven.
datasheet
Is het eventueel mogelijk om 2 leds (bijv rood en groen:controleleds) aan het shiftregister te hangen.
Ik weet dan dat ik een ander type moet gebruiken, maar welke raden jullie me dan aan.

Of zou het op de een of andere manier toch kunnen via deze opstelling???
Om dan inderdaad een leduitgang even te gebruiken als ingang voor de data?
Maar dan die clocklijn? kan ik niet gewoon de clockout(pin15) gebruiken van de 16f628?

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Update: ik heb de pdf herschreven met andere code. En hopelijk is het nu wat duidelijker. Met adres instellen en verzenden ben ik nu nog bezig:

Klik

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 00:05

CyBeRSPiN

sinds 2001

@Thijsch: Super! Ik heb net mn 3 RGB-leds uit China binnen, binnenkort eens de rest van de onderdelen gaan verzamelen, ik ga zeker gebruik maken van je PDF! Nog nooit iets met PIC's gedaan, maar heb er zin in :)

Anoniem: 200590

Dit assembly code is in elk geval een stuk compacter geworden...
Knap.
Nu moet ik alleen nog alles stapje voor stapje leren begrijpen.
(en vooral niets aanpassen :P )

Als zo in een eerste oogopslag kijk zijn de groene en rode controleleds weggevallen.
Vond ik anders wel grappig. En vooral nuttig als ik aan het breadboarden ga beginnen...

Kan het trouwens zijn dat wij alles wat reeds bestaat in een 28 pinsversie in een pic met maar 18 pins aan het stompen zijn (ok, dipswitch niet meegerekend...)
DMX-PWM-Controller 9 kanalen

[Voor 26% gewijzigd door Anoniem: 200590 op 13-12-2006 18:13]


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Anoniem: 200590 schreef op dinsdag 12 december 2006 @ 23:53:
alvast bedankt.
Ik wacht even geduldig af.

Voor zover ik aan datasheets uitkan, kan die 74HC165 (shiftreg) geen 20mA uitgeven.
datasheet
Is het eventueel mogelijk om 2 leds (bijv rood en groen:controleleds) aan het shiftregister te hangen.
Ik weet dan dat ik een ander type moet gebruiken, maar welke raden jullie me dan aan.

Of zou het op de een of andere manier toch kunnen via deze opstelling???
Om dan inderdaad een leduitgang even te gebruiken als ingang voor de data?
Maar dan die clocklijn? kan ik niet gewoon de clockout(pin15) gebruiken van de 16f628?
Voor de dataingang moet je dan een apart pinnetje gebruiken (of een transistor gebruiken om de led te schakelen, en tussen de PIC en de basis van de transistor je datalijn van de schuifregister hangen >:) )

Als je nog wat statusledjes wil, kan je ofwel bij het initialiseren enkele bestaande led's als statusled's gebruiken, maar das niet zo interessant. Ofwel gebruik je een ander schuifregister (zoek op latch, daarmee zou je snel een geschikte schuifregister moeten vinden), de 3 uitgangen ernaartoe kunnen gedeeltelijk samengenomen worden met die van de DIP-inlezende-schuifregister, de clock en parallel load neem je samen met de clock en data (telkens je de statusleds update gaan de leds op die uitgangen knipperen, hou daar rekening mee), de latchuitgang naar de statusled-schuifregister kan je niet met een pinnetje met een ledje aan samennemen (anders gaan die statusleds willekeurig knipperen), daarvoor kan je dan de dataingang die gebruikt werd voor de DIP-switches in te lezen gebruiken (steek wel een serieweestandje naar de DIP-schuifregister, anders zit je stroom in zijn uitgang te pompen, vind ie niet lief).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Anoniem: 200590

Shift register... allemaal goed en wel,
maar wat als je nu een PIC vindt die 28 pins heeft, meer geheugen en goedkoper...
16F73 bij Voti

Maarrrr...
Als ik dit toevoeg:
code:
1
#DEFINE DMXADR  PORTB
kan ik dan de regel:
code:
1
CLRF    D_ADDR  ;set our dmx adress to 0
vervangen door deze
code:
1
2
MOVLW   PORTB
MOVWF   D_ADDR

in dit schema???
http://users.telenet.be/visser/extra/dmx-schema28p.gif
en kan er iemand mij vertellen welke waardes de weerstanden en de condensatoren hebben.
en ben ik nog dingen in dit scham vergeten?

Weer veel vragen... sorry, maar heb nooit electronica gehad. (en ik heb daar nu spijt van :$ )

  • Springuin
  • Registratie: Juli 2002
  • Laatst online: 07-06 20:36
Die code aanpassing zou moeten werken, maar let er op dat je leds ook op andere pinnen zitten.
Waarden van weerstanden en condensatoren: R1 en R2 10k C1 en C2 22 pf

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
Ik heb al vanalles gezien over DMX ontvangen met een PIC, maar aangezien Thijsch zijn verzendcode nog niet beschikbaar is vroeg ik mij af of er mensen zijn die een goede bron of schema hebben om DMX signalen te versturen met een PIC, zodat je een klein lichtpaneeltje met enkele kanalen kan maken zonder een computer nodig te hebben om de signalen te verzenden.

[Voor 8% gewijzigd door Corpse2 op 18-12-2006 15:54]

keep trying...


  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 200590 schreef op maandag 18 december 2006 @ 00:45:
Als ik dit toevoeg:
code:
1
#DEFINE DMXADR  PORTB
Niet nodig, laat die hele regel maar weg
kan ik dan de regel:
code:
1
CLRF    D_ADDR  ;set our dmx adress to 0
vervangen door deze
code:
1
2
MOVLW   PORTB
MOVWF   D_ADDR

in dit schema???
Ja. In dat geval worden de 8 bits als adres genomen. Hou er wel rekening mee dat een dmxadres 9 bits is. In dit geval kan je dan de hoogste bit niet beïnvloeden en loopt je adres range van 1 tm 256
Wat je wel vergeten bent: Pull-down weerstanden bij de knopjes. Aan de input pinnen een weerstand van >= 10K naar de GND. Want denk je in dat het knopje niet omstaat. De input is dan niet hoog, maar ook niet laag! Dan gaat de ingang zweven zoals dat heet en kan je fouten krijgen. Die weerstand zorgt ervoor dat de input 0 is zodra het knopje niet is ingedrukt.
Weer veel vragen... sorry, maar heb nooit electronica gehad. (en ik heb daar nu spijt van :$ )
Het kan altijd nog...


Corpse2 schreef op maandag 18 december 2006 @ 15:45:
Ik heb al vanalles gezien over DMX ontvangen met een PIC, maar aangezien Thijsch zijn verzendcode nog niet beschikbaar is vroeg ik mij af of er mensen zijn die een goede bron of schema hebben om DMX signalen te versturen met een PIC, zodat je een klein lichtpaneeltje met enkele kanalen kan maken zonder een computer nodig te hebben om de signalen te verzenden.
Ik ben er nu mee bezig, de manier kan ik je wel alvast vertellen, die is infeite exact hetzelfde als het ontvangen. Je kan gewoon via de UART bytes uitpoepen. Het enige probleem is de Break. Die is namelijk niet dmv de UART te maken, de truuc is als volgt:

-Weet welke data je moet verzenden
-zet de UART uit (disable)
-maak de verzendpin laag.
-wacht 100 microseconden
-verzendpin hoog.
-wacht 8 us.
-Zet UART aan
-verstuur startcode (0x0)
-verstuur kanalen
-doe dit tot je alles verzonden hebt tot je wil verzenden en begin dan weer bij punt 1.

[Voor 30% gewijzigd door Thijsch op 18-12-2006 16:08]


  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
hmm, interesting :)

keep trying...


Anoniem: 200590

Hoe kan ik trouwens van jouw 4-kanaals-DMX-Ontvanger-Van-Thijsch een 9-kanaals-DMX-Ontvanger-Met-Dank-Aan-Thijsch maken?
Of kijk die code gewoon hoeveel out's je hebt?

Anoniem: 200590

'k ben trouwens net terug van een 3 uur durend reisje.
(Ben langs geweest bij Wouter van Voti)
Ik heb me wat dingen gekocht waarmee ik aan de slag kan.
Pic's, crystallen, ...
Nu nog even iemand zoeken die een dmx mengtafel heeft om de boel te testen...

Het einde (lees:"doel") is in zicht...

Anoniem: 200590

Breadboard volgepirkt...
Pic in progr.... DAMN, programmer kan die pic niet programmeren... AAaargghh

In elk geval.

Ik vond trouwens in de code van Thijsch:
code:
1
2
3
4
5
6
7
#DEFINE BREAK       DMX_reg,0       
#DEFINE STARTCODE   DMX_reg,1   
#DEFINE MOVED       DMX_reg,2   
#DEFINE ADDR9       DMX_reg,3   
#DEFINE RC9       DMX_reg,4  ; -> het gaat om deze regel
#DEFINE UP3       flag,0
#DEFINE UP2       flag,1


daar geeft die een error op want in de inc-file (16f73.inc) staat:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
;----- RCSTA Bits ---------------------------------------------------------

SPEN        EQU     H'0007'
RX9      EQU     H'0006'
RC9      EQU     H'0006'    ; Backward compatibility only
NOT_RC8     EQU     H'0006'    ; Backward compatibility only
RC8_9       EQU     H'0006'    ; Backward compatibility only
SREN        EQU     H'0005'
CREN        EQU     H'0004'
FERR        EQU     H'0002'
OERR        EQU     H'0001'
RX9D        EQU     H'0000'
RCD8        EQU     H'0000'    ; Backward compatibility only

dus ook een RC9
Maar in de datasheet (na een zoekactie) staat ook niets in van die RC9.
Mag ik die dan (in het *.asm-bestandje) hernoemen naar : RC_9
Of hangt die samen aan die van de INC-file???

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Geen enkel probleem, gewoon hernoemen in de asm file. Die naam is alleen om niet iedere keer DMX_reg,4 te hoeven typen.. Op je 9-kanaals apparaat kom ik morgen terug!

Anoniem: 200590

Thijsch schreef op donderdag 21 december 2006 @ 00:45:
Geen enkel probleem, gewoon hernoemen in de asm file. Die naam is alleen om niet iedere keer DMX_reg,4 te hoeven typen.. Op je 9-kanaals apparaat kom ik morgen terug!
Superrrr.
Ik kan niet wachten tot ik dit kan testen...
http://users.telenet.be/visser/extra/dmxboard.jpg

En nu hopen dat ik geen kortsluiting op mijn bordje heb zitten zodat mijn PIC geen vuurwerk wordt...
Het is tenslotte nog geen nieuwjaar.

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 200590 schreef op donderdag 21 december 2006 @ 15:58:
[...]


Superrrr.
Ik kan niet wachten tot ik dit kan testen...
[afbeelding]

En nu hopen dat ik geen kortsluiting op mijn bordje heb zitten zodat mijn PIC geen vuurwerk wordt...
Het is tenslotte nog geen nieuwjaar.
Dat ziet er al goed uit! Zo op het eerste oog zie ik geen fouten! Even over de code: Het is vrij eenvoudig aan te passen. Helemaal bovenaan zie je de volgende regels:

#DEFINE DATA_START 0x35
#DEFINE DATA_END 0x39

Dat zijn de geheugenadressen van waar de data wordt opgeslagen. Die beginnen 1 na DATA_START (foutje O-) ) In dit geval zijn dat dus 0x36, 0x37, 0x38, 0x39 waar de data in wordt opgeslagen. Als je daar 9 kanalen van wilt maken moet je dus als DATA_END het adres nemen: 0x35 + 9 = 3E.

#DEFINE DATA_END 0x3E en je hebt 9 kanalen...

Nu wil je ze natuurlijk ook nog naar buiten brengen. Dat doe je door een paar regels toe te vogen bij de pwm output:
code:
1
2
3
4
MOVF Reg1,W
XORWF pwmcounter,W
BTFSC STATUS,Z
BSF OUT1


Dit stukje zo vaak kopieren als je kanalen hebt, ipv Reg1 zet je het gehuegenadres met de data, en ipv OUT1 de output!

Anoniem: 200590

ok, dus:
code:
1
2
3
4
5
6
7
8
9
10
11
#DEFINE DATA_START  0x35        
#DEFINE DATA_END    0x3E        
#DEFINE Reg1    0x36        
#DEFINE Reg2    0x37
#DEFINE Reg3    0x38
#DEFINE Reg4    0x39
#DEFINE Reg5    0x3A
#DEFINE Reg6    0x3B
#DEFINE Reg7    0x3C
#DEFINE Reg8    0x3D
#DEFINE Reg9    0x3E


Dat had ik al even uitgezocht.
Maar nu is het enige probleem nog:
Het in te stellen DMX adres... (van 9 bit's: 512 kanalen)

Kan dit zo:
(zie post Thijsch maandag 18 december 2006 16:05)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#DEFINE D_ADDR  PORTB
#DEFINE ADDR9   PORTC,6         ;9de dipswitch voor 512 kanalen

...

CHANNEL         
    MOVF     Offset,W   ;inhoud van Offset naar W   
    XORLW   0x0     ;
    BTFSS   STATUS,Z    
    GOTO     CHAN   
    MOVF     R_ADDR,W   ;else: check if chans match
    XORWF   D_ADDR,W    
    BTFSC   STATUS,Z    
    GOTO     NINTH      ;if so: check for 9th bit
    CALL     INCREASE   
    GOTO     RET        ;if not: just return from interrupt
            
NINTH           
    BTFSC   ADDR9       ;9th addressbit is set
    GOTO     TRUE   
    BTFSS   RC_9    
    GOTO     CHAN   
    CALL     INCREASE   
    GOTO     RET


Als dit correct is, dan is het gewoon nog even wachten op mijn bestelling van mijn PIC-programmer... en dan:
LET THE SHOW BEGIN!!!

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 200590 schreef op vrijdag 22 december 2006 @ 16:55:
ok, dus:

Kan dit zo:
(zie post Thijsch maandag 18 december 2006 16:05)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#DEFINE D_ADDR  PORTB
#DEFINE ADDR9   PORTC,6         ;9de dipswitch voor 512 kanalen

...

CHANNEL         
    MOVF     Offset,W   ;inhoud van Offset naar W   
    XORLW   0x0     ;
    BTFSS   STATUS,Z    
    GOTO     CHAN   
    MOVF     R_ADDR,W   ;else: check if chans match
    XORWF   D_ADDR,W    
    BTFSC   STATUS,Z    
    GOTO     NINTH      ;if so: check for 9th bit
    CALL     INCREASE   
    GOTO     RET        ;if not: just return from interrupt
            
NINTH           
    BTFSC   ADDR9       ;9th addressbit is set
    GOTO     TRUE   
    BTFSS   RC_9    
    GOTO     CHAN   
    CALL     INCREASE   
    GOTO     RET
Jazeker kan dit, en dit is eigenlijk nog een beter oplossing dan ik zelf had :) Wat ik deed is zodra de bende voor het eerst start de waarde van de switches naar een register schrijven en dat uitlezen als adres. Jij leest nu iedere keer de switches zelf uit, wat een mooie oplossing is om snel het adres te kunnen veranderen. Het enige wat eventueel zou kunnen gebeuren is dat je het knopje omzet op het moment dat hij aan het vergelijken is en er dus mogelijk een verkeerd kanaal wordt ontvangen.. Maar dat wordt bij de volgende cycle weer goed gezet.

Wat de code doet is als volgt: In R_ADDR zit een teller van de kanalen die reeds ontvangen zijn. Iedere keer als er data binnenkomt wordt die teller vergeleken met het eigen adres. Indien die gelijk zijn wordt gecontroleerd of de 9de bits ook gelijk zijn. Indien de adressen niet gelijk zijn wordt gewacht op de volgende ronde data.

Als de 2 9e bits ook gelijk zijn, zijn de voltallige adressen dus gelijk en wordt overgegaan tot spelen met de ontvangen data.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

wat voor connectors ga je gebruiken. Als ik naar die XLR connectors kijk en het prijsverschil met een gewone DIN koppeling (factor 3) ben ik toch erg geneigd voor die te gaan. Ik kan altijd nog een verloopstukje maken mocht het nodig zijn. Ik verwacht echter niet dat ik ooit zelf DMX spul ga kopen en alleen zelf zal gaan bouwen.

Anoniem: 200590

Zoals het er nu naar uitziet ga ik vooral serial connectors gebruiken...
http://www.voti.nl/common/DB09F-SC.jpg
Voor 0.26 € houdt dit de prijs wat lager van het geheel.

En je kan ook nog wat stroom over de ander pinnen sturen.
5V +
5V -
12V +
12V -
Data...

Tenzij je voor 8.95 € Bij C. deze 5 pins connector wilt kopen...
http://www1.be.conrad.com/m/7000_7999/7300/7370/7379/737987_LB_00_FB.EPS.jpg

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
Moet je geen Neutrik maar DAP ofzo pakken: Klik Kan handig als je ze niet te vaak los en vast maakt.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

timcooijmans schreef op maandag 25 december 2006 @ 12:52:
Moet je geen Neutrik maar DAP ofzo pakken: Klik Kan handig als je ze niet te vaak los en vast maakt.
deze zijn in een stuk betaalbaarder. Is er nog een conventie over welke de input en output zijn (male/female)

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
TrailBlazer schreef op maandag 25 december 2006 @ 13:14:
[...]

deze zijn in een stuk betaalbaarder. Is er nog een conventie over welke de input en output zijn (male/female)
Ingeval van dmx:

Signaaldragend = female

Ingeval van geluid:

Signaaldragend = male

Female is logischer.. want pinnetjes kunnen makkelijk kortsluiting maken enzo ;) Rare geluidsmensen!

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

dus de kabels zijn altijd male en de connectors op het device dus female

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
TrailBlazer schreef op maandag 25 december 2006 @ 14:51:
dus de kabels zijn altijd male en de connectors op het device dus female
Dmx in = male
Dmx out = female

op het apparaat vindt je zowel een male als female, 1 voor input, 1 voor output. Iedere kabel heeft gewoon aan 1 kant male en aan 1 kant female.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

ok logisch :p

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
Thijsch schreef op maandag 25 december 2006 @ 13:30:
[...]


Ingeval van geluid:

Signaaldragend = male

Female is logischer.. want pinnetjes kunnen makkelijk kortsluiting maken enzo ;) Rare geluidsmensen!
Offtopic, dit is omdat er phantoom 48V vanaf een mixer op een geluids kabel kan staan. Hier kan je dan met je vingertjes (of iets anders) niet bij . En het geluidssignaal wat terug komt kan je zonder gevaar kortsluiten.

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
timcooijmans schreef op maandag 25 december 2006 @ 17:43:
[...]

Offtopic, dit is omdat er phantoom 48V vanaf een mixer op een geluids kabel kan staan. Hier kan je dan met je vingertjes (of iets anders) niet bij . En het geluidssignaal wat terug komt kan je zonder gevaar kortsluiten.
Kijk dat wist ik dan weer niet.. bedankt voor de info

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
Thijsch schreef op maandag 25 december 2006 @ 18:30:
[...]


Kijk dat wist ik dan weer niet.. bedankt voor de info
Dat kan trouwens ook een reden zijn om bij 5 polige XLR te blijven (wat trouwens bijna niemand doet) je kan geen 48V op je DMX bus krijgen. Maar als je een beetje goed na denkt moet dit ook wel lukken zonder, wij gebruiken in iedergeval 3 polige XLR (de meeste verhuur bedrijven gebruiken ook 3 polige XLR)

Anyway:
Netjes project. Ik zal mijn steentje eens gaan bijdragen :)

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

waar hebben jullie die driver chips gekocht ik kan ze nergens vinden.

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 00:05

CyBeRSPiN

sinds 2001

TrailBlazer schreef op woensdag 10 januari 2007 @ 10:42:
waar hebben jullie die driver chips gekocht ik kan ze nergens vinden.
Je bedoelt die SN RS-485-drivers? Gewoon bij voti.nl, maar bij elke elektronica handel wel lijkt me..

Anoniem: 204278

Modbreak:Sorry, this is a Dutch forum, with Dutch as its main language. If you want to post here, please do it in Dutch and expect to get replies in Dutch too. If you're unable to do that, I kindly suggest you find another forum to ask your questions.

[Voor 72% gewijzigd door een moderator op 11-01-2007 13:36]


Anoniem: 204349

Beste Tweakers,

Ik zit al enige tijd met een probleem, ik heb van mijn baas een RGB ledstrip gehad uit china... ik wil deze heel graag gaan gebruiken in mijn bestaande dmx systeempje.

Het gaat hier om een strip waar 6 draden uitkomen

Wit = GND (-)
Grijs = Resident 12v +

Rood = Aansturing rode led (+)
Groen = Aansturing groene led (+)
Blauw = Aansturing blauwe led (+)
Zwart = Common GND (-)

Maaar nu komt het vervelende, de felheid van de LED word bepaald door de pulsbreedte die op de rood, groene of blauwe draad gezet word. Er zit in deze strip dus al een klein schakelingetje die die PWM vertaald in stroom sterkte...

Ik zou deze strip heel graag (indien het natuurlijk mogenlijk is) via DMX aansturen zodat iedere kleur zijn eigen kanaal heeft, de laatste weken heb ik al flink wat af gegoogled en heb diversen schematjes gevonden maar ik kom er nog niet helemaal uit :(

Zelf heb ik wel enige ervaring met elektronica maar niet met PWM icb. met Pics. Ik heb dus een klein beetje hulp nodig hierbij :P

Bij toeval heb ik laatst voor een ander project een velleman Pic programmer gekocht en wat PIC ic'tjes.. de PIC16F84-04. Zou deze hier ook bruikbaar voor zijn want ik zie dat jullie allemaal gebruik maken van de PIC16F628A.

Tevens ben ik zelf een beetje aan het knutselen gegaan en had het volgende schematje gemaakt:

http://www.djpsycho.nl/schema.gif

Maar ik heb hier helaas (nog) niet genoeg ervaring mee vrees ik, ik ben ltsér en heb een tijdje bij een grote elektonica speciaal zaak gewerk. Ik heb wel kennis van componenten maar dit gaat gaat me net iets boven m'n pet :)

Wel heb ik alle benodigde onderdelen in huis om mee te kunnen expirimenteren...

Ik hoop dan ook dat er hier iemand op het forum is die me een klein beetje op weg kan helpen want het zou erg leuk zijn als ik die led strip kan gebruiken :)

Andere goede ideeen zijn natuurlijk ook welkom :)


Alvast bedankt en met vriendelijke groet,

Bas de Waard

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

volgens mij zit die oscilator niet goed. Verder lijtk het schem wel redelijk. Overigens als je maar 4 weerstandjes hebt voor je adres kom je maar op 16 adressen DMX kan er 512 hebben

[Voor 41% gewijzigd door TrailBlazer op 11-01-2007 18:52]


Anoniem: 204349

Dankje voor je reactie trailblazer, ik heb zojuist gehoren gekregen dat de PIC16F84 niet bruikbaar is voor dit soort toepassingen, er is een schijnbaar 20 MHz kristal voor nodig en dat kan deze PIC niet aan. Ik ga morgen de PIC16F628A bestellen. :)

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

weet je dat zeker wat is de max clockrate die je kan hebben

Anoniem: 204278

In Dutch please.

[Voor 96% gewijzigd door Sprite_tm op 11-01-2007 21:21]


Anoniem: 204349

10 mhz is z'n max.. dus ja zal even moeten wachten op de nieuwe pic en 20mhz kristal voor ik veder kan..'k hoop ze overmorgen te hebben :)

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Even voor alle duidelijkheid, zo moet een schuifregistertje aangesloten worden, het aanpassen van de code is voor jullie (of tot ik eens zin en schuifregisters heb):

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
Denk je dat het mogelijk is om doormiddel van een Schuifregister te PWM-en? (en zo 18 PWM outputs te bereiken)

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
timcooijmans schreef op vrijdag 12 januari 2007 @ 20:11:
Denk je dat het mogelijk is om doormiddel van een Schuifregister te PWM-en? (en zo 18 PWM outputs te bereiken)
Ik ben zeker dat het kan (maar niet perse met een 16F PICje), de standaard schuifregisters kunnen dit zeker aan (gaan tot 1MHz ofzo), maar je aansturing moet dan wel erg snel gebeuren wil je geen flikkering zien. Laten we ff rekenen:
-18 PWM outputs, plus wat overhead (latchen, data klaarzetten in de µC), neem een factor 20
-PWM frequentie, om zeker niet te flikkeren nemen we 150Hz
-we houden het op 8-bits dimmen, dus 256 keer updaten voor een PWM-cyclus doorlopen is
Dan moet de µC de data aan volgende frequentie kunnen uitsturen: 20*150*256 = 768KHz. Uit een voormalig PWM-progje weet ik dat ik in, 19 instructie's 3 kanalen kan PWM'en (met elke cyclus 55 instuctie's overhead), neem aan dat we dan 6 instructie's per bit verzenden nodig hebben (byte vergelijken=2 instructie's, clock hoog en laag = nog eens 2, data op uitgang zetten ook 2 instuctie's), daar komt de overhead nog bij: (55/18 = ongeveer) 3 instructies.
Onze 768kHz maal 9 instructie's, dan moet onze µC intern op ongeveer 7MHz draaien, bij een PIC is de interne klok een kwart van de oscillatorfrequentie, dus moet je er een 28MHz kristal aan hangen (het ontvangen van DMX data enzo zit nog niet meegerekend, maar waarschijnlijk lukt dat wel aangezien ik alles lekker ruim heb genomen)...
Berekeningen zijn een beredeneerde gok, en geen bindende waarden. Denk je dat het beter kan, voel je dan vrij om de fouten die ik gemaakt heb eruit te halen en jou betere berekening te showen.

Op een 16F-reeks PIC lukt het dus waarschijnlijk niet, een 18F-PIC kan dat wel aan (gaat zeker tot 48MHz, mss hoger).

Met wat intelligent prutsen kan dat echter opgelost worden, zonder over te stappen naar zaken als CPLD's of andere krachtiger oplossingen. Een optie is een led-driver te gebruiken, maxim heeft er zo een aantal, daar zend je gewoon de gewenste dimwaarde naartoe via een dataprotocol (I2C of SPI ofzo), en die driver handelt alles verder af, zoiets is érg interessant als je snel een oplossing die werkt wil.
Daarnaast heb je nog iets wat ik persoonlijk erg mooi vind, met name gebruik maken van comparatoren (zie ook deze site. Daarbij ga je op dezelfde wijze je PWM uit je schuifregister sturen, maar nu mag deze frequentie gerust erg laag zijn. Elke uitgang van het schuifregister wordt met een RC-filtertje afgevlakt tot een DC spanning, en wordt met behulp van een comparator vergeleken met een zaagtandsignaal dat loop op de gewenste PWM-frequentie, de uitgang van de comparator stuurt dan het ledje. Door die opbouw (alles vergelijken met een centrale zaagtand) kan je erg gemakkelijk de PWMfrequentie veranderen, ook kan je zonder programmeerwerk de belasting op de voeding verminderen (door 2 zaagtanden te gebruiken die 180° verschoven zijn, halveer je de piekstroom ruwweg).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
Allereerst geweldige reactie met goede uitleg _/-\o_

Ik heb al eens gekeken naar Maxim-IC PWM drivers. Daarbij vond ik bijvoorbeeld de MAX6964 maar deze heeft dus maar 4bit PWM (en 4bit globaal maar dat is zo lastig bij RGB). En met DMX ga je toch voor 255 stappen DMX stappen. De MAX6966/67 doet het wel. Dan zou je er alleen dus 2 van nodig hebben.

Alleen moet je dan even genoeg data zien te verplaatsen naar de 2 Driver chips. Alleen dit moet een minder groot probleem zijn dan PWM-en (alleen moet ik even SPI zien te leren ergens heb daar geen ervaring mee)

[Voor 23% gewijzigd door 0fbe op 12-01-2007 21:48]


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
SPI is erg vergelijkbaar met data in een schuifregister schuiven, klokje en data maken op de snelheid die je wil (want jij bent master en die Maxim-chip is slave) en het werkt, erg simpel dus.
Genoeg data doorsturen is geen probleem, want de PWM zelf gebeurt door de Maxim-chip, het aanpassen van de PWM moet zo snel niet gebeuren (10 keer per seconde lijkt me voldoende).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
naftebakje schreef op vrijdag 12 januari 2007 @ 22:10:
SPI is erg vergelijkbaar met data in een schuifregister schuiven, klokje en data maken op de snelheid die je wil (want jij bent master en die Maxim-chip is slave) en het werkt, erg simpel dus.
Genoeg data doorsturen is geen probleem, want de PWM zelf gebeurt door de Maxim-chip, het aanpassen van de PWM moet zo snel niet gebeuren (10 keer per seconde lijkt me voldoende).
Mijn doel was 44Hz (dit omdat dit ook de snelheid van een DMX512 bus is) Ik ga me eens inlezen in SPI en probeer zo veel mogelijk data hier terug te leveren zodat andere mensen er ook mee uit de voeten kunnen!

Anoniem: 204349

kan iemand mij mischien vertellen wat het verschil is tussen de PIC16F628 en de PIC16F628A ? Ik had dus namelijk de A versie besteld maar wat ik binnen gekregen heb is de PIC16F628-04/P

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Anoniem: 204349 schreef op zondag 14 januari 2007 @ 18:17:
kan iemand mij mischien vertellen wat het verschil is tussen de PIC16F628 en de PIC16F628A ? Ik had dus namelijk de A versie besteld maar wat ik binnen gekregen heb is de PIC16F628-04/P
Zo uit het hoofd: de A versie is nieuwer en goedkoper, rest maakt dacht ik niet uit. Sla er even de datasheet op na, dan ben je zeker.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Anoniem: 198056

timcooijmans schreef op vrijdag 12 januari 2007 @ 20:11:
Denk je dat het mogelijk is om doormiddel van een Schuifregister te PWM-en? (en zo 18 PWM outputs te bereiken)
Ja, dat is zeker mogelijk. Ik heb laatst 6 shuifregisters achter elkaar gezet en heb zo 48 pwm kanalen gemaakt. Data wordt ingeklokt met een attiny2313, deze draait op 16MHz. PWM is 8 bits. Ik haal niet de 150Hz waar naftebakje vanuit gaat in zijn berekening, ik denk dat ik ongeveer 80 Hz haal. Dit zie je overigens ook niet flikkeren. Met een 20 MHz kristal en slechts 18 PWM kanalen zou je dus makkelijk die 150 Hz kunnen halen als je dat wilt.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 22:25

TrailBlazer

Karnemelk FTW

Ik zat even te denken over mijn DMX ding. Ik wil uiteraard een lampje laten faden maar ik wil eigenlijk in mijn databyte twee dingen zetten. de 6 MSB voor de intensiteit dit geeft dan 64 mogelijkheden en de 2 LSB de snelheid aangeven waarmee het ligt hier naar toe moet faden vanaf de huidige waarde. Mogen dit soort dingen of is het bij DMX gebruikelijk dat je enkel de nieuwe waardes opgeeft

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 19:49
TrailBlazer schreef op dinsdag 16 januari 2007 @ 08:54:
Ik zat even te denken over mijn DMX ding. Ik wil uiteraard een lampje laten faden maar ik wil eigenlijk in mijn databyte twee dingen zetten. de 6 MSB voor de intensiteit dit geeft dan 64 mogelijkheden en de 2 LSB de snelheid aangeven waarmee het ligt hier naar toe moet faden vanaf de huidige waarde. Mogen dit soort dingen of is het bij DMX gebruikelijk dat je enkel de nieuwe waardes opgeeft
Je geeft enkel nieuwe waardes op, óf je gebruikt een 2e kanaal voor de fade time. Wat jij beschrijft is niet gebruikelijk.

Je hebt 2 mogelijkheden.
Of je gebruikt 1 kanaal en stuurt de fade time controlermatig aan (je stuurt dus enkel DMX waardes aan)
Of je gebruikt 2 kanalen en stuurt de fade time ook via DMX aan (1 kanaal bepaald je waarde waarvan of waarheen je zal faden. En kanaal 2 bepaald je fade time. Zet je fade time op 1 seconde bijv. Zet je dan kanaal 1 op 255 (full on) dan duurt het 1 seconde voordat je 255 bereikt.

Zo gebeurd het normaal.

[Voor 28% gewijzigd door 0fbe op 16-01-2007 10:08]


Anoniem: 204349

Even een beginners vraagje, die pen 4 van de 16f628a die via de 10K weerstand verbonden staat met de 5V+, is de waarde van deze weerstand erg belangrijk, heb namelijk 1 stuks 10k teweinig meegekregen bij de elektronica zaak.. heb wel nog wat 1K weerstandjes over.. maar dit is waarschijnlijk te weinig ?

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
Anoniem: 204349 schreef op woensdag 17 januari 2007 @ 17:44:
Even een beginners vraagje, die pen 4 van de 16f628a die via de 10K weerstand verbonden staat met de 5V+, is de waarde van deze weerstand erg belangrijk, heb namelijk 1 stuks 10k teweinig meegekregen bij de elektronica zaak.. heb wel nog wat 1K weerstandjes over.. maar dit is waarschijnlijk te weinig ?
Dat is de resetpin (MCLR= Master CLeaR), ik gok dat alles tusen 500 Ohm en 100 K wel zal werken in de meeste gevallen (liever naar de hogere waarden toe dan de lagere), als je rare dingen tegenkomt weet je meteen dat je eerst die reset moet checken.
Ik heb wel al een paar keer ander mensen geholpen die geen weerstand tussen de resetpin en de +5V hadden gezet, dat laat de PIC blijkbaar énorm raar doen.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Anoniem: 204349

Ok :) nou ik heb ik heb ondertussen m'n leven gewaagd door op de fiets door storm en
regen wat nieuwe onderdelen te gaan te halen in dordrecht..

Had eindelijk m'n printje klaar, bleek dat door een defecte 7805 vrolijk 14V door m'n SN75176 heen gestuurd werd. Ben dus bang dat deze overleden is.. maar goed.. het maakte uit eindelijk niet zo heel veel uit want ik moest toch terug naar de elektronica zaak om m'n bestelling van PIC's op te halen..

Eenmaal thuis aangekomen blijkt nu alleen dat ik weer niet de gene gekregen heb die ik besteld had... namelijk niet de 16F628A maar de 16F628-20/P, maar het schijnt dat deze wel op 20 Mhz kan draaien dus met een beetje geluk gaat het vandaag dan toch nog lukken om m'n 3 leds aan te sturen :P

Ik hoop alleen dat ik de .asm code die Thijsch gemaakt had bij het schematje in z'n PDF er in geprogrameerd krijg.. ik weet nu namelijk niet voor welke processor ik het moet compileren..

Bij de Velleman PIC programmer die ik heb,
( http://www.velleman.be/nl/en/product/view/?id=350903 )
zitten 2 programmatjes:

- MPASM (Assembler compiler)
- Progpic2 (Programmer)

In beide programma'skan ik het type PIC16F628-20/P niet terug vinden ...
Wel de gewone 16F628 en de 16F628A ..... Ik vraag me dus af welke ik moet nemen...

En daarbij kom ik gelijk op de vraag: weet er hier iemand toevallig of een pic beschadigd kan raken door er een verkeerd programma in te laden ?


In ieder geval 2 absolute beginners Tips die ik vandaag zelf geleerd hebt...:

1. Meet eerst je spannigs regulator of er wel echt 5V uitkomt voor je de rest van je circuit hier op aan sluit !!!
2. Ic voetjes zijn toch wel erg handig ! mocht je Ictje stuk gaan..

[Voor 17% gewijzigd door Anoniem: 204349 op 18-01-2007 14:32]


Anoniem: 204349

Nou m'n nachtmerrie is waarheid geworden! M'n printje is af, alles netjes in doosje gebouwd.. en ja hoor.. krijg de code van Thijsch niet gecompileerd naar Hex :'(

Ik baal echt als een stekker op het moment, heb al enige uurtjes doorgebracht met "MPASMWIN" en heb al het mogelijke geprobeerd wat ik weet maar het lukt echt niet :'(

Zou er alsjeblieft iemand voor mij een hex file van deze code kunnen maken?
>> http://members.chello.nl/g.assies/DMXcode.asm

Al is het alleen maar even als test om te kijken of de hardware werkt.. :'(

MPASMWIN zegt na een poging tot compileren :

Errors : 4

Warnings:
--------------
Reported : 1
Suppressed: 0

Messages:
----------------
Reported: 11
Supressed: 0

Lines Assembled: 565

De error file die hij aanmaakt heb ik even online gezet:
http://www.djpsycho.nl/DMXcode.ERR


Uiteindelijk is het enige echte probleem dus om deze code:
http://members.chello.nl/g.assies/DMXcode.asm
In m'n PIC16F628-20/P te krijgen...

Hopelijk kan iemand me helpen, het liefst met een hex file :'(
Ik wil er zelfs nog wel een vergoeding tegenover zetten als iemand me aan de werkende hex file kan helpen... want ik ben bang dat dit me echt boven m'n verstand uit gaat.. :'(

peace :)

[Voor 40% gewijzigd door Anoniem: 204349 op 18-01-2007 17:47]


  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
ik heb het ook nog niet kunnen compileren, maar enkele dingetjes:

Warning[205] F:\DOCUMENTS AND SETTINGS\DARKNESS\DESKTOP\DMXCODE.ASM 5 : Found directive in column 1. (__CONFIG)

vervang de lijn eens door " __config" (dus TAB en dan config in kleine letters) dan gaat die warning al weg

code:
1
2
3
    __config        _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC  & _LVP_OFF
    list    P=16F628
#include <P16F628.INC>

aangezien je voor andere pic compileert

Error[113] F:\DOCUMENTS AND SETTINGS\DARKNESS\DESKTOP\DMXCODE.ASM 153 : Symbol not previously defined (NO_DMX)

NO_DMX is niet gedefinieerd, je zal dat nog even moeten toevoegen.

Message[302] F:\DOCUMENTS AND SETTINGS\DARKNESS\DESKTOP\DMXCODE.ASM 72 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[305] F:\DOCUMENTS AND SETTINGS\DARKNESS\DESKTOP\DMXCODE.ASM 134 : Using default destination of 1 (file).

niet echt een idee waar dat vandaan komt

[Voor 3% gewijzigd door Corpse2 op 18-01-2007 18:21]

keep trying...


Anoniem: 204349

Corpse2 schreef op donderdag 18 januari 2007 @ 18:21:
ik heb het ook nog niet kunnen compileren, maar enkele dingetjes:
Ok ik neem wel aan dat Thijsch de code getest heeft ? :s
ik heb het namelijk ook geprobeerd te compileren voor de 16F628A die hij gebruikt maar geeft de zelfde fouten..

Maar goed ik ga hier mee aan de slag.. bedankt in ieder geval :)

Is het eigenlijk uberhaupt al iemand gelukt om dit project te bouwen wat in DMX2.PDF staat ??

[Voor 9% gewijzigd door Anoniem: 204349 op 18-01-2007 19:13]


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
De benaming PIC16F628-20/P wil zeggen dat het een PIC16F628 is, in een 20-pins PDIP uitvoering, gaat dus enkel over de behuizing.
De message[302] mag je doorgaans negeren, of je nu in de juiste of verkeerde bank zit, hij blijft die warning geven, en microchip zelf geeft aan dat je die mag negeren.
De message[302] geeft aan dat er een instructie is waarbij geen destination is opgegeven, dus de uitkomst zal naar de standaard plaats geschreven worden (ik dacht dat standaard naar het W register wordt geschreven), wil nog niet perse zeggen dat het niet zal werken, gewoon een kleine slordigheid in het programmeren.

[Voor 4% gewijzigd door naftebakje op 18-01-2007 20:01]

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
PIC16F628-20/P, die P betekent inderdaad PDIP, maar die 20 staat volgens mij voor het feit dat de interne oscillator tot 20MHz kan in tegenstelling tot bv de PIC16F628-4/P die maar 4MHz aankan.

In ieder geval is de originele code die je daar gebruikte voor de 16f628A en dat is dus een andere dan 16f628.

keep trying...


Anoniem: 204278

hebben julli oo k ''jal'' van deze ''asm'' code's, omdat ik verstaan niet van ''asm'' code's

  • M14
  • Registratie: Januari 2002
  • Laatst online: 08-06 11:01
Wat ik me keer op keer afvraag is waarom bijna niemand die dingen in C programmeerd. Dat werkt toch veel makkelijker, overzichtelijker en sneller.

Mess with the best, Die like the rest
There is no such thing as Society
There are 2 kinds of people: Snipers and their targets
Never run for a sniper ... you only die tired :)


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 08-06 15:08
M14 schreef op maandag 22 januari 2007 @ 00:53:
Wat ik me keer op keer afvraag is waarom bijna niemand die dingen in C programmeerd. Dat werkt toch veel makkelijker, overzichtelijker en sneller.
Op een PC die op hoge kloksnelheden draait, bergen RAM en ROM ter beschikking heeft, en een hele trukendoos automagisch toepast op het gecompileerde programma, kan je idd zonder nadenken wat code typen in C.

Een µC zoals hier gebruikt, moet je snappen, je moet kunnen denken als die µC, en daarvoor is ASM nogal essentiëel. Als je geen rekening houd met de hardware, zal je programma veel te groot, lomp en traag zijn, en krijg je de helft niet in gang. Eenmaal je een goeie kennis van ASM hebt, kan je idd hogere talen gebruiken als methode om gemakkelijker de ASM te laten genereren, maar de focus moet op ASM blijven liggen, daarvoor vind ik persoonlijk basic handiger.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Anoniem: 204349

Jongens die code van Thijsch klopt echt niet! heb er een paar experts bij gehaald en komen allemaal tot de conclusie dat er fouten in de code zitten... is er hier niemand met een werkende code ???

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 21:55
Anoniem: 204349 schreef op woensdag 24 januari 2007 @ 16:30:
Jongens die code van Thijsch klopt echt niet! heb er een paar experts bij gehaald en komen allemaal tot de conclusie dat er fouten in de code zitten... is er hier niemand met een werkende code ???
vreemd, wat gaat er mis?
En konden die experts dat niet oplossen dan

[Voor 7% gewijzigd door Thijsch op 24-01-2007 17:25]


  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
Kan je misschien eens een werkend asm bestandje ergens online zetten dat bij die pdf hoort?

Ik had ook een keer gewoon de text uit de pdf in een asm bestandje gesmeten en dat wilde ook niet compileren, maar ik weet niet meer wat het probleem precies was.

keep trying...


Anoniem: 204349

Thijsch schreef op woensdag 24 januari 2007 @ 17:24:
[...]

vreemd, wat gaat er mis?
En konden die experts dat niet oplossen dan
Het probleem is dat ik je asm file niet kan compileren.. is het mischien mogenlijk dat je een werkende .hex file post ?

  • CyBeRSPiN
  • Registratie: Februari 2001
  • Laatst online: 00:05

CyBeRSPiN

sinds 2001

Anoniem: 204349 schreef op donderdag 25 januari 2007 @ 11:39:
[...]


Het probleem is dat ik je asm file niet kan compileren.. is het mischien mogenlijk dat je een werkende .hex file post ?
Met MPASMWIN moest ik alleen de NO_DMX variabele nog defineren:
#DEFINE NO_DMX PORTB,4
(geen idee of dat goed is, maar hij compiled dan wel)

Net een lpr2dmx interface gemaakt, maar kan die niet testen bij gebrek aan dmx spul.. straks maar ff deze schakeling bouwen, om dan een mooie 3W highpower RGB-led te pwmen (later evt 3 in serie).

Anoniem: 206245

Hi,

I'm looking for source code (.asm) of 9 channel DMX/PWM (16F628A) connection mentioned in the schema above. Any help would be appreciated.

Thanks in advance, Frantisek
This is a dutch forum, so please write your posts in dutch, and expect the answers to be dutch too.

[Voor 23% gewijzigd door naftebakje op 25-01-2007 19:45]


Anoniem: 204278

Hallo codeert Thijsch, uw asm heeft één of ander probleem en het is geen working.and ook ik probleem __ config en No_DMX ook maar niet nog werkend heb veranderd. kunt u achter het hier verzenden. uw correcte asm dienen zonder enig probleem in

Anoniem: 204278

..

[Voor 100% gewijzigd door Anoniem: 204278 op 17-06-2007 14:55]


Anoniem: 204278

..

[Voor 98% gewijzigd door Anoniem: 204278 op 17-06-2007 14:55]


  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01 00:58
programmer07, it's quite obvious that you used a translator to post those last 3 posts, they even include your english spelling errors. 8)7
there is no working code here, I tried it.

}:O

keep trying...

Pagina: 1 2 Laatste


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