Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Onda Triangolare da PWM per microcontrollore

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteIsidoroKZ, Foto UtenteBrunoValente

0
voti

[1] Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtenteRoswell1947 » 1 mar 2021, 22:13

Salve,ho un esercizio in cui si ha un microcontrollore ( di cui non si conosce la tipologia) che lavora tra 0V e 3.3V e si chiede come si può generare un segnale di tensione ad onda triangolare, che varia tra 0 e 2V.Qualcuno saprebbe aiutarmi?Se p.es non ha un DAC è posssibile ricavare l'onda triangolare da un segnale PWM? se si come è possibile farlo?esiste un qualche modo per modulare il duty cycle?Grazie
Avatar utente
Foto UtenteRoswell1947
25 5
New entry
New entry
 
Messaggi: 98
Iscritto il: 10 feb 2020, 16:39

0
voti

[2] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto Utentedimaios » 1 mar 2021, 22:24

Roswell1947 ha scritto:esiste un qualche modo per modulare il duty cycle?

E' la base sulla quale si fondano moltissime applicazioni, certo che puoi variare il duty cycle al volo.
Ingegneria : alternativa intelligente alla droga.
Avatar utente
Foto Utentedimaios
29,7k 7 10 12
G.Master EY
G.Master EY
 
Messaggi: 3315
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes

1
voti

[3] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtentePietroBaima » 1 mar 2021, 22:53

Se dovessi generare un segnale triangolare con un microcontrollore non userei una modulazione PWM, perché il filtro finirebbe per arrotondare gli spigoli della onda triangolare.
Ho ottenuto risultati migliori integrando l’onda quadra generata su di un GPIO.
Tra l’altro, con questo metodo, puoi andare molto più su in frequenza rispetto al PWM.
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
82,6k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 10609
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[4] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtenteRoswell1947 » 1 mar 2021, 23:48

oK..ma quale è l'algoritmo per variare il duty cycle in modo da generare l'onda triangolare?inoltre di quale filtro si parla rigiardo l'arrotondamento degli spigoli?il microcontrollore ha all'interno anche un filtro?
Avatar utente
Foto UtenteRoswell1947
25 5
New entry
New entry
 
Messaggi: 98
Iscritto il: 10 feb 2020, 16:39

0
voti

[5] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtenteIlGuru » 1 mar 2021, 23:53

Si può sapere l'esercizio per che corso di studi è?
Per eseguire quell'esercizio è necessario sapere cosa è un microcontrollore, che cosa fa e come lo si programma.
Inoltre è necessaria la conoscenza della teoria dei segnali ed un bel po' di matematica almeno a livello di derivate/integrali per intenderci.
Da come ti esprimi invece sembra che tu non abbia mai sentito parlare di tutto questo.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.679 2 10 13
Master EY
Master EY
 
Messaggi: 1667
Iscritto il: 31 lug 2015, 23:32

1
voti

[6] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtentePietroBaima » 1 mar 2021, 23:56

Roswell1947 ha scritto:oK..ma quale è l'algoritmo per variare il duty cycle in modo da generare l'onda triangolare?

Programmi il generatore PWM per generare la portante fissa, il cui D dipende da un registro.
A quel punto attivi un interrupt periodico che aumenta il registro ad ogni chiamata.
In questo modo generi un dente di sega, se vuoi un’onda triangolare devi tenere anche un flag che valga 1 nella fase ascendente e -1 nella discendente per incrementare o decrementare il registro, da commutare ad ogni arrivo al massimo o al minimo.

Roswell1947 ha scritto: inoltre di quale filtro si parla rigiardo l'arrotondamento degli spigoli?

Il filtro che devi necessariamente utilizzare per ricostruire l’onda triangolare dal PWM

Roswell1947 ha scritto: il microcontrollore ha all'interno anche un filtro?

no
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
82,6k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 10609
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[7] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtenteRoswell1947 » 2 mar 2021, 10:01

Ok..ma se io desidero una certa onda triangolare avente un certo periodo Tx ed ampiezza X come scelgo la temporizzazione del timer sapendo che si ha a disposizione un certo segnale PWM di durata T , duty cicle D ed ampiezza A?scusate per le domande ..forse un po stupide...ma mi sto approcciando al mondo dei microcontrollori da poco...
Avatar utente
Foto UtenteRoswell1947
25 5
New entry
New entry
 
Messaggi: 98
Iscritto il: 10 feb 2020, 16:39

0
voti

[8] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto Utentepgiagno » 2 mar 2021, 10:36

Scusami se cerco di essere chiaro, anche se impreciso. Esiste una risposta semplice: IN GENERALE con il SOLO microcontrollore NON PUOI generare un'onda triangolare, ma SOLTANTO un'onda quadra di periodo T (il cui limite INFERIORE dipende dal clock del micro), di duty cicle D (di cui in genere non esistono limitazioni fra 0 e 100%), di ampiezza A (SEMPRE circa uguale alla tensione di alimentazione del microcontrollore).

Quindi per generare un'onda triangolare di periodo Tx e ampiezza X è necessario decidere COSA mettere a valle del microcontrollore per ottenere il risultato che desideri.

A questo punto devi rispondere alle domande de IlGuru perché la scelta della soluzione dipende anche dalla tua preparazione nei campi informatico ed elettronico.

Ciao,
P.
Avatar utente
Foto Utentepgiagno
405 3 5
Frequentatore
Frequentatore
 
Messaggi: 294
Iscritto il: 5 gen 2015, 21:27

0
voti

[9] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtenteRoswell1947 » 2 mar 2021, 10:52

IlGuru ha scritto:Si può sapere l'esercizio per che corso di studi è?
Per eseguire quell'esercizio è necessario sapere cosa è un microcontrollore, che cosa fa e come lo si programma.
Inoltre è necessaria la conoscenza della teoria dei segnali ed un bel po' di matematica almeno a livello di derivate/integrali per intenderci.
Da come ti esprimi invece sembra che tu non abbia mai sentito parlare di tutto questo.


l'esercizio viene da un esame di sistemi programmabili ingegneria elettronica....in realtà non si fa riferiemento ad un preciso microcontrollore..quindi bisognerebbe descrivere come si fa a generare in generale una forma d'onda triangolare suppongo tramite PWM...anche se credo si possa fare anche tramite DAC.
Avatar utente
Foto UtenteRoswell1947
25 5
New entry
New entry
 
Messaggi: 98
Iscritto il: 10 feb 2020, 16:39

0
voti

[10] Re: Onda Triangolare da PWM per microcontrollore

Messaggioda Foto UtentePietroBaima » 2 mar 2021, 11:27

Roswell1947 ha scritto:Ok..ma se io desidero una certa onda triangolare avente un certo periodo Tx ed ampiezza X come scelgo la temporizzazione del timer sapendo che si ha a disposizione un certo segnale PWM di durata T , duty cicle D ed ampiezza A?

L’ampiezza è l’ultimo dei tuoi problemi, perché la puoi attenuare-amplificare in analogico una volta generata, a meno che tu non voglia anche l’ampiezza controllabile dal micro, in questo caso hai due strade: se è moderatamente variabile puoi diminuire o aumentare il valore massimo della modulante PWM, se invece vuoi ampie variazioni devi utilizzare un amplificatore analogico programmabile e controllarlo tramite il micro.
Esistono dei Programmable Gain Amplifier integrati controllabili in SPI o in IIC.

Comunque cominciamo dalle cose semplici. Supponiamo che l’ampiezza sia fissa e che quindi non sia un problema e concentriamoci sulla frequenza dell’onda triangolare.
Se decidi di farla in PWM (cosa che ti sconsiglio) avrai due frequenze:

1. quella del PWM, il cui tuo unico cruccio è quello di sceglierla in un range compreso fra (limite inferiore) almeno 10/20 volte tanto la massima frequenza dell’onda triangolare che vuoi generare (e questo dipende dalla bontà del filtro a valle) e (limite superiore) possibilità del microcontrollore (non vuoi né strozzarlo né utilizzare tutta la potenza di calcolo per il PWM) e EMC.

2. quella del contatore che genera la rampa in salita e in discesa: questa è la frequenza di interrupt periodico che ti dicevo qualche post fa. Se il PWM è, per esempio, a 255 livelli, ogni interrupt conterà quanto 1/255 del periodo (dente di sega) o 1/2 di 1/255 del periodo (onda triangolare). Da qui puoi calcolare quanto dura il periodo e quindi la frequenza dell’onda triangolare.

Mi rendo però conto che tu non abbia ben chiaro cosa sia una modulazione PWM, quindi io mi studierei un po’ di teoria, prima di pensare alla sua implementazione pratica.

Comunque, ti ripeto, secondo me una modulazione PWM non è il modo migliore di generare un’onda triangolare con un micro.
Generatore codice per articoli:
nomi
emoticon
citazioni
formule latex
Avatar utente
Foto UtentePietroBaima
82,6k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 10609
Iscritto il: 12 ago 2012, 1:20
Località: Londra

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti