Hello,
Les essais sur plaque expérimentale sont terminés, et cela m’a permis de développer une première version du code.
Maintenant, il faut concrétiser en reproduisant l’ensemble du circuit.
Typon de la « version beta »
Choix des broches : ça se fera en fonction des broches accessibles..
C’est bien connu, les pistes d’un circuit imprimé ne peuvent pas se croiser. Pour circuler, elles peuvent passer en dessous de certains composants (résistances, circuits intégrés, …), et en dernier recours on peut placer des pontages. De ce fait, je n’ai pas réalisé au préalable de « plan de câblage », mais j’ai choisi de dessiner mon circuit, et de réaliser les branchements à l’Arduino au fur et a mesure en fonction des broches accessibles et compatibles.
Placement des composants « figés »
On commence tout d’abord par placer les composants figés sur notre circuit imprimé : les DIP Switchs et les LED.
Ensuite, on place notre Arduino « Mega Embed » accolé aux DIP Switchs : en effet, il y aura beaucoup de pistes, cet espace entre l’Arduino et les DIP Switchs est donc perdu.
J’ai fait le choix de « condamner » les broches 52 à 56, car vu la densité de broches disponible, ne pas les souder me permettra de passer mes pistes sans contrainte entre mes DIP Switchs et l’Arduino.
Identification des zones où implémenter chaque partie du circuit
Les broches de l’Arduino sont organisés par thème.
- Sur la partie en rouge, nous avons l’alimentation
- Sur la partie en vert, nous avons les broches PWM
- Sur la partie en orange, nous avons les broches responsables de la communication (hors RX / TX, que je réserve pour la programmation et debug)
- Enfin, sur la partie en bleue, on retrouve des broches standard : 16 en analogique, le reste en numérique
On va donc construire en premier notre circuit d’alimentation électrique. Le transformateur de l’Aquila fournit du 13V alternatif, on va donc réutiliser des composants du circuit d’origine : le pont de Graetz, le condensateur, et le régulateur 7805. Je place cette partie du circuit dans un angle.
Des broches compatibles interruption et PWM sont disponibles à proximité des broches d’alimentation, on va donc positionner les connecteurs des ventilateurs à proximité également.
Concernant le circuit DMX, on va utiliser les broches de communication 18 et 19, donc on va construire notre circuit RS485 à proximité également, en récupérant le SN74176 d’origine.
Enfin, il reste une zone de travail disponible pour le pilotage des diodes en PWM. J’ai de quoi placer 4 transistors MOSFET, et je place le 2eme circuit de régulation (en 24V) à proximité des MOSFET, dans l’autre angle disponible.
Enfin, dans l’espace situé à proximité des broches « standards », je place les ULN2803A responsables du pilotage des moteurs pas à pas.
Il reste à placer le circuit « capteur de basses », on va le placer dans la zone « en sandwich » entre les 2 circuits de régulation. Ça tombe bien car il faudra une broche analogique et une broche numérique « interrupt » ; la première étant située sur la première rangée, la seconde étant située sur l’autre rangée.
Ce qui nous donne l’implantation suivante :
Résultat final
Je vous passe les détails, mais voici ce que donne la version bêta, après plusieurs jours de travail.
Typon de la version « release candidate »
Comme vous pouvez le voir la bêta n’est pas mal mais perfectible : j’ai dû faire la concession du PWM pour un des deux ventilos car c’était trop compliqué de faire passer la piste. J’ai également dû placer un certain nombre de pontages, ce n’est pas très propre…
Optimisons la « beta » !
Il faut l’avouer, le placement de pontages à tout va (il y en a 5), c’est quand même « dégueu »… Et l’absence de PWM pour un des ventilateurs me gêne. N’est-il pas possible de faire mieux ?
Besoin de place : rationaliser le circuit des LED de puissance
Tout d’abord je vais libérer un peu de place. Les LED RGBW de puissance n’existent pas sur le marché, du coup j’ai retiré un MOSFET pour faire de la place. Cela me permet de replacer mes 3 MOSFET au bord des circuits, à coté des borniers.
Identifier la cause des pontages
Les pontages sont dûes à deux sous-ensembles :
- L’émission DMX : il est nécessaire d’aller chercher une broche derrière le connecteur double rangée
- Le PWM et le monitoring des ventilateurs : même combat, il faut aller chercher des broches pas forcément accessibles
Se frayer un chemin
J’ai décidé de redessiner toute cette partie là, et j’ai été radical : les broches de communication 14 à 17 ne servent pas. La broche 13 ne sert pas non plus puisqu’elle est affectée à la LED Interne. J’ai donc éliminé les broches 12 à 17, ce qui me permet de faire passer 3 pistes, et notamment les pistes « interrupt » (pour les ventilateurs) et les pistes Serial TX pour le RS485. On élimine les pontages.
Replacer le circuit d’alimentation des ventilateurs
On peut donc placer les connecteurs de ventilateurs de part et d’autres des connecteurs d’alimentation de l’Arduino. Et afin d’amener le 12V indépendamment, j’ai placé le régulateur 5V au plus proche de l’Arduino.
Redessiner le circuit capteur de bass
Avec la place ainsi libérée, on peut refaire le circuit capteur de bass.
Optimisation : connecteur d’extension
Il me restait un peu de place sur le circuit, pourquoi ne pas placer un connecteur d’extension ? C’est chose faite !
Résultat final
Voici le résultat final ! 🙂
Et avec les zones délimitées :
Comme vous voyez, un seul pontage tout petit, à droite du régulateur 5V.
Affectation des broches
Voici l’affectation des broches qui a été retenue :
PIN | Fonction | Connect | Broche | Commentaire | |||
---|---|---|---|---|---|---|---|
0 | RX | Ne pas utiliser | - | ||||
1 | TX | Ne pas utiliser | - | ||||
2 | PWM (timer 3) | Ventilo 1 Speed | 3 | Compatible Interruption | |||
3 | PWM (timer 3) | Ventilo 2 Speed | 3 | Compatible Interruption | |||
4 | PWM (timer 0) | ||||||
5 | PWM (timer 3) | ||||||
6 | PWM (timer 4) | Ventilo 1 PWM | 4 | ||||
7 | PWM (timer 4) | Ventilo 2 PWM | 4 | ||||
8 | PWM (timer 4) | ||||||
9 | PWM (timer 2) | Power LED 1 | - | ||||
10 | PWM (timer 2) | Power LED 3 | - | ||||
11 | PWM (timer 1) | Power LED 2 | - | ||||
12 | PWM (timer 1) | Broche condamne | |||||
13 | PWM + LED (timer 0) | LED Interne / Broche condamne | |||||
14 | Comm | Broche condamne | |||||
15 | Comm | Broche condamne | |||||
16 | Comm | Broche condamne | |||||
17 | Comm | Broche condamne | |||||
18 | Comm | Vers MAX485 | 1 | Compatible Interruption | |||
19 | Comm | Vers MAX485 | 4 | Compatible Interruption | |||
20 | Comm | Capteur bass Impulsion | - | Compatible Interruption | |||
21 | Comm | Compatible Interruption | |||||
22 | Digital | DIP Switch | 6 | ||||
23 | Digital | ||||||
24 | Digital | DIP Switch | 5 | ||||
25 | Digital | Contrle emission / reception DMX | 2 et 3 | ||||
26 | Digital | DIP Switch | 4 | ||||
27 | Digital | Extension | - | Servira pour un contrle extrieur | |||
28 | Digital | DIP Switch | 3 | ||||
29 | Digital | LED Alarme | 1 | ||||
30 | Digital | DIP Switch | 2 | ||||
31 | Digital | DIP Switch | 1 | ||||
32 | Digital | Moteur Pan | 1 | ||||
33 | Digital | DIP Switch | 7 | ||||
34 | Digital | Moteur Pan | 3 | ||||
35 | Digital | DIP Switch | 8 | ||||
36 | Digital | Moteur Pan | 2 | ||||
37 | Digital | DIP Switch | 9 | ||||
38 | Digital | Moteur Pan | 4 | ||||
39 | Digital | DIP Switch | 10 | ||||
40 | Digital | Non accessible | - | ||||
41 | Digital | DIP Switch | 11 | ||||
42 | Digital | LED Status | - | ||||
43 | Digital | DIP Switch | 12 | ||||
44 | Digital | LED Bass | - | ||||
45 | Digital | Non accessible | - | ||||
46 | Digital | DIP Switch | 14 | ||||
47 | Digital | DIP Switch | 13 | ||||
48 | Digital | Extension nRF24L01 | CSN | ||||
49 | Digital | Extension nRF24L01 | CE | ||||
50 | Digital | Extension nRF24L01 | MISO | SPI MISO | |||
51 | Digital | Extension nRF24L01 | MOSI | SPI MOSI | |||
52 | Digital | Extension nRF24L01 | SCK | SPI SCK | |||
53 | Digital | Rserve | SPI SS | ||||
54 (A0) | Analogique | Moteur Gobo | 1 | ||||
55 (A1) | Analogique | Moteur Color | 4 | ||||
56 (A2) | Analogique | Moteur Gobo | 3 | ||||
57 (A3) | Analogique | Moteur Color | 2 | ||||
58 (A4) | Analogique | Moteur Gobo | 2 | ||||
59 (A5) | Analogique | Moteur Color | 3 | ||||
60 (A6) | Analogique | Moteur Gobo | 4 | ||||
61 (A7) | Analogique | Moteur Color | 1 | ||||
62 (A8) | Analogique | Moteur Tilt | 1 | ||||
63 (A9) | Analogique | NTC1 : Capteur temperature LED avec CTN | - | ||||
64 (A10) | Analogique | Moteur Tilt | 3 | ||||
65 (A11) | Analogique | NTC2 : Capteur temperature habitacle avec CTN | - | ||||
66 (A12) | Analogique | Moteur Tilt | 2 | ||||
67 (A13) | Analogique | Capteur bass Analogique | - | ||||
68 (A14) | Analogique | Moteur Tilt | 4 | ||||
69 (A15) | Analogique |
Nomenclature et référence des composants
D’abord, quelques mots sur les composants retenus :
- Pour les MOSFET N, j’avais au départ pris des IRF540 mais la tension de 5V délivrée par l’Arduino n’est pas suffisante… Du coup, j’ai découvert au gré des forums que les modèles « IRF » ne sont pas connectables directement à l’Arduino car il faut une tension de 10V. Il vaut mieux privilégier la gamme « IRL » (L = Logic), adressable en 5V. J’ai retenu en définitive des MOSFET de type IRL2206N, mais des IRL540 devraient également faire l’affaire.
- Le pont de Graetz du redresseur 24V est un GBJ3510. Celui du 12V est repris du circuit d’origine.
- J’ai placé des résistances de 56 ohms, 1W, pour réguler l’intensité admise sur les ventilateurs, car la tension d’alimentation est aux alentours de 16V au lieu de 12.
- Des fusibles sont prévus en sortie de chaque redresseur, pour une intensité estimée à 4A en 12V et 6A en 24V.
Voici la nomenclature qui a été retenue :
Ref | Valeur | Description | Récup sur circuit d'origine |
---|---|---|---|
CI1 | ULN2803A | Darlington Transistor Arrays (8) | Oui |
CI2 | ULN2803A | Darlington Transistor Arrays (8) | Oui |
CI3 | LM384 | Double AOP | Oui |
CI4 | MAX485 | Adaptateur RS485 / TTL | Possible |
REG1 | 7805 | Regulateur 7805 | Oui |
LED1 | Orange | LED Statut | Non |
LED2 | Verte | LED Bass | Non |
LED3 | Rouge | LED Alarm | Possible |
T1 | IRF740 | Transistor Mosfet | Non |
T2 | IRF740 | Transistor Mosfet | Non |
T3 | IRF740 | Transistor Mosfet | Non |
BR1 | ? | Pont de Graetz Redresseur 12V | Oui |
BR2 | ? | Pont de Graetz Redresseur 24V | Non |
F1 | 3.15A | Fusible de protection circuit 12V | Non |
F2 | 6.3A | Fusible de protection circuit 24V | Non |
C1 | 3300æF 35V | Condensateur Chimique Redresseur 12V | Non |
C2 | 3300æF 35V | Condensateur Chimique Redresseur 24V | Non |
C3 | 220æF ? | Condensateur Chimique Regul 5V | Possible |
C4 | 10æF 16V | Filtre passe bas | Possible |
C5 | 100nF | Filtre micro | Possible |
R1 | 56 1W | Protection ventilo | Non |
R2 | 56 1W | Protection ventilo | Non |
R3 | 47k | Mise à la masse Mosfet | Non |
R4 | 47k | Mise à la masse Mosfet | Non |
R5 | 47k | Mise à la masse Mosfet | Non |
R6 | 330 | Protection gate Mosfet | Non |
R7 | 330 | Protection gate Mosfet | Non |
R8 | 330 | Protection gate Mosfet | Non |
R9 | 330 | Protection RX/TX DMX | Non |
R10 | 330 | Protection RX/TX DMX | Non |
R11 | 36k | Mise à 5V signal DMX | Non |
R12 | 56 | Protection signal DMX (masse) | Non |
R13 | 10 | Protection signal DMX | Non |
R14 | 10 | Protection signal DMX | Non |
R15 | 36K | Mise à la masse signal DMX | Non |
R16 | 10K | Pull Up Sensor FAN1 | Non |
R17 | 10K | Pull Up Sensor FAN2 | Non |
R18 | 330 | LED Statut | Non |
R19 | 330 | LED Bass | Non |
R20 | 330 | LED Alarm | Non |
R21 | 10K | Résistance capteur température 1 | Non |
R22 | 10K | Résistance capteur température 2 | Non |
R23 | 10K | Résistance Micro | Non |
R24 | 100K | Résistance Micro | Non |
R25 | 1K | Resistance Micro | Non |
R26 | 1,5K | Passe bas | Non |
R27 | 6K8 | Pont diviseur comparateur | Non |
R28 | 3K | Pont diviseur comparateur | Non |
R29 | 330 | Protection selecteur DMX In / out | Non |
R30 | 2,2K | Pont avec Zener Ventilo 1 | Non |
R31 | 2,2K | Pont avec Zener Ventilo 2 | Non |
NTC1 | NTC-MF52-103/3435 | Capteur de température CTN | Non |
NTC2 | NTC-MF52-103/3435 | Capteur de température CTN | Non |
D1 | Zener 3V3 | Protection PWM | Non |
D2 | Zener 3V3 | Protection PWM | Non |
D3 | 1N4148 | Protection signal analogique négatif | Non |
MIC | - | Microphone Electret | Oui |
POT | 100K | Potentiomètre ou résistance d'étalonage | Non |
FAN1 | - | Connecteur FAN1 4 broches | Non |
FAN2 | - | Connecteur FAN2 4 broches | Non |
DMX | - | Connecteur 3 broches | Oui |
GOBO | - | Connecteur PAP 6 broches | Oui |
COLOR | - | Connecteur PAP 6 broches | Oui |
PAN | - | Connecteur PAP 6 broches | Oui |
TILT | - | Connecteur PAP 6 broches | Oui |
DIPSW1 | 10 | DIP Switch x10 | Oui |
DIPSW2 | 4 | DIP Switch x4 | Oui |
AC12V | - | Bornier 2 plots | Non |
AC24V | - | Bornier 2 plots | Non |
PL1 / POWER | - | Bornier 4 plots | Non |
PL2 / PL3 | - | Bornier 2 plots | Non |
ARDUINO | - | RobotDyn - Mega 2560 PRO | Non |
Annexe : mise à disposition du typon
Je fais le choix de ne pas mettre le typon en téléchargement libre. Si quelqu’un est intéressé par le fruit de mon travail, il peut me contacter directement 😉