Ifrim Valentin Personal Web Page
 


Azionamento elettronico per serranda motorizzata

 

 
Comando automatico per una serranda motorizzata
 
         
 
Dettagli costruzione
Descrizione generale
Schemi e PCB
Firmware
Firmware per il microcontrollore
 
 
    Descrizione generale    
    La scheda di controllo consente di alzare o abbassare una serranda senza dover mantenere l'interruttore premuto, finché la serranda si alza o si abbassa completamente.  
    Funzionamneto:  
    - Modalità "Tasto stabile"
Per alzare la serranda è sufficiente premere il tasto "Up" per un breve periodo. Il motore è azionato in direzione UP per 30 secondi.
Se è premuto qualsiasi tasto in questo periodo, il motore viene fermato, fermando così la serranda nella posizione desiderata.
 
    - Modalità "Tasto momentaneo"
Per alzare la serranda fino a un certo livello, si deve premere il tasto "UP" per almeno 2 secondi e il motore continuerà ad alzare la serranda finché il tasto è rilasciato.
 
    E' prevista anche la possibilità di azionare in contemporanea più schede con un comando remoto (Central Unit), senza influire sul controllo individuale con i tasti locali.  

Schema connessioni
    Caratteristiche circuito  
    - Tensione di alimentazione: 12V cc (minimo 10V, massimo 15V);
- Corrente: min. = 6mA, massimo 85mA;
L'assorbimento è di: 6mA nella fase di riposo, 32mA con un relè attivo, 85mA con entrambi i relè attivi. Per il dimensionamento dell'alimentatore si deve considerare che ogni scheda assorbe 0,1A.
- Dimensioni: LxWxH (mm) = 74x49x25;
 
   
Attenzione: il circuito deve essere costruito rispettando le norme di sicurezza elettrica, in quanto utilizza tensioni alte!
 
    Schemi    
    Il circuito usa due relè per commutare l'alimentazione del motore: un relè (K1) stabilisce la direzione e l'altro (K2) accende il motore. Il relè K2 è azionato con un ritardo di 20ms dopo il relè K1, in modo che il carico della commutazione (inrush current ) sia sostenuto solo dal relè K2.
Il microcontrollore Microchip PIC12F1822 è alimentato ad una tensione di 5V regolata con il chip IC2 - 78L05.

click on image to open the pdf file in new tab
 
    I diodi D2, D4 consentono il comando di più schede, per azionare ad esempio le serrande di una stanza (zona) in contemporanea, ma permettendo anche l'uso individuale.
Il circuito di reset R100/C100 non è usato in quanto la porta MCLR è impostata come porta IO (GP3).
I segnali provenienti dai tasti sono filtrati con un filtro RC passa basso - frequenza di taglio di 3.4Khz.
Il circuito è costruito su una scheda di vetronite mono faccia, permettendo la realizzazione anche in casa.
 
    BOM (Distinta base)    
   
Qty Value Device Parts Code
1 0.01uF (NP) C-EUC0805 SMD C100
2 10n/16v C-EU025-024X044 C2, C3 RS 699-5077
1 1000u/25v CPOL-EUE5-10.5 C4 RS 571-981
2 0.1u/16V C-EU025-024X044 C1, C5 RS 537-3909
2 1N4007 1N4007-DO35-7 D1, D3
2 1N4148 DIODE-D-7.5 D2, D4
1 FUSE 4A T 250Vac FUSETR5 F1
1 PIC12F1822 PIC IC1 RS 703-7888
1 UA78L05AI 78L05 IC2 Farnell 1236591
1 OMI-SH-112 RELAY SPDT K1 Farnell 1891719
1 SDT-S-112LMR RELAY SPST K2 Farnell 1892001
1 Led Green(NP) LED3MM LED1
2 4k7 R-EU_0207/10 R1, R2 RS 707-7726
1 10k(NP) R-EU_R0805 SMD R100
1 680R(NP) R-EU_R0805 SMD R101
2 10k R-EU_0207/10 R3, R4 RS 707-7745
1 2R2 R_0204/7 R5
2 PDTD113ZT Transistor digitale SMD T100, T101 RS 508-541
2 Morsettiera /3-7,62 MKDS_5/3-7,62 X1, X3 Farnell 3882603
2 Morsettiera /3-5,08 AK500/3 morsettiere X2, X4 RS 425-8736
1 SOCKET DIP8 SOCKET DIP8 IC1a Farnell 2445620
NP = Not Populated
 
 
    Firmware    
    Il firmware è scritto in C e compilato con il compilatore XC8 V1.2 PRO.
 
   

Il file user.h contiene i valore impostati per :
- tempo di debounce tasti = 100ms;
- tempo per passare da modalità "Tasto Stabile" a modalità "Tasto Momentaneo" =2s;
- tempo massimo per motore attivo (in modalità Tasto Stabile) = 30s.
Nel file system.c si trova la funzione "void ConfigureOscillator(void)" che imposta la velocità del microcontrollore; è utilizzato l'oscillatore interno impostato a 16MHz.
Il file user.c contiene la funzione "void InitApp(void)" che ha il compito di inizializzare il microcontrollore.
Il file intterrupts.c contiene la funzione "interrupt" per la gestione del intterupt generato da Timer (ogni 10ms). Questa funzione si occupa della lettura dei tasti e della gestione dei vari time out. Quando la funzione ha rilevato un comando, setta il flag "keyChange".
Il file main.c contiene un ciclo while infinito che legge il flag "keyChange" e di conseguenza aziona i relè, in funzione dello stato del programma. Il ciclo while contiene anche una porzione di codice (" if (ms10_flag)....") usato nella fase di debug per far blinkare il led con un periodo di 100ms (1s ).

 
    Progetto MPLABX <- download zip file    
    Hex file <- download hex file    
 

 

Inizio della pagina
Termini e condizioni
Copyright ©2013 Ifrimv    Site designed by Ifrim Valentin