08 giugno 07, 16:53 | #1 (permalink) Top |
User Data registr.: 08-06-2007
Messaggi: 6
| 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 |
08 giugno 07, 18:28 | #2 (permalink) Top | |
UserPlus | Citazione:
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 | |
08 giugno 07, 22: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 |
09 giugno 07, 01:00 | #4 (permalink) Top | |
User Data registr.: 16-02-2007 Residenza: Trento
Messaggi: 694
| Citazione:
ciao Ultima modifica di Rumble : 09 giugno 07 alle ore 01:06 | |
09 giugno 07, 17:32 | #5 (permalink) Top | |
UserPlus | Citazione:
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 | |
12 giugno 07, 16: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 |
12 giugno 07, 16:37 | #7 (permalink) Top | |
UserPlus | Citazione:
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 16:42 | |
12 giugno 07, 17: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 ? |
12 giugno 07, 22: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 ? |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Aiuto pic16f84 | PoWeR | Circuiti Elettronici | 39 | 28 novembre 05 12:41 |
Giri motore | Wilcomir | Aeromodellismo | 11 | 08 novembre 04 11:21 |
Schema per PIC16F84.... | kriptor86 | Circuiti Elettronici | 5 | 11 marzo 04 19:13 |
Pic16F84 e seriale | dexterman | Circuiti Elettronici | 6 | 01 febbraio 04 17:59 |
Regolatore PIC16F84 --- Motore ? | flyer | Circuiti Elettronici | 3 | 22 dicembre 03 19:55 |