Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Programmation BASIC11 (68HC11)



  1. #1
    Kormyx

    Smile Programmation BASIC11 (68HC11)

    Bonjour,

    Voilà je suis en Terminale S SI ( Science de l'Ingénieur pour ceux qui connaissent pas ) et ma classe participe au concours de robot des trophées de robotique.

    Pour ma part je m'occupe de la fonction déplacer - commande. En particulier la commande.
    On veut utiliser 2 roues motrices et pour les commander on utiliserait un joystick. Avec ce joystick ( donc c'est 2 potentiometres ) on doit pouvoir régler tous les mouvements du robot. En clair il faut pouvoir programmer quand est ce que les deux roue avancent, quand y en a qu'une qui tourne, quand c'est l'autre, quand les deux reculent.

    Pour ca on utiliserait un Hacheur. Entre le hacheur et les deux potentiomètres, notre prof m'a conseillé d'uitliser une carte 68HC11. Il m'a expliquer qu'il faudra la programmer. Il m'a dit d'utiliser BASIC11.
    Petit soucis, c'est que j'ai jamais utiliser ce logiciel ( ni aucun de programmation ) et donc je n'ai aucune idée de comment je dois faire ni par quoi commencer et surtout comment ca peut marché.

    J'ai commencé à lire le pdf de controlord.fr, & je comprend un peu comment on peut marquer des choses dans le programme, mais pour le moment aucune idée pour mon projet.

    Pouvez vous m'aider ? SVP

    -----


  2. Publicité
  3. #2
    abracadabra75

    Re : Programmation BASIC11 (68HC11)

    Bonjour Kormyx, et bienvenue su notre site.

    Tu touches là le problème général des µcontroleurs: il faut les programmer, puisque par eux-mêmes, ce sont des idiots ne sachant rien faire.
    Puisque tu n' en a jamais utilisé, il faut commencer par le.... commencement.
    Je suppose que tu as au moins quelques notions de base d' électronique, un µC étant un composant comme un autre, qui vont te permettre de le mettre en oeuvre.
    Et partant de là, fais l' expérience de base: clignoter une LED.

    Mais attention: à moins d' aller, sinon à la cata, au moins à la déconvenue, on n' écrit le programme qu' après avoir décomposé les actions à réaliser et en avoir la chronologie sur le papier, autrement dit d' en avoir fait l' organigramme (organisation écrite).
    Ensuite seulement, tu peux passer à la traduction de ces actions au moyen d' un langage de ton choix, Basic (11 ou autre), C, assembleur, Pascal, etc..., mais adapté à ton µP.

    Exemple de la LED:
    1) environnement matériel(l' électronique): un µP n' étant pas capable de délivrer de la puissance, il faut lui adjoindre une aide; dans le cas présent, on prendra un transistor. (Sous entendu: tu sais comment se commande et se monte un transistor pour allumer une led)
    2)composante logicielle: sachant qu' un µP (je ne rentre pas dans des cas particuliers) ne délivre sur ses broches que des niveaux logiques, haut et bas, comment vais-je attaquer le transistor pour qu' il allume ou pas la led? (Réponse: en faisant passer la broche sur laquelle le transistor est connecté au niveau ad hoc pour le mettre à l 'état passant ou bloqué).

    Autre question: le clignotement implique une notion de durée: comment mon µP va mesurer le temps d' allumage, d' extinction.

    Ce n' est qu' après avoir résolu sur le papier ces question et créé l' algorithme que tu pourras commencer la programmation.
    En n' oubliant pas ceci: un µP ne fait QUE ce que TU lui a dis de faire, et rien d' autre. S 'il ne le fait pas (ou fait autre chose), c'est que tu ne le lui as pas dit, ou que tu as dit autre chose (la logique des µP est implacable, celle des hommes est floue).

    Ne croies surtout pas que je veuille te décourager par mon préchi-précha de vieux... (censuré), mais mon expérience professionnelle m' a fait aussi bien voir les aléas de la programmation, que cotoyer des ...(recensuré) qui produisaient des pseudo programmes (fonctionnant très mal) faute de pratiquer ce que j' ai tenté de t'expliquer.
    Les µp sont des outils merveilleux, incontournables de nos jours. Prends la peine de les apprivoiser proprement. Ton prof a eu une bonne idée.

    Bon courage, et au besoin n' hésite pas à demander de l' aide (avec des questions précises).

    A+

    Ps. Félicitation pour ton orthographe: cela fait plaisir de voir qu' il y a encore au moins une personne ne faisant pas de 'fôtte grosiaire'.
    Dernière modification par abracadabra75 ; 03/01/2008 à 10h48.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  4. #3
    Kormyx

    Re : Programmation BASIC11 (68HC11)

    Tout d'abord merci de m'avoir répondu rapidement ( je dirais meme TRES ^^ ).

    Meme si le temps me manque pour notre robot, je pense que tu as raison. Il faut déja que je comprenne les bases et donc je vais essayer ton petit exercice.

    Pour être franc, a la premiere lecture de l'exo je n'ai pas bien compris car nous n'avons pas encore étudié cela en cours. Mais avant que tu me donnes des explications je vais m'attarder sur le probleme pour trouver moi meme le résultat.

    En tout grand merci de m'accorder un peu de temps.

    Juste une question : je peux faire ton exercice sans la carte ou pas ? Car mon prof n'a pas voulu me preter la carte pendant les vacances ( normal en meme temps c'est le matériel du lycée ) et il m'a dit que je pouvais faire un programme sans avoir le µC. L'exo est quand meme possible ?

  5. #4
    abracadabra75

    Re : Programmation BASIC11 (68HC11)

    Tu poses là encore une bonne question: la mise en oeuvre d' un µP n'est pas immédiate: il faut un support qui reçoive le dit µP, qui permette la liaison avec le terminal (l' objet) que tu veux commander. ce point est déjà spécifique et pour un projet tel que celui que tu envisages au départ, nécessitera une carte spécifique.
    En outre, il faudra pouvoir lui mettre 'dans le ventre' le précieux programme, donc une liaison entre ta carte et le PC, là encore spécifique suivant le protocole employé, USB, RS232, port //,....
    Et que tu puisses faire des aller et retours, un programme ne marchant JAMAIS du premier coup (je ne l' ai vu qu' une fois en 25 ans de pratique professionnelle, pour un exercice d' écoile).
    Pour commencer, il existe des cartes d' exercice qui permettent de faire des montages d' essais. Ultérieurement, il faudra que votre équipe se dote de moyens de fabriquer les cartes....
    Si on peut faire (presque) tout avec les µP, leur mise en oeuvre est moins immédiate qu' avec les composants discrets 'de papa'.
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  6. #5
    abracadabra75

    Re : Programmation BASIC11 (68HC11)

    J' étais distrait... Je n 'ai pas répondu à ta question en bleu.
    Relis ma première réponse: la programmation ne venant que lorsque le programme a été résolu sur le papier, il n' y a pas besoin de la carte.
    Commence par décomposer en blocs logiques ce que fait ton robot, comment il fonctionne (pour la led, c' est identique, il faut la décomposition):
    - faire tourner la roue droite
    - faire tourner la roue gauche
    -les deux tournent
    -une seule
    -le joystick penche à... ce qui produit l' action...
    -mise en route
    -arret
    et tutti quanti...
    relie ces blocs entr' eux pour voir comment la marche d' un mobile se décompose en mouvements élémentaires.
    Je reconnais que pour un débutant en programmation, ce n' est pas simple.
    Essaie déja avec le clignotement de la led.
    Bon courage.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  7. A voir en vidéo sur Futura
  8. #6
    Kormyx

    Re : Programmation BASIC11 (68HC11)

    A oki pas de probleme pour ton moment d'innatention j'ai rien vu et en plus ca risque de m'aider pour plus tard.

    Sinon je suis content ce que tu décris pour les parties du robot j'avais commencer à le faire sans le savoir en cours quand j'ai cherché le nombre de moteur dans tous le robot on avait besoin.

    Je vais essayer avec la LED et ensuite je m'attaquerai au robot. Encore merci pour ton aide.

  9. Publicité
  10. #7
    Gérard

    Re : Programmation BASIC11 (68HC11)

    Bonjour,
    http://www.planete-sciences.org/foru...5f63953ff9db2a
    Ci-dessus, on parle beaucoup robotique.

  11. #8
    Kormyx

    Re : Programmation BASIC11 (68HC11)

    Bonjour
    je suis de retour ^^

    Excusez moi j'ai eu un probleme de connection donc impossible de venir parler ici. Bon monsieur le professeur :P j'ai pas pu faire votre exercice car manque de temps et puis notre robot doit avancer le plus rapidement possible.

    Avec mon prof d'élec SI, on a commencé à travailler sur le travail "écrit". Alors comme on utilise un joystick c'est composé de deux potentiomètres.
    Pour créer le programme sur le 68HC11, on doit trouvé une formule mathématique linéaire ou un truc du genre ( dsl je sais plus très bien le nom qu'il a utilisé ).

    Alors là je ne peux pas vous scanner notre étude car jsuis au lycée là. Mais jvais essayer de vous l'expliquer.

    Alors ! Notre joystick nous servira donc pour se diriger. Il nous sert également pour varier la vitesse du robot. En effet plus il sera incliné plus il ira vite.
    On a fait un repère de 0 a 255 en absisce pour le Potentiometre Gauche/droite et de 0 à 255 en ordonnée pr le potentiomètre Haut/Bas .

    On cherche à trouver la valeur de alpha du potentiomètre qui varie de 0 à 1

    On a représenté le point centrale du joystick au point (127.5 ; 127.5) Puis on a établit un cercle représentant donc ainsi la circonférence du joystick. On a positionné les points cardinaux + les points en diagonale.

    Ensuite on a fait un changement de repère.

    Et la on coince.
    On a trouvé une formule assez simple pour les deux alpha

    alpha D= /255.CGD-255CHB+255/ le tout diviser par Racine de ( 2.255²)
    alpha G= /255.CGD+255CHB+255/ le tout diviser par Racine de ( 2.255²)

    Petit soucis on ne trouve pas les valeurs souhaité. Qqn peut -il nous aider please??

  12. #9
    abracadabra75

    Re : Programmation BASIC11 (68HC11)

    Je n' ai pas bien compris ton raisonnement, ni ce que signifient ces valeurs... Est-ce ce que ce sont des valeurs données par le µP?
    Je crois que vous vous compliquez la vie ne connaissant pas bien les possibilités du µp.
    Le port E peut être configuré en convertisseur analogique/digital.
    Les joysticks ont des potentiomètres linéaires(alimentés en 5V).Le curseur mis en entrée sur ce port E et la tension est convertie en valeur analogique 0,....,255.
    Dès qu' une variation de l' une des 2 valeurs est détectée, une interruption vous débranchera vers la routine ad hoc: tourner à droite, à gauche, avancer, reculer, accélérer, ralentir, déterminée par comparaison avec la valeur précédente et la nouvelle.
    Arbitrairement, on peut prendre 125 (valeur médiane approchée de 255) pour le neutre, ou une autre en fonction des commandes souhaitées.
    Encore une fois, la mise en oeuvre des µp n'est quasiment rien; ce qui est difficile c' est de composer le (bon) programme. C' est long à composer: mon expérience professionnelle m' a appris qu' il fallait environ deux mois pour composer un programme de projet moyennement complexe.
    Le principe reste le même si tu change de µP, peu importe sa marque.
    Bon courage.
    Dernière modification par abracadabra75 ; 25/01/2008 à 14h57.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  13. #10
    Kormyx

    Re : Programmation BASIC11 (68HC11)

    Merci encore une fois de cette réponse très rapide.

    Ca a l'air tout de suite bcp plus simple avec votre idée ^^. Mais en fait d'après ce que je comprend de votre réponse c'est que, comme vous le dites, c'est qu'il sera juste possible de faire les directions souhaitées. Nous on utilise en plus un variateur de vitesse donc ca veut dire que si on l'incline au max il ira a la vitesse max alors que si on l'incline plus légèrement il ira plus lentement.

    J'ai bien compris votre réponse ?

Sur le même thème :

Discussions similaires

  1. Le 68hc11
    Par gaga2410 dans le forum Électronique
    Réponses: 3
    Dernier message: 07/09/2007, 18h06
  2. Programmation MC 68HC11 PortA Potentiometre
    Par synapsus62 dans le forum Électronique
    Réponses: 3
    Dernier message: 14/02/2007, 18h34
  3. programmation 68HC11
    Par rob217 dans le forum Électronique
    Réponses: 5
    Dernier message: 30/12/2005, 23h12
  4. 68HC11
    Par nanard dans le forum Électronique
    Réponses: 2
    Dernier message: 24/08/2003, 13h59
  5. 68hc11
    Par 14bds75_cb dans le forum Électronique
    Réponses: 6
    Dernier message: 02/06/2003, 10h48