prime prove e inizia la confusione

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

prime prove e inizia la confusione

Messaggio da francesco606 » mercoledì 19 novembre 2008, 21:30

Salve oggi ho provato a buttare giu un firmware per la gestione passo passo con mach 3 il risultato e che su demoboard il firmware sembra funzionare cioe ad ogni impulso fa un passo ma quando è mach3 a dare gli impulsi nulla non si muove nulla
qualcuno puo darmi una mano a capire dove sbaglio.
Grazie a tutti

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » mercoledì 19 novembre 2008, 22:32

dalle informazioni che dai mi tocca tirare ad indovinare
in mach è possibile anche regolare il tempo di impulso
in motor tuning trovi quella vole e prova a portarla a 5 ms.
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » mercoledì 19 novembre 2008, 23:01

scusa fiser hai ragione allora ti spiego la situazione:
ho provato il mio firmware sulla scheda che ho la cnc6 che è composta appunto da 3 pic 16f628 (da li parte l'idea di volere realizzare un firm tutto mio) il segnale è mandato da un uln2008 che ricevi i segnali della porta parallela e li manda ai pin del pic. Ora ho notato che da uln2008 esce il negativo come segnale e non il positivo quindi ho impostato il pic che faccia il passo quando riceve il segnale negativo ma non va e come se non ricevesse il segnale . ho messo un led apposto del pic e il segnale si vede chiaramente che lampeggia ho provato a mettere i passi al minimo ed il led lampeggia lentissimo ma il pic di fare un passo non ne vuole sapere . sai aiutarmi a risolvere il problema ?
Grazie mille

Avatar utente
vito37
Member
Member
Messaggi: 243
Iscritto il: sabato 22 marzo 2008, 12:16
Località: Palo del Colle (BA)

Re: prime prove e inizia la confusione

Messaggio da vito37 » giovedì 20 novembre 2008, 9:04

La spiegazione è chiarissima, ma darti delle indicazioni precise e che vadano bene al primo tentativo è difficile.

Se avessimo più dettagli, tipo schema elettrico, foto del prototipo da dove sia possibile constatare che non ci siano errori e listato, allora la cosa sarebbe fattibile.

So per esperienza che qualsiasi progettista, anche se hobbista, non condivide volentieri tutto il suo lavoro pubblicamente (specialmente il software), quindi sei ampiamente scusato nel caso non abbia voglia di pubblicare tutto, ma di primo acchito è l'unica soluzione efficace e possibile che mi viene in mente.

Una domanda: perchè complicarsi la vita per progettare un driver con il pic, quando esistono tanti integrati con caratteristiche anche evolute tipo la gestione del micropasso, già  collaudati e a basso costo pronti da utilizzare? Ovvio che se lo fai per acquisire esperienza è un'iniziativa lodevole.

Ciao!

Vito

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » giovedì 20 novembre 2008, 10:10

non ho problemi a condividere il mio lavoro (ripeto è solo un hobby), non sono della corrente, non voglio condividere anzi mi fa solo piacere perche cmq mi sento utile .
Si è solo per capire come funziona e acquisire esperienza tutto qui. Alla fine per un obbista come me è un grande obbiettivo scrivere un firm tutto mio. Ora sono a lavoro ma quando torno a casa faccio un po di disegni e metto on line tutto in maniera chiara. Il firm l'ho scritto in basic, è l'unica cosa che mastico un po. Spero che possiate darmi una mano a capire il tutto ne sarei felice, vi ringrazio anticipatamente per tutto l'aiuto GRAZIE
Francesco

Avatar utente
vito37
Member
Member
Messaggi: 243
Iscritto il: sabato 22 marzo 2008, 12:16
Località: Palo del Colle (BA)

Re: prime prove e inizia la confusione

Messaggio da vito37 » giovedì 20 novembre 2008, 11:27

Ottimo lo spirito e ottima l'iniziativa!

Magari viene fuori un bel progettino open source con la collaborazione di tutti...

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » giovedì 20 novembre 2008, 11:41

le cause sono tante
per prima cosa settare i pin in entrata del pic come imput.
senza questa premessa è inutile andare oltre.
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » giovedì 20 novembre 2008, 13:26

Ecco di seguito metto online lo schema da me seguito e il firm scritto cosi vediamo se riusciamo a risolvere il problema .
il firm è scritto solo per fare muovere il motore cioe in un verso con un solo piu proprio perche è a scopo didattico poi affinata questa parte a fare cambiare direzione non penso ci voglia tanto.

program passopasso


const movimento as byte[4]=(16,64,32,128)
dim k as byte
cmcon=7 \\ comando per impostare le porta in analogico \\
trisb.4=0 \\ impostazione dei vai pin in entrate ed uscita\\
trisb.5=0
trisb.6=0
trisb.7=0
trisb.0=1
trisb.1=1
inizio:
k=0 \\ azzera k\\
portb=movimento[k] \\eccita la prima bobina\\
rotazione:
while true \\comando che crea un loop infinito \\
if (Portb.0=0) and (k<3) then \\ questa è la riga che riceve l'impulso \\
k=k+1
while portb.0=0 \\comando che se non stacca l'impulso non va avanti \\
wend
end if
risultato:
portb=movimento[k] \\ transla il passo \\
if (portb.0=0) and (k=3) then \\azzera k qualora fosse al'ultimo pin\\
k=0
portb=movimento[k] \\ ricomincia il ciclo\\
end if
wend

end.

Ho cercato di commentare il piu possibile per cercare di capire dove sbaglio. il listato provato su demoboard funziona perfetto non sbaglia un colpo. unica differenza che nella demoboard do un impuolso positivo mentre qui è settato che lo riceva nagativo perche dall'uln2008 esce il negativo .
Ovviamente nello schema non ho messo il regolatore di tensione di 5 volt per il segnale generato dall'uln2008 e per il funzionamento del pic . uso l'oscillatore interno del pic .
Spero di essere stato piu chiaro possibile .
Ogni suggerimento è ben accetto
Grazie ancora a tutti
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » giovedì 20 novembre 2008, 14:22

il basic lo usavo 30 anni fà  quindi ricordo ben poco.
però credo che

if (Portb.0=0) and (k<3) then \\

intenda dire

Se si verificano ENTRAMBE le condizioni allora..... then

in particolare il k<3 che significato avrebbe???
non è meglio metterlo separato?
e poi non dovrebbe essere così =< ?
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » giovedì 20 novembre 2008, 14:49

si e come dici tu se si verificano entrambe le condizioni.
non so posso provare a metterlo separato posso anche eliminarlo perche pensandoci miserve solo il secondo k=0 che mi azzera i passi . per quanto riguarda il comando =<3 non me lo accetta il copilatore, ho notato che anche mettendo <3 e con il 3 incluso quindi non dovrebbero esserci problemi poi successivamente ho attivato la funzione di OPTION_REG.7=0 che mi manda la tensione ai pin in maniera da non mettere le res di pull up. come vedi il listato sembra giusto. in effetti ho notato che dopo avere attivato la funziona pull up fa dei passi ma non sono completamente sincronizzati con il pc e poi molto li perde come se non li ricevesse dove sbaglio ?
Grazie ancora

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » giovedì 20 novembre 2008, 15:18

k invece di metterlo a zero dovrebbe andare a -1 altrimenti il passo zero lo salta.
analogalmente l'inverso parte da +4 anzichè 3
il k<3 conviene non confrontarlo nella condizione ma separatamente all'interno del loop di traslazione.
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » giovedì 20 novembre 2008, 16:56

ho rivisto il listato ed ho seguito i tuoi consigli const movimento as byte[4]=(16,64,32,128)
dim k as byte
OPTION_REG.7=0
trisb.0=1
trisb.1=1
trisb.4=0
trisb.5=0
trisb.6=0
trisb.7=0

inizio:
k=-1
rotazione:
while true
if portb.0=0 then
k=k+1
end if
while portb.0=0
wend
portb=movimento[k]
if k=3 then
k=-1
end if
wend
end.


solo che non va lo stesso sembra che il segnale gli arrivi una volta ogni tanto non capisco e pure su demoboard ad ogni impulso fa un passo perche non va?
sembrava semplice invece :(

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » giovedì 20 novembre 2008, 21:14

http://www.fisertek.it/index_000013.html

qui trovi un sorgente in C con matrice full e half step
il linguaggio è simile.... dovresti trovare la soluzione.
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

francesco606
Newbie
Newbie
Messaggi: 28
Iscritto il: domenica 16 novembre 2008, 23:54
Località: Partinico (PA)

Re: prime prove e inizia la confusione

Messaggio da francesco606 » giovedì 20 novembre 2008, 23:42

piu o meno ho capito che il listato assomiglia molto al tuo. secondo me il problema non è negli step perche ripeto su demoboard funziona benissimo collegando il motore riesco a fargli fare giri completi premendo di continuo il tasto. Quando lo collego al pc invece nulla non va riesce a ricevere qualche impulso ma non sempre! è possibile visto che mando tensioni negative come impulso debba settare qualcosa all'interno del pic? non so dove sbattere la testa eppure sta cosa voglio capirla ! cmq grazie mille per le indicazioni che mi state dando
Francesco

Avatar utente
fiser
Senior
Senior
Messaggi: 1570
Iscritto il: giovedì 27 dicembre 2007, 21:58
Località: ROMA
Contatta:

Re: prime prove e inizia la confusione

Messaggio da fiser » venerdì 21 novembre 2008, 0:11

è probabile che la parallela non dia tensione sufficente nonostante che il pic richieda pochi microamper.
c'è anche da tenere conto che stare dietro alla parallela occorrerebbe almeno un pic serie 18 sparato a 40 mhz
con la demoboard devi tenere conto dell'inversione della polarità  del tasto rispetto al segnale fornito dalla parallela.
questo ed altro.......
devo solo provare, misurare con un oscilloscopio cosa succede tra parallela e pic.
_______________________
un dottore in chissà cosa ha scritto:
sicuro e distruttivo malfunzionamento

Rispondi

Torna a “Elettronica CNC”