=> A vos fer à souder ^^ ! Des questions en rapport avec un projet ou une de vos réalisation . Une réalisation/projet, à nous présenter au fur et à mesure de sa réalisation.
Rubrique spéciale "Réalisations finies".
MERCI DE NE PAS CRÉER UN DOUBLON DANS LA RUBRIQUE DE DESSOUS.
/!\ ATTENTION : pour la fréquence de multiplexage : pensez aussi ...a votre poste de radio ...et à autrui (pour ne pas causer de QRM -BCL !)
Et par exemple un multiplexage à 1 MHz comme vous le prévoyez est à déconseiller absolument
(ça devrai même être interdit !)
En effet, pour ne pas risque de causer de QRM (émissions parasites qui risquent de polluer les étages HF de votre autoradio et de tous les postes des voisins immédiats ) il faut proscrire une fréquence tombant en plein dans les bandes de radiodiffusions classiques qui sont, en gros :
150 à 300 kHz (ce sont "les G O")
550 khz à 1,6MHz (ce sont "les P O")
87 à 108 Mhz (c'est "la FM" )
multiplexage pour l'affichage ou le bus de donnée?
si c'est pour l'affichage, une fréquence supérieure à 60hz suffit largement, générer via un timer en interruption. C'est relativement simple de faire en sorte que la commande de l'affichage ce fasse totalement tranparent.
Il y a juste a envoyer dans le programme principal ce que l'on veut et hop : genre "Display(carre);" --> routine qui consiste juste a copier l'image du carré (qui est stoker en rom) et le mettre dans la ram, le systeme d'interruption s'occupe de facon transparente l'affichage.
moi aussi je programme du PIC18F (en ce moment du 18F2620) avec C18, j'ai commander le PICKIT 3 pour pouvoir programmer du PIC24HJ
pour mon dernier projet de tour LED RGB, j'ai fait comme ca :
exemple version simplifier:
Setled (1, violet); //mets la led 1 en couleur violette, j'ai ainsi pas a me soucier de la génération des différent PWM afin d'obtenir du violet, du multiplexage, du code des couleurs, la fonction "setled, copie juste les valeurs en ram
Delayms(200); // tempo 200ms
Setled (2, jaune); // mets la led 2 en jaune
etc..
Ah oui, au juste, si c'est pour l'affichage ...pourquoi des fréquence si élevés de plusieurs dizaines ou centaines de kilohertz ?
Puisque le problème est que la fréquence de multiplexage ne doit pas être percu par l'oeil humain, il suffit qu'elle ait une période telle qu'elle soint plus courte que la persistance rétinienne...soit en pratique n'importe quelle valeur supérieure à 50 Hz , en effet l'oeuil humain percoit le 25 Hz, perçoit encore un peu le 50Hz , au dela il ne percoit quasiment qu'une lumière continue quelque soit la fréquence à laquelle elle est "haché" , ou légèrement scintillante si on est trop proche de 50Hz et que la source lumineuse n'a pas d'inertie !
(Donc, du point de vue "physiologique" , et pour nous les humains, 60Hz suffisent donc en effet ... sinon, pour plus de confort visuel et pour prendre une valeur qui soit ronde et qui soit un multiple de 10 pour simplifier les choses , il n'y a qu'a prendre 100 Hz, comme pour le balayage trame des TV haut de gammes "a balayage 100Hz")
apres, et selon le nombre de lignes du multiplexage , qui vont conduire a faire briller une LED donnée 1/8 ou 1/16 eme du temps , il faudra en effet en tenir compte ...et ça conduira , si on veut une luminositée équivalente à celle d'un courant continu sans multiplexage , à des intensité crête élevés même si l'intensitée moyenne retenue est de 15 à 20mA (il faudra dimensionner les transistors ou les drivers en conséquence , et composants connexes , pour qu'il permettent de passer environ 350 à 400mA crête)
apres, pour les question de fréquences d'horloge du µC , du bus, et de programmation du µC, j'y connais rien ...et j'ai pas envie de connaitre , parce il faut passer par de l'informatique et que cette dernière marche tellement mal que je veux surtout pas me prendre "le chou" avec ça !
Apres quelque test concluant je par sur 100Hz ca ira tres bien.
J'ai fait mon timer et mon interuption et j'ai fait le test sur un petit carrée de 2x2 ca marche nikel .
Je suis deg proteus prend pas les interuption ... et plante pour un test de matrice a 258 LED XD ....
Bon j'ai fait avec se que j'avais sous la main c'est a dire des 2n2222 (voir piece jointe ).
Bon la je planche sur la prog mais je pense que ca va etre rapide XD.
Faut juste que je fasse ma matrice que je la soude et zouuuu en avant les test !
voila voila ( en PJ ma matrice de test pour le 100Hz
matrice.png
You do not have the required permissions to view the files attached to this post.
Http://ULPprepa.free.fr
Le site des prepa lumières unique au monde
__________________________________________________________________________________
bizarre que proteus ne marche pas chez toi? tu a quel version? moi si je mets un pic et que je charge un .hex dedans ca va niquel (bien sur il ne faut pas mettre le compo a 40mhz sinon ca couine ..)
pour le schéma :
- pas de résistance de base pour les transistors?
- pas un peu "risquer" le 4017? moi aussi au début j'étais partie sur ce compo, mais j'avais eu des problèmes :
--> il a souvent tendance a merder en cas de parasite externe (dans ce cas il rajoute quelque comptages), impossible d'être sur a 100%, qu'on est a la valeur choisie. théoriquement si on envoie 5 front dessus il compte 5 fois.. mais il arrive au bout de plusieurs centaine de fois qu'il rajoute ou enlève une valeur --> dans ce cas tout l'affichage déconne.
===> je conseil plutôt d'utiliser un (ou plusieurs) 74HC238, ou 74HC138 (décodeur 3 vers 8), au moins avec tu est sur a 100% de ce que tu commande.
après si tu a de très nombreuse colonnes et peu de fils pour les commander, je te conseil d'utiliser les 74HC595 (SPI) (j'ai poster mes plan je sais plus ou sur le forum, mais je peu les retrouver)
moi aussi je voyais plusieurs choses à redire ...mais comme je ne savais pas si c'étais juste un exemple de schéma "non fait pour réalisation" , je n'odais pas me prononcer !
J'y vois plusieurs défauts, ou points qui me laissent perplexes :
-comme déja dit : le CD4017 est un composant simple et commode d'emploi, mais peu fiable (comportements parfois erratiques a la MST) et sensible a l'électricitée statique et aux parasites (comme tous les CMOS 4000) et je dirais que ça va pour des essais, ou pour des applications peu exigeantes ou un dysfonctionnement peut être toléré (un chenillard pour animer une "boum" par exemple)
-comme déja dit : il n'y a pas de résistances de limitation de bases, et , bien que les sorties d'un CMOS 4000 soient limités en courant à des valeurs non destructrices c'est quand même pas prudent, ni économique, on risque de surcharger les sorties ou de détériorer les transistors, et puis si par malheur un de ces transistors se met en court circuit on risque d'appliquer directement le + alim sur les sorties du CI sans aucune limitation d'ou risque de "destructions en chaine" (mettre des résistances , en série sur chaque base , ordre de grandeur 5 à 22 k-ohms)
-pour les colonnes , j'aurais plutôt vu des transistors PNP (genre 2N2905) quitte a devoir inverser les niveaux logiques entre les bases de ces dernier et le C I
J'utilise le 7.4 SP3avec un 2520 a 4Mhz le prog en lui meme marche mais pas les interuption XD !
Pas grave de toute facons avec une matrice de 256 LED ca marche plus ( Il stop la simu a cause du CPU malgré mon P8400 et mes 4go de DDR3 XD)
Pour les 2n2222 non pas de resistance c'etait juste pour test .
Pour le 4017 je le trouver pas mal dans le sens ou je fais pas de la modification pix par pix Donc je m'en foutais un peu de choisir quel ligne modifier je n'ai jamais utiliser le 4017 a ses frequence ni aussi longtemps autant je par sur du bon 4040 j'ai pas de HC sous la main !
Je n'ai jamais toucher au SPI mais niveau cablage je prefere l'I2C ! mais pour se type d'application je vais pas m'embêter sur du SPI XD
Je vais faire quelque test sur une matrice test et voir se que ca va donner c'est vrais que pour le 4017 juste un fil et c'etait nikel c'etait ca le gros avantage !
voila voila je vais voir ca !
Http://ULPprepa.free.fr
Le site des prepa lumières unique au monde
__________________________________________________________________________________
moi je suis sur le PIC18F2620, c'est pareil mais avec 64ko de mémoire.
c'est regarder, moi j'ai proteus version 7.5 SP3 (que je peut te passer si tu veut).
Tu parle du PIC à 4mhz, avec ou sans PLL x4 activer?
moi pour faire mes test sous proteus, je mais une fréquence bien basse (10 fois ou 100 fois -, l'histoire que je vois bien ce qui ce passe) --> donc à 4Mhz ou à 400kHz (au lieu de 40mhz).
Le SPI c'est 1000 fois plus simple que l'I2C ^^( surtout en soft : 2 fils, un état logique, hop un front et c'est tout).
pour le multiplexage je conseil plutot un bon vieux 74HC238 (ou 74HC138) , mais bon c'est vrai il y a + de fils: