Da "zero" a 4kHz, la vedo un po impossibile, magari 1Hz o simile come limite inferiore.
Poi, mi vengono in mente i vecchi circuiti VCO con uscita a dente di sega per sintetizzatori, ma di solito quelli erano usati per le modulazioni, 4kHz sarebbe una frequenza un po troppo alta ... pero' se si riuscisse a pilotare un VCO di quelli con una tensione derivata dalla frequenza del segnale di ingresso, forse si potrebbe combinare qualcosa.
Vedo pero' abbastanza difficile sincronizzare i valori fra frequenza di ingresso e di uscita, in quel modo.
Forse (ma e' un grosso forse, e serve qualcuno piu in gamba di me' come programmatore), si potrebbe usare qualche MCU un po piu performante del 328P (raspberry pico ? ... per 4 Euro la si potrebbe rischiare), per campionare l'onda triangolare in ingresso, prendere il primo momento in cui inizia a salire (o scendere) , derivarne la pendenza e quindi la frequenza (con relativamente pochi campioni, per ridurre il ritardo di risposta al minimo indispensabile), e poi generare un segnale a dente di sega con una frequenza proporzionata a quella di ingresso ... ma come ho detto, io personalmente non sarei in grado di scrivere un programma del genere, e' solo un'idea che butto li per averne un si o un no da chi sa davvero programmare.
Tanti altri sistemi, se la frequenza di ingresso e' variabile, non mi sembra che ce ne siano, soprattutto semplici ed a basso costo.
Conversione onda triangolare in onda dente di sega
Moderatori:
g.schgor,
IsidoroKZ
50 messaggi
• Pagina 3 di 5 • 1, 2, 3, 4, 5
0
voti
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.507 3 6 10 - Master

- Messaggi: 5935
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Be', se deve poter accettare frequenze variabili in ingresso, ed avere una risposta almeno decente, non e' che si possa fare senza un po di componentistica ... di certo non con due forcine ed un'elastico
Ma in questo caso come li piloti i due potenziometri digitali ? ... ti serve comunque la parte che converte la frequenza originale in una tensione con cui pilotarli, e rimani con il rischio che l'uscita non sia coerente con un dente di sega (o tratti piani fra i denti, o limite inferiore piu alto dello zero, se i due potenziometri non "centrano" gli integratori in modo perfetto per ogni frequenza)
Non e' che puoi spiegare esattamente lo scopo di tutto questo, che magari si trova una soluzione migliore ?
alien75 ha scritto:... due integratori con sommatore e potenziometri dig.
Ma in questo caso come li piloti i due potenziometri digitali ? ... ti serve comunque la parte che converte la frequenza originale in una tensione con cui pilotarli, e rimani con il rischio che l'uscita non sia coerente con un dente di sega (o tratti piani fra i denti, o limite inferiore piu alto dello zero, se i due potenziometri non "centrano" gli integratori in modo perfetto per ogni frequenza)
Non e' che puoi spiegare esattamente lo scopo di tutto questo, che magari si trova una soluzione migliore ?
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.507 3 6 10 - Master

- Messaggi: 5935
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Domande:
1) L'onda triangolare e':
- unipolare (riferita a zero - linea continua)
- bipolare (simmetrica rispetto allo zero 0 linea tratteggiata)
2) L'ampiezza dell'onda tringolare e' fissa o variabile (qual e'il campo di variazione)
3) come si "sviluppa" il dente di sega rispetto a quella triangolare - cosa c'e' nel rettangolo tratteggiato
4) l'ampiezza del dente di sega e' fissa o varia in funzione dell'ampiezza dell'onda triangolare
5) ...
0
voti
Nel frattempo, credo (e sottolineo "credo" ) che si potrebbe fare in questo modo (sapendo programmare, non come me), ma solo se l'onda a dente di sega all'ingresso fosse perfettamente simmetrica (altrimenti servirebbe piu "sbattimento" software e campionare entrambe le rampe e compensare) ... si campiona il segnale di ingresso (come minimo, ad almeno 10 volte la frequenza del segnale da convertire, di piu e' meglio), si rilevano valore minimo e massimo e si inizia la "definizione" della retta "ricostruita" nel punto in cui il segnale inizia a scendere (o a salire, dipende se si vuole una rampa discendente o ascendente ... con una MCU abbastanza veloce e performante si potrebbero probabilente fare entrambe contemporaneamente, ma l'esempio lo faccio solo per la rampa discendente, per semplicita' ).
Dati almeno tre campioni (di piu e' meglio, ma dipende a quale velocita' l'ADC e' in grado di campionare), si hanno gli elementi per "ricostruire" la retta che rappresentera' la rampa del segnale di ingresso ed il suo angolo, a questo punto si dimezza tale angolo rispetto alla retta di zero (per arrivare il piu possibile vicino al successivo punto di inversione, "riempiendo" l'intero periodo del segnale originale) e si genera una rampa usando questo angolo come riferimento ... questo va fatto per ogni singolo periodo, cosi se la frequenza varia (entro un certo limite di velocita', ovviamente), il sistema si puo "adeguare" alla variazione.
Ho cercato di buttare giu un disegno per spiegarlo meglio che a parole.
Tuttavia io non sono che un programmatore molto mediocre, riesco ad immaginare il "come" in teoria lo si potrebbe fare, ma non certo a scrivere qualcosa in grado di farlo (sempre che sia possibile, questo lo devono dire quelli che di programmazione se ne intendono).
Dati almeno tre campioni (di piu e' meglio, ma dipende a quale velocita' l'ADC e' in grado di campionare), si hanno gli elementi per "ricostruire" la retta che rappresentera' la rampa del segnale di ingresso ed il suo angolo, a questo punto si dimezza tale angolo rispetto alla retta di zero (per arrivare il piu possibile vicino al successivo punto di inversione, "riempiendo" l'intero periodo del segnale originale) e si genera una rampa usando questo angolo come riferimento ... questo va fatto per ogni singolo periodo, cosi se la frequenza varia (entro un certo limite di velocita', ovviamente), il sistema si puo "adeguare" alla variazione.
Ho cercato di buttare giu un disegno per spiegarlo meglio che a parole.
Tuttavia io non sono che un programmatore molto mediocre, riesco ad immaginare il "come" in teoria lo si potrebbe fare, ma non certo a scrivere qualcosa in grado di farlo (sempre che sia possibile, questo lo devono dire quelli che di programmazione se ne intendono).
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.507 3 6 10 - Master

- Messaggi: 5935
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
1
voti
Solo un considerazione: se ho a disposizione un AD9833 cerco di sfruttarlo.
Se per fare un'onda a dente di sega devo imparare come funzionano i registri interni lo faccio, non mi metto a costruire un accrocchio con un microcontrollore esterno, che sicuramente darà problemi per la sua messa a punto.
Non capisco questo modo di fare: non so fare una cosa allora cerco di aggirare il problema.
In elettronica, come in fisica, il ragionamento corretto dovrebbe essere: non so fare una cosa e quindi colgo occasione per imparare a farla.
Il forum serve proprio a questo, non per proporre accrocchi.
O no?
Se per fare un'onda a dente di sega devo imparare come funzionano i registri interni lo faccio, non mi metto a costruire un accrocchio con un microcontrollore esterno, che sicuramente darà problemi per la sua messa a punto.
Non capisco questo modo di fare: non so fare una cosa allora cerco di aggirare il problema.
In elettronica, come in fisica, il ragionamento corretto dovrebbe essere: non so fare una cosa e quindi colgo occasione per imparare a farla.
Il forum serve proprio a questo, non per proporre accrocchi.
O no?
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12206
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
0
voti
Ma il datasheet dell'AD9833 menziona solo sine, square e triangle ... e' possibile "taroccare" i registri interni in modo di trasformare uno di questi modo in dente di sega ?
Magari usando la fase della sinusoide ? (sempre che sia possibile accedervi, e' un componente che non ho mai usato finora quindi non lo conosco)
Magari usando la fase della sinusoide ? (sempre che sia possibile accedervi, e' un componente che non ho mai usato finora quindi non lo conosco)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.507 3 6 10 - Master

- Messaggi: 5935
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Ho visto il datasheet e non mi sembra molto complicato.
Quando va ad uno l'OF del DAC resetti il contatore.
Quindi ti basta fare un polling.
Quando va ad uno l'OF del DAC resetti il contatore.
Quindi ti basta fare un polling.
-

PietroBaima
90,7k 7 12 13 - G.Master EY

- Messaggi: 12206
- Iscritto il: 12 ago 2012, 1:20
- Località: Londra
0
voti
Se la variazione è relativamente lenta si può immaginare che la differenza tra il periodo appena cominciato e quello appena terminato sia minima.
Quindi la durata del dente di sega creata dal DAC la imposto sempre pari al periodo appena concluso.
E lntanto che il DAC crea la gradinata pari alla durata del periodo appena concluso Micro misura il periodo in corso per gestire la gradinata successiva.
Poi ci si può complicare la vita con il delta di variazione per prevedere almeno in parte se il periodo sta aumentando e prevedere con una certa approssimazione la reale durata della scalinata.
Come primo approccio di massima forse può andare.
Ciao
Quindi la durata del dente di sega creata dal DAC la imposto sempre pari al periodo appena concluso.
E lntanto che il DAC crea la gradinata pari alla durata del periodo appena concluso Micro misura il periodo in corso per gestire la gradinata successiva.
Poi ci si può complicare la vita con il delta di variazione per prevedere almeno in parte se il periodo sta aumentando e prevedere con una certa approssimazione la reale durata della scalinata.
Come primo approccio di massima forse può andare.
Ciao
600 Elettra
50 messaggi
• Pagina 3 di 5 • 1, 2, 3, 4, 5
Torna a Elettrotecnica generale
Chi c’è in linea
Visitano il forum: Nessuno e 11 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)






pigreco]=π