Visualizza messaggio singolo
Vecchio 12 giugno 07, 16:07   #6 (permalink)  Top
DDV1982
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