ConceptionElectronique : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(fabmodules)
(fabmodules)
Ligne 61 : Ligne 61 :
 
LED1=LED_1206('RLED')
 
LED1=LED_1206('RLED')
 
pcb=LED1.add(pcb,XTAL1.x+0.05,XTAL1.y-.22,z,angle=-90)
 
pcb=LED1.add(pcb,XTAL1.x+0.05,XTAL1.y-.22,z,angle=-90)
 
 
  
 
pcb = wire(pcb,w,
 
pcb = wire(pcb,w,
 
   LED1.pad[1],
 
   LED1.pad[1],
 
   IC1.pad[5])
 
   IC1.pad[5])
 
 
  
 
R2 = R_1206('R2\n100');
 
R2 = R_1206('R2\n100');
 
 
pcb=R2.add(pcb,LED1.x-0.07,LED1.y-.15,z,angle=0)
 
pcb=R2.add(pcb,LED1.x-0.07,LED1.y-.15,z,angle=0)
 
  
 
pcb = wire(pcb,w,
 
pcb = wire(pcb,w,
 
 
   LED1.pad[2],
 
   LED1.pad[2],
 
 
   R2.pad[2])
 
   R2.pad[2])
 
  
  
 
BUTTON1=button_6mm('BTON1')
 
BUTTON1=button_6mm('BTON1')
 
 
pcb=BUTTON1.add(pcb,XTAL1.x+0.08,XTAL1.y-.55,z,angle=0)
 
pcb=BUTTON1.add(pcb,XTAL1.x+0.08,XTAL1.y-.55,z,angle=0)
 
  
  
 
pcb = wire(pcb,w,
 
pcb = wire(pcb,w,
 
 
   BUTTON1.pad[4],
 
   BUTTON1.pad[4],
 
 
   point(IC1.pad[6].x-0.1,IC1.pad[6].y,z))
 
   point(IC1.pad[6].x-0.1,IC1.pad[6].y,z))
 
  
 
pcb = wire(pcb,w,
 
pcb = wire(pcb,w,
 +
  point(IC1.pad[6].x-0.1,IC1.pad[6].y,z),
 +
  IC1.pad[6])
  
  point(IC1.pad[6].x-0.1,IC1.pad[6].y,z),
 
  
  IC1.pad[6])
 
 
</code>
 
</code>
  

Version du 9 mars 2014 à 16:48

exercice de conception electronique à travers la fabacademy

redessiner le hello world en ajoutant au moins une led et un bouton.

l'occasion de tester différents éditeurs electronique.

sujet

Redessiner le circuit hello world en ajoutant au moins une led et un bouton (et les résistances éventuellement nécessaires)


analyse du circuit

puce

la puce est un ATtiny44 ssu : la fiche technique nous aidera bien

4 pins sont libres : à gauche PB2 et PA7 , à droite pA2 et PA3

Les deux ports (A et B) sont bi directionnels avec des résistances pullup intégrées.

Le port A contient des pins 8bits

Le port B des pins des pins 4 bits


led

je vais utiliser une led rouge. d'après sa fiche technique,

continuous forward current = 30mA
 tension de seuil = 2V

le circuit sera alimenté en 5V donc il faut ajouter une résistance:

R = ( 5 - 2 ) / 0,03 = 100 Ohms


bouton

le bouton sera un switch NO (normaly open)

J'ai vérifié dans le datasheet la forme des pads pour ne pas me tromper de sens car il a 4 broches.

Je le cable en direct car j'utiliserais une resistance pullup interne au controleur.

dessin

je vais essayer différents outils

fabmodules

COmme les fabmodules font (presque) tout, il est possible de dessiner des PCB avec, sous la forme d'un language descriptif de composant : c'est un HDL : Hardware description language.

Je suis partit du fichier Hello wWolrd.cad que j'ai modifié en déplaçant un pau les composants, et en ajoutant les miens :

LED1=LED_1206('RLED') pcb=LED1.add(pcb,XTAL1.x+0.05,XTAL1.y-.22,z,angle=-90)

pcb = wire(pcb,w,

  LED1.pad[1],
  IC1.pad[5])

R2 = R_1206('R2\n100'); pcb=R2.add(pcb,LED1.x-0.07,LED1.y-.15,z,angle=0)

pcb = wire(pcb,w,

  LED1.pad[2],
  R2.pad[2])


BUTTON1=button_6mm('BTON1') pcb=BUTTON1.add(pcb,XTAL1.x+0.08,XTAL1.y-.55,z,angle=0)


pcb = wire(pcb,w,

  BUTTON1.pad[4],
  point(IC1.pad[6].x-0.1,IC1.pad[6].y,z))

pcb = wire(pcb,w,

  point(IC1.pad[6].x-0.1,IC1.pad[6].y,z),
  IC1.pad[6])


Kicad

simple d'abord

un éditeur de librairies rapide : http://kicad.rohrbacher.net/quicklib.php

un tutoriel en français : http://www.elektronique.fr/documents-pour-le-site/documentation/Tutorial-Kicad-FR.pdf

un certain nombre de librairies : http://library.oshec.org/ qui ont l'air obsolettes

du coup j'essaye de convertir les librairies eagle fournies par le MIT avec l'outil eaglelbr2kicad