ABCelectronique : portail d'information dans le domaine de l'électronique
Home » Diverses rubriques » Archive forum sujets+corp
 
     
   Timer 68HC11  
Je dois créer un prog. à base du timer (interruption sur OC1) d'un 68HC811E2 pour mon thème de BTS et celui-ci me pose certains problèmes...

A chaque interruption, une variable 'IND' de 16 bits stockée en RAM s'incrémente et le programme doit s'arreter (en désactivant OC1) lorsqu'une certaine valeur est atteinte.

Le programme fonctionne avec l'accumulareur A, mais pas avec D ou Y (X sert àl'adressage) et j'ai besoin de 16 bits.

Un des 2 octets de IND est renvoyé par le port B sur un afficheur hexa 2 digits (type TIL311).

Si quelqu'un peut m'aider parce que j'ai presque tout essayé !

Voici une partie du prog. :

it_trame ;Interruption OC1 toutes les 20ms

;Là, ça marche...

ldd tcnt,x
addd #40000 ;\TOC1=TCNT+période (20ms)
std toc1,x ;/

;Là, par contre, ça marche plus trop...

ldd #5113 ;valeur de fin de trame
ldy ind
sty portb,x ;sortie afficheur
cpd ind
beq fin_trame

;Et là, ça remarche !

inc ind
bset tflg1,x %10000000 ;RAZ flag
rti
fin_trame
bset tflg1,x %10000000 ;RAZ flag
bclr tmsk1,x %10000000 ;désactiver OC1
rti


Merci

@+

Numéro de l'article: 85201   |  De: Pascal   |  Date: 2004-04-07 21:19:15
   RE: Timer 68HC11
Salut,

je ne comprends pas trop ce que tu fais mais :

>ldy ind
>sty portb,x ;sortie afficheur

tu charge Y avec une valeur 16bit et tu la met dans un registre 8 bit...Tu dois faire du dégat autour, attention.

>inc ind
Tu n'incrementes pas une valeur 16bit ici ! uniquement les poids forts de ind.

vu que la valeur de ind varie bizarement (les poids faibles ne sont pas pris en compte, ta cmparaison avec 5113 doit fonctionner de manière bisard, alléatoire peut être...

bon courage

Numéro de l'article: 85267   |  De: petitours   |  Date: 2004-04-08 09:25:47
   RE: Timer 68HC11
Petitours, tu as raison, ça doit venir de 'inc'


Merci

Je vais essayer autrement.


@+

Numéro de l'article: 85361   |  De: Pascal   |  Date: 2004-04-08 12:49:05

   interruption et pic  
Salut,

j'ai une question au sujet du code qui permetrait à un PIC16F628 de vérifier l'état d'une broche lors d'une interruption sur la broche RB0 et d'incrémenter ou décrementer selon l'état de la broche. Je m'explique : J'ai un montage avec un potentiomètre numérique qui possède deux sortie en quadrature. Une des sortie est branché sur RB1 et l'autre sur RB0/INT. J'ai configuré les registres du PIC pour détecter sur un front montant sur la broche RB0 l'état de RB1. Mais je n'arrive pas à trouvé les instructions permettant permettant d'incrémanter(avec un tableau dans le PCL) lors d'un état "1" sur RB1 et inversement.

Merci de m'aider au moins pour le début

Numéro de l'article: 85212   |  De: lionel57   |  Date: 2004-04-07 22:18:17
   RE: interruption et pic
si tu veux incrémenter ou décrementer une variable ( ce que je pense ) c'est simple, comme ça : ;)
----------
org 0x04 ; adresse de saut des interruptions
***
une fois que tu sais que ton interruption provient bien d'un fornt montant sur RB0 tu fais :
***
btfss portb,1 ; on teste si RB1 est a un état haut
decf mavariable ; non on décréménte mavariable
incf mavariable ; oui on incrémente mavariable
**
et la tu continues dans tes bricoles, si ta routine d'interruption est inie tu n'as plus qu'a mettre un 'retfie' :)
**
----------
@++
manu

Numéro de l'article: 85220   |  De: manu   |  Date: 2004-04-07 22:48:07
   RE: interruption et pic
merci pour ces indications et ce coup de mains, je vais tester ca comme ca.
Je suis nouveau dans la programmation (on en a pas fait beaucoup à l'école ! ) et j'ai un programme immense à faire !

@+ et merci

Numéro de l'article: 85401   |  De: lionel57   |  Date: 2004-04-08 14:40:46
   RE: interruption et pic
oki, y'a pas de quoi :) si t'as d'autres questions, n'hésites pas ;)

Numéro de l'article: 85477   |  De: manu   |  Date: 2004-04-08 16:32:38
   RE: interruption et pic
Salut,

J'ai encore une question, comment gérer 5 afficheurs pour les incrémenter et les dérementer en fonction de l'interruption.

Il faut faire différents sous-programmes pour chaque afficheur en testant s'ils sont à 9 pour incrémenter le suivant et revenir à celui d'avant pour le réincrémenter ?

Je suis un peu perdus parce que je ne m'y connais pas du tout
Merci de me donner quelques conseils

Numéro de l'article: 90321   |  De: lionel57   |  Date: 2004-04-24 14:38:41

   cdi sur allumage ac/cdi de moteur 2 temps  
Alors voila, je vous pose un probleme. Je suis novice en electronique, je n'y connait rien, et j'aimerrai savoir comment je pe me fabriquer un cdi pour un scooter. J'ai trouver un site, mais je n'y comprend rien. c'est
http://perso.wanadoo.fr/transmic/
merci d'avance pour vos reponses.

Numéro de l'article: 85215   |  De: guizmail   |  Date: 2004-04-07 22:23:26
   RE: cdi sur allumage ac/cdi de moteur 2 temps
tu voudrais savoir quoi exactement ?

Numéro de l'article: 85224   |  De: manu   |  Date: 2004-04-07 23:03:34
   RE: cdi sur allumage ac/cdi de moteur 2 temps
Salut,

C'est quoi ton scooter. Tous ceux que je connais sont équipés d'origine d'un CDI, avec avance fixe.
Quel est ton besoin exact ?


Numéro de l'article: 85261   |  De: laurent   |  Date: 2004-04-08 08:21:07
   RE: cdi sur allumage ac/cdi de moteur 2 temps
le sien est mort et un neuf coute plus cher que sa becane.......je te comprend.
enfin moi j'ai compris ca...


Numéro de l'article: 85380   |  De: benoit   |  Date: 2004-04-08 13:50:40
   RE: cdi sur allumage ac/cdi de moteur 2 temps
Voici le CDI que j'ai fabrique pour ma tondeuse 2 temps.
Tous les cdi ont un convertieeur HT (le transfos sur la photo), une capacite reservoir (bleue) un thyrisitor ( a cote).
Sur la photo il n'y a pas la bobine THT ( de voiture).
Le PIC gere l'ensemble.
Les 2 buz decoupe le 12 volts vers le primaire du transfos HT
XF
Cliquez ici pour ouvrir l'image

Cliquez ici pour ouvrir l'image


Numéro de l'article: 85613   |  De: XF   |  Date: 2004-04-08 23:39:39
   RE: cdi sur allumage ac/cdi de moteur 2 temps
Si c'est juste pour remplacer ton CDI qui est mort, fait d'abord un tour à la casse...
Sinon, par rapport au CDI de XF, sache que sur ton scooter le volant magnetique te sort déja la haute tension (200 à 300V) nécessaire pour charger le condo. Donc pas besoin du transfo et de l'électronique associée.

Numéro de l'article: 85637   |  De: laurent   |  Date: 2004-04-09 08:42:29
   RE: cdi sur allumage ac/cdi de moteur 2 temps
xf > quel rapport de transformation pour ton transfo ?

Numéro de l'article: 85861   |  De: manu   |  Date: 2004-04-10 00:23:03
   RE: cdi sur allumage ac/cdi de moteur 2 temps
Le transfos fait 2*6 vers 220V pour la HT.
La tension est regulee, un pont diviseur et un transistor informe le PIC que la HT est ok, environ 400V.
XF


Numéro de l'article: 85862   |  De: XF   |  Date: 2004-04-10 00:56:37
   RE: cdi sur allumage ac/cdi de moteur 2 temps
oki merci :)

Numéro de l'article: 85925   |  De: manu   |  Date: 2004-04-10 14:34:33

   diode infrarouge  
salut
je cherche a emettre de l infrarouge. j aimerais savoir a combien de mètres je peut emettre, et cela en fonction de l intensité que je fais passer dans la diode. je voudrais emettre a 1 metre, et vu qu avec une telecommande on y arrive facilement, j aimerais le faire avec un minimum de courant!
pouvez vous me dire comment voir dans un datasheet la distance en fonction du courant? j ai pris une sfh409.
pouvez vous me proposer un montage pour la reception avec photodiode?
merci

Numéro de l'article: 85221   |  De: violaine   |  Date: 2004-04-07 22:54:22
   RE: diode infrarouge
Tout dépend de ton organe recepteur, de la surface de ta photodiode, des conditions de luminosité ambiante.....
tu prends quoi comme récepteur? Vishay en fait d'excellent, avec controlle automatique du gain d'intégré, c'est la famille des TSOPxxxx...
Tu veux faire passer quoi comme données? (quel débit)

Numéro de l'article: 85271   |  De: Sam   |  Date: 2004-04-08 09:49:10
   RE: diode infrarouge
salut sam, merci de bien vouloir m aider.
en fait je ne veux pas transmettre de donner, je veux juste faire une sorte de barriere infrarouge, mais la led ir et la photodiode seront cote a cote. le rayon ir devra reflechir sur la personne qui passera devant lui. la contrainte c est de mettre cote a cote les deux elements, parce que j ai l impression que la led et la photodiode se voit tout le temps, donc je ne peux pas faire ce que je voulais, c est a dire detecter une presence!!!
pour l emetteur j ai pulsé le signal avec un oscillateur a ampli-op tl081, style trigger de schmitt, frequence 20khz. et ce que c est bien ou c est mieux un ne555?
ensuite j ai mieux un transitor pour driver ma led ir. j alimente le tout en 6volt. la j ai eut un probleme a cause du transistor je crois, j ai pris un 2n222. le probleme c est qu' au borne de la led, le signal monte jusqu ' 5 volt, mais ne descent pas a 0volt quand le transistor est bloqué!
coté recepteur, j ai la photodiode monté sur un ampliop bas bruit, pour faire la conversion courant tension, ensuite j ai mis un filtre passe bande 20 kHz, ensuite un gain, et enfin un comparateur qui me dira s il y a presence ou pas presence. le probleme, ça marche pas super, et je sais pas pourquoi. ça marche qu a 15 cm, et je pensais qu avec le courant que je mets dans la led, j aurais une meilleur detection!!!tu pourrais m aider, me conseiller pour voir s ma demarche est bonne?merci bcp!

Numéro de l'article: 85560   |  De: violaine   |  Date: 2004-04-08 19:23:45
   RE: diode infrarouge
Je ne pense pas que tu puisse augmenter facilement ta portée.
Quoi qu'il en soit, en plus de pulser le signal à 20kHz, "envoi des trames"
De plus il faut que tu "mesures" la lumière ambiante (quand ta led est eteinte) et que tu raisonne en lumiere recue - lumiere ambiante.

J'ai déja fait ce genre de chose, mais en recepteur j'avais un recepteur de télécommande, un TSOP1838 basse tension pour etre précis. je pulsais à 38kHZ, et j'envoyais des trames (à 4800 bauds je crois) avec des pauses entre 2 trames.
Le TSOP1838 a besoin d'une pause de temps en temps car il a un Controle automatique du gain, c'est a dire qu'il mesure la luminosité ambiante pour s'en affranchir.
Mon but c'était détecter des mains dans une enceinte de 25 cm de coté, donc au contraire de toi, je voulais une faible sensibilité.

Quelques conseils: prend une LED infrarouge avec le faisceau le plus étroit possible, il en sera plus puissant et choisi sa longueur d'onde pour qu'elle soit comptable avec ton recepteur.
Entre les 2, place un écran, un objet opaque aux infrarouges
Enfin, essaie de les eloigner l'un de l'autre.

Numéro de l'article: 85583   |  De: Sam   |  Date: 2004-04-08 20:44:29
   diode infrarouge
merci sam pour tes conseils
tu vois je crois que je fais pas dans la simplicité!parce que je peux pas trop eloigner diode et photodiode:ils doivent en fait tenir dans un diametre de 10mms!!!(c est pour une oeuvre d art, je cache les deux dans une sorte de boulons, et ce l integrer a la sculpture).
peux tu me dire quelle matiere est opaque a l infrarouge?
et pour les trame d impulsions, comment les definir, et a quoi ça peut servir?et comment as tu reussi a les faire? excuse moi de te poser autant de questions, mais je suis trop novice en electronique!

et comment mettre en oeuvre le topxxxx?j ai essayer de voir une doc, il faut que le signal soit pulsé a la frequence indiquee pour ce recepteur, et des qu il detece une trame y a quequeu chose qui se passe?tu as un montage?
j espere que tu ne vas pas me dire d utiliser un PIC!!!;-)

Numéro de l'article: 85593   |  De: violaine   |  Date: 2004-04-08 21:05:12
   RE: diode infrarouge
pas de reponse je vous ais finalement decouragé

Numéro de l'article: 85745   |  De: violaine   |  Date: 2004-04-09 14:37:53
   RE: diode infrarouge
non, mais je n'étais pas descendu assez bas dans les messages en cours
Pour le TSOPxxx, oublie la trame, c'est pas grave. Par contre il faut que tu fasse une pause de temps en temps.
Donc 1 montage à 555 pour faire du 38kHZ par exemple
1 autre montage à 555 pour faire la pause de temps en temps.

Quelles matières sont opaque au IR? nous on a utilisé un plastique noir mais un morceau de carton epais peu convenir etc....

sinon regarde chez farnell.fr les references suivantes:
(chapitre optocoupleur, fibre optique)
414-2640
414-2652
414-2664(modules pyrodetecteurs)
et
414-2688
414-2718 (detecteur de distance infrarouge)
et
414-2860 (detecteur infrarouge modulé)
et
414-2822
414-2834
414-2846
414-2848 (recepteur infrarouge)
139-877 (recepteur de telecommande)
Il doit y avoir le meme genre chez radiosapres

Numéro de l'article: 85752   |  De: Sam   |  Date: 2004-04-09 15:10:16
   RE: diode infrarouge
merci c est gentil; j vais aller voir...mais sinon, t as pas un schema?

Numéro de l'article: 85800   |  De: violaine   |  Date: 2004-04-09 18:15:59
   RE: diode infrarouge
pas sous la main. Essaye en priorité les modules pyrodetecteurs, c'est la dessus que sont basé les alarmes, lampes d'exterieur automatiques....


Numéro de l'article: 85826   |  De: Sam   |  Date: 2004-04-09 20:49:08
   RE: diode infrarouge
j ai vu les capteurs pyro; ils detectent les mouvements; et pas la presence immobile?
j ai vu un truc dans un site; y a un pcb a realiser mais pas de schema... tu peux voir si tu comprends?j aimerais passer le tout en 6 volts

http://membres.lycos.fr/chips7/index.php3?scr=barrir.htm

Numéro de l'article: 85831   |  De: violaine   |  Date: 2004-04-09 21:08:17
   RE: diode infrarouge
Attention! la c'est une barrière infrarouge. c'est a priori plus fiable... mais il faut que la personne coupe le faisceau

Numéro de l'article: 85842   |  De: Sam   |  Date: 2004-04-09 22:38:59
   RE: diode infrarouge
salut sam; mais si on mais emetteur et recepteur cote a cote; l presence de la personne fera que le signal sera transmis a la photodiode?et si personne n est en face c est comme si quelqu un coupait le faisceau?on devra raisonner donc en sens contraire

Numéro de l'article: 85875   |  De: violaine   |  Date: 2004-04-10 09:00:24
   RE: diode infrarouge
j ai pas fini e te remercier sam. y a que tooi qui ai repondu!

Numéro de l'article: 86572   |  De: violaine   |  Date: 2004-04-13 20:16:00
   RE: diode infrarouge
salut!mon sujet de memoire concerne l'emetteur et recepteur infrarouge,je cherche des documents (théorie et pratique)ou site concernant ce sujet aide moi svp.

Numéro de l'article: 87035   |  De: sergio   |  Date: 2004-04-15 04:40:56
   RE: diode infrarouge
hello
alors moi aussi j'ai un projet dont il me faudrait detecter la presence d'une personne. et je me penche actuellement sur une solution utilisant de l'infrarouge, comme toi violaine avec si possible emmeteur et recepteur l'un a coté de l'autre. mais je n'ai aucune informaton sur les infrarouges pour le moment. donc j'ai commencé a regarder ce que vous avez dis plus haut. est-ce que vous pourriez me donner des adresses ( ou des document ) pour avoir des infos sur le IR ( calcul portée d'une led, reflexion des IF... ) une fois mon retard ratrapé on pourra essayer de mettre en commun les resultats de nos recherches.

violaine, pour ton probleme avec emetteur et recepteur l'un a coté de l'autre, un emmetteur et un recepteur a ultrasons fonctionnent assez bien, j'ai pu faire quelques essais provisoires, mais je crois que tu a un probleme de place c bien ça? car ils prennent un peu plus de place.
voilà je continue mes recherches, si j'obtiens d'autres infos, je te les ferais circuler. et pareil si tu trouve qqch :)
merci a+

Numéro de l'article: 87265   |  De: davidum   |  Date: 2004-04-15 16:37:54
   RE: diode infrarouge
bon soire et marcé vous recherche a la définition et la caractiristituque d'un diode infrarouge est marcé pour al recharche.

Numéro de l'article: 88080   |  De: ahmde   |  Date: 2004-04-18 20:43:15
   RE: diode infrarouge
voilà, j'ai enfin trouvé la solution pour faire un detecteur infrarouge,
je l'ai testé ce matin il fonctionne en barriere infrarouge mais aussi en emmeteur et recepteur du meme coté. on a pris on montage a monter soit meme voilà sa reference c un montage MK120 de chez velleman
voilà ça marche trés bien a presque 2m avec emmetteur et recepteur du meme coté ( et 50 cm environ pour un corp completement noir )


Numéro de l'article: 89511   |  De: davidum   |  Date: 2004-04-22 13:06:55
   RE: diode infrarouge
salut; tu as le shema du montage.?

Numéro de l'article: 90195   |  De: violaine   |  Date: 2004-04-23 19:35:08
   diode infrarouge
Salut,

aurais tu des docs sur la transmission infrarouge? Je dois réaliser un capteur de température à transmission infrarouge mais je n'ai aucune connaissance en infrarouge.

merci d'avance !!!

Numéro de l'article: 91683   |  De: greg   |  Date: 2004-04-28 16:06:35
   RE: diode infrarouge
hello
alors le schema tu le trouve ici par exemple: http://www.circuitsonline.net/forum/view/4881
nous on l'a un peu modifié. on a baissé la resistance R6 de l'emmetteur afin d'avoir une portée plus longue ( on attein les 80cm en reflexion avec les deux boitier l'un a coté de l'autre )
on a aussi remplacé les r1 r2 r3 r4, c1 c2, t1 et t2 de l'emmeteur par un ne555. et a on mis un rapport cyclique du ne555 de 1/4 environ, mùais par soucis d'economie de courant ( car alimentation a piles pour nous )
voilà si il vous faut d'autre renseignements demandez.

et pour greg je ne c pas trop quoi te dire, parceque nous on a pas fait de transmission par infrarouge, mais de la detection. désolé

Numéro de l'article: 95896   |  De: davidum   |  Date: 2004-05-10 09:52:09

   Probleme d'accrochage de composants avec Eagle  
Bonsoir à tous,

J'utilise le logiciel Eagle comme logiciel de CAO. Il me manquait plusieurs composants dans les librairie (notamment un transfo) et je me suis donc mis en tête de créer mes nouvelles librairies... Pour coller parfaitement avec les dimenssions su fabriquant, j'ai changé l'échelle de grille et j'ai dessiné mm par mm et non pouce par pouce.

Ma librairie terminée, je dispose mon nouveau composant sur le schéma, mais plus moyen d'accrocher le moindre composant...

Je m'explique : j'epprouve enormément de mal à accrocher un composant qui a été dessiné sur une grille millimétré à un autre composant dessiné sur une grille en inch...

Est ce normal ? Avez vous deja rencontré ce problême ?


Question subsidiaire : j'aimerai essayer un autre soft de CAO, que me conseillerez-vous?

Merci beaucoup!

Numéro de l'article: 85223   |  De: jmrequet   |  Date: 2004-04-07 23:03:03
   RE: Probleme d'accrochage de composants avec Eagle
Salut,
Lorsque tu travailles tu doit diminuer ton grid c-à-d la grille que tu travailles.
l'icone en dessus à gauche ds le board.

a+


Numéro de l'article: 85233   |  De: constantin   |  Date: 2004-04-07 23:35:21
   RE: Probleme d'accrochage de composants avec Eagle
pour les CI Sprint layout est vraiment super, il est facile a utiliser, tu peux créer des librairies a volonté, pour moi il est royal, en plus il est pas très cher :)

Numéro de l'article: 85241   |  De: manu   |  Date: 2004-04-08 00:09:01
   RE: Probleme d'accrochage de composants avec Eagle
Merci !
> manu : est ce que Sprint Layout a une version demo ? J'ai vu en effet qu il le vendait pas tres cher chez Lextronic, mais bon je voudrais essayer d'abord. Autre question : est ce qu'il optimise le placement des composants (comme Eagle je crois), est ce qu'il possède une bibliothèques de composants sympa?

Numéro de l'article: 85274   |  De: jmrequet   |  Date: 2004-04-08 09:56:31
   RE: Probleme d'accrochage de composants avec Eagle
En général (je ne connais pas encore tres bien eagle) quand on place un composant, il y a moins de s'affranchir de la grille en appuyant sur une touche en meme temps que l'on place le composant...

Numéro de l'article: 85278   |  De: Sam   |  Date: 2004-04-08 09:58:54
   RE: Probleme d'accrochage de composants avec Eagle
Et quelle est cette touche s'il te plait?

Numéro de l'article: 85280   |  De: jmrequet   |  Date: 2004-04-08 10:01:59
   RE: Probleme d'accrochage de composants avec Eagle
> manu : j'ai vu sur le site de Abacom que Sprint Layout servait eu tracé de cicruit imprimé. Il existe aussi un autre module, sPlan pour tracé ses plans. Est ce que tu as les deux toi?

Numéro de l'article: 85283   |  De: jmrequet   |  Date: 2004-04-08 10:05:59
   RE: Probleme d'accrochage de composants avec Eagle
Extrait de l'aide d'Eagle 4.11:

Alt

Pressing the Alt key switches to an alternate GRID. This can typically be a finer grid than the normal one, which allows you to quickly do some fine positioning in a dense area, for instance, where the normal grid might be too coarse.


donc, défini une grille alternative en mm (1mm = 0,03937 pouces), et sert t'en en appuyant sur ALT pendant que tu déplace l'objet.

Je n'ai pas essayé, je ne t'assures pas que ca marchera comme ca du premier coup.

Numéro de l'article: 85290   |  De: Sam   |  Date: 2004-04-08 10:25:39
   RE: Probleme d'accrochage de composants avec Eagle
moi personnelement j'ai fait du eagle a l'ecole et je trouve ca completement pouris
je n'ai pas encore essayer Sprint Layout, mais moi je te conseil vivement Ares de Proteus


Numéro de l'article: 85338   |  De: benoit   |  Date: 2004-04-08 12:17:36
   RE: Probleme d'accrochage de composants avec Eagle
C'est sur que pour faire du hobby / petit circuit, ISIS / ARES c'est bien...
Mais aussitot que tu veux faire des cartes plus denses, plus serieurieuses, Eagle me semble pas mal, surtout les bibliothéques.
Moi j'ai eu 3 ans d'experience avec protel 99SE et je trouvais des limites a la facon dont les librairies sont faites.

Pour une entreprise, le probleme de la gestion des librairies est crucial. Dans mon ancienne boite, il nous ait arrivé pas de fois qu'un design soit a refaire parce qu'une empreinte était pas bonne...

Numéro de l'article: 85366   |  De: Sam   |  Date: 2004-04-08 13:13:52
   RE: Probleme d'accrochage de composants avec Eagle
oui mais la creation de composants est tres facile sous ares

je trouve en fait que eagle est un petit peu archaîque moi

en fait j'ai debuter sur le eagle 2.2 sous dos, c'etait hard...


Numéro de l'article: 85378   |  De: benoit   |  Date: 2004-04-08 13:45:22
   RE: Probleme d'accrochage de composants avec Eagle
jmrequet >
il existe une version démo :) ( http://www.abacom-online.de )
après pour l'potimisation du placement des comoposants, je vois pas de ce que tu parles :-? ( auto routage, alignement sur une grille ? ... )
j'utilise que sprint mais je pense que j'acheterais bientot splan en plus il existe enfin en français :)

Numéro de l'article: 85536   |  De: manu   |  Date: 2004-04-08 18:35:00
   RE: Probleme d'accrochage de composants avec Eagle
http://www.abacom-online.de

Numéro de l'article: 85537   |  De: manu   |  Date: 2004-04-08 18:35:35

   Convertir HEXA en BCD  
voila je dois effectuer une convertion hexa en sa valeur bcd

ex:

0x0A (10) a convertir en 0x10 pour l'afficher sur deux afficheur 7 segment.

auriez vous un programme en C pou effectuer cette conversion.

ou en assembleur pour un Atmel 4433


merci beaucoup

Numéro de l'article: 85225   |  De: Yann   |  Date: 2004-04-07 23:04:35
   RE: Convertir HEXA en BCD
Si c'est pour sortir sur 2 afficheurs, c'est pas hexa, vers BCD qu'il te faut, mais plutot hexa, vers 7segments non? autant faire qu'une seule conversion, et eviter d'utiliser un convertisseur BCD-> 7segments externe non? Dans ce cas, le plus simple, si tu as 200 octets de libre, un simple tableau, ou LUT... 2 digits, ca fait 100 vaaeurs... Il suffit de coder les segments correcpondant, pour chacune des 100 valeurs...

Numéro de l'article: 85229   |  De: pazcal   |  Date: 2004-04-07 23:23:29
   RE: Convertir HEXA en BCD
La valeur hexa est placée dans val puis elle est décomposée dans 2 variables unit(é) et diz(aine). Tu n'as plus qu'a envoyer sur un port du micro-contrôleur unit puis diz vers deux HEF4511, par exemple !

signed char val = 0x32;

signed char unit = 0;
signed char diz = 0;
signed char temp = 0; /* temporaire */

unit = val;

do
{
temp = unit - 10;
if(temp >= 0)
{
unit = temp;
diz++;


while(temp >= 0);

printf("%d%d\n", diz, unit);

getchar();

return 0;

De ce programme tu peux facilement retrouver l'algorithme pour le coder en assembleur ATMEL ou autre.

Numéro de l'article: 85281   |  De: Vincent   |  Date: 2004-04-08 10:02:38
   RE: Convertir HEXA en BCD
MERCI beaucoup pour votre aide.

Numéro de l'article: 85370   |  De: Yann   |  Date: 2004-04-08 13:30:46

   equivalence pour diode svp  
bonsoir,

j'ai une diode rgp02-20 j'ai bien trouvé des datasheet 2000v o.5A
http://212.57.231.17//Datasheets/GeneralSemiconductor/DS46419.pdf

mais ne trouve pas cette diode dans le commerce. Que me conseillez vous comme équivalence.



Numéro de l'article: 85232   |  De: alain s   |  Date: 2004-04-07 23:33:08
   RE: equivalence pour diode svp
salut,
si tu dois absolument faire passer du 2000v je vois pas en 'courant' :o(
mais ou sinon tu peux utiliser une classique 1N4007... ;)

Numéro de l'article: 85240   |  De: manu   |  Date: 2004-04-08 00:06:30
   RE: equivalence pour diode svp
2000 Volts 5 A ca fait du 10000 Watt !
Si tu netrouve pas, tu peux toujours associer des diodes moins "pointues" en serie.

Numéro de l'article: 85249   |  De: dajp   |  Date: 2004-04-08 01:30:25
   RE: equivalence pour diode svp
c'est 0.5 amperes pas 5 amperes, mais surtout c'est une fast switching, et une 1n4007 a poscrire, faut aussi voir si sicilium ou schotky.

Numéro de l'article: 85253   |  De: elektrax   |  Date: 2004-04-08 07:25:11
   RE: equivalence pour diode svp
ma diode se trouve sur un ecran de pb elle est en sortie d'une des bornes de la tht

L'ancienne était bonne mais mon tourne vis a ripé et avec leur manie de ne pas plaquer les composant à la carte bingo, j'ai cassé la patte a ras de la diode.

mais que pourrais-je mettre en équivalence et oui c'est bien 0.5A
Comme ecrit dans la datasheet de mon 1er post

Numéro de l'article: 85397   |  De: alain s   |  Date: 2004-04-08 14:30:32
   RE: equivalence pour diode svp
Tu mets deux diodes BA159 en série à la place.

Numéro de l'article: 85519   |  De: Fas54   |  Date: 2004-04-08 17:58:46
   RE: equivalence pour diode svp
merci je vais vors ca c'est du composant courant ou devraije commander sur le net. n'habitant pas paris...



Numéro de l'article: 85545   |  De: alain s   |  Date: 2004-04-08 18:49:02
   RE: equivalence pour diode svp
Va voir un dépanneur TV sympa, il doit en avoir dans ses tiroirs.

Numéro de l'article: 85661   |  De: Fas54   |  Date: 2004-04-09 09:59:02
   equivalence
bonjour
je voudrais l²equivalent du circuit LC6528C
merci

Numéro de l'article: 87171   |  De: oumar   |  Date: 2004-04-15 14:04:48

   Technologie CPL  
Bonjour,

Connaissez vous des sites en francais de préférence qui explique la technologie de cpl (courant pouteur).

car j'ai merai realisé mon reseau informatique avec des boitiers cpl mais ne voit pas du tout comment ca fonctionne.
Et de plus comment le signal s'arrete à la sortie de mon compteur edf
car si mon voisin achete les memes modules y a t'il des risues d'echange de données.


merci d'avance

Numéro de l'article: 85235   |  De: gégé   |  Date: 2004-04-07 23:40:08
   RE: Technologie CPL
Une des normes les plus répandues de CPL, c'est la X10.
Fait une recherche sur X10 sur un moteur de recherche et tu seras comblé.
Normalement, les CPL sont arrétés par les transfo. Je ne sais pas comment cela se passe a l'intérieur d'un meme quartier...

Numéro de l'article: 85272   |  De: Sam   |  Date: 2004-04-08 09:52:36

   RE: langage C pour les PICs  
Bonjour!
Merci pour vos réponses !

J'aimerais programmer des PICs 16f ou supérieurs.
Pour écrire mes programmes j'utilise BORLAND C++ car je peux écrire les programmes en langage C et je me sert du compilateur du BORLAND C++ pour les compiler.
Est ce que je peux me servir du BORLAND C++ pour les PICs ???
merci d'avance !
Alex




Numéro de l'article: 85256   |  De: Alex   |  Date: 2004-04-08 07:50:11
   RE: langage C pour les PICs
oui, et non...
Oui, dans la mesure, ou tu peux utiliser toute l'architecture de borland pour editer tes fichiers, et créer les "makefile" qui serviront a la compilation finale...
Par contre, en aucun cas tu ne peux utiliser le compilateur de borland (cc, ou gcc), qui est prévu (dans le cas ou tu bosses sur un PC), pour les processeurs intel IA32, alias x86/pentium.... Donc, aucun rapport avec les PIC, ou autre microcontroleurs, les jeux d'instructions, et les architectures sont différents, donc incompatibilité totale....

Numéro de l'article: 85265   |  De: pazcal   |  Date: 2004-04-08 09:24:00
   RE: langage C pour les PICs
Exactement, tu peux continuer à te servir de borland comme éditeur, et il faudrat que tu appelle un autre compilateur en configurant borland autrement.
Mais c'est ce compliquer la vie, car tous les compilateur C pour pic que je connaissent sont soit livrés avec une interface d'editeur/debuggage, soit sont supporté par MPLAB, l'editeur/debugger/outil à tou faire de chez microchip....

Numéro de l'article: 85273   |  De: Sam   |  Date: 2004-04-08 09:55:33
   RE: langage C pour les PICs
Salut

Tu peux utiliser le compilateur CC5x
Il y a une version gratuite qui est limitée mais sympa je trouve
Moi je l'utilise avec le compilatuer context

Fred

Numéro de l'article: 85305   |  De: Fred   |  Date: 2004-04-08 11:00:26
   RE: langage C pour les PICs
merci pour vos réponses
Alex

Numéro de l'article: 85550   |  De: Alex   |  Date: 2004-04-08 19:00:37

   Achat de composant  
Est-ce que quelqu'un sait ou je peut trouver un synthétiseur DDS 180MHz AD9851.

Il coûte 16$ chez Analog mais je n'ai pas pu l'acheter en ligne.

Merci.

Numéro de l'article: 85259   |  De: Pascal   |  Date: 2004-04-08 08:07:50
   RE: Achat de composant
a saint quentin ils en ont gare du nord

Numéro de l'article: 85287   |  De: jpascal   |  Date: 2004-04-08 10:14:33
   RE: Achat de composant
Mais encore ??

Numéro de l'article: 85360   |  De: Pascal   |  Date: 2004-04-08 12:46:42
   RE: Achat de composant
essai chez Radiospares.com

Numéro de l'article: 85503   |  De: tino   |  Date: 2004-04-08 16:58:41
   RE: Achat de composant
J'ai déja cherché chez Radiospares, Farnell, Conrad et Selectronic et aucun ne l'a... :(

Numéro de l'article: 85516   |  De: Pascal   |  Date: 2004-04-08 17:49:56

   connexion de borniers  
Salut,
Je voudrais savoir comment connecter proprement une sortie de 5 borniers de 10 sorties chacun sur une carte d'acquisition de données.

Merci.

Numéro de l'article: 85264   |  De: Ram   |  Date: 2004-04-08 09:08:14
   RE: connexion de borniers
c'est quoi ta carte d'acquisition? son connecteur?

Numéro de l'article: 85276   |  De: Sam   |  Date: 2004-04-08 09:57:33

   Existe t-il des cartes acquisition entrées : 13 TO  
Existe t-il des cartes acquisition entrées : 13 TOR 16 analogiques ?


Numéro de l'article: 85270   |  De: Ram   |  Date: 2004-04-08 09:47:18
   RE: Existe t-il des cartes acquisition entrées : 1
C'est quoi 13 TOR 16?
C'est des cartes pour mettre ou? dans ton PC, ton scooter, ta maison, ton pic?

Numéro de l'article: 85275   |  De: Sam   |  Date: 2004-04-08 09:56:59
   RE: Existe t-il des cartes acquisition entrées : 1
En fait, c pour connecter 16 sorties analogiques et 13 digitales en sortie d'1 bornier sur une carte d'acquisition de données. Ces sorties peuvent etre des tensions (entre 0 et 24 volts) ou des courants (entre 0 et 2 A).

Le but étant de réaliser une interface graphique afin de tester si on obtient des bonnes valeurs.



Numéro de l'article: 85297   |  De: Ram   |  Date: 2004-04-08 10:42:00
   RE: Existe t-il des cartes acquisition entrées : 1
ta carte d'acquisition, tu as des références? tu la met dans un PC?
Moi, j'en utilise une de chez NI, et je me suis fait mon bornier...
Elle avait un connecteur SCSI68 broches males en sortie.

Pour me rendre compte apres que des gars en vendait sur Ebay USA!

Donnes plus d'info...

Numéro de l'article: 85301   |  De: Sam   |  Date: 2004-04-08 10:52:48
   RE: Existe t-il des cartes acquisition entrées : 1
Ram, t'es vraiment avare de renseignements... ;o)
quelle fréquence les signaux? la longueur, et le type de connecteur est fortement conditionné par la fréquence des signaux a transporter... De plus il est fortement déconseiller de faire cohabiter des signaux numériques et analogiques sur des connecteurs contigus sur une nappe, ou un cable... Ou alors, faut mettre un blindage, ou ecran entre les signaux de donnée sur une nappe par ex

Numéro de l'article: 85317   |  De: pazcal   |  Date: 2004-04-08 11:35:13
   RE: Existe t-il des cartes acquisition entrées : 1
Ce sont des signaux continus.
longueur 1 mètre entre lepc et les 5 borniers

Numéro de l'article: 85428   |  De: Ram   |  Date: 2004-04-08 15:13:06
   RE: Existe t-il des cartes acquisition entrées : 1
Quel est l'intéret de connecter des signaux continus numériques sur une carte d'acquisition? et le signaux analogiques, ils sont aussi continus, donc ils ne varient pas?
gloups, spécial comme appli...
Dans ce cas, t'as plutot intéret a utiliser un multiplexeur et un seul convertisseur analogique/numérique... et mieux, ne trnasmetre qu'un seul signal sur ton fil...

Numéro de l'article: 85438   |  De: pazcal   |  Date: 2004-04-08 15:32:24
   RE: Existe t-il des cartes acquisition entrées : 1
En fait le but de mon application est de réaliser un banc de mesure pour une radiocommande. Les tests se font sur les sorties d'1 bornier qui se trouve dans un boîtier électronique qui est relié à l'antenne réceptrice.
Ainsi, avant d'envoyer la marchandise au client il faut la tester sans a avoir a utiliser des fils mis un peu a la vas vite et réaliser des mesures au voltmètre.

Il existe deux sortes de boîtiers electroniques : des boitiers qui sortent du courant et d'autres des tensions.

Les tensions et les courants proviennent du fait que l'utilisateur a actionné un levier sur la radiocommande (il a donc réalisé une commande) et qu'en reception le boitier électronique contenant les borniers fait sortir ces ces tensions et courants.

Les tensions sont soit analogiques (varie entre 0 et 24 Volts) soit "Tout Ou Rien" (0 ou 24 Volts).

Les courants sont analogiques et varient entre 0 et 2 A.

J'aimerai partir du bornier avec un connecteur adéquate puis transférer les données sur un circuit intermediaire entre le boitier et le pc puis repartir avec un cordon spécialement concu pour s'adapter sur connecteur de la carte d'acquisition.

Je pense qu'ensuite la carte pourra effectuer le multiplexage.

1. Existe-il des connecteurs "mâles" connectables sur des borniers (de type simple qu'on trouve sur les cartes électroniques) ?

2. Pourquoi ne peut-on pas faire circuler les signaux numériques et analogiques sur une même nappe sans les blindés ?

3. Est-ce que les nappes disposent d'1 fil de masse (je veux faire allusion au fil rouge) ?

4. Jusqu'à combien de fils peut-on aller sur une nappe ?


Merci pour toutes vos explications.





Numéro de l'article: 85469   |  De: Ram   |  Date: 2004-04-08 16:24:17
   RE: Existe t-il des cartes acquisition entrées : 1
Tu n'es pas limité par le nombre de fils sur une nappe... Le probleme des signaux numériques, c'est les commutations, qui génèrent des parasites d'une part sur le slignes analogiques contigues, mais aussi sur le lignes numériques contigues... Donc par principe sur une nappe, chaque fil de donnée est entouré d'un fil de masse... Pour t'en convaincre, il suffit de regarder les nappes SCSI de 40 et 80 fils, pour doubler le taux de transfert, il suffit de changer de nappe et mettre une nappe de 80 connecteurs(avec ecran de masse entre chaque conducteur).... Cela dit, comme tes signaux sont continus, le probleme ne se pose pas pour toi, car le rayonnement magnétique, provient d'une variation du champ éléctrique qui n'existe pas en continu... Donc, tu peux prendre n'importe quel connecteur quasiment, en respectant bien sur les limites de courant, et les contraintes mécaniques...

Numéro de l'article: 85482   |  De: pazcal   |  Date: 2004-04-08 16:38:22

   transfo 220/9v  
j'ai un transformateur (ou plutot un adaptateur secteur) 220 v à ensuite une tension variable de 3.5 à 12 v , la fiche collée dessus me marque 1 A en sortie... puis je utiliser cet adaptateur sur un jouet qui reclame du 9v 1300 mA ? ou vais je tout griller ???Je n'y connais absolument rien , merci de votre aide...

Numéro de l'article: 85282   |  De: denis   |  Date: 2004-04-08 10:04:23
   RE: transfo 220/9v
Bein apparement non, ton jouet demande trop de courant (1300mA=1.3A) et ton adaptateur ne pourra fournir que 1A. Si cette adaptateur est protégé contre des courants de sortie trop élevés, tu peux toujours essayer, mais sinon tu risque de l'endommager.

@+ JM

Numéro de l'article: 85285   |  De: jmrequet   |  Date: 2004-04-08 10:09:58
   RE: transfo 220/9v
merci beaucoup pour ta reponse , je suis quand meme etonné par la notice du jouet qui dit qu'il faut un adaptateur 9v 1300mA alors que ce jouet fonctionne avec 6 piles 1.5V lr14...qd on y connait rien c'est la galère ;-)

Numéro de l'article: 85288   |  De: denis   |  Date: 2004-04-08 10:15:19
   RE: transfo 220/9v
je vois le genre d'adaptateur dont tu parles. Le problème est de savoir pour quelle tension de sortie le 1A est calculé!
Ce n'est pas écrit 1A sous 3.5V ou qqchose du genre?

Numéro de l'article: 85291   |  De: Sam   |  Date: 2004-04-08 10:27:38
   RE: transfo 220/9v
Bein déja 6 piles de 1.5V ca fait 9V et concernant l'amperage je vois à titre d'exemple qu'une pile alcaline LR14 (chez lextronic) a une capacité de 7800mAh -> un fonctionnement de 7800/1300= 6heures pour ton jouet, donc rien de tres etonnant !

@+ JM

Numéro de l'article: 85292   |  De: jmrequet   |  Date: 2004-04-08 10:31:34
   RE: transfo 220/9v
Visiblement c'est pas le transfo du jouet, donc fais surtout gaffe à la polarité du connecteur d'alim, c'est surtout ca le problème, parce que la tu risques de flinguer le jouer...
Pour le transfo, si c'est les especes de daubes a 10 balles, ou il n'y a qu'un pont de diode plus capa derriere le transfo... Donc dans ce cas tu risque pas de cramer quoique ce soit... au pire faire un peu chauffer le transfo...Pour voir la puissance , il faut lire le nb de VA qui doit etre indique sur le transfo, et tu sauras a quelle tension correspond le courant de 1A... Il y a de fortes chances pour que le jouet fonctionne qd meme, mais le transfo risque de chauffer un peu...
En général, sur le calibre 6V, tu auras un peu plus de 6V a vide, et plus tu vas charger (tirer du courant), plus la tension va baisser, il n'ya a pas de régulation.... Il faut parfois mettre le calibre supérieur pour avoir 1A sous 6V... Donc, tu vois, c'est pas simple, et ca dépend de plein de parametres... mais fais surtout gaffe a la polarité!


Numéro de l'article: 85300   |  De: pazcal   |  Date: 2004-04-08 10:49:26
   RE: transfo 220/9v
Même si ton jouet ne consomme pas 1300 mA en permanence, il y a peut-être des pointes à cette valeur. Il vaut mieux une alim capable de les fournir.

Numéro de l'article: 85302   |  De: Bibi2030   |  Date: 2004-04-08 10:54:04
   RE: transfo 220/9v
le jouet est le micro star academy , donc il doit consommer le max qd tout est en service (boule lumineuse entre autre) ...sur mon transfo il est marqué :
alimentation régulée
entrée 220v 50 hz
sortie 3, 4.5 , 6 , 7.5 , 9 et 12 v
intensité 1 A
il y a deux bouton l'un pour choisir le voltage , l'autre pour la polarité (marque Hirschmann made in China..........)
en tout cas merci à vous pour vos eclaircissements
amitiés
Denis

Numéro de l'article: 85322   |  De: denis   |  Date: 2004-04-08 11:42:06
   RE: transfo 220/9v
Ah c'était pour jouer à la Star'Ac ! y a des mA qui s'perdent...

Numéro de l'article: 85555   |  De: Bibi2030   |  Date: 2004-04-08 19:13:14
   RE: transfo 220/9v
que veux tu .....je ne peux pas empecher ma fille de jouer ;-) et de rever :-(

Numéro de l'article: 85768   |  De: denis   |  Date: 2004-04-09 15:44:37

   moyennage prog  
salut!
je programme en C un pic16f873 et j'aimerai faire un moyennage des valeur analogique qui rentre sur RA0 disons toutes les 10 secondes...
est ce que quelqu'un peut me donner la ligne a écrire svp?
merci

Numéro de l'article: 85284   |  De: nico   |  Date: 2004-04-08 10:08:21
   RE: moyennage prog
je sais que c'est pas la question mais je peux le faire avec un ampli op "moyenneur".Pour la memeorisation, j en sais rien

Numéro de l'article: 85286   |  De: jpascal   |  Date: 2004-04-08 10:13:15
   RE: moyennage prog
Pour ma part (je ne connais pas le C pour le PIC), je fixerais un nombre d'échantillons puissance de 2. Ex : 16 échantillons.

Ensuite à chaques nouvelles échantillons, je le décalerais vers la droite de 4 bits et j'ajouterais cette contribution à une variable stockée en mémoire. Au bout des 16 échantillons, tu aurais donc une moyenne de ce signal à cet emplacemement mémoire. MAis bon c'est une solution en assembleur pour éviter les divisions fastidieuses...

@+ JM

Numéro de l'article: 85289   |  De: jmrequet   |  Date: 2004-04-08 10:19:53
   RE: moyennage prog
Il faut juste savoir si tu as besoin d'une moyenne glissante ou pas... A savoir, est ce que tu prends 10 echantillons par 10 echantillons, ou est ce une moyenne des 10 derniere échantillons, c'est a dire un glissement de la moyenne... Ca, c'est juste pour savoir comment stocker les échantillons recus... Ensuite, dans tous les cas, la moyenne, n'est que la somme des N (10) échantillons divisé par le nombre N (10) d'echantillons...
en C standard d'école, ca fait ca :
Avec le résultat sur un entier, arrondi par défaut...
donc 12.9, donnera 12, au lieu de 13

#define NB_SAMPLE 10
int sample[NB_SAMPLE];
int i;
int sum=0;
int mean()
{
for (i=0;i<NB_SAMPLE;i++)
sum+=sum[i];
return(sum/NB_SAMPLE);

tu peux ajouter un test supplémentaire pour afiner l'arrondi, ou utiliser des fractionnaires pour avoir les décimales... mais pour cela il faudrait que tu en dises plus sur les valeurs a traiter, min/max, et précision

Numéro de l'article: 85294   |  De: pazcal   |  Date: 2004-04-08 10:33:22
   RE: moyennage prog
Ton acquisition, tu la fait en 10 bits ou en 8 bits?
Tu fais combien d'acquisition par secondes?
jm a raison, il est tres facile de diviser par 2, 4, 8, 16, 32 etc, et ton code sera plus petit....
Tu en est ou pour l'afficheur (je t'ai posté une réponse à la thread d'hier ou d'avant hier)

Sam

Numéro de l'article: 85295   |  De: Sam   |  Date: 2004-04-08 10:35:12
   RE: moyennage prog
Attention, dans l'exemple de pazcal, il y a des problemes avec le format, travaille en int16, et n'oublie pas de caster tes opérations...

C'est les pieges classiques, je me suis fait avoir un nombre incroyable de fois avec ce compilateur...

Numéro de l'article: 85296   |  De: Sam   |  Date: 2004-04-08 10:37:01
   RE: moyennage prog
voila mon prog:
je suis en 10bits
je fais par exemple des mesures de bouquins posés sur une table contre une butée a 30cm du capteur etca donne ca:


#include<16f873.h>
#device adc=10
#use delay (clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#fuses XT, NOWDT, NOPROTECT, PUT, BROWNOUT, NOLVP
#define PIN_LED7 PIN_B7


double result,x,x1;

main()

{
setup_adc_ports(ALL_ANALOG); // le portA est défini en entrée analogique
setup_adc(ADC_CLOCK_DIV_32); // utilisation de l'horloge interne pour l'ADC

while(1)
{

set_adc_channel(0); // Lecture sur le canal 0 du portA
output_low(PIN_B7);
delay_ms(500);
output_high(PIN_B7);
delay_ms(500);
result = (5.01 * (double)(read_adc())) / 1024;
x=(result*2)*10.92;
x1=30-x;
printf("tension0 = %f \r",x1);
delay_ms(500);





or on peut voir que les valeurs varient de temps en temps sans doutea cause de l'alim qui varie un peu aussi...
donc je voudrai prendre 10 mesure et en faire la moyenne et l'afficher
merci pour votre aide...
sinon ce programme la marche âs mal du tout (pour les intéréssés, qui débutent comme moi...:))

Numéro de l'article: 85298   |  De: nico   |  Date: 2004-04-08 10:47:33
   RE: moyennage prog
Voyons ce que l'on peut faire:

Petit conseil: quand tu travaille avec des doubles, ne met pas 2, mais 2.0 Le compilateur le traite alors comme un double et tu peux eviter des problemes.

#include<16f873.h>
#device adc=10
#use delay (clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#fuses XT, NOWDT, NOPROTECT, PUT, BROWNOUT, NOLVP
#define PIN_LED7 PIN_B7

#define NB_RESULT
double result,x,x1;
int16 valeurs[NB_RESULT];
int8 boucle0, boucle1;
main()
{
setup_adc_ports(ALL_ANALOG); // le portA est défini en entrée analogique
setup_adc(ADC_CLOCK_DIV_32); // utilisation de l'horloge interne pour l'ADC
for (boucle0=0; boucle0<NB_RESULT; boucle0++) valeurs[boucle0]=0;
boucle1=0;
while(1)
{
set_adc_channel(0); // Lecture sur le canal 0 du portA
output_low(PIN_B7);
delay_ms(500);
output_high(PIN_B7);
delay_ms(500);
valeurs[boucle1] = read_adc();
boucle1++;
if (boucle1 == NB_RESULT) boucle1 = 0;
result = 0;
for (boucle0=0; boucle0<NB_RESULT; boucle0++) result += (double)(valeurs[boucle0]);
result = result / NB_RESULT;
result = (5.01 * result) / 1024;
x=(result*2)*10.92;
x1=30-x;
printf("tension0 = %f \r",x1);
delay_ms(500);



Voila, on pourrait trouver des solutions bien plus élégantes, mais le temps me manque.
De plus je n'ai pas essayé de le compiler....
Il fait une moyenne flottante. Les 16 premières secondes, la moeynne sera faussée. A toi de trouver un truc pour eviter cela :-)

Numéro de l'article: 85306   |  De: Sam   |  Date: 2004-04-08 11:04:50
   RE: moyennage prog
J'ai oublié un truc!
Au début, il faut mettre cela:

#define NB_RESULT 16

J'avais oublié le 16...


Numéro de l'article: 85307   |  De: Sam   |  Date: 2004-04-08 11:07:08
   RE: moyennage prog
ok merci c'est cool, je vais le tester tout à l'heure et je verrai ce que ca donne...
je te tiens au courant...
merci!


Numéro de l'article: 85312   |  De: nico   |  Date: 2004-04-08 11:27:44
   RE: moyennage prog
gloups, le code généré va être une usine a gaz... Je te conseille vivement de travailler avec des fractionnaires, parce que sur un PIC, faire du flottant, faut linker la librairie math, le code va grossir rapidement... Le fractionnaire, c'est pareil que l'entier pour calculer, sauf que tu utilises les puissances négatives, cela peux te donner par ex, des intervalles de :
0 à 255.996, avec une résolution de 0.004, ce qui est plutot bien...
Et aucun probleme pour recadrer les nombres...
Si tu es sur 10 bits, tu peux coder
de 0 à 1023.984 avec une résolution de 0.0156
en non signe, en signe, facile, tu divises tout par 2... Mais bon, évites les float... surtout sur des pics
Ensuite, pour avoir une fréquence d'échantillonnage plus propre, tu devrais générer ta fréquence avec un timer, et non pas avec une tempo ds la boucle principale... car le rapport cyclique va varier en focntion du code ds lequel tu passes ... ;o)
Enjoy!

Numéro de l'article: 85326   |  De: pazcal   |  Date: 2004-04-08 11:47:07
   RE: moyennage prog
pazcal > juste par curoisité, pour faire un programme comme celui la, pitetre avec des virgules flottantes, tu predrais quel proc ? ( un dsp peut etre ? ;) )

Numéro de l'article: 85345   |  De: manu   |  Date: 2004-04-08 12:24:17
   RE: moyennage prog
il est certain que le code peut etre largement optimisé, mais nico est plutot du genre débutant, alors la première chose à faire c'est d'avoir un truc qui marche....

Nico: j'aimerais bien savoir combien il te reste de ROM et de RAM sur ton micro...

Numéro de l'article: 85353   |  De: Sam   |  Date: 2004-04-08 12:33:54
   RE: moyennage prog
je veux bien te le dire mais tu fais comment?

Numéro de l'article: 85369   |  De: nico   |  Date: 2004-04-08 13:27:23
   RE: moyennage prog
Il y a 2 manières:
1) quand tu compile, il y a une fenetre CCS qui s'ouvre, et a la fin qui affiche ce genre de données. Si elle ne s'affiche pas assez longtemps, il faut ajouter un -p dans les directives que MPLAB envoie au compilateur
2) dans le repertoire de ton projet, il y a un "nomdetonprojet".lst
tu ouvres ce fichier avec MPLAB ou blocnote et en haut il te le disent. A moins que ce soit dans le .map je me rapelle plus...

Sam

Numéro de l'article: 85371   |  De: Sam   |  Date: 2004-04-08 13:31:30
   RE: moyennage prog
ca y est:

ROM used: 1328 (32%)
Largest free fragment is 2048
RAM used: 21 (11%) at main() level
36 (19%) worst case
Stack: 1 locations

c'est cool, j'apprends plein de petits trucs en meme temps...


Numéro de l'article: 85372   |  De: nico   |  Date: 2004-04-08 13:34:02
   RE: moyennage prog
bon alors maintenant, ton but c'est d'améliorer le programme en terme de performances.
Et c'est la que cela devient tres interessant:
quelques pistes
1) utilise le moins possible de float et de double
2) fait des fonctions pour les choses qui se répètent (pour l'instant tu n'en a pas)

Après suivant que tu veux un code qui s'execute vite, ou qui soit le plus petit ou qui utilise le moins de ram possible tu programme de facon différente.

Numéro de l'article: 85374   |  De: Sam   |  Date: 2004-04-08 13:39:41
   RE: moyennage prog
et sinon est ce que c'est possible de prendre par exemple 6 valeurs et d'afficher celle qui à été répétée le plus souvent durant les 6 valeurs?

Numéro de l'article: 85389   |  De: nico   |  Date: 2004-04-08 14:18:24
   RE: moyennage prog
manu > Pour faire du calcule en flottant, il faut simplement que ce soit justifié, c'est a dire travailler avec des intervalles de données important, puissance positive, et négative... Bien sur tu peux prendre un proc flottant, mais ca coute cher, et ca court paes les rues, sinon, tu prends un fixe, mais tu le payes en termes de cycles CPU, parce qu'il faut se palucher toute la normalisation mantisse/exposant a la main, ainsi que les traitements, et la c'est gourmand... Le probleme est le meme que tu sois avec un DSP, ou un CPU 'classique', un DSP fixe aura les memes contraintes pour du flottant...
En ce qui concerne le fractionnaire, c'est d'une simplicité déconcertante... C'est exactement comme en eniter... il suffit de tout déclarer en entier, et de faire les traitements classiques... Ce n'est qu'a l'entree, et sortie des 'echantillons qu'il faut recaler les données, et ca se fait par de simples décallages arithmétiques... C'est aussi simple en c qu'en assembleur...
Par exemple, en non signé, on peut avoir

0x01 peut etre interprete en bianire comme .00000001, ou 0.0000001, ou encore 0.0000010, ... ou 1.0000000, or c'est tjrs la meme valeur... on choisist donc le plus judicieusement possible en focntion de la precision des calculs l'endroit ou placer la virgule fixe... et on fait tous les traiements sur des entiers... pour récupérer la partie entiere, il faudra juste faire les decallage, pour ramener la virgule au rang 0... bien sur si on utilises des constantes ds les traitements, comme pi par exemple, il faudra faire le calcul pour savoir comment le coder... C'est une simple regle de 3, qu'on arrpend au CM2 je crois... C'est jsute un tout petit peu plus compliqué qd on travaille en signé, et qu'on multiplie 2 nombres signés, il faut faire un decallage supplémentaire, car le resultat de la multiplication donnera 2 signes, au lieu d'un, donc un decallage a gauche, et le tour est joué...
voili voila...



Numéro de l'article: 85390   |  De: pazcal   |  Date: 2004-04-08 14:22:36