​ ​ ​ ​ initiation picaxe pour systeme de jalonnage
Page 1 of 15 1 2 3 11 ... LastLast
Results 1 to 10 of 145

Thread: initiation picaxe pour systeme de jalonnage

  1. #1
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    203

    Default initiation picaxe pour systeme de jalonnage

    Bonjour

    je suis un novice , et je me suis lance ans la fabrication d un boitier de jalonnage

    sur abcelectronique j ai ouvert 2 discusions :
    l une sur mon syteme de jalonnage au depart base sur un CD4017 : http://www.abcelectronique.com/forum...ad.php?t=69154
    puis une personne m a expliquer le potentiel des picaxes du coup j ai revu ma position pour artir sur la fabrication de ce boitier avec un LCD : http://www.abcelectronique.com/forum...463#post657463

    je remets ici donc mon schema qui a encore quelques erreur de hardware

    la prise ISO 11786 equipant mon tracteur me permet de recuperer des info sans montage necessaire de capteurs
    Le capteur ILS dont je faisait allusion ici : http://www.abcelectronique.com/foru...54&page=1&pp=10
    est remplace par l info de la position du relevage arriere du tracteur car celui relevant le combine de semis me permets de recupere rla meme info au meme moment

    sur l ecran a 2 ligne j ai l intention de faire afficher les info suivantes

    " JALONNAGE "X" /4"
    " surface"XX,X"ha"

    le but etant d afficher une info sur la position du jalonnage et une info sur la surface semée

    Pour la surface , l info sera prise sur les 130 ( ou 100 d aulleur suivant la norme)impulsiosn par metre , et pour un outil de 3 m de large , sera compter uniquement lors que le outil sera par terre ( position relevage a 0 volts )

    explication entre vitesse theorique et reelle : un tracteur dans un champs suivant l effort de traction patine cela pouvant alle a 30 % parfois , si comme une voiture la vitesse etait prise sur les roues ( vitesse theorique parcelles de 10 ha se transformere en 13 ha ( au fait 1 ha = 10 000m² ), l interet de remonte ces information c est pour les boitiers qui dose une quantite d engrais par exemple cela evite les surdossages, dons en option les on peux avoir une option de RADAR, donnant une lecture de la vitesse par mesure via desondes au sols , mais cela a une limite pour etre precis : 15km/h

    normalement vu vos explication lorsque le picaxe comptera la surface , il ne sera pas en train de compter des impulsions de passage par contre lorsque le comptage de surface sera interompu par la leve des bras il ne contera plus de surface mais la il comptera une impulsion de plus pour le jalonnage si il est en position je lui demande d alimenter pendant 2 secondes une sortie , si il est en position meme temps mais une autre sortie
    Tout le temps que durera la position 2 et la position 3 j aimerai que la diode este alumer , cependant est il possible de la faire clignoter du temps du pilotage du moteur ( les 2 secondes ) ?

    d autre evolutions ? pourquoi mais lad ans l instant je n en ai pas d autre en tete qu une alimentation pernanente surune patte pour alimenter une electrovanne de jalonnage de preleve , mais a l heure par besoin car semoir pas equipe, et je cherhce toujours une capteur capacitf , cependant je vais recevoir des capteurs inductif capable de voir si une bouteille d eau est plaien deau ou vide donc capable de detecter autre chose que de metalique


    cependant je viens de faire mon programme

    j aimerai votre avis

    je me pose quelques problemes:

    consernant l affichage de la surface je l aimerai sous le format 2 chiffres avant la virgule et 2 apres , par ex 10.23 ha

    ma bloque de conpatge de surface tourne sans termpo pour pourvoir compter chaque impulsions ( qui represente 1/130 de m ), je vais avoir pour une vitesse de 10 km/h environ 400 Hz, pensez que ma bloque pourra suivre ?

    bizarrement en mode test , mon affichage LCD marche bien tant que l entree 4 n est pas modifie ( blocage de comptage) : affichage sur 2 lignes , la premiere laposition de jalonnage la seconde la surface , des que je je change C4, la l affichage du LCD se fait uniquement sur la seconde logne , est ce un bug de picaxe editor ou un bug de mon programme ?

    une autre chose , j avais cru comprendre que par exemple C3 pouvait servir d entre comme de sortie , mais dans l etat actuelle de mes connaissances je n arriverai que a en faire une entre or j aimerai en faire une sortie


    par avance merci
    Attached Images Attached Images
    Attached Files Attached Files
    • File Type: zip J.zip (7.1 KB, 23 views)

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

    Default

    Bonjour

    et bienvenue...

    dans l'immédiat, il y a pour ce qui me concerne de nombreuses questions, avant d'apporter une réponse...
    N'ayant pas trop le temps de parcourir l'autre forum, pourriez vous reposter ici les infos permettant d'expliciter ce qu'est le jalonnage, pour un béotien comme moi , et le fonctionnement de votre système ?

    Sinon:
    - a quoi sert le moteur de votre schéma ?
    - les diodes 1N4148 sont des diodes signal. monter plutôt des 1N4001 ...4007
    - d'où viennent les info plots 2 et 4 ? contacts secs (sans tension) ?
    - l'afficheur du schéma est un afficheur à commande parallèle et ne correspond pas au programme qui parle d'un afficheur série! (serout)
    - diode N4148 (à l'envers) sur le 15 de l'afficheur ? c'est la commande du rétroéclairage, normalement avec un potar. Revoir la doc...

    Je pense que le flowchart de P. Editor, est à revoir sérieusement en fonctions des infos que vous donnerez sur le fonctionnement du système.
    C'est un peu la limite de ce type de programmation qui peut conduire à un programme "tuyau de poêle"

    Vous commandez un moteur via une tempo ... il n'y a pas de fin de course ?
    Il est possible de mesurer le déplacement (impulsions ) en faisant autre chose en parallèle. Quelles sont les vitesses (km/h) mini maxi à prendre en compte?
    A quoi va servir le capteur capacitif ? niveau de la trémie? ( j'ai des doutes sur un inductif qui mesure de l'eau !!)

    consernant l affichage de la surface je l aimerai sous le format 2 chiffres avant la virgule et 2 apres , par ex 10.23 ha
    pas de problème pour ça ...
    C.3 est parfaitement accessible en tant que sortie. Il s'agit là encore d'une limitation liée au mode flowchart.

    De quel matériel disposez vous ? le picaxe ? l'afficheur ?

    A partir de vos infos, on refera un petit organigramme pour bien fixer les idées, avant de programmer quoique ce soit .

    Désolé de poser autant de questions, mais ce petit projet très intéressant est d'un domaine un peu inconnu pour moi, même s'il m'est arrivé souvent de concevoir des machines spéciales...

    Il y a une petite erreur concernant votre formule de calcul de la surface ... 130 est en diviseur : chaque impulsion correspond à 1/130 de m.
    De plus si vous affichez des 1/100 d'ha, il faut faire le calcul directement en ares.
    Last edited by PieM; 17-03-2012 at 07:48. Reason: Complément calcul...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  3. #3
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,501

    Default

    Bonjour,

    Je vois que JRTEC a posté sur ce forum. Je suis responsable de cette initialisation aux picaxes.
    J'ai eu le même post sur un forum d'électronique et j'ai fait les mêmes réponses.

    J'ai découvert le jalonnage: traces non semées que l'on voit dans les champs qui servent de repères pour les traitements ensuite.

    Ici, le jalonnage est fait sur un cycle de 4 aller retour, avec traces sur les passages 2 et 3.

    Il faut donc compter les passages et régler le semoir pendant le demi tour (moteur on, moteur off) avant et après ces passages.
    Il n'y a pas de fin de course, j'ai proposé un polyswitch.

    Prévoir la possibilité d’incrémenter ou de bloquer le comptage manuellement.

    Le picaxe est un 20M2, l'afficheur un LCD 1602 parallèle.

    Les infos: signal 0v ou 3 v pour la position du semoir (levé, baissé)

    Par de problèmes jusque là.
    Il faut aussi calculer la surface semée:

    Le signal fourni par le tracteur est une série d'impulsions (130 par mètre).

    Je voulais compter ces impulsions par une interruption sur C.3.

    Je simule par un générateur d'impulsions de 5 v et 50µs de 0 à 400Hz

    Mais le comptage est aléatoire et quelques conseils me seraient utiles, je n'ai pas beaucoup d'expériences avec les interruptions

    Pièces jointes le programme original avec comptage défaillant (pour info)

    Un programme simplifier pour tester le comptage des impulsions qui ne fonctionne pas mieux.
    Y a t il des contraintes sur les impulsions provoquant les interruptions?

    Merci

    MM
    Attached Files Attached Files

  4. #4
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,788

    Default

    Quote Originally Posted by MGU View Post
    je n'ai pas beaucoup d'expériences avec les interruptions
    Je n'ai pas non plus une grosse expérience, mais au vu de la doc :
    - la détection des interruptions est interrompue dès que l'on entre dans "interrupt" (point N°2 page 216 du tome 2)
    ==> il y a potentiellement des impulsions perdues pendant cette période,
    Je ne comprends pas à quoi sert la "pause 1"
    La variable "pulse" explose à 255, soit dès 2m parcourus...
    A priori, on travaille plutôt sur des changements d'état que sur des états : la raison est expliquée dans le manuel ... Si l'état ne change pas pendant l'interruption, alors une nouvelle interruption est déclenchée dès la sortie de "interrupt" pour la même impulsion !
    Il y a sur le forum anglais des exemples de code qui alternent la détection d'un état haut et d'un état bas pour contourner ce problème.
    Celà dit, avec des impulsions de 50µs, je ne suis pas sur que celà puisse marcher...
    Quand vous dites "comptage aléatoire" qu'observez-vous ?
    Quelque chose me dit que c'est comme le "background receive" : c'est du Canada Dry...
    Si c'est confirmé, il faut soit utiliser un processeur qui dispose d'interruptions hardware, soit utiliser un compteur externe (74LS393...)
    Last edited by BESQUEUT; 19-03-2012 at 15:01.

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

    Default

    Merci pour la réponse,

    j'essaie de compter des impulsions avec un 20M2 au moyen d'interruption.

    Je génère ces impulsions avec un générateur BF, signal carré, suivi d'un monostable (555)

    J'ai donc des impulsions de 50µs à une fréquence variable de 0 à 400Hz,(je ne sais pas si elles doivent avoir un durée minimum mais l'interruption détecte ici le front montant).

    Dans le programme d'interruption il y a uniquement l'incrémentation d'un compteur.
    Pour être sûr de ne pas compter la même impulsion 2 fois, j'ai ajouté une pause 1 (125 µs à 32MHz).
    L'impulsion est à 0 lorsque l'on sort de la routine.
    A 400H, T = 2500µs, je pensais avoir le temps de tout compter

    Le programme principal est une pause de 1 seconde
    Résultat attendu: 200 à 200 Hz , 100 à 100 Hz etc au moins
    mais à chaque déclenchement, le comptage est différent.

    Je vais revoir ma méthode de test.
    Si vous avez un test plus sûr ...

    MM
    Last edited by MGU; 15-06-2013 at 15:53.

  6. #6
    Senior Member
    Join Date
    Sep 2011
    Location
    Montpellier (FRANCE)
    Posts
    2,788

    Default

    Il me semble qu'un Picaxe standard (4Mhz) interprète environ 1000 instructions par seconde.
    A 32 Mhz, il interpete une instruction toutes les 125 µs, et c'est à ce moment qu'il évalue l'état du port. (voir la doc citée ci-dessus)
    Un petit chronogramme montre qu'il a une certaine probabilité de détecter l'interruption, mais c'est aléatoire...
    A moins qu'un spécialiste du Picaxe ne me détrompe, il faut réserver ces puces à l'enseignement et aux applications simples.
    Il semble que la série X gère de vraies interruptions hardware (flags). Si le modèle de Picaxe n'est pas figé, il y a peut-être une piste de ce coté.

    En supprimant le 555, et donc en attaquant directement le signal carré, on a plus de chances de détecter la bascule. Mais il faut une fois détecter un état haut, une fois un état bas (et supprimer la pause 1). Encore faut-il que le matériel réel délivre bien un signal carré...

    c est la fonction count qui me gene j ai l impression que durant le comptage le processeur ne fait rien d autre et qu il ne sera pas capable de voir si je relevge l outil a ce moment la.

    Je suggère de traiter le relevage comme une interruption. Il faut donc modifier le masque, et dans "interrupt" chercher ce qui a causé l'interruption.

    Pour le reste, il faut soit se tourner vers des microcontroleurs acceptant un langage compilé ou assembleur, soir faire appel à un circuit externe (comme suggéré ci-dessus).
    Last edited by BESQUEUT; 19-03-2012 at 17:47.

  7. #7
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,501

    Default

    Je vais allonger l'impulsion pour voir.

    Si c'est un problème de vitesse, un diviseur de fréquence en amont

    Avec le picaxe, s'essaie de faire simple, pour moi, et l'utilisateur final à part ce problème, le reste est OK.

  8. #8
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,912

    Default

    Bonjour,

    Merci pour l'explication du jalonnage ...

    Je crains que l'utilisation des interruptions sur un M2 conduise malheureusement à ce type de galère. L'idéal (?) serait sans doute d'utiliser un X2 avec des entrées INT un peu plus "hard"

    Je n'ai pas regardé en détail le programme qui me semble très bien structuré. (Pourquoi ne pas utiliser les symboles définis au début, dans le corps du programme ? il serait plus lisible ...)
    Mais j'aurais une remarque à faire sur l'analyse du problème, si je l'ai bien compris, en ayant une approche un peu différente.

    De fait, je considèrerais que l'essentiel du programme consiste à faire du comptage. tout le reste n'est qu'accessoire.
    Donc pendant que la passe du tracteur se fait, on compte les impulsions. les condition d'arrêt du comptage (action manuelle relevage ou BP etc ... ) conduisant à la séquence calcul, affichage, action moteur etc ...
    A la limite c'est cet arrêt comptage qui pourrait être sur interruption !

    L'affichage indiquant la passe en cours n'a pas besoin d'être réactualisé en cours de passe.
    Et l'indication de surface peut très bien n'être mise à jour qu'en fin de passe.

    Je crois que cela simplifierait le problème.

    Concernant le fin de course du moteur, vu le schéma, il est très facile d'intégrer une résistance de faible valeur entre moteur et masse commune, afin de mesurer par une entrée ana, la surintensité en fin de course.


    Concernant l'affichage, pour décomposer une variable word en ses composantes ascii, utilisez la commande bintoascii: BINTASCII surf, b10,b9,b8,b7,b6 b6 contenant les unités et b10 les dizaines de milliers.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  9. #9
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,912

    Default

    Je regardais votre programme simplifié:

    Code:
    interrupt:
    	
    	inc puls		'incrémenttation compteur impulsions
    	pause 1
    	setint %01000,%01000 'reset interruption hig sur C.3 
    	return
    Si on prends pour exemple un 18M2 à 4 MHz, l'incrémentation de puls va demander plus de 500 µs, la pause 1200 µs, le setint , je ne sais pas, et le return, près de 3 ms !!
    Donc tout est fait pour passer à coté de pulses !

    On est loin d'un Pic + assembleur ! La rançon d'un système interprété...
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

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

    Default

    En complément, si le choix du 20M2 n'est pas définitif, il serait préférable de s'orienter sur un 28X2 qui permet de traiter le problème grâce à son compteur externe sur C.0 .
    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
  •