Matrice a Del . Intensité ATmega328

Boujour,

Vue que c’est mon première topic je me présente, je suis étudiant en électronique Informatique 2nd année. J’ai découvert Arduino par l’intermédiaire d’un ami, et j’ai acheté la carte Arduino Duemilanove, que j’ai eu il y a 2 semaine.

Je me tourne vers vous pour un renseignement technique par rapport au microcontrôleur ATmega328. J’ai pour projet de réaliser une matrice à DELs, par multiplexage : 8LEDs en sortie * 3LEDs en entrée, seul 1 lignes de 8 DELs pourras être allumées à la fois. Sa me donne donc I_max de 100mA (DEL standard de 10mA) .
J’ai vue que la carte supporte 40mA max en sortie, et 200mA cumulé. Mais je n’ai pas trouvé combien elle peut supporter en entrée, et si je peux réaliser mon montage sans risque.

Es que quelqu’un peux me dire si je peux envoyer 100mA sur une entrée de l’ATmega328. J’ai cherché Iintup_max das la datasheet, mais rien de concluant.

Merci beaucoup pour l’aide, et les autres topics mon bien aidés dans certain de mes problèmes.

Zobak

Bonsoir,

Est ce que quelqu'un peux me dire si je peux envoyer 100mA sur une entrée de l'ATmega328. J'ai cherché Iintup_max das la datasheet, mais rien de concluant.

Téléchargement spec = http://www.atmel.com/dyn/products/product_docs.asp?category_id=163&family_id=607&subfamily_id=760&part_id=4720 Page 317 paramètre Il & Ih = 1µA ! ce qui est normal pour une entrée haute impédance.

Pourquoi veut tu faire entrer 100mA dans une entrée ? N'y aurait-il pas confusion entre les 20mA sink/source d'une pin configurée en sortie ?

Attention les 40mA sont des “Absolute Maximum Ratings” *NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Les "vrais" limites en service permanent sont: (page =318)

Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega48A/PA/88A/PA/168A/PA/328/P: 1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150mA. 2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150mA. If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition.

  1. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: ATmega48A/PA/88A/PA/168A/PA/328/P: 1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA. 2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA. 3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA. If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.

Bonsoir, que veux-tu dire par "3 LED en entrée" ? Tu veux relier tes cathodes sur une pin configurée en entrée ? Je ne pense pas que ça puisse aller. Il faut que ta commande se fasse via des transistors (et donc des pins Arduino configurée en sortie), comme dans cet exemple.

Tu as aussi des circuits dédiés qui d'une part font ça très bien, et surtout offrent l'avantage de commander énormément de led en utilisant peu de pins.

Boujour,

Merci pour votre aide. La page 318 ma bien aidé avec le détaille que tu à mis.
Je voit qu’il faudra que je passe par une interface de porte logique, et de transistor pour réussir ce que je veux faire
Pour les 100mA c’est pas une erreur : 1LEDs => 5v 10mA, 10Leds en parallèle 5V 100mA

Par 3 DELs en entrée, je voulait dire 3 sortie, qui aurais contrôles 3 lignes. De là je sélectionnais les LEDs à allumé avec les entrées.
En allumant 1 ligne à la fois, et les colonnes en permanence je peux donner l’illusion qu’elle sont toute allumé, et afficher quelque chose de simple dessus.

Merci pour votre aide et bonne continuation à vous

Zobak

Peut être que je me trompe mais j'ai compris que tu allumais tes dels par groupe de huit. Dans ce cas pourquoi ne pas les alimenter en série ? Tu ne consommerais que 10 mA par groupe Il te faudra bien sur une alim auxiliaire (8*2.2V=17.6V soit 24V) mais c'est plus simple d'avoir de la tension que du courant en quantité. Et pourquoi ne pas en profiter pour utiliser une source de courant constant pour commander tes dels puisque c'est un composant qui se commande en courant ? http://forums.futura-sciences.com/electronique/393855-transistor-mosfet.html C'est du grand luxe pour ton application, l'ampli op sert pour la compensation en température de la jonction base/émetteur. On trouve des schémas plus simples sans ampli op avec 3 résistances et un transistor. En fonction du sexe du transistor (NPN ou PNP) on peut relier la charge à l'alim (NPN) ou à la masse (PNP).

Merci, ce n'est pas forcément une mauvaise idée. je vais regardé ce que j'ai en matériel, et réaliser cela. Le transistor NPN me semble le plus qualifié pour cela, le courant ne sera pas entrant mais sortant de la patte 'Base' , et ne remonteras pas jusqu’à l'ATmega. J'ai aussi une alimentation 24v de disposant de 2A max en sortie, donc très largement au delà du besoin.

Merci en tout cas pour l'aide, je tacherais de poster un bilan final du projet, mais je ne sais pas quand je pourrais souder cela; je pense attendre la rentré pour avoir de bon outils.

Zobak