Jump to content

Réalisation D'une Télémetrie Perso


Recommended Posts

Je viens de finir l'écriture de la routine pour la mesure de courant.

Elle fonctionne :dance:

La vidéo est courte car les coups d'accélérations du bateau ne sont pas discrets....

et si je ne veux pas me faire poudrer... :whistle: :whistle: :whistle:

Le multimètre et l'interface du pc n'indiquent pas la même mesure en même temps. cela est du à la réponse en fréquence des appareils. Le multimètre est en avance par rapport au PC mais c'est normale

J'ai redimensionné les échelles des graph car il ne passe que quelques Ampères.

Donc pour un rendu sympa je triche un peux :wink:

Link to post
Share on other sites
  • Replies 120
  • Created
  • Last Reply

Top Posters In This Topic

un petit challenge que je n'arriverai certainement pas a faire saurais tu faire une/des courbes(V,A,rpm) avec ton logiciel ?

j'ai pas regardé ton prog et puis je ne veux plus retourner a un n-ieme basic, je l'avoue, pour la mesures des rpm mesures tu le nombre d'interuption en un temps donné ou mesures tu le temps entre deux interuptions ?

sinon j'ai ressorti mes notes et je compte m'y remmettre bon la majeur partie a été faite basic mais je suis passé au "C" faudra que je re-traduise tout ca ,le pascal, le picc, le proton+ l'arduino je commence a saturer...

Link to post
Share on other sites
un petit challenge que je n'arriverai certainement pas a faire saurais tu faire une/des courbes(V,A,rpm) avec ton logiciel ?

j'ai pas regardé ton prog et puis je ne veux plus retourner a un n-ieme basic, je l'avoue, pour la mesures des rpm mesures tu le nombre d'interuption en un temps donné ou mesures tu le temps entre deux interuptions ?

sinon j'ai ressorti mes notes et je compte m'y remmettre bon la majeur partie a été faite basic mais je suis passé au "C" faudra que je re-traduise tout ca ,le pascal, le picc, le proton+ l'arduino je commence a saturer...

Salut Fr3d, que veut tu dire faire une / des courbes (V,A,RPM)... une correspondance entre ces 3 mesures peut être?

Je n'ai pas posté la routine sur le calcule des RPM car j'attends le capteur pour la valider.

Pour le moment je compte tout les front montant pendant un temps donné (longueur du timer1) puis je test le timer1 pour voir si il à débordé ou pas. si oui on rajoute 65535 et pas 65536(bug du compilateur ;)) et j'en déduit le nombre de RPM.

Il y a peut être mieux comme méthode j'attends le capteur pour voir ce que ça donne. Pour le moment je suis précis à +/- 230 RMP et je peux mesurer de 230 à 65000 RPM avec ce système. A voir si je garde.

Juste pour info:

'***************************************************************************************************

'*************************** INTERRUPTIONS ***************************************************

'***************************************************************************************************

Sub Procedure INTERRUPT()

If PIR1.CCP1IF = 1 Then ' Comptage impulsions d'entrée, ignore CCPR1

inc(impulsions) ' Accumulation des impulsions

PIR1.CCP1IF = 0 ' Preparation pour la prochaine interuption

End If

If PIR1.TMR1IF = 1 Then ' Test Timer1 si débordement

'******* Gestion du débordement du Timer1

'******* Si dépassement on a 65536 x 4us = 262ms = 229 RPM

RPMCalc = impulsions ' On sauve le nombres d'impulsions pour calculer les RPM

impulsions = 0 ' Remise à zero du compteur d'impulsion

PIR1.TMR1IF = 0 ' Effacement du drapeau de débordement du timer1

End If

End Sub

'*******************************************************************************************************

'*************************** CALCUL DES RPM *****************************************************

'*******************************************************************************************************

'******** Si on as 1 impulsion ça donne (1/262) x 60000 = 229 tr/min *********************

'******** Si on as 10 impulsions ça donne (10/262) x 60000 = 2290 tr/min ***************

'*******************************************************************************************************

sub procedure RPM1

RPMVal = RPMCalc * RPMBase

WordToStr(RPMVal, RPMStr)

usart_write_text("RPM")

usart_write_text(RPMStr)

end sub

Link to post
Share on other sites

juste faire 3 courbes de la durée du vol avec les valeurs mesurées voltage,Amperes, Rpm. pour analyser le vol une fois posé....

et ok j'ai pigé ton prog de mesure 230 rpm c pas mal du tout avec ton quartz et la la procedure d'interruption est courte a souhait ce qui n'est pas negligable .

pitet en utilisant plusieurs debordements tu obtiendrai une meilleure resolution .... ;)

Link to post
Share on other sites

Salut Fr3d,

la limite de mon logiciel Labview c'est l'imagination... Donc il n'y en as aucunes en théorie :wink:

Donc oui les courbes sont au programme. Pour le moment je stock toutes les données dans un fichier. Je cherche juste une interface graphique un peux sympathique.

Pour les interruptions et les RPM, le quartz vas passer de 8MHz à 20MHz et surtout j'ai la seconde routine avec les deux timer. Cette fois ci la précision est à 1 RPM près :!:

Mais la routine d'interruption est un peux plus longue.... De toutes façons j'attends les capteurs pour faire des tests.

Link to post
Share on other sites
Wow, énorme...

Je suis étudiant en terminale STI electronique et je trouve ça franchement génial.

Programme tu ton pic en basic ou en assembleur ?

Salut,

je code en basic mais c'est du basic compilé et non interprété :!:

Regarde plus haut il y a tout le matériel utilisé...

Programmateur, l'environnement utilisé (éditeur, compilateur, débuguer).

@++

Link to post
Share on other sites

Salut Fr3d, que veut tu dire faire une / des courbes (V,A,RPM)... une correspondance entre ces 3 mesures peut être?

Je n'ai pas posté la routine sur le calcule des RPM car j'attends le capteur pour la valider.

Pour le moment je compte tout les front montant pendant un temps donné (longueur du timer1) puis je test le timer1 pour voir si il à débordé ou pas. si oui on rajoute 65535 et pas 65536(bug du compilateur ;)) et j'en déduit le nombre de RPM.

Il y a peut être mieux comme méthode j'attends le capteur pour voir ce que ça donne. Pour le moment je suis précis à +/- 230 RMP et je peux mesurer de 230 à 65000 RPM avec ce système. A voir si je garde.

Juste pour info:

'***************************************************************************************************

'*************************** INTERRUPTIONS ***************************************************

'***************************************************************************************************

Sub Procedure INTERRUPT()

If PIR1.CCP1IF = 1 Then ' Comptage impulsions d'entrée, ignore CCPR1

inc(impulsions) ' Accumulation des impulsions

PIR1.CCP1IF = 0 ' Preparation pour la prochaine interuption

End If

If PIR1.TMR1IF = 1 Then ' Test Timer1 si débordement

'******* Gestion du débordement du Timer1

'******* Si dépassement on a 65536 x 4us = 262ms = 229 RPM

RPMCalc = impulsions ' On sauve le nombres d'impulsions pour calculer les RPM

impulsions = 0 ' Remise à zero du compteur d'impulsion

PIR1.TMR1IF = 0 ' Effacement du drapeau de débordement du timer1

End If

End Sub

'*******************************************************************************************************

'*************************** CALCUL DES RPM *****************************************************

'*******************************************************************************************************

'******** Si on as 1 impulsion ça donne (1/262) x 60000 = 229 tr/min *********************

'******** Si on as 10 impulsions ça donne (10/262) x 60000 = 2290 tr/min ***************

'*******************************************************************************************************

sub procedure RPM1

RPMVal = RPMCalc * RPMBase

WordToStr(RPMVal, RPMStr)

usart_write_text("RPM")

usart_write_text(RPMStr)

end sub

Bon finalement je ne garde pas ce système :!:

Je suis sur une nouvelle routine qui sera précise à 1 RPM près à partir de 500RPM en dessous je mesure pas ;)

du coup la plage de mesure sera 500 RPM à 60 000 RPM au RPM près :!::!::!:

Link to post
Share on other sites

Bonjour,

Je ne sais pas ce que fait la poste en ce moment mais toujours pas reçus les capteurs pour la mesure RPM...

Voulant quand même tester en grandeur nature ma nouvelle routine j'ai donc réalisé un capteur optique perso :lol:

Rien de bien compliqué,

Un petit montage avec une LED infra rouge, un photo LED, un AOP et quelques résistances.

Le principe étant de faire une barrière infra rouge qu'on vas venir franchir en coupant le faisceau lumineux.

L'AOP me permet de mettre en forme les impulsions pour que celle-ci soient bien interprétée par le microcontrôleur.

Je me sers de mon banc de rodage des moteurs pour MINI-Z comme entraineur d'hélice...

Voici donc le montage:

post-25059-1380089464,0981_thumb.jpg

post-25059-1380089464,4226_thumb.jpg

Voici ce que j'obtiens en sortie de l'AOP lorsque l'hélice coupe le faisceau:

post-25059-1380089464,6251_thumb.jpg

Une petite Vidéo de l'expérience:

Le principe de fonctionnement est bon, il faut que je trouve un appareil qui puisse faire la mesure de la vitesse de rotation de l'hélice.

Cela me servira d'étalonnage et de validation :wink:

Link to post
Share on other sites

En réfléchissant un peux,

un collègue me dis si ton montage tiens la route à 50Hz tu devrais avoir 3000RPM....

N'étant pas certains de touts mes calculs, c'est avec un léger stress que je prends mon GBF.

Réglages 50hZ au poil de cul :mrgreen:

je lance mon application et je vous laisse regarder ....

:dance: :dance: :dance:

Link to post
Share on other sites

En fouillant sur le net, je viens de mettre la main sur une petite sonde for intéressante...

C'est un baromètre + thermomètre

On peut assez facilement transformer le baromètre en altimètre ...

Ce qui pourrait être sympathique non :?:

post-25059-1380089464,8312_thumb.jpg

Des que les finances sont à la hausse je vais tester tout ça !

Schéma de la sonde:

http://www.sure-electronics.net/download/MB-SM11111_SCH.pdf

Data sheet de la sonde:

http://www.sure-electronics.net/download/MB-SM11111_Ver1.0_EN.pdf

Pour déterminer l'altitude, on va utiliser un point de référence qui sera la pression atmosphérique moyenne au niveau de la mer, soit 1013 millibars à voir si cela fonctionne.

Je garde l'idée bien au chaud :wink:

Link to post
Share on other sites

Bon je croie avoir compris l'embrouille .... :!:

1 ==> La diode est alimentée en inverse ...

2 ==> L'émetteur du photo transistor est à +VCC ...

Donc deux solutions:

1- le sous-traitant de HK à fait une grosse boulette est à fait n'importe quoi sur le câblage.

2- Les ingénieurs de chez Eagle sont des bourricot.

Je ne sais pas trop quel option choisir car dans le manuel de la sonde il est très bien indiqué ceci:

Attention ne pas brancher cette sonde ailleurs que sur l'emplacement prévu car risque de destruction. J'ai tout de suite compris pourquoi il y avait cette indication...

Il n'y a pas de résistance en série avec la LED infrarouge.

Donc le courant dans la LED n'est pas limité et si on y envoie directement 5V on casse la LED.

C'est vrai qu'il est logique de mettre la résistance sur la carte mère et balader une sonde avec le moins de composants autour.

Mais même avec ça je ne comprend toujours pas leur câblage et leur schéma. Je ne prétend pas tous connaitre mais là c'est quand même gros comme connerie :!:

Ou autre solution mais alors là c'est franchement pas correct de leur part !!! Ils câblent tout à l'envers volontairement pour éviter que les possesseurs du système branche la même sonde mais achetée chez un concurrent.

On trouve chez FARNELL ce capteur pour 3€ TTC chez HK 12€ ... vous m'avez compris :wink:

PUt*** les cons ils auront réussit à me faire douter de mon montage :evil::evil::evil:

Link to post
Share on other sites

aop et tout le toutim, comme c'est un capteur optique je crois avoir un vieux souvenir qui va bien de Mr paul gossens paru dans elektor en...2003 regarde aussi du coté du banc de rodage automatique de fancyfly sur modelisme.c0m

il m'avait sembler avoir lu un truc sur la conectivité sur le eagle tree ... j'arrive aps retrouver les liens...

Link to post
Share on other sites

Bon voici un câblage plus sérieux ;)

Avec la mise en place de la résistance pour limiter le courant dans la LED IR

post-25059-1380089467,0641_thumb.jpg

post-25059-1380089467,2658_thumb.jpg

Mise sous tension de la sonde:

post-25059-1380089467,4668_thumb.jpg

Ah b'un voila elle fonctionne maintenant cette LED !!!

Bon je suis quasiment certain que cela vas fonctionner YES :dance:

Link to post
Share on other sites
aop et tout le toutim, comme c'est un capteur optique je crois avoir un vieux souvenir qui va bien de Mr paul gossens paru dans elektor en...2003 regarde aussi du coté du banc de rodage automatique de fancyfly sur modelisme.c0m

il m'avait sembler avoir lu un truc sur la conectivité sur le eagle tree ... j'arrive aps retrouver les liens...

Salut Fr3d,

Te casse pas ça fonctionne comme sur des roulettes !!!

Mais même avec un AOP monté en inverseur, différentiel, suiveur, multiplicateur, soustracteur, ce que tu veux ça ne pouvais pas marcher leur câblage c'est impossible ou j'arrête vite fais bien fait l'électronique :wink:

J'avais bien fait un montage pour la mise en forme des impulsions mais comme tout bon crétin de base le rouge c'est le + et le noir c'est le - et le blanc c'est le signal de sortie non...?

B'un raté ce n'est pas ça, si tu croise l'alim tu alimente bien ta LED Infra donc déjà là c'est pas logique et tu te retrouve avec le collecteur du transibar au GND ... et l'emeteur sur le fil blanc ... OK mais alors faut me montrer le montage qui va derrière !!!

Bref vidéo dans 10 minutes ==> c'est l'heure d'une binouse bien fraiche :lol:

Link to post
Share on other sites

Joli tout ça :D

Pourquoi avoir fait ce choix sur la "résolution" des RPM ? Les tours ne vont pas jusqu'a 60 000 RPM ( ça ferait un sacré ventilo :mrgreen: ), et pourquoi ne les comptes tu pas au dessous de 500 ?

Un des étudiants de ma classe utilise exactement le même capteur que toi :o as tu mis quelque chose pour rendre la surface de la pale réfléchissante ou l'est elle naturellement ?

En ce qui concerne l'altimètre qu'espère tu avoir comme précision ? :think:

Bye :D

Link to post
Share on other sites
Joli tout ça :D

Pourquoi avoir fait ce choix sur la "résolution" des RPM ? Les tours ne vont pas jusqu'a 60 000 RPM ( ça ferait un sacré ventilo :mrgreen: ), et pourquoi ne les comptes tu pas au dessous de 500 ?

Un des étudiants de ma classe utilise exactement le même capteur que toi :o as tu mis quelque chose pour rendre la surface de la pale réfléchissante ou l'est elle naturellement ?

En ce qui concerne l'altimètre qu'espère tu avoir comme précision ? :think:

Bye :D

Salut Hamtaro,

Le choix sur la résolution est simple, j'ai simplement voulu voir jusqu'où le pic pouvait suivre 67500 RMP après il sature.

Je ne mesure pas en dessous de 500.

Enfin si je mesure mais une fois sur trois la capture n'est pas bonne. Il faudrait faire ralentir le quartz de 20MHz ou être un génie en codage pour coupler le Timer1 au module CCP lorsque la fréquence approche les 10Hz en entrée du CCP.

Pour le capteur, j'ai tout bêtement collé un bout de chatterton blanc .... CF photo

post-25059-1380089468,4005_thumb.jpg

Pour ce qui est de l'altimètre prrfffffffffffffffffffffffffffff j'en sais rien, c'est juste une idée..... à tester

Link to post
Share on other sites

Bonjour,

Projet sympa :D

Pour ce qui est des modules CCP/PWM des PIC la bible est là:

http://www.microchip.com/forums/f36.aspx

Si les programmes sont écris en C il existe des librairies là:

http://www.ccsinfo.com/forum/search.php?mode=results

le forum est là:

http://www.ccsinfo.com/forum/viewforum.php?f=1

pour faire du logging tu peut te passer de X-TAL est utiliser l’horloge interne a 8Mhz

Quand au capteur HK, je l'utilise sans le moindre problème est sans avoir fait la moindre modification de câblage, comme quoi..

En tout cas bravo et bon courage

@++

Alain

Link to post
Share on other sites
Bonjour,

Projet sympa :D

Pour ce qui est des modules CCP/PWM des PIC la bible est là:

http://www.microchip.com/forums/f36.aspx

Si les programmes sont écris en C il existe des librairies là:

http://www.ccsinfo.com/forum/search.php?mode=results

le forum est là:

http://www.ccsinfo.com/forum/viewforum.php?f=1

pour faire du logging tu peut te passer de X-TAL est utiliser l’horloge interne a 8Mhz

Quand au capteur HK, je l'utilise sans le moindre problème est sans avoir fait la moindre modification de câblage, comme quoi..

En tout cas bravo et bon courage

@++

Alain

Bonjour Alain,

Merci pour les liens, celui de Microchip m'est familier en revanche les deux autres pas du tout ;)

je code tout en basic, j'utilise l'environnement de développement de chez MikroElektronika.

Comme je le dis souvent au collègues, le meilleur logiciel c'est celui qu'on connait et qu'on a l'habitude d'utiliser ...

Car que ce soit en basic, pascal, C, Flowcode, Arduino etc etc ici on est dans le loisir et pas dans l'industrielle donc aller chercher la pico seconde en disant mon compilateur est meilleur que le tien ... Inutile ( Avis perso).

Pour ce qui est de la sonde, je pense vraiment à une erreur dans le câblage, elles sont montées à la main ça ce voit. Donc je vais dire que je n'ai pas eu de chance. (me suis un peut emporter sur les ingé d'Eagle mais j'avais les abeilles)

Je n'ai pas fait de photo mais:

l'anode de la LED au GND et la cathode à VCC :doh:

le collecteur du transibar au GND et l'émetteur sur le fil blanc. (pourquoi pas et encore...)

C'est vrai que je pourrais faire sauter le quartz

PS: Utilise tu la sonde HK sur un télémétrie perso ou sur un système du commerce ?

Merci

Greg.

Link to post
Share on other sites

Bonsoir,

En embarquer je n'utilise que du C/C++ ou du ADA sur les grosses cibles

j'utilise les sondes HK sur une acquisition Eagle et sur la mienne qui n'est en fait qu'un HUb pour le

système radio FRSky, et que je doit d’ailleurs finir dés que j'aurais une minute :)

@++

Alain

Link to post
Share on other sites
Bonsoir,

En embarquer je n'utilise que du C/C++ ou du ADA sur les grosses cibles

j'utilise les sondes HK sur une acquisition Eagle et sur la mienne qui n'est en fait qu'un HUb pour le

système radio FRSky, et que je doit d’ailleurs finir dés que j'aurais une minute :)

@++

Alain

Ok ok merci pour les info.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...