c3_r.jpg (854 byte)
a_s_tr.gif (999 byte)
Cerca nel sito:  
a_d_tr.gif (996 byte)
 
  hardware.gif (7819 byte)
Per gli amanti dell'elettronica entriamo più in dettaglio nella parte tecnica...
L' Hardware e' realizzato intorno a due cestelli che ospitano tutte le schede d'interfaccia.
Il tutto dialoga con il PC sottostante tramite la porta parallela.
I dati ricevuti dalla parallela vengono multiplexati su un bus a 16 bit che a sua volta indirizza e comanda tutte le schede. Queste schede sono realizzate su piastre mille buchi con la tecnica del "wire wrapping". Alcune di loro sono gestite da microprocessore. Il sistema e' alloggiato in un mobiletto metallico per computer e può indirizzare (teoricamente, spazio permettendo) fino a 255 schede d'interfaccia.
Image13.jpg (5074 byte)
Clicca per ingrandire Per l'audio sono anche installate due meccaniche auto-reverse per cassette audio. Posizionate nella parte posteriore si possono vedere in alto nella foto a lato, sono un ricordo della prima versione del sistema. Ora viene usato quasi esclusivamente il lettore CD, ma in caso di guasto del medesimo (come è successo qualche tempo fà) tornano utili. Quando  viene inserito un CD audio i nastri magnetici vengono esclusi automaticamente.
La scheda audio Sound Blaster del PC gestisce sia l'audio proveniente dai nastri magnetici o dal lettore CD, sia gli effeti sonori che sono invece sotto forma di file audio di tipo WAV oppure di tipo VOC.
All'interno del mobile, nel retro, sono installate le meccaniche per i nastri audio, tutti i collegamenti di potenza e gli alimentatori stabilizzati di servizio.
 
Nelle foto del sistema di controllo sono visibili le schede che assolvono alle seguenti funzioni:
  1. Scheda per controllare la   variazione della luminosità della Luna e di 8 gruppi di stelle. Ne regola anche il tremolio.
  2. Scheda di controllo per l'accensione di 8 gruppi di case.
  3. Scheda per il controllo di 8 relè con contatti da 16 Ampere.
  4. Scheda di controllo per l'accensione e il tremolio di 8 gruppi di fuochi o lanterne.
  5. Alimentatore stabilizzato del cestello.
  6. Scheda d'interfaccia tra il cestello e il PC.  Gestisce l' I/O  e comanda l'alimentazione di potenza verso tutti i dispositivi.
  7. Scheda 8 canali di potenza. Due sono usati per il controllo della luminosità delle luci per la notte e l'alba. Gli altri per altri gruppi di lampade.
  8. Scheda per il controllo della luminosità delle luci per il giorno e il tramonto.
  9. Scheda contenente la logica di indirizzamento della scheda precedente e l'interfaccia per estendere il bus di controllo agli altri dispositivi esterni al sistema.
  10. Scheda per il controllo del movimento del sole al tramonto.
  11. Scheda per il controllo di 4 motori passo-passo.
Esternamente al rack principale, controllati da esso tramite il bus del sistema,
vi sono altri dispositivi:
  • Un controllo per due alimentatori stabilizzati programmabili da 0 a 20 volt con una corrente massima di 8 Ampere.
    Lo stesso controllo gestisce anche 32 Relè di servizio utilizzabili per comandare altri dispositivi.
  • Un dispositivo per gestire il mare.
    Controlla la velocità, il verso delle onde e la loro altezza.
  • Otto alimentatori stabilizzati programmabili PWM a 14 volt.
    Ottimi per variale la velocità dei motori o la luminosità delle lampade
    .
  • Un altro controllo gestito da un microprocessore atto a comandare 12 servocomandi del tipo utilizzato nel modellismo (attualmente non ancora operativo).
Clicca per ingrandire
software.gif (7403 byte)
Per il software le cose si complicano.
E' stato scelto il sistema operativo MS-DOS per ragioni di REAL-TIME e affidabilita'.
Tutte le versioni di Windows, in realtà sono molto lente a causa del multitasking.
Per questa ragione sono poco adatte alla gestione di eventi in REAL-TIME come, ad esempio,  la ricerca dei markers (per effettuare dei sincronismi) all'interno dei files audio durante il play degli effetti sonori.
Anche l'OUT verso il BUS del PC e' molto lento rispetto al DOS.
Clicca per ingrandire
 Il sistema di controllo e il programma di gestione sono stati progettati nel 1994, dunque prima dell'avvento di Windows 95 e quando la velocità dei PC non era quella attuale.
La prima versione del sistema era basata su un PC con processore 286 a 16 MHz.
Proprio per la lentezza del processore molta parte del software è stata scritta in linguaggio ASSEMBLER. 
Con il tempo sia l'hardware che il software hanno subito notevoli cambiamenti, ma il sistema operativo DOS non e' stato sostituito per via dell'alta affidabilità e dell' ottima velocità che possiede (squadra vincente non si cambia). Gli effetti si possono programmare con la precisione di un millesimo di secondo.
  
 
Attualmente il problema della lentezza del PC non esiste più ed è possibile usare Windows in unione ad un un computer  molto  veloce.  Windows è molto suscettibile anche nella fase di spegnimento del PC mentre, con il DOS, per spegnere il tutto basta usare solo l'interruttore senza tanti preamboli.

Proprio per ragioni di velocità e affidabilità il software di controllo e' stato scritto in QUICK BASIC 7.1 PROFESSIONAL (chi lo conosce bene sa che non ha veramente niente da invidiare al linguaggio C).  Il tutto è stato integrato con un abbondante uso di ASSEMBLER e qualche routine in linguaggio C.
Il timer di precisione (apprezza i mSec.), le routines per la gestione della memoria estesa, della scheda audio, dell' I/O  e delle finestre virtuali sono state scritte in ASSEMBLER.

Descrizione del programma
Questo programma e' dotato di una completa interfaccia utente a finestre mediante la quale e' possibile impostare un time-line degli eventi e i parametri relativi alle schede installate.
Il ciclo completo alba-giorno-tramonto-notte si svolge nell'arco di 1024 step.
Il software di controllo permette di creare dei files (programmi) contenenti tutti i parametri necessari allo svolgimento delle quattro fasi e di tutti gli eventi in esse inseriti. L'estrema elasticità del sistema permette di creare degli effetti molto sofisticati che possono essere usati anche in ambito diverso da quello presepistico.

Clicca per ingrandire
Finestra di debug

Clicca per ingrandire
Editor degli eventi audio sincronizzati

Il software permette di variare tutti i parametri di: tempi, luminosità, movimenti, eventi, dissolvenze, suoni.
Ad esempio, in un qualsiasi momento del ciclo, posso inserire un evento che dissolve una luce oppure muove un motore passo-passo di n steps, oppure esegue un effetto sonoro o aziona un qualsiasi meccanismo.
L'effetto temporale, ad esempio, e' un evento audio con sincronismi. Vengono usati dei files con estensione .VOC che permettono di inserire al proprio interno dei markers oltre al segnale audio.
In questo modo, leggendo e interpretando i markers durante il play del file, e' possibile effettuare degli eventi sincronizzati con l'audio.  L' accensione (per pochi millesimi di secondo) delle luci che simulano i lampi pochi istanti prima di sentire il rombo del tuono ne sono un esempio.
Ogni marker è caratterizzato da un valore a cui vengono associate delle determinate serie di azioni da effettuare (ad esempio aprire o chiudere dei relè, muovere un motore o variare una luce).
Vi sono ovviamente anche degli eventi audio senza sincronismi che lavorano in background durante il normale svolgimento del ciclo. Un esempio di questi e' il rumore del vento.
Il software permette anche la creazione di eventi dissolvenza indipendenti dal ciclo stesso. Questo tipo di evento permette di effettuare la dissolvenza anche incrociata e in momenti diversi tra uno o piu' canali analogici (luci).
In questo modo e' stata creata la visualizzazione graduale dell'Arcobaleno e della Cometa e l'accensione lenta e progressiva delle luci nascoste che permettono allo spettatore di vedere le gocce di pioggia durante il temporale notturno.
Clicca per ingrandire
Visualizzazione grafica luminosità
E' anche possibile pilotare dei motori passo-passo.
Si possono programmare il numero di step da effettuare, il senso di rotazione, il tipo di step (con o senza passo intermedio) e la velocità di rotazione.
La scheda installata permette di pilotare quattro motori, ma, volendo, se ne possono aggiungere altre con indirizzi diversi.
In questo modo, con l'evento motore, e' possibile gestire dei movimenti.
Il cambiamento delle fasi lunari e il passaggio della Cometa sono un esempio di evento motore.
E' possibile comandare determinati relè o altri canali in uno specifico istante (step) del ciclo, anche in modo pseudocasuale.
L'accensione delle luci delle case, delle lanterne e dei fuochi sono un esempio di evento step casuale. In questo modo l'effetto è reso più naturale.
In fase di debug è inoltre possibile visualizzare graficamente l'andamento della luminosità di ogni canale in ogni istante del ciclo. Questo permette di vedere come si incrociano le varie luci per ogni step del programma.

Sono in preparazione il nuovo software di controllo e il nuovo hardware.
(Pronto al 98 %)
Ora che il problema della velocità dei computer non esiste più (e ho avuto l'ispirazione) ho iniziato a scrivere il nuovo software di controllo. Speravo di finirlo per il Natale 2003 ma non è stato così.... Chissà se per il 2007.....
L'immagine a lato mostra la schermata di DEBUG. Questa è la fase più importante. 
Quì si inseriscono tutti i parametri di programmazione dei vari Canali che controllano il 
Clicca per ingrandire
presepio, cioè i tempi, la luminosità delle lampade, la velocità dei motori, i suoni e tutto il resto. Questo software ha subito nel tempo moltissimi cambiamenti sia strutturali che grafici. E' stato studiato in modo che possa funzionare sia con il vecchio hardware che con il nuovo, attualmente in fase di progettazione e realizzazione.
Clicca per ingrandire Particolare cura è stata rivolta alla gestione degli eventi in background, cioè a quegli eventi che si devono verificare senza alterare l'andamento della giornata. Un esempio sono gli eventi con audio sincronizzato. Durante il loro svolgimento devono effettuare delle operazioni sincronizzate con l'audio in maniera del tutto autonoma senza interagire con le altre operazioni in corso.
La precisione del sincronismo è di un millesimo di secondo.
L'immagine a lato mostra la finestra di programmazione di un Evento Audio Sincronizzato.
E' scientificamente provato che la complessità di un programma cresce in modo proporzionale con la pazzia di chi lo scrive, per cui non l'ho ancora terminato.
Il tempo a disposizione è poco, inoltre me la prendo comoda dato che il vecchio software esegue comunque egregiamente il suo lavoro.
Il nuovo programma gira in ambiente Windows (qualsiasi versione da Win95 a WinXp) e, in unione al nuovo hardware, permetterà la realizzazione di effetti sempre più realistici.
Le immagini seguenti mostrano altre finestre del programma.

Programmazione dei Canali analogici e dei Canali servocomando.
Inserimento manuale (programmazione) dei valori di luminosità delle lampade o di spostamento dei servocomandi.

Clicca per ingrandire
 
Clicca per ingrandire Schermata del 'main program'.
Schermata  del programma che gestisce il presepio.
Da notare il piccolo schermo per la webcam.
 
Altra schermata del 'main program'.
La schermata precedente ma con la barra dei menu attivata.
E' possibile personalizzare il colore di sfondo e la disposizione dei vari indicatori e comandi.
Clicca per ingrandire
 
Clicca per ingrandire Programmazione dei Canali digitali.
Programmazione di ogni singolo bit step per step.
Editor della luminosità.
L' andamento della luminosità dei Canali può essere modificato anche graficamente agendo con il mouse direttamente sulla curva.
Clicca per ingrandire
Clicca per ingrandire Andamento grafico dei Canali analogici.
Visualizza la luminosità di uno o più Canali in modo da verificare l'andamento globale.
Editor dei files audio.
Necessario per inserire i markers di sincronismo per la creazione dei files audio sincronizzati.
Clicca per ingrandire
 
 
 

 

Persone hanno visitato questa pagina

 


 

Ultimo Aggiornamento: 16-12-2007