Salve,
Ho comprato arduino Mega 2560 e la Pololu Dual MC33926 Motor Driver Shield che permette di azionare 2 motori in corrente continua. La libreria che permette di gestire questo shield è la seguente:
Arduino library for the Pololu Dual MC33926 Motor Driver Shield. L'unico problema e che essa nel caso di arduino mega non permette di impostare una frequenza PWM a 20khz (quella ottimale più performante) ma una frequenza standard sotto i 1000 Hz. Ho trovato il seguente link: http://forum.pololu.com/viewtopic.php?f=15&t=6139 che permette di utilizzare un'altra tipologia di scheda con una frequenza di 20 kHz. E' possibile adattarla alla mia nel senso delle impostazioni del segnale PWM?
Spero che mi sono spiegato bene, e grazie per la pazienza e la professionalità con cui rispondete alle mie domande e dubbi.
Segnale PWM Arduino
Moderatore:
Paolino
10 messaggi
• Pagina 1 di 1
0
voti
Se il problema è solo variare la frequenza del PWM c'è una funzioncina che ti permette di farlo abbastanza facilmente, la trovi qui. Io l'ho provata e funziona.
Atlant.
Behind every great man is a woman rolling her eyes.
Behind every great man is a woman rolling her eyes.
0
voti
Ciao Grazie per la risposta!
Comunque con questa funzione non arrivo alla frequenza di 20 kHz! Hai qualche altra soluzione? anche variando il dutycycle non più da 0 a 255 ma da 0 a 400 come nella libreria modificata?
Comunque con questa funzione non arrivo alla frequenza di 20 kHz! Hai qualche altra soluzione? anche variando il dutycycle non più da 0 a 255 ma da 0 a 400 come nella libreria modificata?
0
voti
0
voti
Non capisco il problema, ti è stata linkata una funzione con la quale arrivi a 33 kHz di frequenza PWM, cosa non ti è chiaro?
Quella funzione l'ho adoperata io stesso per pilotare un motore in PWM oltre la frequenza sonora ed evitando il classico fastidioso rumore. E' evidente che puoi fermarti a 20 kHz.
Quella funzione l'ho adoperata io stesso per pilotare un motore in PWM oltre la frequenza sonora ed evitando il classico fastidioso rumore. E' evidente che puoi fermarti a 20 kHz.
0
voti
Ho trovato questo codice che permette di imporre un segnale PWM a 20 kHz:
Impostando i registri OCR1A e OCR1B si può variare il dutycycle
- Codice: Seleziona tutto
#if defined(__AVR_ATmega168__)|| defined(__AVR_ATmega328P__)
// Timer 1 configuration
// prescaler: clockI/O / 1
// outputs enabled
// phase-correct PWM
// top of 400
//
// PWM frequency calculation
// 16MHz / 1 (prescaler) / 2 (phase-correct) / 400 (top) = 20kHz
TCCR1A = 0b10100000;
TCCR1B = 0b00010001;
ICR1 = 400;
#endif
#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
// Mega board specific stuff here - assumes assigning timer3, using pins 3 & 5
TCCR1A = 0b10100000; // Mega pin 5 // 11
TCCR1B = 0b00010001; // Mega pin 3 // 12
ICR1 = 400;
#endif
Impostando i registri OCR1A e OCR1B si può variare il dutycycle
10 messaggi
• Pagina 1 di 1
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Google [Bot] e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



