Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

SPWM sinusoide a 45KHz con freq e amp controllo digitale

Elettronica lineare e digitale: didattica ed applicazioni

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

0
voti

[1] SPWM sinusoide a 45KHz con freq e amp controllo digitale

Messaggioda Foto UtenteIvanSB » 31 mar 2013, 23:57

Salve,

sono qui in veste di humble programmer con pochissima conoscenza di circuiti elettronici anche se non sono digiuno di un po' di matematica e fisica. Per ora le mie letture di elettronica applicata si limitano a Practical electronics for inventors.

Vorrei pilotare un semiponte con un spwm e mi interessa poter controllare sia frequenza che ampiezza.

Da programmatore vedo principalmente il problema del controllo da un MPU. Ma non avendo ben chiara la fattibilità delle diverse opzioni non ho idea di come dimensionare la MPU o se distribuirne i compiti.

Tutte le cose che ho visto in giro sono per alimentatori, carica batterie, motori e quindi lavorano a frequenze molto più basse e spesso non c'è bisogno di variare l'ampiezza. Le soluzioni sono quindi più
abbordabili e spesso basta la MPU senza altra componentistica a corredo.

Al momento non saprei bene modellizzare come funzionerà il carico al di la del semiponte e in via prudenziale, leggendo un po' qua e la la frequenza del PWM dovrebbe essere un 10x la frequenza della sinusoide
che devo integrare ovvero (45KHz e 450KHz). Dovrei poter variare la frequenza della sinusoide in tempi dell'ordine dei 50-70ms con una risoluzione di 50Hz e variare l'ampiezza in tempi analoghi come ordine
di grandezza. L'intervallo di frequenze da coprire sarebbe +/- 2KHz dalla frequenza centrale. Per il controllo di ampiezza potrei accontentarmi di salti del 10% tra un minimo e un massimo prefissati.

Forse anche un processore scarso usando 10 tabelle per ognuno dei livelli di ampiezza potrebbe generare senza hw specifico un segnale spwm semplicemente alzando e abbassando un pin. Il problema è che
il processore contemporaneamente dovrà fare dell'altro, in primis dare e ricevere informazioni sulla frequenza e l'ampiezza via i2c, controllare almeno 2 ADC con tempi di reazione di 20ms etc... e 450KHz
non mi sembrano pochi. Per quanto la soluzione sia risparmiosa mi sembra poco duttile e alquanto inelegante.

Un'altra soluzione potrebbe essere usare un DDS (pilotabile via i2c per esempio), un comparatore e qualche sistema per modificare l'ampiezza dell'onda generata dal DDS (potenziometro digitale?).
C'è un DDS dell'analog con dentro anche un DSP e un ADC che mi permetterebbe di fare letture di impedenza del carico, cosa che potrebbe venir comoda ma per ora non sembra indispensabile.

Oppure saltare il DDS e generare la sinusoide da passare al comparatore direttamente da una MPU che abbia un DAC abbastanza veloce (o anche r/2r).

Quello che ovviamente renderebbe le cose molto più semplici, duttili e eleganti sarebbe trovare un integrato pilotabile via i2c che già faccia uscire un segnale spwm ma mi sa che è sperare troppo.

Altri sistemi analogici compatti per generare una sinusoide di cui possa variare frequenza e ampiezza pilotandoli da una MCU non ne conosco.

La semplicità di realizzazione pratica e duttilità della soluzione (eg. range più ampio delle frequenze fino a eg. 130KHz) giustificherebbe qualche euro in più investito in componenti anche se l'ordine di grandezza del BOM solo dei pezzi me lo aspetterei nel range 15-25 Euro più che nel range 30+.

Altri approcci? E nel caso non ve ne siano, quale dei precedenti potrebbe essere il più fruttuoso da approfondire?
Qualche buona lettura da suggerire?

grazie

P.S. riposto causa qualche problema nel post originale
Avatar utente
Foto UtenteIvanSB
 
Messaggi: 14
Iscritto il: 25 mar 2013, 17:14

1
voti

[2] Re: SPWM sinusoide a 45KHz con freq e amp controllo digitale

Messaggioda Foto UtenteCandy » 1 apr 2013, 0:05

Hai speso molte parole lato MPU e software, ma nessuna sull'elettronica, sullo scopo del progetto. Ossia, ma cosa devi fare? E poi: parli di controllare l'ampiezza! L'amiezza di cosa? Del segnale PWM? E per quale ragione?
Questo segnale PWM cosa modula? Se l'ampiezza che devi controllare è riferista ad una grandezza modulata, allora le azioni da intraprendere sono a livello di PWM. Quante uscite controllate occorrono? In termini di precisione cosa dovrebbe offrire il PWM? 10 punti? 1000 punti?
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54

0
voti

[3] Re: SPWM sinusoide a 45KHz con freq e amp controllo digitale

Messaggioda Foto UtenteIvanSB » 1 apr 2013, 2:56

Candy ha scritto:Hai speso molte parole lato MPU e software, ma nessuna sull'elettronica, sullo scopo del progetto. Ossia, ma cosa devi fare?


Pilotare dei trasduttori per ultrasuoni.

Candy ha scritto:E poi: parli di controllare l'ampiezza! L'amiezza di cosa? Del segnale PWM? E per quale ragione?
Questo segnale PWM cosa modula? Se l'ampiezza che devi controllare è riferista ad una grandezza modulata, allora le azioni da intraprendere sono a livello di PWM. Quante uscite controllate occorrono? In termini di precisione cosa dovrebbe offrire il PWM? 10 punti? 1000 punti?


Passo a un esempio pratico perché nella mia ignoranza mi manca sia un linguaggio comune che la capacità di distinguere cosa sia importante.

Se dovessi pensare a ottenere un segnale SPWM così come mi serve, tra le possibili soluzioni prenderei:

  • qualsiasi marchingegno che mi generi una sinusoide di cui possa pilotare in maniera digitale la frequenza con i tempi e le risoluzioni suddette. L'idea che per ora mi è sembrata più vicina alla mia maniera di pensare è un DDS ma anche filtrare un'onda quadra potrebbe andare.
  • un potenziometro digitale con cui variare l'ampiezza della suddetta sinusoide. Questo perché non ho trovato DDS che mi permettano di farlo e non sono convinto della fattibilità di usare un processore.
  • un qualsiasi altro oggetto che mi generi un'onda a dente di sega a 450KHz eg. 555 e un paio di opamp.
  • un comparatore che compari la sinusoide al dente di sega e mi dia in uscita il segnale SPWM che cerco.

Per intenderci una cosa tipo:
http://www.ijareeie.com/upload/october/3_Design%20and%20Implementation.pdf

Come scrivevo tutte le applicazioni che ho visto in giro sono per motori, inverter, alimentatori, caricabatterie e quindi hanno frequenze MOLTO più basse di funzionamento e generalmente non hanno l'esigenza del controllo ne dell'ampiezza ne della frequenza dell'onda sinusoidale.

Con le frequenze che si usano negli alimentatori o caricabatterie non dovrebbe essere difficile usare soltanto un MCU con un DAC o addirittura tabellarsi tutti i duty cycle dello SPWM per varie ampiezze dell'onda sinusoidale che si vuole integrare e nel contempo poter gestire altre periferiche con risposte a eventi asincroni tra i 70ms e i 10ms.

Purtroppo devo lavorare a frequenze molto più alte e poter cambiare sia frequenza che ampiezza in tempi relativamente brevi, cosa che mi fa pensare che usare un processore "general purpose" per generare l'onda sinusoidale o direttamente il segnale SPWM non sia una buona strada.

La CPU con cui sto lavorando ora a un DAC a 50ksps che quindi non basta e uno dei DDS che ho visto permette di avere anche di fare misurazioni di induttanza. Cosa che rende più attrattivo delegare la generazione della sinusoide a un DDS.

Ho un'idea di alcune altre possibili soluzioni che spostano i confini tra digitale e analogico cambiando anche le modalità di controllo, ma mentre i vantaggi a livello di controllo lato CPU per me sono più facili da valutare, fattibilità e vantaggi/svantaggi di altre soluzioni dal punto di vista "elettronico" mi risultano meno chiare.

grazie
Avatar utente
Foto UtenteIvanSB
 
Messaggi: 14
Iscritto il: 25 mar 2013, 17:14


Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 78 ospiti