Vai al contenuto
PLC Forum


consiglio applicazione - motorino corrente continua controllo


matmor

Messaggi consigliati

Salve a tutti

Non so se questa è la giusta collocazione per la mia discussione spero di si

comunque il mio problema è questo

devo pilotare un motorino alimentato a 12v cc

in entrambi i sensi di marcia, che serve alla regolazione del passo di un elica

il motorino viene alimentato tramite due contatti striscianti quindi non è possibile applicare niente all'interno del sistema

ho soltanto la possibilita di alimentare il motorino....

Io ho pensato di creare un programmino con un pic

che alimenta il motore ad onda quadra cioè on off con un tempo di on prefissato

contando gli impulsi dati al motore potro conoscere la posizione del motore

equindi evitare di sforzare il motore a fine corsa, per ovviare a sforzi avevo pensato ad un rele amperometrico.

qualcuno ha avuto lo stesso problema?????

Saluti a Tutti

Link al commento
Condividi su altri siti


Se riesci a mettere in asse al motorino un reed o un contato qualsiasi per contare i giri motore con un pic fai un controllo precisissimo,BYE.

Link al commento
Condividi su altri siti

il problema è che il motorino è all'interno di un blocco che a sua volta gira infatti il motorino è alimentato dall'esterno del blocco rotante tramite contatto strisciante, in pratiche all'interno del blocco elica c'è un motorino che esegue una regolazione all'interno del blocco elica...

Link al commento
Condividi su altri siti

Ciao,

Ovviamente se vuoi misurare con precisione i giri fatti dal motorino non hai altra scelta che avere un "riferimento" fisso (Reed, hall, opto ... etc) confrontato con uno "mobile".

Non ho chiaramente idea di come sia realizzato il sistema. Non puoi mandare una foto oppure un disegno?

Quando riesci ad ottenere un metodo per contare i giri il pilotaggio del motore e' abbastanza semplice

Ciao

Furno Gianluca

Link al commento
Condividi su altri siti

Puoi usare l'uscita PWM del pic, ovviamnete dovrai amplificare il segnale tramite transistor di potenza. Con questo segnale a duty sycle variabile puoi pilotare il tuo mototre a velocità variabile.

Per misurare la posizione è necesario avere un trasduttore della medesima.

Nel tuo caso, se la corrente assorbita non è tanta, ti consiglierei di abbandonare la soluzione PIC, usare un regolatore serie e misurare la corrente assorbita. Quando il tuo dispositivo arriva a fondo corsa la corrente aumenta e apri l'alimentazione.

Link al commento
Condividi su altri siti

  • 2 weeks later...

Ciao a tutti mi sono appena iscritto al forum e spero che qualcuno mi possa aiutare , ho appena comprato la scheda easypic 4 per lavorare con i pic e come compilatore uso il mikro C la versione demo per ora.

Per la scuola dovrei progettare e programmare un 16F877a che collegato a due display a sette segmenti fa da conta pezzi ora mi spiego meglio , con un pulsante collegato alle porte del pic si deve incrementare di un numero il conteggio fino ad arrivare a 30 , per poi ritornare a 0 e riprendere .

Non so se c'è qualcuno di voi che usa o a usato il compilatore della mikro C ma nella sezzione esempi c'è un programma display 7 segmenti 2 che esegue un conteggio da 0 a 99 in modo ciclico con un intervallo di tempo , come posso modificarlo per adattarlo alla mia esigenza c'è qualcuno che può aiutarmi ?

Ringrazio ancora tutti

Link al commento
Condividi su altri siti

Presumo che l'esempio di cui parli si limiti a convertire una variabile in due numeri BCD ed a visualizzarli.

Tu per realizzare il tuo contapezzi devi collegare il pulsante ad un ingresso del pic. Fai un temporizzatore usando l'interrupt sul timer1 (per esempio) e leggi la porta ogni 10 ms. Se riconosci la variazione 0--> dell'ingresso verifichi che mantenga lo stao 1 per almeno 10 ms (due letture consecutive), così fai anche un filtro antirimbalzo. Se la condizione è vera incrementi una variabile, se il valore della variabile è <=30 passi la variabile alla routine di visualizzazione, altrimenti poni a 1 la vaiabile e la passi alla routine di visualizzazione.

In questo modo visualizzerai il conteggio tra zero e 30, raggiunti 30 conteggi un ulteriore impulso causa il reset del contatore che conta 1 impulso.

Link al commento
Condividi su altri siti

come ti dice il caro livio ottieni un incremento tenendo in considerazione dell'antirimbalzo del pulsante filtrato di 10 ms .

se vuoi fare una cosa piu grezza puoi un intero per il cotnatore da visualizzare ed un intero per il debounce .

Per esempio

if ( pulsante ==1 and memoria ==0)

{

conteggio ++;

}

memoria=pulsante ;

Poi per convertire in bcd ci sono le librerie

Link al commento
Condividi su altri siti

Ciao e grazie a tutti sono riuscito a compilare il mio programma per quello che volevo si lo fatto come dice walterword grezzo ma funziona e per ora mi sembra un bun punto di partenza per me grazie ancora a tutti per il prezioso aiuto

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...