Welcome to Sergio Salvitti - Home Page
  

Tutto quello che desideravi ma non hai mai osato chiedere!

Menu Principale
Home
Manuale d'uso
Argomenti
Raccomandaci
Login
Inviaci una Notizia
Statistiche
Top 10
Links


Past Articles
Venerdì, 26 agosto
· STRUMENTI FATTI IN CASA II (0)
Mercoledì, 27 luglio
· SEQUENCER MP3 PER PRESEPIO (0)
Martedì, 07 dicembre
· PicOS - Real Time Kernel di Francesco Conversi (14)
Martedì, 30 novembre
· INTERFACCIA RELE' IN CONTENITORE PLASTICO (22)
Lunedì, 30 agosto
· VALVOLE ELETTRONICHE (13)
Martedì, 13 aprile
· 8515 DEVELOPMENT KIT BOARD by Fabrizio D'angelo (13)
Sabato, 06 marzo
· CONTROLLER LUCI PER PRESEPIO (26)
Giovedì, 04 marzo
· SITO DI MARCO - PROGETTI DI MACCHINE PER PCB (20)
Martedì, 18 novembre
· Libro PHPnuke 6.0 - 6.9 (28)
Giovedì, 18 settembre
· MOSTRA DELL'ARTE PRESEPIALE (20)
Mercoledì, 10 settembre
· PRESEPIO AVR (34)
Martedì, 22 luglio
· PRESEPIO ELETTRONICO - VERSIONE WINDOWS (16)
Venerdì, 18 luglio
· PROGRAMMATORE 89C4051 (17)
· VECCHIA RADIO (21)
Martedì, 25 marzo
· INVERTER CON AVR8515 di Fabrizio D'Angelo (17)
· BIG ENDIAN - LITTLE ENDIAN (25)
Venerdì, 10 gennaio
· Hoax: spam e imbrogli (17)
Martedì, 17 dicembre
· CONTROLLER SERIALE PER LETTORE CDROM AUDIO (31)
Venerdì, 29 novembre
· PRESEPIO - DOMANDE FREQUENTI (22)
Martedì, 26 novembre
· I VERMI DELLA RETE (20)
Venerdì, 22 novembre
· ERRORE PCB - INTERFACCIA RELE' (20)
Martedì, 19 novembre
· FORMATO DEI FILES (34)
Martedì, 05 novembre
· GALBALST - PROGRAMMATORE DI GAL (18)
Giovedì, 12 settembre
· LIBRO SU PHPNUKE - IN ITALIANO (16)
· COME FUNZIONA L'EMAIL (16)
Lunedì, 09 settembre
· A SCUOLA DI INTERNET - DIVENTARE WEBMASTER (13)
Giovedì, 05 settembre
· AGGIORNATO IL PROGETTO SCHEDA RELE' (21)
Martedì, 18 giugno
· WI-FI - NUOVA FRONTIERA WIRELESS di Walter Di Iullo (32)
Venerdì, 31 maggio
· IMPARARE L'ELETTRONICA (20)
Lunedì, 20 maggio
· STRUMENTI FATTI IN CASA (23)
· GENERATORE DI FUNZIONI AUTOCOSTRUITO di Lapo Pieri (18)
Venerdì, 17 maggio
· PROGRAMMAZIONE LINUX AVANZATA (18)
Martedì, 23 aprile
· PROGRAMMAZIONE A OGGETTI (15)
Lunedì, 22 aprile
· NUOVO PRESEPIO CON AVR8515 (22)
Sabato, 20 aprile
· AMPLIFICATORE IN CLASSE A (21)
Giovedì, 11 aprile
· SPERIMENTARE CON IL PIC16C84 (14)
Martedì, 02 aprile
· IL PC QUESTO SCONOSCIUTO (26)
Mercoledì, 27 marzo
· AMPLIFICATORE QUAD (20)
Martedì, 19 marzo
· Cronotermostato Digitale con ST6260 (12)
Giovedì, 28 febbraio
· INTRODUZIONE ALLA PROGETTAZIONE DEGLI ASIC (17)
Martedì, 19 febbraio
· MOTORI DI RICERCA (22)
· SISTEMI OPERATIVI REAL TIME (20)
· RIVISTE DI ELETTRONICA (12)
· MOSTRE E FIERE (19)
Lunedì, 18 febbraio
· PROGETTAZIONE DEI CIRCUITI STAMPATI (23)
· TRASFORMATORI ELETTRICI (19)
Venerdì, 15 febbraio
· Programmatore 89C2051 (14)
Giovedì, 14 febbraio
· INTRODUZIONE A LINUX (12)
· SIMULATORI ANALOGICO-DIGITALI (18)
Mercoledì, 13 febbraio
· LIBRI IN RETE (23)

Articoli Vecchi


User's Login
Nickname

Password

Non hai ancora un tuo account? Crealo Qui!. Come utente registrato potrai sfruttare appieno e personalizzare i servizi offerti.


  
INTERFACCIA RELE' PER PC DA PARALLELA
Posted by Sergio on Mercoledì, 16 gennaio @ 02:45:24 CET
Progetti
INTERFACCIA RELE' PER PC

Introduzione
Descrizione
Elenco Componenti
Collaudo e messa a punto
Relay.exe
Delay.exe
Waitfor.exe
Possibili Applicazioni del Circuito

vedi pure Progetto completo su Geocities



INTRODUZIONE

Con il rapido progresso della tecnologia dei computers, quasi ognuno di noi dispone di un vecchio 8088 o un 286 che non sa come utilizzare.

Questi computer sono disponibili per essere adoperati come controllori dedicati ad usi particolari come accendere/spegnere luci o altri apparati elettrici.

Il progetto descrive un circuito semplicissimo per comandare 7 rele' di potenza tramite l'interfaccia parallela del PC.

Ogni rele' viene comandato dallo stato ON/OFF di un predefinito bit della porta parallela.

Di seguito viene riportato l'elenco della documentazione:

DESCRIZIONE

Il circuito e' imperniato sull'integrato ULN2003.

All'interno del chip sono alloggiati 7 darlington di potenza con i quali vengono pilotati altrettanti rele' RL1-RL7.

I transistor sono adatti a ricevere in ingresso espressamente dei livelli a 5 Volt.

I diodi di volano che normalmente si aggiungono per evitare le extratensioni di spegnimento della induttanza dei rele' sono gia' contenuti nel chip stesso.

E' ovvio che i transistor invertono la polarita' del segnale d'ingresso.

Il condensatore C1 e' usato come filtro la tensione d'alimentazione a 24V.

Il cavo della parallela va collegato al connettore P9.

La tensione di alimentazione dei rele' va collegata al connettore P8.

Il cavo verso la porta parallela non dovrebbe superare la distanza di un metro, anche se non dovrebbero esserci problemi visto che il circuito non ha elementi di memoria.

Ogni uscita del rele' dispone di un deviatore collegato ai connettori P1-P7 a 3 vie corrispondenti ai rele' RL1-RL7 rispettivamente.

Il pin 2 di ogni connettore corrisponde al centrale del deviatore mentre il pin 1 e' relativo al contatto NO e il pin 3 al contatto NC.

Ad ogni rele' e' associato un led verde che si accende quando la bobina relativa e' eccitata.

Le resistenze vengono utilizzate per polarizzare i led.

Per semplificare il circuito stampato e' stato previsto il montaggio delle resistenze in verticale.

Ogni rele' dispone di un deviatore doppio.

Per semplicita' e' stato utilizzato un solo deviatore sfruttando sia il contatto normalmente chiuso che quello normalmente aperto.

Qualora non servisse il contatto normalmente chiuso (caso piu' comune) e' possibile usare dei connettori a 2 vie invece che tre, lasciando libero il foro relativo al pin 3.

Per questo circuito sono stati utilizzati dei rele' a 24 V.

E' possibile usare anche rele' con tensioni di funzionamento diverse da 24 V, purche' inferiori, cambiando se necessario il valore delle resistenze dei diodi.

ELENCO COMPONENTI

Piastrina

  • R1-R7 = Resistenza 3K3 - 5% - 1/4W
  • C1 = Condensatore Elettrolitico verticale 100uF/35V
  • U1 = Circuito Integrato ULN2003A
  • D1-D7 = Diodo led verde da 5 mm
  • RL1-RL7 = Rele' da 24V - Contatti 10A
  • P1-P7 = Connettore 3 vie a saldare
  • P8 = Connettore 2 vie a saldare
  • P9 = Connettore IDC 16 pin maschio
Cavo di collegamento
  • 1 Connettore IDC 16 femmina a crimpare
  • 1 Connettore DB25 femmina a crimpare
  • 1 metro flat 16 fili


COLLAUDO E MESSA A PUNTO

Preparare un cavo flat a 16 pin collegando da un lato un IDC 16 femmina e dall'altro un connnettore DB25 maschio.

Durante la crimpatura del connettore DB25 accertarsi di posizionare il cavo flat sul lato estremo del pin 1.

Cio' e' dovuto al fatto che vengono utilizzati solo i pin 1-8 e 14-21 della porta parallela lasciando gli altri 9 inutilizzati.

Per il controllo dei rele' sono utilizzati i bit D0-D6 della porta parallela.

Per semplificare il circuito stampato ed evitare l'uso di un biplaccato, la connessione dei pin e' stata realizzata in ordine inverso a quello che ci si poteva aspettare:

D0 = RL7
D1 = RL6
D2 = RL5
D3 = RL4
D4 = RL3
D5 = RL2
D6 = RL1

Nella programmazione della porta bisogna tener conto di questo fattore.

Scompattando il file relativo alla parte software si possono trovare all'interno tre utility DOS:

  • RELAY per controllare i bit della parallela
  • DELAY per attendere un predeterminato numero di secondi
  • WAITFOR per attendere fino ad un predefinito orario in HH:MM
Creare una directory di destinazione dei file e utilizzare il PC in modalita' DOS per evitare problemi con Windows.

Connettere una sorgente di tensione continua a 24V sul connettore P8.

Connettere 7 carichi sui connettori P1-P7.

Collegare il cavo flat accertandosi del corretto orientamento del pin 1 sul connettore P9 a meno che non abbiate usato un IDC polarizzato per evitare l'inversione del collegamento.

Lanciare il batch file test.bat e controllare che i rele' si attivino e disattivino in sequenza da RL7 a RL1 con una cadenza di un secondo.

Utilizzando le utility descritte e' possibile creare dei file batch secondo i gusti.

RELAY.EXE

L'utility RELAY va utilizzata nel seguente modo:

RELAY

Il valore di hex byte puo' essere specificato nel range 00h (tutti i rele' OFF) - 7Fh (tutti i rele' ON).

Esempio: RELAY 5A

La porta parallela generera' l'output 5Ah (binary 0101 1010) causando l'attivazione dei rele' RL6, RL4, RL3, RL1.

Di seguito viene riportato il sorgente del programma.

Relay .c

#include
#include

#define LPT1 0x00400008 /* BIOS printer address entries */
#define LPT2 0x0040000a
#define LPT3 0x0040000c
#define LPT4 0x0040000e

int main(int argc, char *argv[])
{
unsigned int port,data;
unsigned int far *bios_printer_addr;

if (argc>3) exit(1);

switch(argc)
{
case 1:
exit(1);

case 2:
port=*(bios_printer_addr=LPT1);
if (port==NULL)
{
printf("LPT1 does not exist ");
exit(1);
}
sscanf(argv[1],"%x",&data);
break;

case 3:
if (argv[1][0]=='/')

switch(argv[1][1])
{
case '1':
port=*(bios_printer_addr=LPT1);
if (port==NULL)
{
printf("LPT1 does not exist ");
exit(1);
}
sscanf(argv[2],"%x",&data);
break;

case '2':
port=*(bios_printer_addr=LPT2);
if (port==NULL)
{
printf("LPT2 does not exist ");
exit(1);
}
sscanf(argv[2],"%x",&data);
break;

case '3':
port=*(bios_printer_addr=LPT3);
if (port==NULL)
{
printf("LPT3 does not exist ");
exit(1);
}
sscanf(argv[2],"%x",&data);
break;

case '4':
port=*(bios_printer_addr=LPT4);
if (port==NULL)
{
printf("LPT4 does not exist ");
exit(1);
}
sscanf(argv[2],"%x",&data);
break;

default:
printf("Invalid printer port! ");
exit(1);
}

else exit(1);

}

outportb(port, (char)data);

return 0;
}

DELAY.EXE

L'utility DELAY va utilizzata nel seguente modo:

DELAY

Il valore massimo ammesso e' 32767. Il programma non controlla che il parametro possa avere valore minore di 1 o maggiore di 32767.

Esempio: DELAY 100

Il programma rimane fermo per 100 secondi prima di terminare.

Di seguito viene riportato il sorgente del programma.

Delay.c

#include
#define ESC 0x1b

int main(int argc, char *argv[])
{

unsigned int seconds;

if (argc<2) exit(1);

seconds = atoi(argv[1]);

while (seconds) {

printf(" %05d",seconds);
delay(1000);
seconds--;

if (kbhit()) { if (getch()==ESC) exit(1); }

}

printf(" %05d",seconds);

return 0;

}

WAITFOR.EXE

L' utility WAITFOR va utilizzata nel seguente modo:

WAITFOR

La notazione usata e quella in ore-minuti su 24 ore.

I valori ammessi sono 0-23 per HH e 0-59 per MM.

Esempio: WAITFOR 18:30

Con questo comando, il PC rimane in attesa fino alle ore 6 e 30 del pomeriggio.

Di seguito viene riportato il sorgente del programma.

waitfor.c

#include
#include
#include

#define ESC 0x1b

int main(int argc, char *argv[])
{
char timebuf[9];
char timeold[9];

if (argc<2) exit(1);

do {

_strtime(timebuf);

if (strcmp(timebuf, timeold)) {

printf(" %s",timebuf);
strcpy(timeold,timebuf);

}

if (kbhit()) { if (getch()==ESC) exit(1); }

}

while (strncmp(argv[1], timebuf, 5));

return 0;

}

POSSIBILI APPLICAZIONI DEL CIRCUITO

Il circuito e' stato progettato come complemento al Progetto del Presepio Elettronico Multimediale per aggiungere ulteriori 7 uscite ON/OFF di potenza.

I contatti dei rele' sostengono una corrente nominale di 10A @ 220V pari a oltre 2KW, ma per ragioni di affidabilita' sarebbe opportuno limitare la corrente a 3/4 A, specialmente per carichi fortemente induttivi.

Un'altra interessante applicazione e' quella di un timer programmabile a 7 uscite.

E' possibile utilizzarlo come timer one-shot.

Ad esempio lo uso come timer per il bromografo o per il cancellatore di EPROM.

Con la potenzialita' del PC e' possibile programmare il timer per tempi molto lunghi e stabilire l'accensione e lo spegnimento delle uscite ad ore prestabilite.

Tenuto conto della notevole potenza che il circuito riesce a controllare, potrebbe anche essere utilizzato per accendere e spegnere una insegna luminosa costituita da sette gruppi di lampade, creando degli splendidi effetti durante le feste natalizie o altri tipi di manifestazioni.

 
Links Correlati
· Progetto completo su Geocities
· SCHEMA ELETTRICO
· PIANO DI MONTAGGIO
· CIRCUITO STAMPATO
· SORGENTI CIRCAD
· SOFTWARE DI CONTROLLO CON RELATIVI SORGENTI
· Inoltre Progetti
· News by sergio


Articolo più letto relativo a Progetti:
Cronotermostato Digitale con ST6260



Article Rating
Average Score: 0
Voti: 0

Please take a second and vote for this article:

Bad
Regular
Good
Very Good
Excellent




Opzioni

Pagina Stampabile  Pagina Stampabile

Invia questo Articolo ad un Amico  Invia questo Articolo ad un Amico




Tutti i loghi e i marchi in questo sito sono proprietà dei rispettivi proprietari.
I commenti sono proprietà di coloro che li hanno spediti, tutto il resto é © 2001-2010 mio
Questo sito web è stato costruito con PHP-Nuke, un sistema per portali web scritto in PHP.
PHP-Nuke è un Software Free rilasciato sotto licenza GNU/GPL.
Web site engine's code is Copyright © 2003 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Generazione pagina: 0.086 Secondi