Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Affichage avec 8 MAX7219 et matrice de leds 8x8
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#1 Message par paulfjujo » sam. 7 avr. 2018 20:42

Bonsoir à tous,


L'un d'entre vous , a t-il testé un chainage de 8 MAX7219 pilotant des Matrices 8x8 leds..
No problemo avec 4 ..mais en chainant 4 autres modules .. rien de coherent en affichage
:mur: je pedale dans la semoule ..

J'ai testé separement mes 2 x 4 modules .. OK
Il n'est pas fait mention dans la doc du MAX7219 , combien de MAX on peut chainer ..
sans avoir besoin de regenerer le signal clock .

Le cablage chainé n'est peut etre pas l'ideal ..
je pensais eventuellement à cabler les 8 modules en mode etoile.. le 0V , le +5V et le CLK
sauf bien sur, la sortie DOUT qui est chainé et sert de DIN pour le MAX suivant ..etc ..
un avis ?

j'ai essayé aussi avec FOSC=8MHz et 4MHz .. inchangé
J'ai essayé aussi avec une version SPI software ..idem
:cry: il y a surement un truc qui m'echappe .

mon projet mikroC

_18F46K22_test_Max71219_8xMatrice8x8_SPI1_Hardware_180406.zip


et la version 4 modules seulement
en SOFT SPI + RTC sur I2C2 .. qui va bien
(et aussi OK en version SPI1 Hardware)
_18F46K22_test_Max71219_4xMatrice8x8_SOFT_SPI_DS13017_I2C2_LM335_180407.zip
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Affichage avec 8 MAX7219 et matrice de leds 8x8
folkeu08
Débutant
Débutant
Messages : 45
Âge : 57
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#2 Message par folkeu08 » lun. 9 avr. 2018 18:46

Bonjour Paulfjujo,
Peux tu poster ton schéma (format image) pour le reprendre sous Proteus et tester en virtuel dès que j'ai un peu de temps.
A+
François

Affichage avec 8 MAX7219 et matrice de leds 8x8
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#3 Message par paulfjujo » lun. 9 avr. 2018 19:55

bonsoir,


folkeu08 a écrit :Peux tu poster ton schéma (format image) pour le reprendre sous Proteus et tester en virtuel dès que j'ai un peu de temps.


en fait de schema, c'est plutot ce brouillon .. vu qu'il n'y a que 3 liaisons SPI + 2 pour l'alim au chainage des afficheurs ..

Je vais tester une alimentation en étoile des 8 modules et ne laisser que le chainage DOUT -> DIN du suivant ..
car cela me rappelle les deboires rencontrés avec une appli PIC + GSM ( avec fort PIC de courant )
D'autant que ça fait vraiment long de fillasse entre le 1er et le 8em Afficheur .
meme si chaque module a un decouplage locale 100nF et 10µF sur la partie alim 5V. et essais réalisé avec luminosité mini 1/32e.



18F46K22_Max7219_RTC_UART_interconnections.jpg



Proto_MAX7219_x4_Matice8x8.jpg

et la video de test

10/04
Aujourd'hui j'ai essayé avec une alimentation en mode etoile
tous les +5 et les tous les 0V reunis en 1 seul point (chacun)
sur alim 5V(2A) decouplée par 1500µF + 15µF +440nF +22nF !
:furieux: idem...

test avec 5 afficheurs
j'affiche 0 à 4 puis 5 à 9 en mode defilement point par point .. :-D OK .. plus que 3 à rajouter !
à partir de 6 .. :mur: rien ne va plus ..
je vais donner un coup d' oscilloscope ...
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Affichage avec 8 MAX7219 et matrice de leds 8x8
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » mer. 11 avr. 2018 15:03

Bonjour à tous et à moi-meme,

puisque je me réponds..


J'ai fait des mesures à l'oscillo avec 4 et 8 modules, sans vraiment trouver d'anomalies
hormis des CRA CRA , mais non capturable avec mon oscillo (70MHz 1G/s) sur la mesure CLOCK ,longue periode (plusieurs mS)
Signaux d'amplitude bien cadrés entre 0V et 5V , front raides .. pas de deformation.
RC5 DIN pulse de 160µS
RC0 CS pulse de 32µS
Validité de CS 36mS ( 8 pulses CS)
RC3 clock Peride 50µS Duty cycle 50%
avec FOSC =16MHz
MAX7219_CLOCK_uS.jpg

MAX7219_CLOCK_mS.jpg



Modif:
Cablage des alim , 6 modules en ETOILE ..
6_Max7219_running.jpg


Max7129x6_Matrix8xX8_18F46K22_Schema_180410.jpg


Rajout de 2 modules aux 4 existant .. OK mais aleas apres quelques minutes ...
Modif : Alim 3,2V au lieu de 5V
Nettement plus fiable .. alea au bout d'1 Heure!
Modif :
Reinit MAX7219 apres chaque fin de message ( message 0123456789ABCDEFG)
1er alea constaté au bout de 3 Heures non stop
message defilant en 15 secondes ( pixel par pixel )

Au vu des realisations trouvées sur le WEB ( à 98% en Arduino !) avec 8 à 11 afficheurs !
sur ce lien
j'ai trouvé , les info qui renforce l'idée que "ça marche tres mal " ou "tombe en marche" à cause du montage avec trop de filerie !
sur le site PAROLA , le modele d'afficheur MAX7219 possede une connectique LATERALE
qui reduit considerablement la longueur de connection entre les modules..
Liaison paralelle des signaux au lieu de liaison sérièle
Le support actuel que j'ai , est d'ailleur ABANDONNE par sparfun ..
N'acheter pas ces modeles si vous vouler plus de 4 ou 6 modules !

voir aussi le site de SONELEC Musique..
realisation avec 10 modules sur prototype avec anciens supports , MAIS ...

support déconseillé
MAX7219_circuit_support_Matrice8x8.jpg


Support mieux approprié pour 8 à >10 aficheurs
Max7219_Matrix_Better_Design_Parola.jpg


Confirmation par cet echange sur le Web :
John Warrener October 23, 2017
Thanks for the reply; I’ve loaded the app on my mobile and it works fine so you are right.
Have added another 4 LED matrix board making 8 in total and get the following problem:
Numbering the LED modules from 1 to 8 starting with the one nearest the Arduino, program
works fine with up to 4 modules, changing to 5 (maxInUse = 5), the display starts half
way across module 1 and also does not display on the first half of module 6.
Changing the number of modules through 6 to 8, I have the same problem but moved over
one module. Set to 4, I get the same message displayed twice – on 1 to 4 and 5 to 8
so I know all the modules are working OK and can’t find any problem with the wiring.
Have you tried this program with 8 modules?
---
John Warrener November 18, 2017
As a follow-up to my previous post, I’ve now made a printed circuit board for this project
and with 6 modules connected, it runs fine (30 minutes, no problems). When I add one or two
more module, after about 1 minute, various faults occur – whole modules stop displaying and
/or random leds flashing on and off. I’m using a 5 volt power supply capable of supplying
several amps so don’t think it’s a power problem. Have also added decoupling capacitors across
all the voltage rails to each module. Have also tried adding pull-up resistors and then
pull-down resistor to the CS, CLOCK and DIN lines without any improvement. If I power off
and on again, it works fine for a minute or so. Just wondered if anyone else has got this
working with all eight modules connected.


il me reste donc à tester la solution Hardware SONELEC .. rajout de 1 ohm +100µF , sur chaque alim de bloc
pour arriver à 8 modules
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Affichage avec 8 MAX7219 et matrice de leds 8x8
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#5 Message par Jérémy » mer. 11 avr. 2018 21:37

Désolé Paul de ne pas pouvoit t'aider sur ce coup. C'est au dessus de mes compétences !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Affichage avec 8 MAX7219 et matrice de leds 8x8
folkeu08
Débutant
Débutant
Messages : 45
Âge : 57
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#6 Message par folkeu08 » sam. 14 avr. 2018 10:29

Bonjour,
Jérémy a écrit :Désolé Paul de ne pas pouvoit t'aider sur ce coup. C'est au dessus de mes compétences !

Il faut aussi déjà posséder le hard pour essayer chez soi.

Bon, j'ai utilisé des composants similaires dans le temps, les mC14499 de mémoire.Ils sont très anciens et ne se trouvent plus dans le commerce. La doc disait qu'il était possible d'envoyer l'information de chainage sur un front haut ou bas. Sauf que ça ne marchait bien que sur l'un des 2 types de front. J'ai cherché un bon moment avant de découvrir que le data était faux et je faisais mes tests sur le mauvais mode (celui qui marchait pas !).
Je ne sais pas si cela s'applique au max7219 car je n'ai pas encore ouvert son datasheet.
François

Affichage avec 8 MAX7219 et matrice de leds 8x8
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » sam. 14 avr. 2018 15:03

bonjour,

Il est vrai que lorqu'on n'a pas le matos specifique sous la main , on ne peut rien faire ou tester .
Mais c'est une bouteille à la mer ..
pour alerter d'eventuels futur utilisateurs ..


folkeu08 a écrit :...La doc disait qu'il était possible d'envoyer l'information de chainage sur un front haut ou bas. Sauf que ça ne marchait bien que sur l'un des 2 types de front.


J'ai meme utilisé un mode SPI bit Bang pour suivre à la lettre le diagramme ci dessous ..
et essayer d'agir sur les delais .. de 1µS à 20µS
ne change rien ! par rapport à un SPI Hardwre ou software lib MikroC

Code : Tout sélectionner



//SPI Bit Bang
sbit SPI_CS   at LATC0_bit;
sbit SPI_CS_Dir  at TRISC0_bit;
sbit SPI_CLOCK at LATC3_bit;
sbit SPI_CLOCK_Dir at TRISC3_bit;
sbit SPI_DOUT at LATC5_bit;
sbit SPI_DOUT_Dir at TRISC5_bit;


// testé avec des delais de 21 à 20µS  .. idem
void SPI_WRITE_Byte(Byte x)
 {
 
int i;
 
Byte c;
 
c=x;
 for (
i=0;i<8;i++)
 {
  if ((
0x80)==0x80SPI_DOUT=1; else SPI_DOUT=0;
   
Delay_us(20);
  
c=c<<1;
  
SPI_CLOCK=1// front montant sur data DIN stable 
  
Delay_us(20);
  
SPI_CLOCK=0;
   
Delay_us(20);
  }
 }
 



Max7219_for_matrix_SPI_bit_bang_Timing.jpg


la consommation moyenne de 6 modules allumés (64 leds par module) avoisine 500mA sous 3V seulement ..
Avec 5 volts, je ne peux pas gerer plus de 4 afficheurs d'une façon FIABLE.

Tous les renseignements que j'ai pu glané ici et là, montre que ce serait le cablage qui serait en cause ...
à moins d'une erreur de datasheet ou d'interpretation de la dite data sheet.

La doc MAX7219 ne mentionne null part l'usage de matrice 8x8 ..mais seulement d'afficheurs 7 segments + point !
ce qui devrait etre equivalent ..
mais j'ai pas encore vu une application avec un chainage de 6 à 8 module de 8 afficheurs 7 segments ...

Peut-etre faudrait-il rajouter un "nettoyeur d'impulsion" entre les DOUT et les DIN du chainage MAX ?
car l'impulsion primaire DOUT du PIC ... est repercutée sur DIN MAX7219 .. DOU..DIN ..etc ..sur une longueur de 8x15= 120 cm ..
Aide toi, le ciel ou FantasPic t'aidera

Affichage avec 8 MAX7219 et matrice de leds 8x8
folkeu08
Débutant
Débutant
Messages : 45
Âge : 57
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#8 Message par folkeu08 » dim. 12 août 2018 11:13

Bonjour,
Peut être une réponse à ton pb :
https://libstock.mikroe.com/projects/vi ... ib-for-pic

Il y a un comment qui dit que les bugs de la librairie ont été corrigés.
A+
François (pas en vacances !)

Affichage avec 8 MAX7219 et matrice de leds 8x8
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2586
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#9 Message par paulfjujo » ven. 25 janv. 2019 14:35

En fait, je ne me sert pas de la librairie mikroC ...

:-D Mais mon montage avec 8 modules est maintenant OK:

lien sur video

Contre mesures :
Alimentation limitée à 3,7V
Reglage parametre luminosité à 01
alimentation +V et 0V en HORIZONTAL (LATERALEMENT) au lieu de boucle HAUT vers BAS
au lieu d'utiliser les groupes de " 5 fils dupont" traduction chinoise , livrés avec les afficheurs
regroupant les ( +V,0V,CLK,CS et DIN)
il ne reste donc que les CLCK,CS,et DIN comme connection entre HAUT de l'affichuer et BAS de l'afficheur suivant
=> chemin plus court sur les fils d'alimentation. (Longueur totale : =5cm * x7 au lieu de 10cm x7 )
et j'alimente par les 2 extremités.

on comprends mieux avec une photo

Proto_8_matrice_2019.jpg


Mon modele d'afficheur est abandonné,
les nouveaux blocs sont vendus par 8 avec un nuuveau design "connections LATERALEs"
=> interconnection de 3cm x7 !
un tel ensemble est vendu pour un appli Arduino (voir elektor)
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par paulfjujo le sam. 26 janv. 2019 11:03, modifié 2 fois.
Aide toi, le ciel ou FantasPic t'aidera

Affichage avec 8 MAX7219 et matrice de leds 8x8
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#10 Message par Gérard » ven. 25 janv. 2019 17:12

Bonjour à tous,
J'ai dernièrement acheté ce genre de matrices. Un circuit en comprend 4.
Je sais en piloter 4 mais pas 8 :cry:
J'ai une horloge en cours (encore une... :-D ) qui affichera sur les 4 matrices du haut la date en message défilant (Samedi 25 janvier 2019) et en dessous l'heure en fixe.

D'avance, je remercie Temps-X pour avoir écrit le soft qui m'a permis de déterminer les codes à entrer dans l'EEPROM pour les heures. Merci !
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités