Table des matières:

Gradateur DMX 4 canaux : 6 étapes
Gradateur DMX 4 canaux : 6 étapes

Vidéo: Gradateur DMX 4 canaux : 6 étapes

Vidéo: Gradateur DMX 4 canaux : 6 étapes
Vidéo: Gradateur lumiere 014b (DMX) 2024, Juillet
Anonim
Gradateur DMX 4 canaux
Gradateur DMX 4 canaux

Le concept est de concevoir et de créer un gradateur portable.

Conditions:

  • DMX512 contrôlable
  • 4 canaux
  • Portable
  • Facile à utiliser

J'ai proposé cette idée à mon professeur à WSU car je voulais combiner mes passions pour le théâtre et l'informatique. Ce projet a agi un peu comme mon projet senior dans le département de théâtre. Si vous avez des commentaires ou des questions, je serais ravi de vous aider.

Le développement futur pourrait inclure plus de canaux, un connecteur DMX à 5 broches, un passthrough DMX, 8 commutateurs DIP pour changer de canal, une carte de circuit imprimé.

J'ai migré ce projet depuis https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html car il est toujours populaire, je suppose. De plus, j'ai perdu mon fichier de départ iWeb, je ne peux donc plus le mettre à jour facilement. Ce serait bien de permettre aux gens de partager leurs questions sur le projet entre eux.

Étape 1: Rassembler le matériel

Rassembler le matériel
Rassembler le matériel

Matériel utilisé: La majeure partie a été commandée auprès de Tayda Electronics. Je les préfère à DigiKey en raison de leur sélection plus petite et plus facile à comprendre.

  1. ATMEGA328, Micro-contrôleur
  2. MOC3020, Optocoupleur TRIAC. Pas ZeroCross.
  3. MAX458 ou SN75176BP, Récepteur DMX
  4. ISP814, Optocoupleur CA
  5. 7805, Régulateur 5v
  6. BTA24-600, 600V 25A TRIAC
  7. Cristal 20MHz
  8. Alimentation 9V

Quelques obstacles et leçons apprises en cours de route

  • Si vous n'êtes pas un expert du registre, restez avec un ATMEGA328P
  • Mauvais optocoupleurs. Vous ne voulez pas de Zero Cross
  • Les canaux élevés étaient instables. Le passage de 16MHz à 20MHz a résolu ce problème
  • Impossible d'avoir un voyant d'état DMX car l'appel d'interruption devait être très rapide
  • L'alimentation CC doit être extrêmement stable, toute ondulation rendra le signal DMX très bruyant

Le design TRIAC vient de MRedmon, merci.

Étape 2: conception de circuits

Conception de circuits
Conception de circuits

J'ai utilisé Fritzing 7.7 sur Mac pour concevoir mon circuit.

Le MAX485 en haut est utilisé pour convertir le signal DMX en quelque chose que l'Arduino peut lire.

Le 4N35 sur la gauche est utilisé pour détecter le passage par zéro du signal AC afin que l'Arduino sache à quel moment assombrir la sortie de l'onde sinusoïdale. Plus d'informations sur la façon dont le matériel et les logiciels interagissent dans la section des logiciels.

J'ai reçu la question est-ce que ce projet fonctionnera en Europe avec 230V et 50Hz ? Je n'habite pas en Europe, et je n'y voyage pas souvent pour pouvoir tester ce design. Cela devrait fonctionner, il vous suffirait de modifier la ligne de synchronisation de la luminosité du code pour les différentes temporisations de fréquence.

Étape 3: conception du circuit de Kovari

Conception de circuits de Kovari
Conception de circuits de Kovari
Conception de circuits de Kovari
Conception de circuits de Kovari

Grâce au processus de création de mon site Web, j'ai pu avoir quelques conversations par courrier électronique. L'un était avec Kovari Andrei qui a conçu un circuit basé sur ce projet et voulait partager sa conception. Je ne suis pas un concepteur de circuits imprimés mais c'est un projet Eagle. Faites-moi savoir comment cela fonctionne pour vous si vous l'utilisez.

Étape 4: Conception du circuit de Giacomo

Conception du circuit de Giacomo
Conception du circuit de Giacomo

De temps en temps, les gens m'enverront un message avec les adaptations passionnantes qu'ils ont faites avec ce instructable et j'ai pensé que je devrais les partager avec vous tous.

Giacomo a modifié le circuit afin qu'un transformateur à prise centrale ne soit pas nécessaire. Le circuit imprimé est simple face et peut être une solution plus abordable pour ceux qui ne peuvent pas faire de double face à la maison (un peu difficile).

Étape 5: Logiciel

Logiciel
Logiciel

Je suis ingénieur logiciel de formation, donc cette partie est la plus détaillée.

Summery:Lorsque l'Arduino démarre pour la première fois, la méthode setup() est appelée. Là, j'ai configuré quelques-unes des variables et des emplacements de sortie à utiliser plus tard. zeroCrossInterupt() est appelé/exécuté chaque fois que le courant alternatif passe d'une tension positive à une tension négative. Il définira le drapeau zeroCross pour chaque canal et démarrera la minuterie. La méthode loop() est appelée continuellement pour toujours. Pour activer la sortie, le TRIAC n'a besoin d'être déclenché que pendant 10 microsecondes. S'il est temps de déclencher le TRIAC et que le zeroCross s'est produit, la sortie s'allumera jusqu'à la fin de la phase AC.

Il y avait quelques exemples en ligne que j'ai utilisés pour démarrer ce projet. La principale chose que je n'ai pas pu trouver était d'avoir plusieurs sorties TRIAC. D'autres ont utilisé la fonction de retard pour PWM la sortie, mais cela ne fonctionnerait pas dans mon cas car l'ATMEGA doit écouter du DMX tout le temps. J'ai résolu ce problème en pulsant le TRIAC à tant de ms après le passage à zéro. En poussant le TRIAC plus près du passage à zéro, plus l'onde sinusoïdale est sortie.

Voici à quoi ressemble la demi-onde sin 120VAC sur un oscilloscope, ci-dessus.

L'ISP814 est connecté à l'interruption 1. Ainsi, lorsqu'il reçoit un signal indiquant que le courant alternatif passe du positif au négatif ou vice versa, il définit le zéro pour chaque canal sur vrai et démarre le chronomètre.

Dans la méthode loop(), il vérifie chaque canal si zeroCross est vrai et si le temps d'activation est écoulé, il pulsera le TRIAC pendant 10 microsecondes. Cela suffit pour activer le TRIAC. Une fois qu'un TRIAC est activé, il le restera jusqu'au zéro Cross. La lumière scintillait lorsque le DMX était d'environ 3%, j'ai donc ajouté la troncature pour l'empêcher. Cela était dû au fait que l'Arduino était trop lent et que l'impulsion déclenchait parfois la prochaine vague de péché au lieu des derniers 4% de la vague.

Également dans la boucle(), j'ai défini la valeur PWM des LED d'état. Ces LED peuvent utiliser le PWM interne généré par l'Arduino car nous n'avons pas à nous soucier du zeroCross du courant alternatif. Une fois le PWM défini, l'Arduino continuera à cette luminosité jusqu'à ce qu'il en soit autrement.

Comme indiqué dans les premiers commentaires, pour utiliser une interruption DMX sur la broche 2 et fonctionner à 20 MHz, vous devrez modifier certains des fichiers d'application Arduino. Dans HardwareSerial.cpp, un morceau de code doit être supprimé, cela nous permet d'écrire notre propre appel d'interruption. Cette méthode ISR est au bas du code pour gérer l'interruption DMX. Si vous envisagez d'utiliser un Arduino en tant que programmeur ISP, assurez-vous de rétablir vos modifications dans HardwareSerial.cpp, sinon l'ATMEGA328 sur la planche à pain sera inaccessible. Le deuxième changement est plus facile. Le fichier boards.txt doit être modifié pour la nouvelle vitesse d'horloge de 20 MHz.

luminosité[ch]=map(DmxRxField[ch], 0, 265, 8000, 0);

La luminosité est mappée à 8000 car c'est la quantité de microsecondes d'une 1/2 onde sinusoïdale CA à 60hz. Ainsi, à pleine luminosité 256 DMX, le programme laissera la moitié de l'onde sinusoïdale AC sur 8000us. J'ai trouvé 8000 via deviner et vérifier. Faire le calcul de 1000000us/60hz/2 = 8333 donc cela pourrait être un meilleur nombre, mais avoir les 333us supplémentaires au-dessus de la tête permet au TRIAC de s'ouvrir et toute gigue dans le programme est probablement une bonne idée.

Sur Arduino 1.5.3, ils ont déplacé l'emplacement du fichier HardwareSerial.cpp. C'est maintenant /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp

Sinon vous allez vous retrouver avec cette erreur: core/core.a(HardwareSerial0.cpp.o): Dans la fonction `_vector_18':

Étape 6: Emballez-le

Emballez-le
Emballez-le
Emballez-le
Emballez-le
Emballez-le
Emballez-le

J'ai récupéré la boîte à projets grise chez Menards dans leur section électrique. J'ai utilisé une scie alternative pour découper les trous des prises électriques. Le boîtier a une pince en C de théâtre attachée au sommet à des fins de suspension. Voyants d'état pour chaque entrée et sortie pour aider à diagnostiquer s'il y a un problème. Une étiqueteuse a été utilisée pour expliquer les différents ports de l'appareil. Les chiffres à côté de chaque prise représentent le numéro de canal DMX. J'ai collé le circuit imprimé et le transformateur avec de la colle chaude. Les LED sont collées en place avec des supports de LED.

Conseillé: