Aller au contenu


Contenu de Alex68

Il y a 53 élément(s) pour Alex68 (recherche limitée depuis 02-mai 13)



#19499 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 12 mars 2011 - 06:22 dans Robots roulants, chars à chenilles et autres machines sur roues

En fait mes accus 9V doivent être assez pourris parce qu'en pleine charge, on a 8.8V à ses bornes mais dès qu'on les branche au robot et qu'on le met sous tension la tension à leurs bornes chute vers 7,3V...donc la régulation à 5V tient pas longtemps...



#19446 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 08 mars 2011 - 06:47 dans Robots roulants, chars à chenilles et autres machines sur roues

Salut,
Voici deux photos de la bête :

http://img191.imageshack.us/i/dsc00346cp.jpg/

http://img156.imageshack.us/i/dsc00347x.jpg/



#19419 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 01 mars 2011 - 05:49 dans Robots roulants, chars à chenilles et autres machines sur roues

Salut,

Moins d'une semaine avant la fin du TPE, j'ai le plaisir de vous annoncer que mon premier robot est enfin terminé après des heures et des heures de tests et de bidouille. Dommage que je n'ai pas posté l'avancement du robot au fur et à mesure. Merci à Néo, Yoda et Eihis pour m'avoir aiguillé.

Voici donc ses caractéristiques finales :
-2 LED IR à deux niveaux de puissance + Tsop pour une détection à distance (distance réglable en changeant la fréquence émise par un NE555)
-2 micro-rupteurs + "antennes" à l'avant + deux autres sur les côtés (s'il se prend un mur en biais)
-2 CNY70 qui font office de capteurs de vide + un dont la led est cramé pour définir le seuil de détection avec la lumière infrarouge ambiante
-2 moto-réducteurs (dont la vitesse est ajustable avec un NE555) + L293D (qui chauffe un peu mais tant que je peux poser mon doit dessus...ça doit être bon ?)
-le tout orchestré par un PIC 16F88 programmé avec Flowcode. Les contacts et vides sont gérés par une interruption et les signaux venant du Tsop, par des conditions. Il y a aussi un système permettant au robot de ne pas se retrouver bloqué dans un coin (de table ou d'un mur) : plus les détections sont rapprochées, plus la rotation est importante (ça fonctionne assez bien).
-l'électronique est alimenté par deux accus 9V régulés à 5V (je vais changer le 7805 par un "low drop-out" pour améliorer l'autonomie) et les moteurs, 6 accus AA (environ 7.5V)
-le châssis et les roues sont en plexi

Cette première expérience en robotique m'a pris énormément de temps mais a été très enrichissante. N'hésitez pas si vous avez des questions ou des conseils. Je vous posterai une photo quand je pourrai.



#18922 HELP première programmation

Posté par Alex68 sur 14 décembre 2010 - 11:00 dans Programmation

Yahou ! J'ai réussi à faire clignoter ma LED ! (sans le bootloader) Merci encore. Par contre le programmation ne fonctionne pas tout le temps...peut-être à cause de faux contacts. Je n'arrive pas non plus à utiliser le PWM...je réessayerai demain.

salut !

Tu cherches a faire clignoter un led sur le port A , bit 0 :P
..ca doit marcher sur le papier,et vu le code ( meme s'il est sacrement étrange et peu optimisé ).


C'est juste un test.
Pour le code, je ne l'ai pas fait moi-même, j'ai fait un organigramme que Flowcode a traduit. Je m'intéresserai au C quand j'aurai plus de temps.



#18911 HELP première programmation

Posté par Alex68 sur 13 décembre 2010 - 11:42 dans Programmation

Salut,
Merci encore !
J'ai téléchargé le logiciel allant avec le Tinybootloader, mais il ne reconnaît pas le PIC.
Je vais donc essayer sans. Je fais mon programme avec Flowcode. Quand je compile l'organigramme, j'obtiens d'abord le fichier C

//************************************************************************************
//**
//** File name: C:\Documents and Settings\Standard\Mes documents\Flowcode1.c
//** Generated by: Flowcode v4.3.7.63
//** Date: Monday, December 13, 2010 23:12:41
//** Licence: Demo
//**
//** ***DEMO VERSION***
//**
//**
//** POUR UN USAGE NON COMMERCIAL
//**
//** http://www.matrixmultimedia.com
//************************************************************************************


#define MX_PIC

//Définir pour microcontrôleur
#define P16F88
#define MX_EE
#define MX_EE_TYPE2
#define MX_EE_SIZE 256
#define MX_SPI
#define MX_SPI_B
#define MX_SPI_SDI 1
#define MX_SPI_SDO 2
#define MX_SPI_SCK 4
#define MX_UART
#define MX_UART_B
#define MX_UART_TX 5
#define MX_UART_RX 2
#define MX_I2C
#define MX_I2C_B
#define MX_I2C_SDA 1
#define MX_I2C_SCL 4
#define MX_PWM
#define MX_PWM_CNT 1
#define MX_PWM_TRIS1 trisb
#define MX_PWM_1 0
#define MX_PWM_TRIS1a trisb
#define MX_PWM_1a 3

//Fonctions
#define MX_CLK_SPEED 20000000
#ifdef _BOOSTC
#include <system.h>
#endif
#ifdef HI_TECH_C
#include <pic.h>
#endif

//Données de Configuration
#ifdef _BOOSTC
#pragma DATA 0x2007, 0x2f2a
#endif
#ifdef HI_TECH_C
__CONFIG(0x2f2a);
#endif
#ifdef _BOOSTC
#pragma DATA 0x2008, 0x3ffc
#endif
#ifdef HI_TECH_C
__CONFIG(0x3ffc);
#endif

//Fonctions internes
#include "C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h"

//Déclarations de fonction Macro


//Déclarations de Variable



//Implémentations Macro

void main()
{

//Initialisation
ansel = 0;
cmcon = 0x07;


//Code d'initialisation d'Interruption
option_reg = 0xC0;


//Boucle
//Boucle: Tant que 1
while (1)
{
//Sortie
//Sortie: 0 -> A0
trisa = trisa & 0xfe;
if (0)
porta = (porta & 0xfe) | 0x01;
else
porta = porta & 0xfe;


//Pause
//Pause: 200 ms
delay_ms(200);


//Sortie
//Sortie: 1 -> A0
trisa = trisa & 0xfe;
if (1)
porta = (porta & 0xfe) | 0x01;
else
porta = porta & 0xfe;


//Pause
//Pause: 200 ms
delay_ms(200);


}


mainendloop: goto mainendloop;
}

void MX_INTERRUPT_MACRO(void)
{
}


Ensuite j'obtiens le fichier HEX et un message avec :

Warning unreferenced functions removed:

FCI_FLOAT_TO_STRING in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

FCI_NUMBER_TO_HEX in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

FCI_STRING_TO_INT in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

FCI_STRING_TO_FLOAT in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

Wdt_msDelay in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

Wdt_Delay_S in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

Wdt_Delay_Ms in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h

isinf in: C:\Program Files\Matrix Multimedia\Flowcode V4\FCD\internals.h


Le programme est-il viable ?



#18861 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 10 décembre 2010 - 08:08 dans Robots roulants, chars à chenilles et autres machines sur roues

Salut,

J'ai trouvé le Tinybootloader pour 16F88 8MHz et 20MHz, mais en ouvrant le fichier asm, j'ai vu que CCP1 était placé sur RB0...
Est-ce que tu pourrais m'envoyer la version 8 et 20MHz pour CCP1 sur RB3 ? (ou bien est-il possible de modifier le fichier asm ?)
Merci !



#18860 HELP première programmation

Posté par Alex68 sur 10 décembre 2010 - 08:01 dans Programmation

Merci beaucoup pour ton aide ! Je commence à y voir plus clair.
Par contre mon programmateur n'utilise pas la patte PGM mais le bootloader semble quand même installé.

J'ai réalisé cela, c'est avec ça et les pattes Tx Rx que je peux installer mon programme ? Avec quel logiciel ? J'ai aussi besoin du programme sous forme de fichier HEX ?

Sinon, comment faire sans le bootloader ?
Merci



#18831 HELP première programmation

Posté par Alex68 sur 09 décembre 2010 - 06:32 dans Programmation

Salut,
Je pense que l'on a tout ce qu'il faut pour programmer enfin ce PIC mais puisqu'on est complètement néophyte en la matière, on espère que quelqu'un puisse nous guider :

On s'est procuré deux PIC 16F88 et un clone du PICkit2. On a trouvé le fichier HEX du Tinybootloader version 16F88 pour 8MHz interne et celui pour 20MHz (mais on ne sait pas si CCP1 est sur B3).

On a aussi téléchargé le logiciel PICkit2 et programmé (in-circuit) les bootloader sur chaque PIC sans problème.

Au niveau de la conception du vrai programme, on a je pense compris le principe (en même temps avec Flowcode…). Le simulateur nous dit que cela fonctionne (mais on n'a pas encore testé réellement).
Avec Flowcode, on arrive à traduire l'algo en C et normalement en HEX (je dis normalement parce que parfois ça ne marche pas ; on a d'ailleurs téléchargé MPLAB + HI TECH C, Code Blocks...mais on ne sait pas s'en servir.)

Le seul problème, c’est que lorsqu’on met le programme en HEX sur le PIC avec le logiciel PICkit2, le bootloader déjà installé est supprimé… Comment faire ?

Merci beaucoup !



#18625 HELP première programmation

Posté par Alex68 sur 17 novembre 2010 - 01:25 dans Programmation

OK, je vais sûrement faire ça...je ne dois pas trop traîner...mais j'ai pas beaucoup de sous.
Qu'est-ce que vous pensez de ça, ça ou ce qu'on trouve ?
Ce sont vraiment des programmateurs ? Il n'y a rien besoin d'autre ? Parceque ça m'a l'air très peu cher par rapport à ce qu'on trouve sur d'autres sites...



#18616 HELP première programmation

Posté par Alex68 sur 15 novembre 2010 - 07:03 dans Programmation

Salut,
Désolé, le premier message est très imcomplet...
Donc j'aimerais programmer un 16F88 avec une communication série RS-232 (avec un MAX232 et un connecteur DB9) fait maison (je ne sais pas s'il fonctionne) mais je ne sais pas du tout comment envoyer un fichier hex ou C sur le PIC (logiciel, configurations)...
Quelqu'un pourrait me guider ?
Merci beaucoup !



#18608 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 14 novembre 2010 - 02:36 dans Electronique

Il y a simplement le critère du prix...deux fois moins cher pour plus de fonctions.



#18597 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 12 novembre 2010 - 10:25 dans Electronique

Google...il a beaucoup d'avantages que le 16F84 n'a pas. J'en ai déjà acheté deux.



#18596 HELP première programmation

Posté par Alex68 sur 12 novembre 2010 - 10:23 dans Programmation

Salut,
J'ai fait un programmateur maison sur une plaque sans soudure et j'ai simplement essayé d'envoyer un petit programme avec Flowcode, mais évidemment ça n'a pas marché...mais je crois que la puce à quand même été détectée...c'est déjà ça. Quelqu'un peut m'expliquer comment faire avec Flowcode ou MPLAB ou Icprog (ou autre ?) à partir du fichier hex ou C ?
Merci !



#18579 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 11 novembre 2010 - 06:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Le bootloader doit être programmé sous Mplab

Je peux vous programmer ce fichier.


C'est-à-dire ? Vous pouvez m'envoyer le fichier .hex ?



#18578 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 11 novembre 2010 - 06:24 dans Electronique

Parcequ'il ne convient sûrement pas pour le 16F88.



#18547 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 09 novembre 2010 - 04:45 dans Electronique

Salut,
Le problème c'est que la seul programmateur que j'ai trouvé pour 16F88 c'est celui là et je crois qu'il est fait pour être intégré.
Si je ne parviens pas à programmer le PIC, je me rabattrais sur un tout fait.



#18535 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 08 novembre 2010 - 09:30 dans Electronique

Je parle de ce programmateur :

Pour ma part j'ai réalisé ce programmateur:
Image IPB


Il n'est pas intégré au IRbobot ?
J'aimerais réaliser le programmateur en fin de cette page : http://www.unixgarden.com/index.php/embarque/developper-en-c-sur-pic-avec-sdcc
Mais je ne sais pas si je peux relier autre chose au 2 pattes utilisées pour le programmateur...
Merci



#18530 Programmateur fait-maison du IR Bobot

Posté par Alex68 sur 08 novembre 2010 - 05:56 dans Electronique

Salut,
Ton programmateur, si j'ai bien compris, est intégré au robot. Les pattes du PIC auxquelles est reliées le programmateur (RB6 et 7 sur l'image), peuvent-elles être reliées/servir en même temps à autre chose (capteur, vers commande moteur...etc) ?
Merci !



#18478 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 02 novembre 2010 - 02:03 dans Robots roulants, chars à chenilles et autres machines sur roues

Ensuite, le mode haute Z correspond à une broche en l'air. Donc elle ne fournit, ni ne reçoit du courant. résultat le Del sera éteinte.

Et pour finir, concernant le courant maximal en sortie fourni par une ligne du PIC, il ne faut pas dépasser 10mA, 15mA.
Tu dois donc utiliser un transistor pour amplifier le courant. Et tu "brideras", en bon électronicien, on dit "limiter" le courant à 100mA avec une résistance en série.


Ok ok je passe aux tests dès que je retourne au lycée...
Mais je comprends pas tout niveau programmation :

Alors pour faire tourner le PIC à 20MHz, il faut programmer un bootloader à 20MHz en horloge externe.


Où puis-je trouver ce bootloader ? (20MHz, MLI sur B3)

Je vais devoir utiliser les pattes B2 et B5 pour la programmation : si ces pattes sont branchées à d'autres choses en même temps (L293D, capteur), ce n'est pas gênant ?



#18474 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 01 novembre 2010 - 10:26 dans Robots roulants, chars à chenilles et autres machines sur roues

Je me pose encore quelques questions :

J'ai cru comprendre qu'une sortie en haute impédance sur un µC n'envoie ni un 0 ni un 1, donc ni 0V, ni 5V (2.5V?).
Donc si je veux donner 2 niveaux de puissance aux LEDs (branchées chacune à une seule patte du 16F88), je peux utiliser ce troisième état logique (0 = éteinte, haute impédance = allumée +, 1 = allumée +++).
Par contre je ne sais pas du tout comment faire pour programmer cela... Quelqu'un peut m'aider ?

Le PIC peut délivrer 50mA maximum à ses sorties, or, la LED que j'utilise en consomme 100 pour 1.3V : faut-il que je la branche avec une résistance absorbant les 3.7V en trop ou dois-je mettre une plus grosse résistance pour que la LED ne consomme que 50mA ? (Autrement dit, si la LED demande plus que les 50mA max., sera-t-elle "bridée" à 50mA par le µC ou faut-il que je le fasse avec une résistance ?

Merci !



#18462 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 30 octobre 2010 - 09:18 dans Robots roulants, chars à chenilles et autres machines sur roues

Ah d'accord.
Pour le PWM, je peux donc laisser tomber pour commander la vitesse des moteurs de cette façon avec un 16F88. J'ai vu qu'on pouvait utiliser les interruptions avec Flowcode mais je ne sais pas comment faire.

Je viens de découvrir qu'on pouvait interrompre le programme n'importe où lorsqu'on passe de 0 à 1 (ou inversement) sur B0. C'est beaucoup plus pratique que d'"interroger" chaque entrée ! Par contre j'ai pas trouvé le moyen de l'appliquer à d'autres pattes que B0...quelqu'un sait comment faire ? (EDIT : j'ai trouvé, c'est pas possible)

Pour le Tinybootloader, d'après ce que j'ai compris, il fait que le 16F88 utilise son horloge interne. Si je veux utiliser un horloge externe de 20MHz, comment dois-je faire ?



#18455 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 29 octobre 2010 - 07:54 dans Robots roulants, chars à chenilles et autres machines sur roues

Salut,
Je me pose quelques questions :

L'installation d'un bootloader sur le PIC est-il obligatoire ? A quoi sert-il ? Y a-t-il d'autre "préprogrammes" à installer ou je peux directement le mettre sur le µC ?

Je commence a comprendre comment utiliser la fonction PWM sur FLowcode, mais on ne peut pas voir les LEDs qui clignotent quand on simule.
Si je l'utilise normalement, le signal PWM sera envoyé par la patte RB0 lorsque celle-ci devra envoyer un 1, c'est bien cela ?
J'aimerais deux signaux PWM...comment faire ?

Merci !



#18451 Vends bcp de chose

Posté par Alex68 sur 29 octobre 2010 - 10:38 dans Reventes, matériel d'occasion, récup

Salut,
Le lot de 8 piles a-t-il été vendu ?
Si non, je suis preneur.
Merci



#18450 "Classique" robot détecteur d'obstacle

Posté par Alex68 sur 28 octobre 2010 - 08:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Salut,

Quelques infos sur l'avancement du projet :

Les composants sont commandés (et le lycée a même payé la moitié :D ). Il me manquera sûrement quelques trucs que j'achèterai en boutique.

Pour le capteur de vide, on va essayer d'utiliser deux CNY70 : la puissance des LED sera réglé à l'aide d'un potentiomètre, et grâce à cela + un ampli op avec un autre potentiomètre, je pourrai régler le distance de détection (ou au moins l'optimiser). J'espère juste que le système ne sera pas trop perturbé par le lumière IR parasite.
On fera de toute façon plein de tests dès que la commande arrive.

Je pense que la sortie du microrupteur et celle du CNY70 du même côté du robot seront réunies en une patte. Cela délivre 2 pattes que je vais utiliser pour donner 3 niveaux de puissance aux LED et donc trois distances de détection grâce aux explications de Leon.

J'ai jeté un coup d'oeil à la partie alimentation du robot et j'ai vu que je l'avais largement négligé...un accu 9V 175mAh ne durerait pas longtemps... Cette accu + un régulateur sera utilisé pour l'électronique et le moteur sera alimenté par 4 ou 6 accus 1.2V 2500mAh + un potentiomètre.


Côté programmation :

Je vais utiliser ce programmateur. (bas de la page)
Je ne me suis pas encore penché sur la question du bootloader (je crois qu'ils en parlent sur le lien et sur le site que me conseille Yoda)

J'ai déjà écrit un programme entier (qui marche, selon le simulateur) mais il va falloir que j'ajuste la durée des pauses et il y aura sûrement d'autres modifications à faire.
Je n'arrive toujours pas à me servir du PMW sur Flowcode, alors je vais bidouiller le programme et faire des tests avec un logiciel du lycée (Latis Pro).
Par contre si quelqu'un a le bout de programme en C qui permet de faire ça je suis preneur, car je peux insérer des bouts de programme en C sur Flowcode.

Voilà ! J'espère que la commande arrive bientôt et qu'il n'y aura pas trop d'imprévus lors des tests.
Je pense qu'on aura encore besoin de vous pour mettre le programme sur le PIC.

Merci !



#18321 Plateforme de Programmation

Posté par Alex68 sur 14 octobre 2010 - 09:41 dans Programmation

Désolé de polluer ton post. Si tu peux me renseigner Yoda, tu peux le faire par MP ou sur mon post.