Oppure

Loading
28/05/09 21:21
kanap57
Da poco mi sono avvicinato ai motori passo passo. Dopo essermi documentato sul loro funzionamento (unipolari) ho cercato di controllarli tramite la porta parallela del mio PC. Ebbene ho dapprima montato una schedina elettronica per interfacciare il motorino alla parallela, poi ho scritto un programma con VB6 per poterlo pilotare. Essendo un autodidatta sia di elettronica che di informatica ho scritto un programmino alquanto rozzo, ma comunque funzionante, con dei cicli FOR NEXT in un LOOP nel quale era inserita la sequenza di controllo dei 4 bit della parallela che erano collegati alle fasi del motore. Come ripeto funzionava a meraviglia, variando la lunghezza dei cicli FOR NEXT variavo la velocità del motore sia in un verso che in quello opposto, ottenendo la velocità massima. Pensando però che questo sistema non fosse molto ortodosso in quanto se lo stesso programma veniva eseguito da diversi PC ognuno avrebbe eseguito i cicli FOR NEXT con una differente velocità (nel caso ovviamente di processori differenti), allora ho pensato di inserire la sequenza delle fasi in un TIMER. Sembrava la soluzione ideale, purtroppo però non riesco a ottenere la stessa velocità massima che avevo con il vecchio programma. Sicchè su internet ho trovato un sorgente in VB per pilotare il passo passo utilizzando un timer, ma anche questo programma portava la velocità massima come la mia, cioè lenta. Ho trovato un programmino che funzionava bene con il quale si regolava la sequenza delle fasi in m/sec però non c'era il sorgente.
Qualcuno ha avuto esperienza con questi programmi? e magari può inviarmi il sorgente?
Scusate se mi sono dilungato troppo e fosse in modo non chiaro comunque vi ringrazio per la pazienza.
Saluti
aaa
28/05/09 22:24
theprogrammer
Puoi usare, tra una chiamata e l'altra, la API Sleep per controllare il ritardo in millisecondi ma, attenzione, perche' esiste un minimo (circa 10 o 15 ms) per la precisione di questa API.

Oppure puoi usare i timer multimediali, che sono piu' precisi.

Ovviamente, il massimo lo ottieni senza alcun ritardo.
aaa
29/05/09 11:31
kanap57
Non è che potresti mandarmi un listato di prova.
Ti ringrazio comunque per avermi risposto
aaa
29/05/09 12:30
theprogrammer
Non c'e' un listato da mandare ... devi solo usare la Sleep ...
aaa
29/05/09 13:56
acromangelo
Io faccio elettronica a scuola e sono un autodidatta in informatica e ho sempre desiderato unire le 2 cose!!! Non è ke mi manderesti il materiale ke stai usando?? magari il source del programma e lo schema della scheda collegata alla porta parallela..Grazie mille!
aaa
29/05/09 19:21
kanap57
Postato originariamente da kanap57:

Non è che potresti mandarmi un listato di prova.
Ti ringrazio comunque per avermi risposto

purtroppo non capisco cosa significa usare la sleep, se pazientemente potresti essere più chiaro.
Scusami e grazie
aaa
29/05/09 19:23
kanap57
Postato originariamente da acromangelo:

Io faccio elettronica a scuola e sono un autodidatta in informatica e ho sempre desiderato unire le 2 cose!!! Non è ke mi manderesti il materiale ke stai usando?? magari il source del programma e lo schema della scheda collegata alla porta parallela..Grazie mille!

Sì acromangelo posso mandarti sia il listato del programma che lo schema dell' interfaccia, dovresti contattarmi in privato
aaa