Ciao a tutti, dovrei pilotare dei passo passo a tre diverse velocità (fissate) non molto diverse tra loro.
A seconda delle esigenze commuterei la velocità desiderata.
Per farlo avrei bisogno di generare tre frequenze che si avvicinino il più possibile alle seguenti:
408,0 Hz
406,9 Hz
393,1 Hz
e qui scarseggio in conoscenze...
Con il Timer1,Timer2, ecc. sono arrugginito.
Potrebbe andar bene anche l'ausilio di qualche scheda esterna che fornisca il clock, purché sia abbastanza stabile.
Potete darmi qualche consiglio?
Grazie
Ezio
Guarda le risposte di astrobeed, la risposta che avevo dato io era poco adeguata per quella richiesta e lo è a maggior ragione nel tuo caso, per la precisione che cerchi.
Può essere un buon punto di inizio.
Se non ti interessa variare il duty cycle, potresti usare l'istruzione tone() che usa il timer 2 generando un onda quadra, anche se il timer 2 essendo ad 8 bit non è molto preciso.
tone(10, 407); // genera un'onda quadra a 407 Hz sul pin 10
Grazie mille per le risposte.
Non mi interessa variare il duty cycle.
Con 8 bit che risoluzione potrei avere? Attualmente possiedo Arduino Mega, esistono altre schede Arduino con il timer 2 a maggiore risoluzione?
Grazie ancora,
Ezio
ziooetzi:
Ciao a tutti, dovrei pilotare dei passo passo a tre diverse velocità (fissate) non molto diverse tra loro.
A seconda delle esigenze commuterei la velocità desiderata.
Per farlo avrei bisogno di generare tre frequenze che si avvicinino il più possibile alle seguenti:
408,0 Hz
406,9 Hz
393,1 Hz
e qui scarseggio in conoscenze...
Con il Timer1,Timer2, ecc. sono arrugginito.
Potrebbe andar bene anche l'ausilio di qualche scheda esterna che fornisca il clock, purché sia abbastanza stabile.
Potete darmi qualche consiglio?
Grazie
Ezio
Può avere un senso la domanda su come generare 3 diverse frequenze con arduino, ma non vedo alcun senso su come pilotare dei motori passo passo con delle frequenze cosi precise se non sono riferite a nulla.
I motori passo passo si pilotano con altri criteri, bisogna sapere quanti impulsi x giro, la velocità massima, i gradi di rotazione x impulso ecc, riformula meglio la domanda per favore.
Infatti la domanda è riferita alla generazione delle tre frequenze.
I motori passo passo sono già montati sulle componenti meccaniche e sono già dotati di driver. Mi servono solo le tre diverse frequenze di clock da fornire ai driver (una alla volta, a seconda delle necessità).
Un ultima domanda: in Arduino Mega è sempre il timer 0 che sarebbe meglio non modificare per evitare di cambiare i valori della funzione millis()?