pb ADC ATmega
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

pb ADC ATmega



  1. #1
    gcortex

    pb ADC ATmega


    ------

    Bonjour à tous,

    j'utilise un ATmega8-16 en DIP28 avec l'horloge interne à 8MHz
    http://www.atmel.com/dyn/products/pr...p?part_id=2004

    la routine Hexa->BCD fonctionne mais ça affiche 640

    j'ai mis le potar sur la pin 28, la tension est ok
    veuillez excuser le manque de professionnalisme

    un billet de 5 en récompense. SVP MERCI

    Code:
    	.include "m8def.inc"
    reset:
    	LDI	R16,0xFF
    	OUT	DDRD,R16 ;aff dizaines & unités
    	LDI	R16,0x0F
    	OUT	DDRC,R16 ; aff centaines
    ;
    	CLR	R16
    	OUT	PORTD,R16
    	OUT	PORTC,R16 ; affiche 000
    ;
    	LDI R20,0x45
    	STS ADMUX,R20 ; Ref = AVcc IN=ADC5
    	LDI R20,0x87
    	STS ADCSRA,R20 ; En, F/128
    	RJMP	MAIN
    MAIN:
    	CLR R22
    	CLR R23
    ;
    	LDI	R17,0x02 ; tempo2
    LOOP2:
    	SER R18 
    FLOOP2:
    	SER R19
    VFL2:
    	DEC R19
    	BRNE VFL2
    	DEC R18
    	BRNE FLOOP2
    	DEC	R17
    	BRNE	LOOP2
    ;
    	LDI R20,0xC7
    	STS ADCSRA,R20 ;Start ADC
    ;
    	LDI	R17,0x02  ; tempo
    LOOP:
    	SER R18
    FLOOP:
    	SER R19
    VFL:
    	DEC R19
    	BRNE VFL
    	DEC R18
    	BRNE FLOOP
    	DEC	R17
    	BRNE	LOOP
    ;
    	LDS R26,ADCL ; lire ADC
    	LDS R27,ADCH
    ; Hexa -> BCD
    C:
    	TST R27
    	BREQ OXX
    	SBIW R26,0x32
    	SBIW R26,0x32
    	INC R23
    	RJMP C
    OXX:
    	CPI R26,0x64
    	BRLO D
    	SUBI R26,0x64
    	INC R23
    	RJMP OXX
    D:
    	CPI R26,0x0A
    	BRLO U
    	SUBI R26,0x0A
    	INC R22
    	RJMP D
    U:
    	SWAP R22
    	ADD R22,R26
    	OUT	PORTD,R22
    	OUT	PORTC,R23
    	RJMP	MAIN

    -----
    Dernière modification par gcortex ; 18/08/2010 à 08h39.

  2. #2
    gcortex

    Re : pb ADC ATmega

    et pour 10€ ?

  3. #3
    ftorama

    Re : pb ADC ATmega

    Ca fait belle lurette que je n'ai pas fait d'assembleur mais tu ne devrais pas attendre que ADSC repasse à 0 pour lire le résultat de la conversion?

    Tu peux aussi mettre l'ADC en mode free-run
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  4. #4
    gcortex

    Re : pb ADC ATmega

    j'ai essayé mais apparemment il ne repasse jamais à 0

  5. A voir en vidéo sur Futura
  6. #5
    bertrandbd

    Re : pb ADC ATmega

    Bonjour

    Juste une question, quand la tension varie tu le vois sur l'afficheur mais la valeur n'est pas bonne ou bien l'afficheur rester bloqué à la même valeur?

    Merci

  7. #6
    ftorama

    Re : pb ADC ATmega

    Citation Envoyé par gcortex Voir le message
    j'ai essayé mais apparemment il ne repasse jamais à 0
    Je dirais essai en mode free-run, avec un potar et sortie en brut sur un port, avec des leds, pour voir si ça bagote bien.

    Ensuite en mode déclenché, avec une sortie qui reflète l'état d'ADSC.

    La simu sur AVR studio donne quelquechose?
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  8. #7
    gcortex

    Re : pb ADC ATmega

    Il affiche 0 comme prévu puis reste bloqué à 640.
    merci je verrais lundi. En même temps je vérifie AVcc et Aref...

  9. #8
    bertrandbd

    Re : pb ADC ATmega

    Bonsoir

    Je pense qu'il faut que tu t'assures que ADSC passe bien à 0 après une conversion car c'est le seul moyen de savoir so la CAN fonctionne. A priori je ne vois pas d'erreur dans l'initialisation du convertisseur donc il faut effectivement vérifier AVcc par acquis de conscience

    A+ et bon courage

  10. #9
    gcortex

    Re : pb ADC ATmega

    Du nouveau : AVcc est bien à 5V, mais rien sur Aref !!!!!!!!
    il parait que chaque ATmega a une config particulière au niveau de l'ADC
    erreur dans datasheet ? Comme j'utilise un potar je n'ai pas mis de capa sur Aref


  11. #10
    gcortex

    Re : pb ADC ATmega

    J'ai relié Aref au 5V c'est pareil

  12. #11
    ftorama

    Re : pb ADC ATmega

    Avec les 2 bits de poids fort de ADMUX, tu es effectivement sur ref externe...

    Si tu nous montrais ton schéma?
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  13. #12
    gcortex

    Re : pb ADC ATmega

    ah non c'était Vref = AVcc (01)
    là j'ai mis 05 dans ADMUX donc ref externe (reliée au 5V)

    le schéma de départ :
    Images attachées Images attachées  

  14. #13
    gcortex

    Re : pb ADC ATmega

    J'espère qu'il a pas trop subit de contrainte mécanique quand je l'ai mis dans le support...

  15. #14
    gcortex

    Re : pb ADC ATmega

    Personne ??

  16. #15
    ftorama

    Re : pb ADC ATmega

    j'avoue que je sèche....sans l'avoir sous la main, c'est un poil chevelu, sans compter l'assembleur qui fait partie de mes lointains souvenirs

    En passant par les interruptions, tu as essayé?

    Perso, j'essaierai de sortir en brut sur les sorties, sans gérer l'affichage, ou de commander un PWM à partir de la tension ADC, pour avoir un retour direct...

    Je ne me souviens pas avoir eu de problèmes particuliers la dernière fois que je les ai utilisés, mais je me fais vieux et la mémoire flanche
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  17. #16
    bertrandbd

    Re : pb ADC ATmega

    Bonjour

    Je te propose d'abord de passer sur la ref interne du µc pour lever le doute sur Aref donc REFS1 et REFS0 doivent être à 1 (0xC5 pour ADMUX). Bien sur , tu laisses Aref en l'air mais AVcc au 5 volts.

    Puis il faut que tu t'assures que ADSC passe bien à 0 après une conversion quitte à activer une sortie et mettre le programme dans une boucle. Il faut pour voir si au moins une seule conversion s'est bien passée.

    A+

  18. #17
    ftorama

    Re : pb ADC ATmega

    Citation Envoyé par bertrandbd Voir le message
    Bonjour

    Je te propose d'abord de passer sur la ref interne du µc pour lever le doute sur Aref donc REFS1 et REFS0 doivent être à 1 (0xC5 pour ADMUX). Bien sur , tu laisses Aref en l'air mais AVcc au 5 volts.

    Puis il faut que tu t'assures que ADSC passe bien à 0 après une conversion quitte à activer une sortie et mettre le programme dans une boucle. Il faut pour voir si au moins une seule conversion s'est bien passée.

    A+
    Il faut quand même mettre un condo de découplage sur Aref
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  19. #18
    bertrandbd

    Re : pb ADC ATmega

    Oui il vaut mieux mettre un condensateur

    A+

  20. #19
    gcortex

    Re : pb ADC ATmega

    merci. je verrai çà en temps voulu

Discussions similaires

  1. Doc ATMEGA en FR
    Par Nono45 dans le forum Électronique
    Réponses: 4
    Dernier message: 03/03/2018, 10h41
  2. programmation ATmega
    Par gcortex dans le forum Électronique
    Réponses: 2
    Dernier message: 24/05/2010, 09h37
  3. ATméga 16
    Par spray_kim dans le forum Électronique
    Réponses: 21
    Dernier message: 13/04/2010, 19h56
  4. can atmega 8535
    Par invitea2f29347 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 25/04/2008, 13h47
  5. atmega 8
    Par invite20d1cf3d dans le forum Électronique
    Réponses: 1
    Dernier message: 11/02/2008, 11h04
Découvrez nos comparatifs produits sur l'informatique et les technologies.