shutter_dmx
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
shutter_dmx [2020/03/14 20:28] – Mushussu | shutter_dmx [2020/04/07 16:56] – Mushussu | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Réalisation d'un shutter DMX ====== | ====== Réalisation d'un shutter DMX ====== | ||
+ | ===== Matériel ===== | ||
+ | ^Qtt^Nom | ||
+ | |1 |Embase XLR ♂ |5 points | ||
+ | |1 |Embase XLR ♀ |5 points | ||
+ | |3 |Commutateur DIP |10 voies | ||
+ | |1 |Support DIL |28 voies | ||
+ | |1 |Micro-contrôleur | ||
+ | |1 |Quartz | ||
+ | |2 |Condensateur | ||
+ | |1 |Résistance | ||
+ | |1 |Résistance | ||
- | https://mil.ufl.edu/5666/handouts/ATMPWM.pdf | + | ===== Code ==== |
- | {{tag> | + | Test de fonctionnement du servo-moteur |
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #define FCPU 8000000 | ||
+ | #define DIVISEUR 8 | ||
+ | #define FREQ_PWM 50 // Frénquen de la PWM en Hertz | ||
+ | #define M_ICR1 (FCPU/ | ||
+ | |||
+ | int main(void) { | ||
+ | DDRB |= (1 << DDB1); // OC1A en sortie | ||
+ | TCCR1A |= (1 << WGM11); // Mode Fast PWM avec comme limite ICR1 | ||
+ | TCCR1A |= (1 << COM1A1) | (1 << COM1A0); // Inversion | ||
+ | TCCR1B |= (1 << CS11); // Diviseur de fréquence 8 | ||
+ | TCCR1B |= (1 << WGM12) | (1 << WGM13); // Mode Fast PWM avec comme limite ICR1 | ||
+ | ICR1 = M_ICR1; | ||
+ | |||
+ | while(1) { | ||
+ | OCR1A = ICR1 - 2250; | ||
+ | _delay_ms(3000); | ||
+ | OCR1A = ICR1 - 550; | ||
+ | _delay_ms(3000); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | Pour lire l' | ||
+ | <code c> | ||
+ | // Configuration pour la lecture de l' | ||
+ | DDRB &= ~(1 << DDB2) & ~(1 << DDB3) & ~(1 << DDB4) & ~(1 << DDB5); // PB2, PB3, PB4, PB5 en entrée | ||
+ | PORTB |= (1 << PB2) | (1 << PB3) | (1 << PB4) | (1 << PB5); // Résitances de tirage haut | ||
+ | DDRC &= (1 << DDC0) &~(1 << DDC1) & ~(1 << DDC2) & ~(1 << DDC3); // PC0, PC1, PC2, PC3 en entrée | ||
+ | PORTC |= (1 << PC0) | (1 << PC1) | (1 << PC2) | (1 << PC3); // Résitances de tirage haut | ||
+ | DDRD &= (1 << DDD2) & ~(1 << DDD3) & ~(1 << DDD4) & ~(1 << DDD5); // PD2, PD3, PD4, PD5 en entrée | ||
+ | PORTD |= (1 << PD2) | (1 << PD3) | (1 << PD4) | (1 << PD5); // Résitances de tirage haut | ||
+ | |||
+ | void adresse() { | ||
+ | uint16_t adresse = (~(PIND >> 2) & 0b00001111) * 100 + (~PINC & 0b00001111) * 10 + (~(PINB >> 2) & 0b00001111); | ||
+ | if (adresse == 5) { | ||
+ | PORTC |= (1 << PC5); | ||
+ | } else { | ||
+ | PORTC &= ~(1 << PC5); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ===== Réalisation ===== | ||
+ | ==== Maquette ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | La partie occultante sera sans doute réalisée avec des plaques epoxy de circuit imprimé. Elles résistent bien à la chaleur.Dimension 150 x 200x 1.6. | ||
+ | |||
+ | Le bras du servo-moteur sera lui aussi en epoxy. | ||
+ | |||
+ | Les rails de guidage seront en Téflon : [[https://www.weber-metaux.com/content/13-plastiques-composites-elastomeres|Weber métaux]] | ||
+ | ===== Matériel ===== | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Primaire pour coller ensuite le Téflon : LOCTITE SF 770 | ||
+ | |||
+ | SWI3-5-E-ST Alimentation Mouser | ||
+ | |||
+ | {{tag> |
shutter_dmx.txt · Dernière modification : 2020/12/01 17:43 de serge