Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420



  1. #1
    MLI_Nancy

    Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420


    ------

    Bonjour !

    On a comme projet la commande d'un moteur à courant continue de 12V avec un potentiomètre, un LCD et un PIC18F2420.
    Nous avons réalisé l'étage de puissance convertissant le 230V secteur en 13V redressé.

    Il nous reste la programmation à faire.
    On doit obtenir sur l'écran la valeur en % de la vitesse du moteur. (Il tourne que dans un sens)
    Cette valeur doit être réglée grâce au potentiomètre.

    Comment pourrait-on programmer cela s'il vous plait ?

    Merci d'avance

    -----

  2. #2
    katmai

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    Salut et bienvenu,

    Ou en est tu niveau programmation?

    Personnellement je dirais commencer par lire la datasheet:
    -> Elle est disponible ici.

    Pour le LCD, on a aucune information difficile de répondre.

    En gros il faut que tu choppes l'information de ton potentiomètre à l'aide de ton PIC.
    Ensuite tu fais ta MLI (PWM) soit avec un timer soit avec un module PWM je crois que le tiens en a un (datasheet).
    Puis tu affiches sur ton LCD.

    Le plus simple c'est de décomposer/valider toutes les parties.

    A+

  3. #3
    MLI_Nancy

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    En fait, on ne sait pas récupérer la valeur du potentiomètre sur le PIC pour ensuite l'afficher sur l'écran LCD.
    Et doit-on faire une conversion Analogique-Numérique ?

  4. #4
    katmai

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    Si ton potentiomètre est analogique et que tu veux une valeur numérique dans ton PIC : tu dois faire la conversion.

    Tu peux utiliser une entrée analogique du PIC pour ça.

  5. A voir en vidéo sur Futura
  6. #5
    katmai

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    Au fait, c'est quoi l'application final?

    J'imagine que tu vas faire tourner ton moteur à vide dans un premier temps?

    A+

  7. #6
    spown

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    Bonjour/ bonsoir est bienvenue sur FUTURA,

    As tu essayé google avant ?

    Ta question est trop vaste, juste pour rappel c'est un endroit pour aider à résoudre des problèmes assez clairs , et non faire le devoir des autres
    Et pour finir voila ton bonheur, un tuto complet pour ton application, il te reste juste d'investiguer , lire et comprendre afin de passer à l'action.

    ==> http://www.ermicro.com/blog/?p=1461

    N’hésite pas de poser d'autre questions en cas d'obscur . Je te souhaites plus d'efforts

  8. #7
    MLI_Nancy

    Re : Contrôle Signal MLI avec un potentiomètre sur un PIC18F2420

    Re-bonjour à tous !
    Nous avons bien avancé. Mais nous avons un problème de compilation :

    "MoteurCC.c:85: error: type redeclared
    MoteurCC.c:85: error: conflicting declarations for variable "Toursmin" (MoteurCC.c:81)"

    Voici notre code :
    #include <p18cxxx.h>
    #include <stdio.h>
    #include "lcd pic.h"
    #include "can.h"
    #include "config_hard.h"
    #include "commun.h"

    #pragma config OSC = INTIO67
    //#pragma config OSC = HS
    #pragma config WDT = OFF
    #pragma config LVP = OFF

    #define rel_rouge PORTBbits.RB4
    #define rel_vert PORTBbits.RB5
    #define bpgauche PORTAbits.RA5
    #define bpdroit PORTAbits.RA6
    #define bpcentre PORTAbits.RA7
    #define rs PORTAbits.RA3
    #define e PORTAbits.RA2
    #define d4 PORTBbits.RB0
    #define d5 PORTBbits.RB1
    #define d6 PORTBbits.RB2
    #define d7 PORTBbits.RB3

    // déclaration des variables
    char ValAFF[6];
    char TrMin[4];
    char maChaine[17];
    char texte [16];
    char zero [2];
    double er=0;
    unsigned char timer;
    unsigned char compteur=0;
    double Vconv=0;


    unsigned char convertion (unsigned char voie)
    {
    unsigned int tmp;
    unsigned char ldr;
    ADCON0=voie*4+1; // activation du CAN
    ADCON2bits.ADFM=1; // range le resultat de la conversion dans adresh et 1.
    ADCON0bits.GO=1;
    while (ADCON0bits.GO==1);
    ldr=ADRESH*64;
    tmp=ADRESL/4;
    ldr=ldr+tmp;
    return ldr;
    }

    void main(void)
    {
    T0CON=0b00001000;
    TMR0H= -62500u/(256);
    TMR0L= -62500u % (256);

    INTCONbits.TMR0IE=1;
    INTCONbits.GIE=1;
    T0CONbits.TMR0ON=1;

    ADCON1=TOUT_DIGIT; // conversion en digitale

    #ifndef H_25MHz
    OSCCON=OSC_PROG;
    #endif
    OpenLCD();

    initCANnbVoie(1,8);

    do
    {
    CopieROM(texte," Compte tour ");
    Bourrer(texte, 16);
    MessageLCDram(texte);
    }
    while (compteur<=100);

    for ( ; ; )
    {
    compteur=0;
    Toursmin();
    }
    }
    void Toursmin(void)
    {
    Vconv=demConv(0);

    if(Vconv<=16 || Vconv>254)
    {
    CopieROM(texte," Valeur non OK ");
    Bourrer(texte, 16);
    MessageLCDram(texte);
    }
    else
    {
    er=Vconv+47;
    Dec65535(ValAFF,er);
    if (er==0 && er <=9)
    {
    CopieROM(TrMin," Tr/Min");
    }
    if (er==10 && er <=99)
    {
    CopieROM(TrMin," Tr/Min");
    }
    if (er==100 && er <=999)
    {
    CopieROM(TrMin," Tr/Min");
    }

    ConCatRAM(ValAFF, TrMin);
    Bourrer(ValAFF, 16);
    MessageLCDram(ValAFF);
    }
    do
    {
    }
    while(compteur<=15);

    }

Discussions similaires

  1. potentiomètre controle volume audio
    Par invitebf46c820 dans le forum Électronique
    Réponses: 14
    Dernier message: 07/03/2019, 08h03
  2. Réponses: 6
    Dernier message: 23/10/2013, 08h00
  3. signal 0-10V par potentiomètre sur entrée analogique
    Par invite6c370eb1 dans le forum Physique
    Réponses: 7
    Dernier message: 07/01/2013, 06h43
  4. Réponses: 9
    Dernier message: 14/06/2011, 11h03
  5. Contrôle numérique d'un potentiomètre
    Par invitec2dd4bfa dans le forum Électronique
    Réponses: 6
    Dernier message: 03/02/2010, 13h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.