Pwm ed Arduino

un tempo massimo di 100 ms . Se reimposto la frequenza di clock di un uscita pwm a 5 hz dovrei poter ottenere questo valore dato che:

5 hz = 5 cicli in 1 secondo pertanto 1 secondo = 1000 ms da cui 1000 /5 = 200 ms = 1ciclo completo Un Duty Cycle al 50% di 200 ms dura 100 ms.
--


----Android NewsGroup Reader---- 
http://usenet.sinaapp.com/
Reply to
Franchelli
Loading thread data ...

Il 05/06/2015 16:36, Franchelli ha scritto:

direi di si

Reply to
news.aioe.org

Non ho ben compreso: un Duty Cycle che al 50% deve avere un tempo massimo di 100 ms .

Intendi il periodo o il tempo in ON ?

Se ben ricordo (scrivo ma chiedo anche conferma) il comando analogWrite (pin, value) con value variabile fra 0 e 255 (0 tutto OFF, 255 tutto ON, 127 al 50%)

--
This post on narkive: 
http://narkive.com/n4DTn4Hm.3
Reply to
marcopxm

"marcopxm" ha scritto nel messaggio news: snipped-for-privacy@narkive.com...

se non ricordo male 490Hz e' la frequenza dell'onda quadra di cui Arduino controlla il duty-cycle. quindi non va bene per la richiesta del OP.

per 5Hz lo puo' fare benissimo con 2 digitalwrite e delay appropriati, oppure commutando in base al tempo trascorso letto da millis o micros.

Reply to
alfio

Dopo aver strapazzato l'unico neurone rimasto, marcopxm il 06/06/2015 ha pensato bene di dire:

Intendevo il tempo di ON (ed OFF)

Esatto

OK esatto

Esatto Mi serve per parzializzare un carico resistivo allo scopo di utilizzare l'eccedenza di un impianto fotovoltaico. Devo farlo in un tempo massimo di 200 ms in quanto il contatore enel fa le misurazioni in quel lasso di tempo. Se utilizzassi un tempo superiore ci

--
Franco
Reply to
Franzthepanz

Dopo aver strapazzato l'unico neurone rimasto, alfio il 06/06/2015 ha pensato bene di dire:

Infatti

Non posso utilizzare i delay in quanto mi ferma l'eleborazione di altre istruzioni. E' possibile variare le frequanze di clock a basso livello agendo sui registri dei contatori

altre funzioni. Ho trovato una bellissima libreria che permette di farlo in maniera semplicicssima e funziona alla grande.

--
Franco
Reply to
Franzthepanz

"Franzthepanz" ha scritto nel messaggio news:mkvivo$4ld$ snipped-for-privacy@speranza.aioe.org...

usa qualcosa del genere:

unsigned long next; bool val=LOW; void setup ( void ) { next = millis()+100; DigitalWrite( out,val ); } void loop ( void ) { if( millis()>=next ) { DigitalWrite( out,val = !val ); next += 100; } }

in cui metterai al posto di 100 i tempi di Ton e Toff corretti di volta in volta, oppure fai 2 test diversi per on e off.

Reply to
alfio

Dopo aver strapazzato l'unico neurone rimasto, alfio il 06/06/2015 ha pensato bene di dire:

l'innesco del SSR. Cmq grazie dell'interessante soluzione.

--
Franco
Reply to
Franzthepanz

"Franzthepanz" ha scritto nel messaggio news:ml13ac$6um$ snipped-for-privacy@speranza.aioe.org...

che tradotto vuol dire ?

Reply to
alfio

Dopo aver strapazzato l'unico neurone rimasto, alfio il 07/06/2015 ha pensato bene di dire:

Avevo fatto delle prove con del codice simile ma ho avuto dei comportamenti strani del SSR in quanto essendo del tipo zero cross (si attiva e disattiva solo in corrispondenza del passaggio per il punto 0 della semionda) il tempo di innesco deve essere calcolato in maniera piuttosto precisa e mantenuto costante. Se oltre a queste temporizzazioni si hanno altre funzioni attive come scritture/letture su seriale oppure letture di sensori, vengono aggiunti dei ritardi che provocano delle incertezze di funzionamento.

--
Franco
Reply to
Franzthepanz

"Franzthepanz" ha scritto nel messaggio news:ml1gp4$5gm$ snipped-for-privacy@speranza.aioe.org...

quindi il tuo pwm avra' granularita' di 10ms, giusto ? con quale circuito arduino riconosce il passaggio per lo zero ? ma se quello che ho capito e' giusto, a che ti serve il pwm ? tu devi riconoscere il passaggio per lo zero e comandare on o off il tuo SSR secondo tue necessita', non vedo l'uso di pwm in questo.

un pwm piu' flessibile si puo' fare attraverso gli interrupt a tempo, ma non credo tu riesca a legarla al passaggio per lo zero. c'e' una libraria che gia' prevede di gestire un pin in PWM con questo metodo:

formatting link
prova anche questa

Reply to
alfio

Dopo aver strapazzato l'unico neurone rimasto, alfio il 07/06/2015 ha pensato bene di dire:

Si, risoluzione di 10 ms

ho provato un paio di circuiti con fotoaccoppiatori che controllato con oscilloscopio funzionano alla perfezione. Il problema sta nel calibrare bene i tempi tenendo conto delle caratteristiche di eccitazione/diseccitazione del SSR

il pwm mi serve per regolare in maniera continua la parzializzazione del carico. Ho

aggiuntivi itengo sia meglio una soluzione con pwm

(ciclo) di 200 ms per rimanere dentro al tempo tra le letture del contatore enel

provata, crea delle reazioni imprevedibili con l' SSR

--
Franco
Reply to
Franzthepanz

ha una sigla questo SSR ? non riesco a capire che problemi ti genera. se e' uno zero crossing, commutera' al passaggio per lo zero l'importante e' che tu abbia dato in tempo il comando voluto. con arduino devi riconoscere il passaggio per lo zero, fare un piccolo delay (

Reply to
alfio

Dopo aver strapazzato l'unico neurone rimasto, alfio il 07/06/2015 ha pensato bene di dire:

con tutte le soluzioni che avevo provato il problema che mi si presentava era una temporizzazione irregolare (provata con una lampadina )

da quello che si legge dai datasheet i punti di accensione/spegnimento coincidono con il passaggio del punto 0 indipendentemente dal carico. L'uso della libreria pwm per modificare il tempo di clock del pin pwm e portandola a 5 Hz sembra far andare tutto per il verso giusto senza incertezze. Il bello di questa

micro.

--
Franco
Reply to
Franzthepanz

"Franzthepanz" ha scritto nel messaggio news:ml2bqm$a9t$ snipped-for-privacy@speranza.aioe.org...

buona fortuna allora non so quanto sia grosso il vostro carico induttivo,e che tensioni e correnti ci siano in gioco ma con TRIAC,zeroc rossing detector e un

spaventosi,tipo 80A a 220V e avevo dovuto usare tutt'altro sistema.

pochi W queste cose non dovrebbero avvenire,ma almeno delle sovratensioni credo che uno debba aspettarsele,se interrompe la tensione sullo 0,metre la

Ma questo Arduino,che non conosco,va beh che un oggetto didattico,ma deve proprio generare un PWM via software?Non ha all'interno un modulo PWM programmabile che una volta impostato viaggia da se anche a centinaia di KHz?sono cose presenti anche su microcontrollori da 1/2 euro

ciao

--
Questa e-mail e stata controllata per individuare virus con Avast antivirus. 
https://www.avast.com/antivirus
Reply to
blisca

rrente

80A all'accensione? Era quel post di parecchio fa per alimentare le alogene?

mandi

Reply to
zio bapu

Il 04/09/2015 17:35, zio bapu ha scritto:

no,era un termostato per terrari progettato da altri,beninteso,che un mio amico

di illuminazione

Aveva u trasformatore,ora che ho controllato non da 250 ma da 400VA,che alimentava delle resistenze piatte da 24V.

I picchi erano brevi qualche ms,ma con una buona sonda di corrente e un

situazione peggiore era a vuoto,senza carico,mentre le resistenze mitigavano di moltissimo il problema rendendo il carico meno resistivo puro

disposizione da una ditta vicina ero riuscito a riprodurre lo stessissimo comportamento che dipendeva dal fatto che il nucleo ad ogni

direzione e un certo punto .

Cercando su internet avevo visto altri casi identici o peggiori

"Toroidal power transformers can be tricky that way. We had one amplifier that, when you switched it on, you could hear the wires in the wall jump. We were peaking around 1000 amps sometimes.

These transformers should have an auxiliary primary winding for startup. Maybe 20% extra primary turns but lots of copper resistance."

Reply to
blisca

Io sarei in una situazione simile anche se non cosi' grave, ti ricordi mica come hai simulato il trasformatore?

mandi

Reply to
zio bapu

"blisca" ha scritto nel messaggio news:msba1l$8h6$ snipped-for-privacy@speranza.aioe.org...

Scusate, forse mi sono perso i post precedenti, quindi non so che carico alimenti poi questo trasfo toroidale,

secondario del trasfo: sul primario hai tutte le correnti necessarie a magnetizzare il nucleo

toroidale o a colonne che sia.

resistiva che sia,

del carico,

accendono e spengono una tensione continua da DC Bus, con frequenze tipicamente da 1 - 4 kHz (non serve andare molto oltre ) mentre qui sembra solo un parzializzatore che lavorando sull'angolo di ritardo di innesco provoca una conduzione parziale della percentuale voluta, da 0 a 100%.

Buon lavoro. Roby.

Reply to
roby

"zio bapu" ha scritto nel messaggio news: snipped-for-privacy@googlegroups.com...

***non mi ero accorto di avere perso un pezzo

e aun certo punto essendo l'integrale della tensione nel tempo diversa da 0 era come se la DC aumentasse facendo si che il trasformatore in certi intervalli di tempo fosse in saturazione

non ho simulato il trasformatore,cosa non facile , dato che il problema era soprattutto a secondario aperto mi era bastato simulare una induttanza e il comportamento era simile in modo impressionante

Avevo risolto ,se non ricordo male con un circuitino abbastanza piccolo da

rivelatore di zero, un optotriac NON zero crossing e non ricordo se all'accensione o spegnimento pilotavo in modo da demagnetizzare progressivamente allungando i tempi in un senso e nell'altro,era una cosa

Per funzionare funzionava ,non so se venne adottata,era una toppa che feci gratis per un amico,tanto per cambiare,e una volta che gli diedi una bozza di schema e di programma per il piccolissimo uC che serviva,me ne disinteressai

--
Questa e-mail e stata controllata per individuare virus con Avast antivirus. 
https://www.avast.com/antivirus
Reply to
blisca

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.