Idee su come selezionare un ingresso

C'=E8 poco di segreto di stato dato che mi sembra di aver detto tutto comunque se non mi sono spiegato bene ora lo rifaccio: vorrei pilotare tramite un PIC (un 24F) un driver stepper (DRV8811) della Texas...come detto questo driver incrementa di uno step ogni volta che rileva sull'apposito pin (STEP) un fronte in salita Il motivo della domanda originaria deriva dal fatto che le sorgenti del segnale STEP possono essere due (due micro), in quanto questi decidono o no lo spostamento del motore sulla base di considerazioni totalmente diverse.

Li ho chiamati PWM in quanto in realt=E0 =E8 come devo configurare il pin di quei PIC: che poi voglio variare la frequenza e non il duty cycle =E8 un'altra storia... Se conosci una modo diverso per ottenere un'onda quadra con frequeza variabile ben venga :-)

Su questo non vi erano molti dubbi...

Come fai ad essere estemamente sicuro che effettivamente il motore si sia mosso? Hai bisogno per forza di un elemento di retroazione, non ti puoi basare solo sul fatto che hai dato gli impulsi necessari

Reply to
fasf
Loading thread data ...

Il 09/01/2011 9.22, fasf ha scritto: [...]

quelle non ce l'avrai mai, nemmeno con l'encoder. Ma perché il motore non dovrebbe muoversi? In base all'incidenza dei problemi di coppia puoi considerare l'uso dell'encoder...poi ovviamente te lo devi gestire. Per inciso, nelle applicazioni che ho visto io l'encoder serviva solo per riportare il motore al passo giusto se una coppia esterna faceva ruotare il carico, non per verificare se il motore girava o meno.

In base a cosa dici ciò? L'esperienza mi insegna che se il motore è dimensionato bene e il pilotaggio è fatto bene questo ti basta, è lì il bello degli stepper.

Ste

--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
Reply to
PeSte

fasf:

No, non hai detto niente di niente né prima né ora.

Ci hai dato solo una serie di dettagli inutili sulla tua soluzione sbagliata.

Reply to
F. Bertolazzi

o

Ottimo, allora dimmi ci=F2 che vuoi sapere visto che te lo posso dire dato che non c'=E8 alcun segreto di stato...

Come fai a sapere se la soluzione =E8 sbagliata se fino ad ora ti ho dato solo dettagli inutili?

Se vuoi partecipare attivamente alla discussione dimmi quali sono le informazioni che vorresti sapere, ma dire che la soluzione =E8 sbagliata senza avere le basi (per tua affermazione) per valutarla mi sembra eccessivo.

Reply to
fasf

questa affermazione non mi =E8 chiara...

Non mi serve per la verifica della rotazione del motore (per quello vi =E8 la resistenza di sensing del driver): mi serve per ottenere l'effettiva posizione del motore

GIusto, volevo solo informarmi su una possibile soluzione per la verifica del corretto spostamento del motore

Reply to
fasf

intendevo solo che puoi mettere l'encoder per verificare la posizione...se l'encoder non ha malfunzionamenti va tutto bene, ma può guastarsi anche lui. Ricordo un paio di anni fa abbiamo perso un giorno intero dal cliente perché la nostra scheda perdeva il passo...alla fine era un problema di meccanica sull'encoder.

adesso che sono io che non capisco

se vuoi la posizione del motore e temi che per problemi di pilotaggio e/o di coppie esterne questa non sia sicura...c'è poco da fare...usi l'encoder...oppure un potenziometro lineare

vedi sopra

Ste

--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
Reply to
PeSte

fasf:

Mi sembra evidente: a cosa sono attaccati i motori, cosa muovono, perché lo muovono, insomma, CHE COSA VUOI REALIZZARE?

Capisco che la tua soluzione è sbagliata dal fatto che vuoi mandare treni di impulsi di diversa frequenza commutando "ex abrupto" tra le due sorgenti, dal fatto che ritieni necessario un feedback sulla posizione di uno stepper (che, ripeto, ha solo svantaggi rispetto ad un motore in CC, ed un solo vantaggio, quello, se correttamente dimensionato e pilotato, di non richiedere feedback), dal fatto che hai due processori che si contendono una risorsa senza alcun arbitraggio terzo, insomma, una bella porcata di architettura.

Di dettagli ne hai dati tantissimi, sulla tua soluzione, sono inutili per capire quale possa essere la soluzione giusta, e sovrabbondanti per capire che, molto probabilmente, stai sbagliando tutto.

L'ho già fatto, se tu avessi voluto ascoltare.

Reply to
F. Bertolazzi

Il 09/01/2011 20.31, F. Bertolazzi ha scritto: [...]dal fatto che hai due processori che si contendono

ooh...mi hai fatto tornare alla mente il terrificante racconto dei filosofi che pensano, poi decidono che hanno fame ma le forchette per gli spaghetti sono poche...etc...etc...alla fine o starvation o blocco...tutto per un piatto di carbonara :-o

La cosa mi mi faceva rabbrividire era che negli appunti di Info2 c'era scritto proprio che il filosofo DECIDEVA di avere fame...inquietante

:-)

--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
Reply to
PeSte

PeSte:

C'è anche la soluzione di spaghetti e pancetta ben distribuiti su soffitti e muri, che sarebbe poi il probabile risultato dell'accrocco che vuol mettere insieme questo qua.

Reply to
F. Bertolazzi

o

Voglio solamente effettuare un controllo di un motore tramite un programma: la comunicazione PC->PIC avviene tramite seriale. I motori muovono una vite senza fine su cui =E8 collegato un carico che quindi si sposta linearmente avanti ed indietro. Il motivo dei due micro deriva dal fatto che il motore non deve essere solo controllato dal computer, ma anche da alcune periferiche esterne (in realt=E0 dei sensori). La precedenza la deve avere il computer: deve essere il primo micro a decidere quando il secondo pu=F2 intervenire nello spostamento

ed

on

In realt=E0 volevo solo avere informazioni sulla possibilit=E0 di applicazioni di un feedback sul controllo. Il mio dubbio =E8 il seguente: come faccio ad essere estremamente sicuro che non vengono persi dei passi?

Non vedo la necessit=E0 di inserire un elemento di arbitraggio se il primo micro decide se e qundo il secondo pu=F2 intervenire nel controllo del motore

e

Spero di essere stato pi=F9 chiaro...

Reply to
fasf

Forse sbaglio in questa affermazione: correggetemi se commetto qualche errore... Se un motore =E8 bloccato per un motivo qualsiasi, questo assorbe pi=F9 corrente: poich=E8 vi =E8 un controllo sulla corrente attraversante gli avolgimenti attraverso la resistenza di sensing, se la tensione associata supera una soglia il dispositivo entra in protezione e non eroga pi=F9 corrente. In effetti mi sono espresso male nella risposta: in questo modo non verifico la rotazione del motore, ma implemento un meccanismo di protezione nel caso di motore bloccato.

Reply to
fasf

non conosco il driver in questione e non so se ci sono protezioni di questo genere...di solito i driver con la resistenza di sense sono quelli in anello chiuso di corrente, bisogna vedere il datasheet in dettaglio

Ste

--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
Reply to
PeSte

fasf:

Come, ad esempio, quando uno stepper è fermo.

Non credo che esistano controller per motori stepper così stupidi.

Reply to
F. Bertolazzi

fasf:

Due motori muovono una vite o ne muovono una ognuno?

Come supponevo. Usi due micro quando ne avanza uno. Quella del PC che ha la precedenza assoluta sui sensori mi sembra un'altra cazzata, ma la solita carenza di informazioni non me ne dà certezza.

Controllando correttamente lo stepper, come NON puoi fare col tuo sistema.

Chiarissimo. Avevo comunque indovinato.

Reply to
F. Bertolazzi

F. Bertolazzi:

Nel senso che non è assolutamente possibile, altrimenti, appena smetti di mandare impulsi di step al controller, dovrebbe andare in protezione.

Reply to
F. Bertolazzi

fasf:

Ehehehe, avevo indovinato pure questa.

Reply to
F. Bertolazzi

Il 10/01/2011 14.37, F. Bertolazzi ha scritto:

Questa è una cosa che, ahimè, spesso ho trovato ignoranza...si applica spesso l'approccio "dai corrente / gira - togli corrente / non gira" un po' come "dai la cera / togli la cera"

forse forse questi oggetti in anello chiuso hanno un feedback sul corto dell'uscita del ponte...su una "sovracorrente" dubito...ma non li ho mai usati, noi ervamo puristi: solo pilotaggio in anello aperto...eravamo...sigh...

Ste

--
Ogni problema complicato ha una soluzione semplice...per lo piu` sbagliata
[cit. Franco, i.h.e. 20.01.2007]
Reply to
PeSte

PeSte:

Non credo esistano pilotaggi del genere, e francamente non immagino perché possa esistere un controllo closed-loop per uno stepper. Il controller è open-loop, se c'è la possibilità che il moto venga interrotto da un ostacolo meccanico e/o si vuole avere l'assoluta certezza del posizionamento basta mandare il feedback al controller, che provvederà a ripetere gli step mancati. O, più probabilmente, a fermare tutto ed andare in allarme.

I controller open-loop moderni hanno, al loro interno, un PWM che mantiene quasi costante l'assorbimento, ma sono anche un po' più intelligenti, in quanto danno il massimo di corrente appena commutate le fasi, in modo da cercare di "forzare" l'induttanza degli avvolgimenti, ovvero la loro riluttanza a cambiare la quantità di corrente che vi circola.

Reply to
F. Bertolazzi

F. Bertolazzi:

Pardon, inteso come microprocessorre che controlla il tutto.

Che è poi il motivo per cui un motore elettrico, da fermo, consuma più che in rotazione.

Reply to
F. Bertolazzi

Conscio delle conseguenze, &u un bel dì scrisse:

formatting link

--
Of course there's no reason for it, it's just your policy. 
News 2002 [v 2.07] / StopDialer / PopDuster - http://www.socket2000.com
Akapulce portal: http://www.akapulce.net
Reply to
Due di Picche

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.