Prezzemolo!

leo72:
@acik:
non è pericoloso ponticellare con fili di rami scoperti? :sweat_smile:

Tutto e' pericoloso in questo circuito.
La 220V la trovi ovunque.
Il circuito va isolato completamente prima di essere collegato alla 220V.

*** SENSORE DI MOVIMENTO CREPUSCOLARE ***

E' la versione di prezzemolo attualmente in "servizio" a casa mia nella mia camera da letto...e funziona egregiamente :slight_smile:
Accende una luce al passaggio di qualcuno, ma solo se la luminosità ambientale è al di sotto di una certa soglia. Si possono impostare le soglie minima e massima per la fotoresistenza, la sensibilità del PIR e i tempi (due) rispettivamente per la durata dell'accensione dovuta al movimento e per l'accensione forzata tramite la pressione di un tasto.
La luce della lampada non interferisce con la fotoresistenza, in quanto durante l'accensione del carico essa viene disattivata.
E' previsto un tempo di 30secondi di "preriscaldamento" del PIR all'avvio per evitare accensioni casuali.
N.B. Il programma è "tarato" per la sensibilità del mio mini PIR 8100, ma credo non ci siano grossi problemi ad adattarlo ad altri modelli.

PIR_CREPUSC.ino (12 KB)

acik:

leo72:
@acik:
non è pericoloso ponticellare con fili di rami scoperti? :sweat_smile:

Tutto e' pericoloso in questo circuito.
La 220V la trovi ovunque.
Il circuito va isolato completamente prima di essere collegato alla 220V.

azz, una trappola letale, perché non l'hai consigliato nel Topic schiatta-formiche? :grin: non per le formiche, ma per lui che passandoci di sopra avrebbe imparato ad evitare la zona e le formiche non le avrebbe viste più :stuck_out_tongue_closed_eyes:

@ Leo: prima di arrivare a toccare quei fili avrai beccato la 220 in mille altri modi.

@ acik: ma anche nel tuo caso vanno rispettate fase e neutro o hai trovato degli ATmega328P-AS? $$

La paura non è beccare la 220 ma far fare per caso corto con un qualcosa di metallico che mette in corto uno di quei fili con qualche altro componente.

leo72:

[quote author=Michele Menniti link=topic=102401.msg768776#msg768776 date=1335097391]
@ Leo: prima di arrivare a toccare quei fili avrai beccato la 220 in mille altri modi.

La paura non è beccare la 220 ma far fare per caso corto con un qualcosa di metallico che mette in corto uno di quei fili con qualche altro componente.
[/quote]
sì, infatti non c'è componente che non sia sotto tensione, pensa a quel blocco di triac :fearful:

...e per completare l'esemplificazione degli sketch dedicati a prezzemolo:

**** RITARDO DI ACCENSIONE AL RIPRISTINO AC 230V ****
Indicato per apparecchiature (come motori, autoclavi, etc.) che potrebbero risentire degli sbalzi dovuti agli "assestamenti" di tensione durante un ripristino dell'energia elettrica dopo un blackout. Il ritardo è programmabile tramite dei jumper posti sugli ingressi.

Dato che mi ero scocciato di vedere sempre "millis()" piedi piedi, ho deciso che questa volta avrei usato un Timer...così, tanto per cambiare.

/* 
 * ** PREZZEMOLO ** APPLICAZIONE #3: RITARDO DI ACCENSIONE AL RIPRISTINO AC 230V
 * ================================================================================
 * Programma per generare un ritardo di n secondi prima dell'attivazione di un utilizzatore.
 * Esempio tipico: attivazione di una POMPA con ritardo dopo un ripristino di corrente per evitare danneggiamenti. 
 * Hardware: nessuno. la posizione di jumper sulle porte determina i secondi di ritardo.
 * Tempi: 
 *   JP2 | JP1 | JP0 |  Tempo = [valore] * SCALE_TIMER (2s)
 *  --------------------------
 *    0  |  0  |  0  |   1s
 *    0  |  0  |  1  |   2s 
 *    0  |  1  |  0  |   4s
 *    0  |  1  |  1  |   6s
 *    1  |  0  |  0  |   8s
 *    1  |  0  |  1  |   10s
 *    1  |  1  |  0  |   12s
 *    1  |  1  |  1  |   14s 
 * Senza jumper sarà impostato automaticamente il valore massimo 
*/  
#define LED     DDB3
#define TRIAC   DDB4
#define LED_TOGGLE    PORTB ^= (1 << DDB3)
#define JP0           0                    // fpin 5 (SENS1)
#define JP1           1                    // fpin 6 (SENS2)
#define JP2           2                    // fpin 7 (ANALOG1)
#define SCALE_TIMER 2000                   // costante di moltiplicazione del valore dei jumper in ms

unsigned volatile int tick;
unsigned volatile int delay_time;

void setup() {  
 
  cli();
  TCCR0A &= ~(1<<WGM00);                        // Timer0 in modalità CTC
  TCCR0A |= (1<<WGM01); 
  TCCR0B &= ~(1<<WGM02);  
  TCCR0A &= ~((1<<COM0A1) | (1<<COM0A0));       // porta OC2A (PB2) in toggle mode (pin fisico 5)
  TCCR0B |= (1<<CS00)  | (1<<CS01);             // PRESCALER 64
  TCCR0B &= ~(1<<CS02);             
  OCR0A = 124;                                  // 1 ms (1000Hz)
  TIMSK |= (1<<OCIE0A);                         // attiva interrupt (TIM0_COMPA_vect)
  
  DDRB  |= (1<<LED) | (1<<TRIAC);               // PB3 e PB4 output (pin fisici 2, 3)
  PORTB |= (1<<TRIAC);                          // uscita triac HIGH (dopo il delay diventa LOW)
  DDRB &= ~((1<<DDB2) | (1<<DDB1) | (1<<DDB0)); // 3 input per la programmazione del delay (da 000 = 1s a 111 = 14s)
  digitalWrite(JP2, HIGH);                      // pull UP dei tre ingressi
  digitalWrite(JP1, HIGH);
  digitalWrite(JP0, HIGH);
  
  // programma valore del ritardo in base alla posizione binaria dei 3 ingressi (dip-switch)
  delay_time = (((byte)digitalRead(JP2)<<2) | ((byte)digitalRead(JP1)<<1) | ((byte)digitalRead(JP0)<<0)) * SCALE_TIMER;
  if (delay_time == 0) delay_time = 1000;      // se dip-switch 000 allora ritardo = 1 secondo
  
  sei();                                       // attiva interrupt (partenza timer)
}  

/* Interrupt Service Routine (ISR) per CTC Match A */    
ISR(TIM0_COMPA_vect) {
  if (tick++ >= delay_time) {     // aspetta n secondi
    TCCR0B = 0;                   // ferma Timer (prescaler no clock)
    PORTB &= ~(1<<TRIAC);         // porta uscita triac a LOW per attivare il carico
  }
  else if (tick % 100 == 0) 
          LED_TOGGLE;             // lampeggia LED con frequenza 5 Hz
}    
  
  
void loop() {  
  // loop vuoto
}

E con questo credo di aver condiviso tutto il "prezzemolo" che avevo in casa :slight_smile:
Non pubblicherò i programmini per ottenere "lampeggiatori" o "temporizzatori luce scala" perchè credo siano alla portata di chiunque.

E poi, in confidenza, non vedo l'ora di iniziare la sperimentazione con il componente LTSR 25-NP arrivato fresco fresco (http://media.digikey.com/pdf/Data%20Sheets/LEM%20USA%20PDFs/LTSR%2025-NP%20E.pdf) per tenere con precisione sotto controllo i consumi dell'impianto di casa, cercando di convincere un ATtiny84 a calcolare nel più breve tempo possibile la radice della media dei quadrati, per gli amici "RMS". Ma questa è un'altra storia...ops, un altro post.

@dalubar: BRAVO, bel lavoretto, utile e semplice da realizzare, ma ..... la lista della spesa (elenco componenti) ?
Non l'ho vista io o non l'hai pubblicata ?

@acik: Un BRAVO anche per Te, ma anche per Te......... la lista della spesa (elenco componenti) ?
(Nello schema pubblicato mancano alcuni valori, il tipo di IC, ...)

@cgs64: non l'hai vista perchè non l'ho pubblicata...diciamo che trattandosi di pochi componenti, con il valore ben specificato nello schema, non ho ritenuto necessario pubblicare la lista, comunque se può essere utile...eccola:

C1 100nF
C4 1000uF elettrol. 16v
C5 1uF poliestere 600v
C6 100nF
D1 LED
D3 zener 5.1V_1/2W
D4 1N4007
D5 1N4007
IC1 ATTINY85-P
P1 Bornier2 (morsettiera)
P2 Bornier2 (morsettiera)
R1 10K
R2 330
R3 1K
R4 10K
R5 330
R6 100K 1W
R7 82 1/2W
R8 390 1/2W
R9 330 1/2W
R10 390 1/2W
Analog1 PIN_ARRAY_3X1
Sens1 PIN_ARRAY_3X1
Sens2 PIN_ARRAY_3X1
U2 MOC3063
U3 TRIAC BTA06 600V

Le sigle dei componenti possono non seguire una numerazione strettamente crescente.

Io l' ho progettato cosi:
La morsettiera in alto a sinistra serve per i pulsanti 220V, che sono poi sempre collegati alla fase.
La morsettiera in alto a destra va alle lampade, che sono poi sempre collegati al neutro.
La morsettiera in basso va a fase (sx) e neutro (dx).

In realta' ... Neutro - Fase, tra di loro c'e' una differenza di potenziale alternata... puoi invertirle senza problemi.
Guardando lo schema qui' sotto vedi come collegare una lampada.
H3 e H4 sono l' ingresso 220V.
Qui puoi collegare neutro e fase come vuoi.

cgs64:
ma anche per Te......... la lista della spesa (elenco componenti) ?
(Nello schema pubblicato mancano alcuni valori, il tipo di IC, ...)

IC = Atmega328 (come scritto nel secondo post)
Il diodo che manca e' un comune 1N4007

Il resto lo vedi sullo schema (lo correggero' a breve)

in realtà non mi sembra proprio così, almeno per la sicurezza. Per come hai progettato il tuo circuito, se si usa l'accortezza di collegare la fase a H4 tutto il circuito sarebbe sotto neutro, quindi pure che lo tocchi non succede nulla, la fase sarebbe solo sul corpo dei TRIAC, che basterebbe coprire con un pezzo di plastica sottilissima.
Poiché invertendo non succede nulla io aggiungerei una spia al neon con un polo collegato ad H4 e l'altro ad una sostanziosa resistenza (in termini di ohm) con l'altro pin libero da toccare; se la spia si accene la fase è collegata correttamente; naturalmente parlo di quelle spie che si illuminano basta che ti avvicini, niente che faccia scorrere nel corpo roba da far sentire qualcosa.

In realta' ... Neutro - Fase, tra di loro c'e' una differenza di potenziale alternata... puoi invertirle senza problemi.

Non è proprio così, il conduttore di "fase" è quello su cui passa l'onda sinusoidiale effettiva a 50 Hz 230V, mentre il "neutro" è il ritorno a potenziale ZERO (in teoria in un impianto ben fatto si potrebbe anche toccare senza prendere la scossa...ovviamente, per sicurezza, NON fatelo!!).

Invertire i conduttori quando non c'è un trasformatore di mezzo (come nel nostro caso) fa una bella differenza eccome!! Ad esempio nel tuo schema corrisponderebbe ad applicare direttamente una sinusoide con picchi di oltre +/- 300v direttamente sul piedino Gnd dell'ATMega. E non è quel che si dice..."tutta salute"!

Però se è completamente isolato e non ha dispersioni nell'impianto non dovrebbe avere problemi; concordo con te che non sia affatto la stessa cosa, d'altra parte dubito che nelle varie prove non abbia mai applicato la fase sul punto "sbagliato", ecco perché penso che la cosa possa reggere. Ma, ripeto, io metterei sempre la fase sull'ingresso col condensatore, infatti consigliavo proprio di aggiungere una spia di rilevazione.
Non so nel tuo caso se è la stessa cosa (hai mai provato, anche per errore, ad invertirle?); se il rischio è calcolato, una bella spia provafase ti eviterebbe di stare sempre lì con quello vero in mano a cercare la fase.

Beh personalmente non condivido la strategia del "dovrebbe reggere", ci sono diverse motivazioni strettamente tecnico/teoriche (che esulano dal topic) che portano ad affermare che è "cosa buona e giusta" (nostro dovere di tecnici e fonte di salvezza da scosse elettriche) rispettare le fasi. Ovviamente poi ognuno fa quello che ritiene più giusto...

Se si vuole evitare il problema di trovare il giusto verso di volta in volta la soluzione è abbastanza semplice, basta inserire nello schema (ridimensionando i componenti) un bel ponte raddrizzatore e passa la paura...ma d'altronde nel mio pensiero originario c'era l'idea di cercare la fase "una sola volta", poi una volta montato il tutto non si sarebbe più dovuto cercare niente, e il cercafase si poteva anche posare nel cassetto degli attrezzi. :slight_smile:

C'è un'anima pia che spiega (a me ed al forum) il funzionamento tecnico della parte in luce (220V-5V)

Io so che funziona e "credo" di sapere anche come funziona, ma mi piacerebbe capire meglio il PERCHE', e soprattutto essere sicuro delle mie conoscenze/convinzioni ! :drooling_face:

@dalubar: quella di aggiungere un ponte era venuta anche a me 8)

@dalubar: mi è venuta un'idea per l'utilizzo del Tuo prezzemolo al posto di un Arduino

Da tempo volevo realizzare un dissuasore per gatti NON VIOLENTO.

Un semplice "aggeggio" che al passaggio del micio si premurasse di dargli una bella schizzata.

Pensavo a due PIR (uno in alto ed uno in basso) per poter distinguere il passaggio di un gatto da quello di un essere umano più alto di 50 cm (altrimenti docciamo anche bimbi ed adulti che passano) e poi una elettrovalvola per 1 o 2 secondi di schizzo.
Nella versione "fissa" all'elettrovalvola si potrà collegare un tubo dell'acqua direttamente dalla rete, in una versione portatile invece (vedi mie necessità) dovendo essere posizionata lontano da prese di corrente e di acqua, potrebbe essere alimentata a batteria (una 12V al piombo da 4 o 7A) e dotata di un piccolo serbatoio sotto pressione, tipo uno di quei nebulizzatori a pompa manuale magari azionato da un servo, che potrebbero conservare una discreta autonomia di schizzi.

Che ne pensate ?

@cgs64: beh detta in maniera molto semplice e senza far ricorso a numeri complessi e trigonometria...
Il condensatore attraversato da una corrente alternata si comporta come una resistenza, detta "reattanza capacitiva" che è funzione della frequenza, secondo la relazione Xc = 1/(2pifC) (dove 2pif è la pulsazione e nel nostro caso vale 2 * 3.1415 * 50 = 314.15); in parole povere significa che più è alta la frequenza e più il condensatore si comporterà come una resistenza di basso valore a prescindere dalla tensione che lo attraversa.
Ad esempio nel tuo caso C=470nF, significa che il condensatore, nei confronti del circuito, si comporta come se fosse una resistenza di circa:
Xc = 1/(314,15 * 470nF) = 6772 Ohm
Quindi la massima corrente "teorica" erogata dal circuito, considerando il valore max Vm=230
sqrt(2)=325 sarà di:
I= Vmax/Xc = 325 / 6772 = 47mA.
La R in serie serve come limitatore di corrente in ingresso allo zener.
Formule a parte, spero di aver saputo esprimerti quanto meno il "concetto" che sta alla base del funzionamento del circuito.

Nel mio caso, invece, si dovrebbe più parlare di "impedenza" e non solo reattanza, in quanto la resistenza in parallelo al condensatore mescola, nel triangolo delle tensioni, la parte dissipativa (R) e la parte di accumulo energetico (C), il cui "modulo" rappresenta, appunto, l'impedenza.

Ottima l'idea del dissuasore non violento...ecco un'altra applicazione per prezzemolo :slight_smile:
Sarebbe adatto per la versione "fissa", potendo accettare in ingresso i 2 PIR (che sono semplici ingressi digitali) e comandare direttamente l'elettrovalvola.

Bella quella piastrina compatta stile "made in china", ma l'hai testata? Quel gruppo di triac che si tengono caldo tra loro potranno essere felici in inverno, magari in estate un po' meno :slight_smile:
Hai sottolineato giustamente la pericolosità nel mettere mani su una rete a 220v, ma non hai specificato i limiti che un utente sprovveduto potrebbe sottovalutare su quella basetta. Tu metteresti quel dispositivo in una cassetta di derivazione chiusa affollata da cavi e cappellotti?
Mettici 4 carichi da 300w cad e lascialo 8 ore acceso, prepara anche un estintore nelle vicinanze :slight_smile:

Capisco il bisogno di ridurre gli spazi, ma secondo me andrebbero allontanati e dissipare in modo adeguato lo scambio energia.

ciao

@dalubar: GRAZIE, preciso ed esaustivo. XD

pablos:
Bella quella piastrina compatta stile "made in china",

E' made in Cu-china :slight_smile: - Nella nuova casa non ho un posto per me, e quindi i lavoretti li faccio un cucina :frowning:

pablos:
ma l'hai testata?

Certo.
Quel prototipo serve appunto per testare il circuito.
Se funzionera' bene mi faro' una basetta ad-hoc. Magari facendola su misura per una scatola.

pablos:
Hai sottolineato giustamente la pericolosità nel mettere mani su una rete a 220v, ma non hai specificato i limiti che un utente sprovveduto potrebbe sottovalutare su quella basetta.

Ripeto che ho avvertito tutti della pericolosita' di lavorare con il 220. Ho sconsigliato di usare il mio circuito.
Ho pubblicato lo schema, non le piste della basetta, in quanto per ora ho solo un prototipo.

CIAO