Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 08 giugno 07, 15:53   #1 (permalink)  Top
User
 
Data registr.: 08-06-2007
Messaggi: 6
Question PIC16F84 & motore stepper 200 giri

Salve a tutti, sono nuovo del forum.....
Sto lavorando ad un progettino semplice semplice con un motore stepper. Ora però il mio lavoro si è un po arenato, perchè ho dei problemi con la realizzazione del circuito...ne ho fatto uno su una millefori, ma perso di aver commesso dei grossolani errori in fase di progettazione. Un pò sono dovuti all' inesperienza, ma un pò anche alla scarsa disponibilità di materiale in cui sono in possesso...

In pratica io devo collegare lo stepper di 200 passi/giro (stepper unipolare) all' uscita delle porte IO del pic....
Ho creato questo chema, ma non credo che i componenti utilizzati vadano bene...come res di uscita ho messo 4 x 10 k e come transistor ho urilizzato dei TIP31C che avavo usato tempo fa per fare un ponte H per pilotare un motorino in CC .....Inoltre dovrei utilizzare altri 4 diodi per il ricircolo della corrente, ma non so quale tipo di diodo scegliere...1N4007 ??? non credo, perchè se ho ben capito , i diodi che vanno attaccati all'induttanza devono essere dei diodi molto veloci, ....
Lo schema pensato (e purtroppo già montato) è questo.....
Se lo provo con i motori stepper a 12 V BRUCIO I TRANSISTOR ?????

Attendo risposte, distinti saluti, DDV
Files allegati
Tipo file: zip CIRCUITO.zip‎ (16,1 KB, 439 visite)
DDV1982 non è collegato   Rispondi citando
Vecchio 08 giugno 07, 17:28   #2 (permalink)  Top
UserPlus
 
L'avatar di protomax
 
Data registr.: 21-02-2005
Residenza: TURIN 45N 7E
Messaggi: 1.951
Invia un messaggio via MSN a protomax
Citazione:
Originalmente inviato da DDV1982
Salve a tutti, sono nuovo del forum.....
Sto lavorando ad un progettino semplice semplice con un motore stepper. Ora però il mio lavoro si è un po arenato, perchè ho dei problemi con la realizzazione del circuito...ne ho fatto uno su una millefori, ma perso di aver commesso dei grossolani errori in fase di progettazione. Un pò sono dovuti all' inesperienza, ma un pò anche alla scarsa disponibilità di materiale in cui sono in possesso...

In pratica io devo collegare lo stepper di 200 passi/giro (stepper unipolare) all' uscita delle porte IO del pic....
Ho creato questo chema, ma non credo che i componenti utilizzati vadano bene...come res di uscita ho messo 4 x 10 k e come transistor ho urilizzato dei TIP31C che avavo usato tempo fa per fare un ponte H per pilotare un motorino in CC .....Inoltre dovrei utilizzare altri 4 diodi per il ricircolo della corrente, ma non so quale tipo di diodo scegliere...1N4007 ??? non credo, perchè se ho ben capito , i diodi che vanno attaccati all'induttanza devono essere dei diodi molto veloci, ....
Lo schema pensato (e purtroppo già montato) è questo.....
Se lo provo con i motori stepper a 12 V BRUCIO I TRANSISTOR ?????

Attendo risposte, distinti saluti, DDV
Se non hai altro per le mani usa gli 1N4007 te la cavi con poco e hanno buona reperibilita'

Per i TIP31C sappi che hanno un guadagno molto basso da 10-25 max 50 nei migliori dei casi quindi la corrente che puoi amplificare sara' limitata al massimo tra 100 e 250mA supponendo di pilotare con 10mA di base ...

Io ti consiglio di utilizzare un driver tipo L298 ti semplifica di molto la vita e puoi dare a questo driver direttamente i segnali del PIC.

Fai conto pero' che il pilotaggio dei motori PP deve essere fatto per lo piu' in corrente tramite retroazione guardati il datasheet di L297 / L298 puo' esserti d'aiuto
__________________
C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano.
________________________________________________
ProtoMax proudly present: ProtoMeter 2
32bit ARM core + ZigBee Radio all in one Telemetry system
... Next on this forum
protomax non è collegato   Rispondi citando
Vecchio 08 giugno 07, 21:20   #3 (permalink)  Top
User
 
Data registr.: 08-06-2007
Messaggi: 6
Ok, ma visto che non ho tempo per riscrivere il firmware per il pic e non ho il materiale (L298 e quell'altro che non mi ricordo il nome) per rifare il driver per lo stepper, posso utilizzare il circuito che ho costruiti ????Secondo voi è forse meglio se cambio la resistense sulle basi dei transistor (10k) con delle resistenze da 1k ????? Per avere una maggior corrente sul collettore...... Penso proprio di si....
Cosa mi consigliate di fare ???

Distinti saluti, DDV
DDV1982 non è collegato   Rispondi citando
Vecchio 09 giugno 07, 00:00   #4 (permalink)  Top
User
 
Data registr.: 16-02-2007
Residenza: Trento
Messaggi: 694
Citazione:
Originalmente inviato da DDV1982
Ok, ma visto che non ho tempo per riscrivere il firmware per il pic e non ho il materiale (L298 e quell'altro che non mi ricordo il nome) per rifare il driver per lo stepper, posso utilizzare il circuito che ho costruiti ????Secondo voi è forse meglio se cambio la resistense sulle basi dei transistor (10k) con delle resistenze da 1k ????? Per avere una maggior corrente sul collettore...... Penso proprio di si....
Cosa mi consigliate di fare ???

Distinti saluti, DDV
come finali uso lmd18245 , ottimi, ho fatto un controller a 64 micropassi per un telescopio, se vai sul sito del costruttore e guardi alla voce sample ce anche il modo di scroccare qualche componente
ciao

Ultima modifica di Rumble : 09 giugno 07 alle ore 00:06
Rumble non è collegato   Rispondi citando
Vecchio 09 giugno 07, 16:32   #5 (permalink)  Top
UserPlus
 
L'avatar di protomax
 
Data registr.: 21-02-2005
Residenza: TURIN 45N 7E
Messaggi: 1.951
Invia un messaggio via MSN a protomax
Citazione:
Originalmente inviato da DDV1982
Ok, ma visto che non ho tempo per riscrivere il firmware per il pic e non ho il materiale (L298 e quell'altro che non mi ricordo il nome) per rifare il driver per lo stepper, posso utilizzare il circuito che ho costruiti ????Secondo voi è forse meglio se cambio la resistense sulle basi dei transistor (10k) con delle resistenze da 1k ????? Per avere una maggior corrente sul collettore...... Penso proprio di si....
Cosa mi consigliate di fare ???

Distinti saluti, DDV
allora non ho idea se sai come dimensionare le resistenze in quella configurazione ba guarda che con quei transistor ci vai poco se a monte non hai la possibilita' di fornirgli corrente.

Il pic penso che piu' di 5/10 mA non possa darti e con que HFE fasso ci fai poco :

Ic = HFE * Ib
(in modo statico con Ib che come tidicevo non e' piu' di 5/10mA guarda le catteristiche dei pic in modo USCITA ALTA)

Otterrai al massimo 10mA * 50 = 500mA ma proprio nella migliori delle ipotesi.

In ogni caso sappi che la Ib si calcola cosi':

Ib = (Vpinpic - Vbesat ) / Rb se ti ricavi Rb puoi ottenere la Ib ;-)))

Vpinpic = 5V se aliemnti il pic a 5V ed e' il livello alto dell'uscita ;-)))

Mentre Vbesat = e' la tensione di saturazione della giunzione di base circa 0.7V
__________________
C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano.
________________________________________________
ProtoMax proudly present: ProtoMeter 2
32bit ARM core + ZigBee Radio all in one Telemetry system
... Next on this forum
protomax non è collegato   Rispondi citando
Vecchio 12 giugno 07, 15:07   #6 (permalink)  Top
User
 
Data registr.: 08-06-2007
Messaggi: 6
Ok, il problema del circuito l'ho risolto inserendo dei darlington...

Ora il problema è il firmware....il motorino non gira come pensavo...va avanti poi si si blocca poi ritorna indietro, poi ripearte per un tot di passi....e così via....

il firm scritto è elementare (in C) . Ho fatto delle simulazioni e sembra andare...in realtà non è così....
void main(){
unsigned char dato;
unsigned int i;
INTCON = 0;
TRISB=0x00;
dato=0x01;
/*
PORTB=dato;
DelayMs(60);*/
for(;;){
PORTB=0x01;
DelayMs(5);
PORTB=0x02;
DelayMs(5);
PORTB=0x04;
DelayMs(5);
PORTB=0x08;
DelayMs(5);
/*
dato=dato<<1;
PORTB=dato;
DelayMs(60);
if(dato==0x08) {
dato=0x01;
DelayMs(60);
**
*/
**
**//fine main

Secondo me il problema è che il motorino non si muove con i passi
0001
0010
0100
1000
0001, ovvereo si muove così ma non mettendo le fasi del motore in configurazione A/B/C/D....secondo me dovrei trovare l'ordine esatto delle fasi, ma non so come fare .....ho trovato quali sono le 4 fasi (bianco-rosso, rosso, verde, biancoverde) ma non so in che ordine metterli per fare girare il motorino in un verso con il codice
0001
0010
0100
1000 (wavemode)

Attendo risposte, ciao a tutti
DDV1982 non è collegato   Rispondi citando
Vecchio 12 giugno 07, 15:37   #7 (permalink)  Top
UserPlus
 
L'avatar di protomax
 
Data registr.: 21-02-2005
Residenza: TURIN 45N 7E
Messaggi: 1.951
Invia un messaggio via MSN a protomax
Citazione:
Originalmente inviato da DDV1982
Ok, il problema del circuito l'ho risolto inserendo dei darlington...

Ora il problema è il firmware....il motorino non gira come pensavo...va avanti poi si si blocca poi ritorna indietro, poi ripearte per un tot di passi....e così via....

il firm scritto è elementare (in C) . Ho fatto delle simulazioni e sembra andare...in realtà non è così....
void main(){
unsigned char dato;
unsigned int i;
INTCON = 0;
TRISB=0x00;
dato=0x01;
/*
PORTB=dato;
DelayMs(60);*/
for(;;){
PORTB=0x01;
DelayMs(5);
PORTB=0x02;
DelayMs(5);
PORTB=0x04;
DelayMs(5);
PORTB=0x08;
DelayMs(5);
/*
dato=dato<<1;
PORTB=dato;
DelayMs(60);
if(dato==0x08) {
dato=0x01;
DelayMs(60);
**
*/
**
**//fine main

Secondo me il problema è che il motorino non si muove con i passi
0001
0010
0100
1000
0001, ovvereo si muove così ma non mettendo le fasi del motore in configurazione A/B/C/D....secondo me dovrei trovare l'ordine esatto delle fasi, ma non so come fare .....ho trovato quali sono le 4 fasi (bianco-rosso, rosso, verde, biancoverde) ma non so in che ordine metterli per fare girare il motorino in un verso con il codice
0001
0010
0100
1000 (wavemode)

Attendo risposte, ciao a tutti
Mi pare che non funzioni proprio cosi' il motore unipolare :S

Oltretutto hai provato a vedere se la corrente e' sufficiente e come hai dimensionato le resistenze con i darlingthon ?
__________________
C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano.
________________________________________________
ProtoMax proudly present: ProtoMeter 2
32bit ARM core + ZigBee Radio all in one Telemetry system
... Next on this forum

Ultima modifica di protomax : 12 giugno 07 alle ore 15:42
protomax non è collegato   Rispondi citando
Vecchio 12 giugno 07, 16:10   #8 (permalink)  Top
User
 
Data registr.: 08-06-2007
Messaggi: 6
Il darlington è un db677, e le resistenze di base sono tutte da 1,8 k.......

Io ho trovato in rete questo....

Wawemode - One phase drive http://hobbytron.altervista.org/circuiti/stp1.htm
e pensavo che andasse bene il wawemode....è come preare un baffer di 4 bit e basta schiftare(>> o <<) un dit per cambiare verso di rotazione....ma mi sa che sto sbagliando qualcosa... voi cosa ne dite ????

Per adesso vorrei far ruotare in senso orario il motore stepper... poi in futuro farò altre cose, ma per adesso mi basterebbe capire dove sto sbagliando....

qualcuno può darmi una mano ?
DDV1982 non è collegato   Rispondi citando
Vecchio 12 giugno 07, 18:47   #9 (permalink)  Top
User
 
L'avatar di rivp6
 
Data registr.: 11-10-2004
Residenza: out of Verona
Messaggi: 573
auguri!
Files allegati
Tipo file: txt StepMotor.c.txt‎ (5,7 KB, 419 visite)
rivp6 non è collegato   Rispondi citando
Vecchio 12 giugno 07, 21:41   #10 (permalink)  Top
User
 
Data registr.: 08-06-2007
Messaggi: 6
Ti ringrazio, ma purtroppo non mi è stato di grosso aiuto....non ci ho capito molto...anche perchè non capisco dove siano certe finzioni, come ad esempio mInitMotor() ;
non c'è nessuna inizializzazione..o almeno io non l'ho notata...

Qualche altro suggerimento ?
DDV1982 non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Aiuto pic16f84 PoWeR Circuiti Elettronici 39 28 novembre 05 11:41
Giri motore Wilcomir Aeromodellismo 11 08 novembre 04 10:21
Schema per PIC16F84.... kriptor86 Circuiti Elettronici 5 11 marzo 04 18:13
Pic16F84 e seriale dexterman Circuiti Elettronici 6 01 febbraio 04 16:59
Regolatore PIC16F84 --- Motore ? flyer Circuiti Elettronici 3 22 dicembre 03 18:55



Tutti gli orari sono GMT +2. Adesso sono le 01:18.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002