​ ​ ​ ​ Afficheur DEL clignote !!!!
Page 1 of 4 1 2 3 ... LastLast
Results 1 to 10 of 36

Thread: Afficheur DEL clignote !!!!

  1. #1
    New Member
    Join Date
    Jul 2017
    Location
    Plaisir - France
    Posts
    13

    Default Afficheur DEL clignote !!!!

    Bonjour à tous,
    J'ai conçu un petit circuit qui permettra d'afficher le rapport de la vitesse engagée sur un véhicule.
    Mon problème est que dès la mise sous tension, l'afficheur "clignote" (tous les segments) au rythme d'environ 1 seconde au lieu d'afficher un tiret.
    Je joins le programme et le schéma afin de m'aider à résoudre ce problème.
    Merci beaucoup pour votre aide.
    Code:
    '***** Programme pour piloter un afficheur 7 segments indiquant le rapport de vitesse engage *****
    '***** Definitions *****
    #picaxe 18M2			' modele de micro-controleur utilise (sert au compilateur)
    ' si necessaire, modifier ici les affectations des vitesses sur le port C
    symbol Premiere  = pinC.0	' ILS 1ere vitesse
    symbol Deuxieme  = pinC.1	' ILS 2eme vitesse
    symbol Troisieme = pinC.2	' ILS 3eme vitesse
    symbol Quatrieme = pinC.4	' ILS 4eme vitesse (C.4 car C.3 n'est pas utilisable en lecture)
    symbol Cinquieme = pinC.5	' ILS 5eme vitesse
    symbol Sixieme   = pinC.6	' ILS 6eme vitesse
    symbol MarcheAR  = pinC.7	' ILS marche arriere
    symbol Afficheur = pinsB	' le port B commande les segments de l'afficheur de rapport
    ' segments A a G correspondants aux bits du port B pour afficher le rapport engage (B.7 a 0 = point mort)
    ' bit a 0 = segment allume, bit a 1 = segment eteint (pour LED a anode commune sur le +5V)
    '		   				     A
    '		   				  +-----+
    '		   				F |	| B
    '		   				  |__G__|
    '		   				  |	|
    '		   			        E |  D  | C
    '		   			          +-----+
    '
    symbol Chiffre1 = %11111001	' = segments B + C
    symbol Chiffre2 = %10100100	' = segments A + B + D + E + G
    symbol Chiffre3 = %10110000	' = segments A + B + C + D + G
    symbol Chiffre4 = %10011001	' = segments B + C + F + G
    symbol Chiffre5 = %10010010	' = segments A + C + D + F + G
    symbol Chiffre6 = %10000010	' = segments A + C + D + E + F + G
    symbol LettreA  = %10001000	' = segments A + B + C + E + F + G
    symbol Tiret    = %00111111	' = segment G + signal "point mort"
    symbol Eteint   = %11111111	' tous les segments de l'afficheur eteint
    symbol Allume   = %10000000	' tous les segments de l'afficheur allume
    symbol Sortie   = %11111111	' tous les bits en sortie
    symbol Entree   = %00001000	' tous les bits en entree sauf le bit 3 qui ne peut etre qu'en sortie
    symbol Engage   = 0		' ILS ferme = 0 = rapport engage sinon = 1 = ILS ouvert
    
    '***** Initialisations *****
    disconnect			'******* commande ajoutée suite à la remarque de MGU ci-dessous ********
    let dirsB = Sortie		' parametre le port B en sortie pour piloter l'afficheur LED
    let dirsC = Entree		' parametre le port C en entree pour detecter le rapport engage
    let Afficheur = Allume		' allume tous les segments de l'afficheur
    pause 1000			' pendant 1 seconde pour controle visuel a la mise sous tension
    let Afficheur = Eteint		' eteint l'afficheur
    
    '***** Boucle principale *****
    Boucle:
    	pause 1000	' attente de 1 seconde pour eviter d'afficher le tiret pendant un changement de vitesse
    	if Premiere = Engage then		' si la 1ere est engagee
    		Afficheur = Chiffre1
    		goto Boucle
    	endif
    	if Deuxieme = Engage then		' si la 2eme est engagee
    		Afficheur = Chiffre2
    		goto Boucle
    	endif
    	if Troisieme = Engage then		' si la 3eme est engagee
    		Afficheur = Chiffre3
    		goto Boucle
    	endif
    	if Quatrieme = Engage then		' si la 4eme est engagee
    		Afficheur = Chiffre4
    		goto Boucle
    	endif
    	if Cinquieme = Engage then		' si la 5eme est engagee
    		Afficheur = Chiffre5
    		goto Boucle
    	endif
    	if Sixieme = Engage then		' si la 6eme est engagee
    		Afficheur = Chiffre6
    		goto Boucle
    	endif
    	if MarcheAR = Engage then		' si la marche arriere est engagee
    		Afficheur = LettreA
    		goto Boucle
    	endif
    	let Afficheur = Tiret			' sinon, pas de rapport engage alors on affiche un tiret (segment G)
    						' et B.7 a zero pour signaler le "point mort"
    	goto Boucle
    Attached Images Attached Images
    Attached Files Attached Files
    Last edited by FB78; 05-09-2017 at 11:12.

  2. #2
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Bonjour et bienvenue,

    C'est que le picaxe se réinitialise en raison de parasites, puisque tous les segments s'allument !

    Mettre impérativement un condo de 100nF aux bornes du picaxe entre les broches V+ et GND. (au plus près)
    En plus le montage étant alimenté par un circuit de véhicule donc très parasité, ce ne sera sans doute pas suffisant!
    Quelles condos + self de plus seront sans doute nécessaires...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  3. #3
    New Member
    Join Date
    Jul 2017
    Location
    Plaisir - France
    Posts
    13

    Default

    Merci PieM,
    Je ne pense pas qu'il y a des parasites car le circuit est alimenté par des piles pour les tests sur table.
    Le fait que tous les segments s'allument est fait dans la section du programme "Initialisations" mais peut-être que l'allumage des segments durant l'initialisation provoque une variation de tension et créé ainsi des "reboot" ????

  4. #4
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Quote Originally Posted by FB78 View Post
    Merci PieM,
    Je ne pense pas qu'il y a des parasites car le circuit est alimenté par des piles pour les tests sur table.
    Le fait que tous les segments s'allument est fait dans la section du programme "Initialisations" mais peut-être que l'allumage des segments durant l'initialisation provoque une variation de tension et créé ainsi des "reboot" ????
    L'alimentation par piles ne met pas à l'abri de parasites !
    C'est bien parce que on repasse par l'initialisation, que ça prouve que le picaxe reboot. Suuprimez cet affichage à l'init et vous verrez...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  5. #5
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,450

    Default

    Bonjour,

    Je n'utilise pas de 18M2, mais je vois que C.4 est le sérial in, le reboot n'est pas étonnant.

    Va falloir faire quelque chose pour le désactiver.

    Ca n'empèche pas les découplages...

    Pour info, le 20M2 est au même prix

    MM

  6. #6
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Bonne remarque de Michel. Pour utiliser Sérial In en entrée il faut utiliser la commande disconnect avant. Voir le manuel...
    Vous pouviez aussi utiliser un réseau de R avec les ILS en diviseur de tension sur une entrée ana.
    Last edited by PieM; 04-09-2017 at 20:36.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  7. #7
    New Member
    Join Date
    Jul 2017
    Location
    Plaisir - France
    Posts
    13

    Default

    Merci Michel, effectivement j'ai ajouté la commande "disconnect" dans l'initialisation et maintenant, le circuit ne fait plus le "sapin de Noël" mais le programme ne démarre toujours pas !!!!
    Il semble se réinitialiser quand je pose le doigt sur le PICAXE (sans doute la capacité parasite du corps) car il affiche tous les segments pendant 1 seconde.
    Il faut peut-être une autre commande d’initialisation du genre "set horloge" ou autres ?????
    --> PieM : "Vous pouviez aussi utiliser un réseau de R avec les ILS en diviseur de tension sur une entrée ana."
    je n'ai pas compris votre suggestion.
    Merci encore de vos précieuses aides.

  8. #8
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,450

    Default

    Bonjour,

    Le programme fonctionne en simulation. On revient maintenant sur un problème hardware.

    Y a t il maintenant les condos de découplages basiques ?:
    un chimique de 100µF sur l'arrivée de l'alimentation
    un céramique de 100nF sur les pattes alim du µC

    Sinon, les ajouter
    Faire une photo de ce montage

    MM

  9. #9
    New Member
    Join Date
    Jul 2017
    Location
    Plaisir - France
    Posts
    13

    Default

    Bonjour MGU,

    Je cherche dans mon stock les condos que vous préconisez, je les montent et je vous dis ce que ça donne avec la photo incluse.

    Merci

  10. #10
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Bonjour,
    En complément, il faut penser que pour recharger un programme après un "disconnect", il faut impérativement faire un hard reset:
    - couper l'alim picaxe, lancer le téléchargement, et remettre sous tension à l'apparition de la fenêtre de recherche de la com.

    l'utilisation de Serial In est dans la mesure du possible à éviter. (ce n'est pas le cas de Serial Out) C'est pourquoi, je rejoint Michel (MGU) dans le conseil d'utiliser un 20M2. pas plus cher avec plus de possibilités.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •