Circuit imprimé 'Multiuse PCB2'

Résumé du projet

Le circuit imprimé Multiuse PCB2 est une évolution de multiuse tiny 1. Ce dernier était à l'origine destiné à conversir des manettes de NES et SNES à USB. L'espace dans une manette étant limité, j'ai fait en sorte que le circuit occupe le moins d'espace possible. Mais depuis, grâce aux nombreux projets pour lesquels je l'ai réutilisé, le circuit a beaucoup évolué.

Top

Top

Spécifications:
  • Petit: largeur=27.5mm, hauteur=17.7mm, épaisseur=3.4mm (sans régulateur) ou 5.3mm (avec régulateur)
  • Basé sur le microcontrôleur AVR Atmega8 d'Atmel
  • Expose à l'usager les signaux suivants via des points de soudure: PC5(ADC5/SCL), PC4(ADC4/SDA), PC3(ADC3), PC2(ADC2), PC1(ADC1), PC0(ADC0), PB5(SCK), PB4(MISO), PB3(MOSI), PB2(SS/OC1B), PB1(OC1A), PB0(ICP1), PD0(RXD), PD1(TXD), PD2(INT0). Notez que PD0(RXD) et PD1(TXD) attachés ensemble.
  • Option régulateur pour alimenter le microcontrôleur et/ou des périphériques externes avec une alimentation plus basse que celle à l'entrée.
  • Ce circuit est parfait pour utiliser le pilote USB logiciel-seulement d'Objective development car il y a toutes les composantes nécéssaires (Atmega8, cristal 12mhz et condensateurs, résistances 68 ohms et diodes zener).
  • Nouveau: Des résistances "pull up" ou "pull down" (au choix) peuvent être installées sur certains signaux.
  • Nouveau: Un signal nommé 'S' traverse le circuit et peut si désiré être branché aux résistances pull-up/down.
  • Nouveau: Sortie "open collector"
  • Nouveau: Un diviseur de tension peut être assemblé pour mesurer sa propre alimentation.
  • Nouveau: Filtre sur AREF
Exemples d'utilisations:


Schematic

Le shéma est divisé en trois pages.
Voici le shéma en format png:

Et en format PDF: multiuse_pcb2_schematic.pdf

Programmation:
Pour programmer le microcontrôleur, les fils ISP doivent être soudés directement sur le circuit. Consultez le shéma pour connâitre les bons endroits.
Si vous n'êtes pas familier avec la programmation d'un AVR via ISP, consultez ma page sur la programmation d'un AVR.

USB:
Si USB n'est pas utilisé, il n'est pas nécéssaire d'installer les diodes zener ni la résistance R1. Les résistances de 68 ohms R3 et R2 peuvent être remplacées par des 0 résistances de ohms si vous souhaitez utiliser ces signaux. (C'est ce que j'ai fait dans le projet Manette NES/SNES à Gamecube/Wii

Régulateur:
En plus des composantes de base et des composantes pour USB, ce circuit imprimé comporte une empreinte (footprint) pour un régulateur de voltage sur la face inférieure. Des résistances de 0 ohms ou des ponts de soudure doivent être faits pour sélectionner l'alimentation du microcontrôleur et de la sortie du circuit.

Si un régulateur de voltage n'est pas nécéssaire pour l'application à laquelle le circuit est destiné, ne pas installer U3, R9, R10, C5, R7 et R8. Mais n'oubliez pas d'installer R5, R6 et C1.

Le régulateur est ajustable. Voici un outil très pratique pour calculer les résistances nécéssaires pour un voltage de sortie en particulier.
Résistance d'ajustement (R2):
Résistance Fixe (R1):
Voltage de sortie (Vout):
Note: L'image provient du datasheet du lm317 par motorola, que voici: lm317rev1g.pdf



PCB

Dessus

Dessus

Voici les dessins des deux côtés du CI:

La photo de droite montre la face du dessus assemblée pour USB (cristal 12mhz, résistances 68 ohms, résistance 1.5k et deux Zeners 3.6 volts). On y voit aussi les deux points de soudure nommés 'S'. Ce signal traverse simplement le circuit, ce qui est très pratique pour certains projets. Notez aussi que ce signal est accessible sur R18 de l'autre côté.

Avec régulateur

Avec régulateur

Option 'avec régulateur':
Le régulateur utilisé est un lm1117mp-adj. Des résistances de 0 ohms doivent être installés pour sélectionner la source d'alimentation (5 volts d'USB ou voltage de sortie du régulateur) du microcontrôleur et de la sortie d'alimentation du circuit.

Par exemple, pour alimenter le microcontrôleur à 5 volts (depuis USB) et une manette à 3.3 volts (sortie du régulateur), il faudrait installer R5 et R8.

La photo à droite montre un bel exemple de la flexibilité du circuit (tiré du projet Manette Gamecube/N64 à USB). Un régulateur est installé avec les résistances nécéssaires pour une sortie 3.3 volts. Une résistance de "pull-up" est installée (R16, 2.2k) et est branchée à 3.3 volts via R20 (ohms). Le signal 'S' est branché au voltage d'entrée (dans ce cas-ci, 5 volts d'USB) en soudant une résistance 0 ohms entre R19 et R18!

Sans régulateur

Sans régulateur

Option 'Pas de régulateur':
Lorsque l'option régulateur de voltage n'est pas utilisée, les seules composantes devant être soudées sur le dessous sont les deux résistances de sélection d'alimentation. Installez-les comme sur la photo à droite. Si vous n'avez pas de résistances 0 ohms, utilisez des petits fils ou faites des ponts de soudure.

Bien entendu, même s'il n'y a pas de régulateur, il est toujours possible d'installer des résistances pull-up/down sur un ou plusieurs signaux.

Voici les fichiers gerber que vous pouvez utiliser pour fabriquer ce circuit imprimé:
multiuse_pcb2.zip

Complément d'info (2024-11)
On m'a demandé quelles sont les tailles des composants utilisé par ce design. Sauf erreur, c'était comme suit:
  • Résistances, diodes zener: 0603
  • Condensateurs pour le cristal: 0805
  • Condensateurs 1uF: 1206



Programmation du circuit

La programmation du circuit exige la soudure des fils du programmeur au bons endroits, ou la fabrication d'un banc d'essais comportant des contacts ressorts correctement positionnés. Regardez le schéma et notez le nom des broches MCU où se rendent les signaux ISP:
Signal ISPBroche MCU
SCKPB5
MISOPB4
MOSIPB3

Ensuite, en regardant le PCB, vous devriez constater la présence d'étiquettes B5, B4 et B3 dans la région inférieure droite. Comme vous le devinez sans doute déjà, il s'agit des points d'accès à PB5, PB4 et PB3. Le signal de «reset» quant à lui est indiqué par les lettres nRST. Notez qu'il faut aussi câbler les signaux ISP VCC et GND, et notez qu'habituellement (c'est le cas avec le programmeur mkII d'atmel) le programmeur n'alimente pas le circuit. Il faut donc mettre le circuit sous tension avant de le (re)programmer.


Avertissement

Je ne saurais être tenu responsable pour les dommages que l'utilisation des informations ou la mise en œuvre des instructions présentées sur cette page pourrait causer à votre équipement, à vous-même ou à autrui. Aussi, je ne donne aucune garantie quant à l'exactitude des informations et à leur fonctionnement.