• IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia [email protected] Verso...

113
LA RIVISTA DI ELETTRONICA APPLICATA, TECNOLOGIE E PRODOTTI www.farelettronica.com N° 231 - SETTEMBRE 2004 - ANNO 20 EDIZIONI 5,50 - Frs 8,50 CD-ROM IN ALLEGATO MICROCHIP’S ® TECHNICAL LIBRARY UNIREADER Progetto di un lettore di Smartcard Il progetto completo di un VIDEO CONTROLLER con MOTION DETECTOR TECNOLOGIE SPERIMENTALI TUTORIAL HARDWARE VIDEO-CONTROLLER CON MOTION DETECTOR PANNELLO LUMINOSO A MATRICE DI LED HARDWARE PER LO SVILUPPO DI CPLD XILINX SISTEMA DI MISURA 1-WIRE: ISTALLAZIONE DEL SOFTWARE GLI STABILIZZATORI DI TENSIONE APPLICAZIONI EMBEDDED: L’APPLICAZIONE INDUSTRIALE PRATICAMENTE IL TIMER 555: METRONOMO ELETTRONICO FEBOT Il robot di Fare Elettronica PRIMA PARTE: Le specifiche del progetto Poste Italiane Spa - Spedizione in abbonamento Postale - D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma1, DCB Milano. In caso di mancato recapito, restituire all'editore che si impegna a pagare la relativa tassa presso il CPM di Roserio - Milano ROBOMANIA • FEBOT: SPECIFICHE DEL PROGETTO • ASPIRONE: UN ROBOT ASPIRAPOLVERE • SMARTCARD: UNIREADER - PROGETTO DI UN LETTORE DI SMARTCARD ALLA SCOPERTA DELL’OPTOELETTRONICA: LA FOTORESISTENZA VITAMINA C: LE FUNZIONI DI LIBRERIA NOTEPAD

Transcript of • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia [email protected] Verso...

Page 1: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

L A R I V I S TA D I E L E T T R O N I C A A P P L I C ATA , T E C N O L O G I E E P R O D OT T I

www.farelettronica.com

N° 231 - SETTEMBRE 2004 - ANNO 20

EDIZIONI

€ 5,50 - Frs 8,50

CD-ROMIN ALLEGATO

MICROCHIP’S®

TECHNICAL

LIBRARY

UNIREADERProgetto di un lettore

di Smartcard

Il progetto completo di un

VIDEO CONTROLLER

con MOTION DETECTOR

TECNOLOGIE SPERIMENTALI

TUTORIAL

HARDWARE

• VIDEO-CONTROLLER CON

MOTION DETECTOR

• PANNELLO LUMINOSO A MATRICE DI LED

• HARDWARE PER LO SVILUPPO

DI CPLD XILINX

• SISTEMA DI MISURA 1-WIRE:

ISTALLAZIONE DEL SOFTWARE

• GLI STABILIZZATORI DI TENSIONE

• APPLICAZIONI EMBEDDED:

L’APPLICAZIONE INDUSTRIALE

PRATICAMENTE

• IL TIMER 555:

METRONOMO ELETTRONICO

FEBOTIl robot di

Fare Elettronica

PRIMA PARTE:

Le specifiche del progetto Post

e Ita

liane

Spa

- Sp

edizi

one

in a

bbon

amen

to P

osta

le -

D.L.

353

/200

3 (c

onv.

In L.

27/

02/2

004

n. 4

6) a

rt. 1,

com

ma1

, DCB

Mila

no.

In c

aso

di m

anca

to re

capi

to, r

estit

uire

all'

edito

re c

he s

i im

pegn

a a

paga

re la

rela

tiva

tass

a pr

esso

il C

PM d

i Ros

erio

- Mi

lano

ROBOMANIA

• FEBOT:

SPECIFICHE DEL PROGETTO

• ASPIRONE:

UN ROBOT ASPIRAPOLVERE

• SMARTCARD:

UNIREADER - PROGETTO DI UN LETTORE

DI SMARTCARD

• ALLA SCOPERTA DELL’OPTOELETTRONICA:

LA FOTORESISTENZA

• VITAMINA C:

LE FUNZIONI DI LIBRERIA

NOTEP

AD

Page 2: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Tiziano [email protected]

Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia erano: NE555,LM324, CD4011 e tutta la componentistica discreta che allora il mercato offriva. Man mano che leschede si arricchivano di funzioni, diventavano sempre più complesse circuitalmente e quindi avevocercato di approfondire la programmazione dei microcontrollori per rimpiazzare gran parte dellacomponentistica discreta; ma i primi approcci si rivelarono un insuccesso. Avevo provato con diversimicrocontrollori, ma mi ero sempre arenato di fronte ai manuali da studiare e soprattutto di frontealla carenza di testi validi sull’argomento.Poi, un giorno, un mio caro amico mi telefona e in tono euforico mi dice: “ho provato dei nuovimicrocontrollori, semplici da programmare e con tante caratteristiche davvero interessanti, si chiamanoPIC, puoi telefonare alla XZY e chiedergli di inviarti qualche campione ed un programmatore”.Non so spiegarmi il motivo, forse l’entusiasmo del mio amico o forse il fatto che lui ci era riuscito edio no, ma ho messo da parte i miei insuccessi nel campo e ho chiamato il distributore. Dopo unasettimana avevo in ufficio 10 campioni del PIC16C54 e un programmatore PROMATE, entrambinaturalmente prodotti dalla Microchip, allora pressoché sconosciuta. Mi sono subito messo all’operama, anche questa volta, dopo due giorni di tentativi (la mia conoscenza dei microcontrollori eraallora piuttosto scarsa) ho abbandonato tutto sullo scaffale e sono tornato ai miei NE555 edall‘allegra compagnia dei componenti discreti.Qualche tempo dopo ho rincontrato il mio amico e lui, dopo avermi apostrofato per averabbandonato così velocemente la programmazione dei PIC e per la grossa mole di scuse cheutilizzavo per giustificare l’abbandono, mi disse una frase che mi diede da pensare: “… ma perchéti complichi la vita, inizia con l’accendere un led, il resto verrà da se”.La sera stessa sono tornato in ufficio a tarda ora e mi sono seduto alla scrivania determinato a seguireil suo consiglio.Ho preso il primo esempio che ho trovato sul data-sheet, l’ho modificato e, dopo alcuni tentativi eun paio di ore, una bellissima luce rossa ha illuminato il mio led! Un programma composto da duerighe di codice aveva cancellato in un attimo la mia frustrazione.A questo punto non mi rimaneva che spegnerlo, farlo lampeggiare, legarne l’accensione alla pressionedi un pulsante… era fatta, alle prime luci dell’alba i PIC non avevano più segreti per me! Sono andatoa dormire consapevole che da quel momento in poi il mio lavoro sarebbe cambiato.Vi ho raccontato questa mia esperienza, nella speranza che motivi quelli di voi che come me hannocercato di utilizzare i microcontrollori senza successo. Non iniziate con progetti complessi che vifarebbero soltanto perdere tempo e pazienza, armatevi di un editor, il compilatore ed un sempliceprogrammatore, vedrete che non è difficile, ci vuole solo un po’ d’impegno. Cominciate conl’accendere un led, vi ritroverete a scrivere su un display in men che non si dica, il passo è breve e lasoddisfazione tanta.Fare Elettronica ha dedicato ampio spazio ai progetti realizzati con microcontrollori PIC, abbiamopresentato un programmatore di semplice realizzazione (222), una scheda per esperimenti (229/230)ed un corso (da 220 al 228) – PIC Microcontroller By Example – attualmente disponibile su CD-ROM.Avete quindi tutti gli strumenti, non vi resta che accendere un led…Per completare il quadro, questo mese, Fare Elettronica è in edicola con un CD-ROM allegato:Microchip’s Technical Library . Un tassello importante da aggiungere alla vostra libreria tecnica, che virisparmierà tanto tempo prezioso speso nella ricerca di documentazione.

Ed è proprio un microcontrollore PIC quello che equipaggia il progetto centrale di questo mese, unVideo-Controller con motion detector, un progetto professionale realizzato da Angelo Brustia che siamosicuri vi darà molte soddisfazioni. Seguono le nuove puntate dei corsi sull’optoelettronica, sullesmart-card, sullo sviluppo di CPLD, sul bus 1-Wire, le applicazioni embedded, gli stabilizzatori ditensione e naturalmente Vitamina C che, a partire da questo numero, sarà seguita da Antonio Di Stefano.Infine, oltre alla seconda parte del Pannello luminoso a matrice di led, arriva la tanto attesa prima partedel nuovo progetto di Fare Elettronica: FEBOT. In questa prima parte vi illustriamo le specifiche delprogetto, ma vi annunciamo che molto altro bolle in pentola, quindi non perdetevi i prossimi numeri!

Come ogni mese concludo augurandovi una piacevole lettura e dandovi appuntamento in edicola adOttobre con un nuovo e ricco numero di Fare Elettronica.

L’IMPORTANZA

DI UN LED…

3

edito

riale

Page 3: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

DIRETTORE RESPONSABILE:

GianCarmelo Moroni

DIRETTORE DI REDAZIONE:

Tiziano Galizia ([email protected])

PROGETTO GRAFICO E IMPAGINAZIONE:

Graficonsult - Milano ([email protected])

HANNO COLLABORATO:

Maurizio Del Corso, Gianroberto Negri, Luca Calore, Luca Tondi,

Nico Grilloni, Nicola Ulivieri, Antonio Di Stefano, Angelo Brustia,

Andrea Perilli, Giuseppe Modugno, Agostino Rolando, Marco Fabbri,

DIREZIONE - REDAZIONE - PUBBLICITÁ

INWARE srl

Via Cadorna, 27/31 - 20032 Cormano (MI)

Tel. 02.66504794 - 02.66504755 - Fax 02.66508225

[email protected] - www.inwaredizioni.it

STAMPA:

ROTO 2000

Via Leonardo da Vinci, 18/20 - 20080 Casarile (MI)

DISTRIBUZIONE:

Parrini & C. S.p.a.

Viale Forlanini, 23 - 20134 Milano.

Il periodico Fare Elettronica è in attesa del numero di iscrizione al ROC

UFFICIO ABBONAMENTI

PARRINI & C. S.p.a. Servizio abbonamenti

Viale Forlanini, 23 - 20134 Milano

Per informazioni, sottoscrizione o rinnovo dell’abbonamento:

Telefono: 02.66504794 - Fax: 02.66508225

Email: [email protected]

Poste Italiane Spa - Spedizione in abbonamento Postale - D.L. 353/2003

(conv. In L. 27/02/2004 n. 46) art. 1, comma1, DCB Milano

Abbonamento per l’Italia: € 39,00

Abbonamento per l’estero: € 99,00

Per la sottoscrizione degli abbonamenti, utilizzare il modulo stampatoin ultima pagina.

Gli arretrati potranno essere richiesti, per iscritto, al seguente costo:

Numero singolo: € 7,50

Numero doppio: € 9,00

Autorizzazione alla pubblicazione del Tribunale di Milano n. 647 del 17/11/2003 INWARE srl.

© Tutti i diritti di riproduzione o di traduzione degli articoli pubblicati sono riser-

vati. Manoscritti, disegni e fotografie sono di proprietà di INWARE srl.

Diritti d’autore: La protezione del diritto d’autore è estesa non solamente al con-

tenuto redazionale di Fare Elettronica ma anche alle illustrazioni e ai circuiti

stampati. Conformemente alla legge sui Brevetti n.1127 del 29-6-39, i circuiti e gli

schemi pubblicati su Fare Elettronica possono essere realizzati solo ed esclusiva-

mente per scopi privati o scientifici e comunque non commerciali. L'utilizzazione

degli schemi non comporta alcuna responsabilità da parte della Società editrice.

La Società editrice è in diritto di tradurre e/o fare tradurre un articolo e di utiliz-

zarlo per le sue diverse edizioni e attività, dietro compenso conforme alle tariffe

in uso presso la società stessa.

Alcuni circuiti, dispositivi, componenti ecc. descritti in questa rivista possono be-

neficiare dei diritti propri ai brevetti: la Società editrice non assume alcuna re-

sponsabilità per il fatto che ciò possa non essere menzionato.

Elenco inserzionisti

Richieste di assistenza

Artek 39-81Blu Nautilus 29Comis 23Elettroshop 69-113-III copEurocom 105Futura 13-37G.P.E. kit 93Grifo II copParsic 19-91Pianeta Elettronica 59-87Pianeta Musica 65Scula RadioElettra IV cop

Collaborare con Fare ElettronicaLa redazione di Fare Elettronica è alla ricerca dicollaboratori per la stesura di articoli, progetti,tutorials, rubriche e libri.Le richieste di collaborazione vanno indirizzate aTiziano Galizia ([email protected]) eaccompagnate, se possibile, da una brevedescrizione delle vostre competenze tecniche e/oeditoriali, oltre che da un elenco degli argomentie/o progetti che desiderate proporre.

Per richiedere assistenza o chiarimenti sugli articolipubblicati, vi preghiamo di contattare l’autore, ilcui nome ed indirizzo email è sempre riportatosotto il titolo dell’articolo stesso.Nel caso ciò non fosse possibile potete scrivere [email protected], ricordandovi dispecificare il numero della rivista ed il titolodell’articolo per il quale chiedete chiarimenti,oltre al vostro nome, cognome ed indirizzo email.Tutte le richieste con informazioni insufficienti oanonime non saranno prese in considerazione.

Come contattarciIndirizzo email della Redazione:

[email protected] email dell’Ufficio Abbonamenti:

[email protected] nostri numeri telefonici:

Telefono 02.66504794 Fax 02.66508225Il nostro indirizzo postale:

INWARE EdizioniVia Cadorna, 27/3120032 Cormano (MI)

www.farelettronica.com

Page 4: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

SOMMARIO

tecnologie sperimentaliApplicazioni embedded (seconda parte): 16L’applicazione industrialedi Gianroberto Negri

tutorialSmartcard (quarta parte): 48Unireader - progetto di un lettoredi smartcarddi Giuseppe Modugno

Alla scoperta dell’optoelettronica: 76La fotoresistenzadi Andrea Perilli

Vitamina C (undicesima parte): 94Le funzioni di libreriadi Antonio Di Stefano

praticamenteIl timer 555: Metronomo elettronico 66di Maurizio Del Corso

hardwareVideo-controller con Motion Detector 20di Angelo Brustia

Pannello luminoso a matrice di led 38(seconda parte)di Luca Calore

Hardware per lo sviluppo di CPLD XILINX 60(terza parte)di Agostino Rolando

Sistema di misura 1-wire (seconda parte): 82Istallazione del softwaredi Nicola Ulivieri e Luca Tondi

Gli stabilizzatori di tensione (quarta parte) 88di Nico Grilloni

rubricheMicrochip’s Technical Library 6Come utilizzare il CD allegato alla rivista

Mailbox 8

News 10

Notepad 14

Le fiere e mostre mercato 74di Ottobre 2004

In Vetrina:

Tutto il corso “Pic® Microcontroller 110By Example” su CD-RM

Valvole audio 112

robomaniaFebot (prima parte): 100Specifiche del progettodi Maurizio Del Corso e Tiziano Galizia

Aspirone (seconda parte): 106Un robot aspirapolveredi Marco Fabbri

Page 5: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Come annunciato già da diverso tempo, questonumero di Fare Elettronica esce in edicola con un

allegato di tutto rispetto. Infatti, grazie all’accordo siglato con la Microchip,possiamo offrirvi in esclusiva il Microchip’s Technical Library, un CD che raccoglie ladocumentazione ed il software per tutti i componenti di questo importante produttore

MICROCHIP’STECHNICAL LIBRARYCOME UTILIZZAREIL CD ALLEGATOALLA RIVISTA

Inutile dire che la quasi totalità dei progetti presen-tati nelle riviste di elettronica o che si trovano gra-tuitamente su Internet, utilizzano un microcontrol-lore PICmicro®. Questi piccoli mostri hanno con-quistato il mercato dei microcontrollori facendodella Microchip, il primo produttore al mondo dimicrocontrollori a 8 bit.Ma forse non tutti sanno che la Microchip producealtre linee di componenti, come memorie ed ana-logici, ma soprattutto che rende disponibile unalibreria di Application Notes enorme che offre unasoluzione ufficiale a quasi tutte le necessità di pro-grammazione.Il Microchip’s Technical Library contiene una gran-de quantità di documentazione e software, divisaper categorie, di facile consultazione, inoltre forni-sce le ultime versioni di software per tutti i sistemidi sviluppo, prodotti da questa casa.

PREREQUISITIPrima di poter accedere ai contenuti del CD, vedia-mo di cosa abbiamo bisogno per farlo funzionare.Il cd si naviga come un sito Web, ma per ovviarealle grosse limitazioni nella dinamicità dei contenu-ti tipiche dell’HTML, la Microchip ha deciso di adot-tare Java, quindi dobbiamo assicurarci che il nostro

computer disponga dei requisiti minimi.Inserendo il CD nel lettore, dovrebbe automatica-mente aprirsi il browser installato nel nostro com-puter, sia esso Internet Explorer che Mozilla oOpera. Se il PC rispetta i requisiti dovreste trovarvi

di fronte la home pagedel CD, diversamente,potrebbe non accaderenulla o peggio potrem-mo ricevere un messag-gio di errore tipo“StartHere.exe –Unable to locate DLL”.Niente paura, significache non è stata trovatala Java Virtual Machine,vediamo quindi comeinstallarla.

Aprite il cd da “Risorsedel computer”, ciccan-doci sopra con il tastodestro del mouse e sce-gliendo la voce “Apri”.Vi sarà mostrato l’elen-co delle cartelle disponi-

MICROCHIP’STECHNICAL LIBRARYCOME UTILIZZAREIL CD ALLEGATOALLA RIVISTACD

alle

gato

IN VETRINA6

Figura 1

Page 6: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

bili. Aprite la cartella“JVM” ed eseguite il file“JavaVM-1.4.2.04.exe”(l’estensione .EXEpotrebbe non esserevisualizzata su alcunicomputer), partirà l’in-stallazione della JavaVirtual Machine.Vi troverete nella situa-

zione di figura 1, cliccate sui tasti contrassegnati dalcerchietto rosso per procedere. Al termine dell’in-stallazione potrebbe essere necessario riavviare ilcomputer. Prima di dare conferma al riavvio, ricor-datevi di rimuovere il CD dal lettore.

Dopo aver riavviato il computer, lanciate InternetExplorer, cliccate sul menù “Strumenti” e poi su“Opzioni Internet…”, vi apparirà una finestra comequella di figura 2. Scorrete l’elenco delle opzioni edassicuratevi che le opzioni contrassegnate dal cer-chietto rosso siano abilitate, qualora non lo fossero,abilitatele cliccandoci sopra. Confermate la sceltapremendo il pulsante “OK”. A questo puntopotrebbe essere necessario riavviare il computerun’ultima volta.Fatto questo il vostro computer è pronto a leggereil CD!

ESPLORARE IL CDInserite il cd nel vostro lettore e vedrete che saràeseguito automaticamente Internet Explorer (o ilbrowser che utilizzate normalmente), vi troveretequindi nella situazione di figura 3. A questo puntopotete cliccare su una delle tre categorie principali:“Product Lines”, “Application Notes”,“Development Tools”.Fatto questo sarà caricato l’elenco delle categorie(proprio sotto l’elenco delle principali) e l’elenco deidocumenti nello spazio bianco a sinistra, come infigura 4.A questo punto il gioco è fatto, avete capito comenavigare il cd e come accedere alla grande mole didocumenti disponibili.

CONCLUSIONICome accennato precedentemente il Microchip’sTechnical Library, contiene tutta la documentazio-

ne relativa alle seguenti categorie di componenti:

• Componenti Analogici• Microprocessori dsPIC®

• Memorie• PICmicro®

• Dispositivi per radiofrequenza• Dispositivi per la sicurezza• Sistemi di sviluppo

Oltre alla documentazione (data-sheet, brochures eproduct brief) sono disponibili tutti i programminecessari per programmare i PICmicro® (MPLAB,MPASM), gli aggiornamenti software per i sistemidi sviluppo e, forse la parte più interessante dell’in-tero CD, le Application Notes.Le Application Notes, per chi non lo sapesse, sonodei documenti che spiegano come utilizzare uncomponente nei suoi diversi campi applicativi,spesso sono corredate di schema elettrico (alcunevolte anche il circuito stampato) e di codice sor-gente (nel caso si tratti di componenti program-mabili).Altre Application Notes, sono focalizzate alla risolu-zione di algoritmi software, come per esempio: leroutines matematiche, il controllo dei diversi tipi dibus, l’utilizzo delle periferiche interne e molto altroancora.Chiunque si cimenti con la programmazione deiPICmicro® troverà in questo CD una fonte inesauri-

bile di informazionimirate alla risoluzionedi quasi tutti gli aspettiprogettuali.

Un CD, questo, chearricchirà la vostralibreria e vi risparmieràle ore spese alla ricercadi informazioni e docu-mentazione, soprattut-to per quelli di voi chenon hanno una con-nessione ADSL, ormainecessaria per scaricaredocumenti e softwaredi dimensioni sempremaggiori.

IN VETRINA 7

Figura 3

Figura 4

Figura 2

Page 7: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

PROBLEMI DI RICEZIONESono un collezionista di radio a transistor e mi ri-

volgo a voi perché uno degli apparecchi della mia

collezione, pur funzionando, non dà un rendimento

soddisfacente ed inoltre emette dei forti sibili sia in

corrispondenza di certe stazioni che in altri punti

della scala dove non ci sono emittenti.

Finora le riparazione sui miei apparecchi le ho ese-

guite personalmente anche se le mie cognizioni

tecniche sono in materia molto modeste.

In questo caso, nonostante vari tentativi non sono

riuscito a trovare il guasto, per questo vi chiedo se

potete indicarmi voi quale potrebbe essere in mo-

tivo di questo malfunzionamento.

Salavatore Cecere

Il cattivo funzionamento del suo apparec-chio è con ogni probabilità dovuto all’invecchia-mento dei condensatori elettrolitici di disaccop-piamento e di fuga.Le consigliamo di sostituire tutti i condensatori diquesto tipo con altri nuovi.

POTENZIOMETRO INSOSTITUIBILESto riparando un ricevitore a valvole della fine degli

anni ’30 sul quale ho trovato il potenziometro del

volume interrotto. Questo potenziometro ha un

perno molto particolare e questo rende difficoltosa

la sostituzione la sua sostituzione perché mi co-

D

R

D stringerebbe a fare un lungo e laborioso lavoro di

adattamento.

Vi chiedo se avete qualche intervento da consi-

gliarmi che mi consenta il ripristino del potenzio-

metro guasto senza sostituirlo con altro nuovo.

Fabio Basento

Dalle foto che lei ci ha inviato il potenzio-metro sembra essere del tipo con cursore a con-tatto indiretto, in questo caso e se la basetta nonè distrutta, può provare a ricostruire la pista inter-rotta con della grafite. Per questo lavoro va benis-simo l’anima di una comune matita che va sfre-gata sul punto dove la pista è interrotta fino aricostruirla completamente.

COMANDO REMOTO IRAvrei la necessità di realizzare un circuito che mi

permetta di accendere/spegnere, tramite controllo

remoto ir, le luci di ogni stanza delle casa in cui

vivo.

Nella sala da pranzo sono presenti 2 interruttori se-

parati, che controllano rispettivamente, 4 e 7 fa-

retti alogeni, per illuminare parti separate della

stanza, in cucina ho una plafoniera standard,

come anche in camera da letto. Credo a questo

punto che i circuiti da realizzare siano tre, uno per

ogni ambiente. Essendo un appassionato alle prime

armi, ma vostro lettore già da tempo, ho notato

D

R

Dubbi, perplessità,malfunzionamenti, opinioni,commenti o richieste? Inviateli a: [email protected]

Oppure scriveta a:Mailbox - Redazione di Fare ElettronicaInware srlVia Cadorna, 27/31 - 20032 Cormano (MI)

Le lettere più interessanti saranno pubblicate in queste pagine.

Per quanto possibile, inoltre, cercheremo di dare una risposta privata a

chiunque ci scriverà via email.

mai

lbox

MAILBOX8

Page 8: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

con molto piacere che siete molto disponibili nel-

l'aiutare, chi come me, non è in grado di raggiun-

gere il proprio scopo con le minime nozioni a dispo-

sizione. Non chiedo di essere pubblicato, una rispo-

sta via mail andrebbe benissimo.

Nel ringraziarvi anticipatamente, vi saluto e vi fac-

cio i miei più vivi complimenti per la pubblicazione

della rivista più completa e ricca di argomenti che è

in circolazione.

Simone Cavallari

In figura 1 è riportata la coppia trasmetti-tore/ricevitore. Il trasmettitore invia un segnaleinfrarosso ad una determinata frequenza cheviene riconosciuta dal ricevitore il quale, a suavolta, eccita un relé. Questo accorgimento evital’eccitazione del relé da parte di altri trasmettito-ri o altri disturbi luminosi. Il trasmettitore nonnecessita di alcuna taratura, mentre il ricevitoredeve essere tarato per riconoscere la frequenzadel trasmettitore. La taratura si effettua puntandoil trasmettitore ed agendo su R6 finché il relé nonviene eccitato. È possibile che in condizioni di ele-vata luminosità, il ricevitore non sia in grado diricevere il segnale del trasmettitore.

RILEVATORE DI CONSUMIVorrei realizzare un controllo su presa elettrica perD

R

osservare i consumi di elettrodomestici ad essa con-

nessa, per questo ho ricercato trasduttori ad effetto

hall del tipo: LEM LAH 25-NP come trasduttore di

corrente ed LEM CV3-1000 come trasduttore di

tensione.

Poiché questi componenti hanno un costo elevato,

oltre ad essere difficilmente reperibili in commercio,

vorrei chiedere se esistono soluzioni alternative.

Francesco Massara

Il circuito di figura 2 permette di ottenereuna tensione proporzionale alla corrente chescorre in un conduttore passante per il nucleotoroidale T1, quindi alla potenza assorbita dall’u-tilizzatore alimentato dallo stesso conduttore.Il nucleo T1 è di tipo ANRA167 su cui sono avvol-te 41 spire di rame smaltato da 0,8 mm e con-sente il monitoraggio di un conduttore del dia-metro esterno fino ad 1 cm.Agendo sul trimmer P1 è possibile effettuare unataratura del circuito impiegando un carico dipotenza nota (ad esempio una o più lampade da100 W). La tensione di uscita può essere inviataall’ingresso analogico di un micro per effettuarnela conversione in digitale, quindi l’elaborazionedel dato.Sensore di corrente T1 può essere montato finoad un massimo di due metri di distanza dal cir-cuito. Collegando il sensore a valle del contatoreENEL e a monte di tutti i carichi, è possibile avereuna stima del consumo globale (figura 3).

R

MAILBOX 9

Figura 1: Schema elettrico del trasmettitore e ricevitore IR

Figura 3: Utilizzo del sensore

Figura 2: Schema elettrico del rilevatore di corrente

Page 9: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

componenti periferici avelocità di trasmissionedati da 2 a 16 Mbps. Conuna gamma di opzioniprestazionali, supporta iprogetti ad efficacia deicosti di apparecchiature inbassa larghezza di banda,quali server e concentra-tori ad accesso remoto,Ip-Pbx, small media gate-way, stazioni base wirelesse portanti di circuiti adanello digitali.

readerservice.it 419 - 58

REGOLATORI DITENSIONE LINEARI

International Rectifier haintrodotto una serie diregolatori di tensionelineari Uldo a bassissimacaduta di tensione e adalta corrente, montati incontenitori a tenuta sta-gna e dedicati alle appli-cazioni aerospaziali emilitari. Si caratterizzano per unacaduta di tensione com-presa tipicamente tra 0,4e 0,66 V. Presentano bassiripple e rumore ed offro-no una tolleranza di rego-lazione dell’1%. Sono re-golabili da +20 a +1,8 Ved hanno una corrented’uscita che spazia tra 3 e10 A. L’intervallo delletensioni d’ingresso è com-preso tra +2,7 e +20 V.

readerservice.it 419 - 59

NEWS419

Questo spazio è gentilmen-

te offerto da EONews, il

Quindicinale di notizie e

commenti per l’industria

elettronica di VNU Business

Publications Italia.

IDEE DI PROGETTO: LANUOVA INIZIATIVASUL WEB DI ELETTRO-NICA OGGI

“Idee di progetto – Design

Ideas” è la nuova rubrica di

Elettronica Oggi che è stata

lanciata dal mese di

Settembre 2003. Caratteri-

stica saliente di questa nuo-

va iniziativa è che sarà com-

pletamente ed esclusivamen-

te on line ed accessibile dal

sito www.ilb2b.it.

L’obbiettivo principale è crea-

re una vera e propria libreria

di idee alla quale tutti coloro

che operano in maniera pro-

fessionale nel mondo dell’elet-

tronica possano “catturare”

informazioni e suggerimenti

utili per il loro lavoro quotidia-

no. Questo nuovo strumento

vi permette di scaricare, con

un solo click, tutte le risorse

necessarie per risolvere velo-

cemente qualsiasi problema

e, in ultima analisi, minimiz-

zare il time to market.

PROCESSORI AUDIO TVMicronas ha reso notoche i processori audio Tv achip singolo di ultimagenerazione della famigliaMsp 46xyK sono ora dis-ponibili con uscite audioPwm. Queste uscite sonostate integrate soprattuttoper connettere la famigliain questione ad amplifica-tori audio di classe D swit-ched mode. Azionati dasegnali “Pwm ad alta riso-luzione” Micronas, questiamplificatori offrono unospettro di vantaggi rispet-to ai dispositivi di classeAb lineari tradizionali.Con un’efficienza fino al95%, riducono in modosignificativo la dissipazio-ne termica ed eliminanola necessità di dissipatoridi calore. Sprecandosimeno energia negli ampli-ficatori audio, è possibileprogettare apparati televi-sivi con minori alimenta-zioni, traducendosi indesign più leggeri ed eco-nomici.

readerservice.it 419 - 51

RELÈ A FIBRE OTTICHEDi soli 31 (l) x 16 (largh.)x 9 (h) mm, il relè a fibreottiche a basso profilomodello Wa di Matsushi-ta presenta prestazioniinteressanti, con perditedi isolamento contenutea 60 dB min. e perdite diinserzione massime di 1dB (o .5 dB valore tipico).Disponibile in 2 configu-razioni 1 x 2 e 2 x 2, èdotato di un prisma otti-co azionato da un siste-ma magnetico polarizza-to appositamente di-

mensionato; fornibilenelle versioni bistabile a 1o 2 bobine, con assorbi-menti contenuti a 150mW, è in grado di lavora-re in prima, seconda,terza finestra, fino a rag-giungere lunghezze d’on-da di 1550 nm. Due sonole connettorizzazioni dis-ponibili per la versionestandard (Sc/Adpc -Mu/Adpc), sono comun-que fornibili su richiestaanche altri tipi di connet-tori a seconda delle speci-fiche esigenze.

readerservice.it 419 - 56

FAMIGLIA DISWITCHING

Zarlink Semiconductor(Unique Memec) ha lan-ciato una famiglia di noveinterruttori Tdm/Tsi abassa-media densità conla più vasta gamma indu-striale di caratteristicheintegrate e programmabi-li, offrendo vantaggi intermini di prestazioni ediminuendo i costi inapparecchiature di retiwireless e cablate. Si trattadella serie Zl50021, checomprende tre interrutto-ri a canale 1.024, tre inter-ruttori a canale 2.048 etre interruttori a canale4.096 con fino a 32ingressi e fino a 32 usciteo 32 flussi bidirezionaliper interfacciarsi con

NEWS10

Page 10: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

MEMORIA FLASHSUPERAND DA512-MBIT

Renesas Technology haannunciato HN29V512A,la serie di memorie flashsuperAND da 512-Mbit,che rappresenta la terzafase della gamma di pro-dotti superAND, successi-va ai modelli da 128-Mbite da 256-Mbit. La nuovaserie offre un’elevata velo-cità di scrittura, di circa4Mbyte al secondo, emaggiore semplicità diutilizzo, grazie alle funzio-ni per la gestione dellamemoria integrata. La serie è disponibile in unpackage CSP dalle dimen-sioni ridotte (10 mm x11,5 mm x 1,2 mm),come l’attuale modello da256-Mbit. Ideale per esse-re utilizzata come memo-ria integrata per l’imma-gazzinamento di dati inprodotti consumer, cometelefoni cellulari di prossi-ma generazione, PDA, PCportatili e fotocameredigitali. La nuova serie uti-lizza un processo a 0,13µm e la tecnologia AG-AND di Renesas Techno-logy, che offre la possibili-tà di avere celle multi-level ad elevata velocità,

approssimativamente paria 4 Mbyte al secondo.

readerservice.it 419 - 60

SERIE DI DIODI ZENERLa nuova serieBzx584Cxx-02 di diodiZener resa disponibileVishay Semiconductors(Silverstar-Celdis), classifi-cata per un intervallo ditensioni da 2,4 a 15 V, èstata specificatamenteprogettata per applicazio-ni di regolazione dellatensione vincolate da pro-blemi di spazio in disposi-tivi di elaborazione e co-municazione portatili,comprendendovi telefonicordless e cellulari, pro-dotti Bluetooth, vi-deocamere digitali, lettoriMp3, computer notebooke Pda. Questi diodi presen-tano un valore di dissipa-zione di potenza di 200mW, con resistenza d’isola-mento di appena 600 K/W.Ognuno pesa solo 1,5 mged è disponibile in packageplastici Sod-523, misuranti1,2 x 0,8 mm con profilod’altezza 0,6 mm.

readerservice.it 419 - 62

RICETRASMETTITORIDATI PROFIBUSRS-485/422

Intersil Corporation pre-senta due nuovi ricetra-smettitori di dati serialiultraveloci RS-485/

422 LINEARLINK™, ISL4486e ISL81486. Entrambi i circuiti integra-ti presentano configura-zioni half-duplex che ope-rano da un’alimentazionenominale di 5V su unampio campo di tensionedi tolleranza a +/-10% da+4,5 a 5,5 V, che riduce irequisiti di alimentazionee i costi. ISL4486 offre unavelocità di trasferimentodati ultraveloce di 40Mbps e un segnale diffe-renziale di 2,5-V in uncarico da 54 ohm.ISL81486 vanta una velo-cità di 30 Mbps ed unatensione di uscita differen-ziale di 2,3V. ISL4486 e ISL81486 sonoricetrasmettitori con cari-co di 0,6 che consentonodi predisporre 50 nodi suun bus, rispetto al limitedi soli 32 nodi del norma-le carico a unità singola.

readerservice.it 419 - 63

MICROCONTROLLORECON FLASH DA 16-BITRenesas Technology haannunciato la disponibilitàimmediata del microcon-trollore M16C/28 a 16-bit,il primo dispositivo a costocontenuto e con un ridot-to numero di pin, cheoffre un ricco set di funzio-ni periferiche. Il chip da64-pin (80-pin opzionali)include fino a 96 kbyte dimemoria Flash, 4 kbyte dimemoria virtuale EEPROMed 8 kbyte di memoriaRAM, ed offre svariateperiferiche che preceden-temente non erano dispo-nibili in microcontrolloricosì piccoli (10 x 10 mm)

e dal costo tanto contenu-to. Il nuovo dispositivo èideale per molte applica-zioni consumer ed indu-striali, come elettrodome-stici, controllo di motori,HVAC, sistemi di sicurezzae dispositivi medico-sani-tari. M16C/28 offre svaria-te caratteristiche inusualiper un dispositivo dellasua classe, che includonofino a cinque interfacceseriali in grado di offrirecomunicazione sincrona,asincrona, I2C multi-master e modalità smart-card ISO7816; un ADCveloce (3.3 s) da 10-bitcon un massimo di 24canali.

readerservice.it 419 - 67

MEMORIE FLASH DA 32A 256MBFarnell InOne proponeuno dei più ampi assorti-menti di Semiconduttori,con una gamma completadi Memorie composta daoltre 1000 prodotti, sud-divisi in 8 categorie:NVRAM, DRAM, SRAM,PROM, EPROM, EEPROM,FLASH MEMORY ePCMCIA MEMORY. Fra lenovità da AMD la serie diFlash Memory MirrorBit™con capacità da 32 a256Mb. Questi prodottiappartengono alla fami-glia Am29LV con tensionedi alimentazione 3V e inpackage TSOP e BGA. DaATMEL la famiglia AT45DDataflash Memory concapacità da 1 a 64Mbits,su un range di tensionioperative compreso tra2,7 e 3,6V, con packageTSSOP, SOIC e TSOP.

NEWS 11

Page 11: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

comunicazione.

readerservice.it 419 - 84

FOTOSENSORED’ILLUMINAZIONEAMBIENTEAgilent Technologies hapresentato un fotosensoredi illuminazione ambienteche prolunga l’autonomiadelle batterie dei telefonicellulari evitando di illumi-nare lo sfondo quando nonè necessario e dimezza icosti e l’ingombro rispettoai dispositivi precedenti.Oltre che per i telefoni cellu-lari, è ideale come soluzionedi risparmio energetico perPda, Pc palmari, lettori Dvdportatili, lettori Mp3, video-camere e fotocamere digi-tali. Siglato Hsdl-9001, con-sente un controllo precisodella soglia di rilevamentodella luce. Le prestazionisono garantite ad una ten-sione di alimentazione com-presa tra 2,7 e 3,6 V e aduna temperatura da -25 a+85 gradi C.

readerservice.it 419 - 85

ni e sono adatti perambienti industriali gravo-si. Entrambi hanno unCmrr minimo di 10k//micros, con valori tipicidi 20 kV/micros; la distor-sione dell’ampiezza diimpulso max è meno di 50ns, con valori tipici di solo3 ns circa. Richiedono unatensione di alimentazionedi 5 Vcc (7 Vcc max) sullato rilevatore uscite perfunzionare. La tensione d’i-solamento è di 2500 Vrms.

readerservice.it 419 - 82

CONVERTITORE A/DAdc08100 di NationalSemiconductor è un con-vertitore A/D ad elevateprestazioni che digitalizzai segnali con una risoluzio-ne a 8 bit a una velocità dicampionamento di 1,6GHz e dissipa solamente1,4 W con una tensione dialimentazione nominale a1,9 V. Tali caratteristichene fanno il componenteideale in applicazioni qualistrumentazione di misurae collaudo e apparati di

Disponibile a catalogo daAMD e ST un’ampia varie-tà di Flash Memory dellefamiglie 29F a 5V, 29W a3V, con package SOIC eTSOP, capacità da 1 a 32Mbits. Innumerevoli leEEPROMs offerte: si spaziada quelle con capacità apartire da 128-Bit fino adarrivare a 256K, tensionidi alimentazione compre-se tra 1,8 e 5V. I prodottiappartengono alle fami-glie di tipo Seriale 24C,24LC, 93C, 93LC, 524C,fino ad arrivare alleEEPROM Parallele dellafamiglia 28C.

readerservice.it 419 - 68

SISTEMI ON CHIPSharp Microelectronicsha presentato i nuovissi-mi modelli a 16/32 e 32bit (Lh79524, Lh9525)della linea di prodottiBlueStreak con micro-controllori con tecnolo-gia Arm e sistema onchip. Facilitano la con-nessione con la rete non-ché l’operabilità tra i si-stemi. Ciò è possibilegrazie all’integrazione diMac Ethernet e della fun-zione Usb su chip. Fannoparte delle soluzioni disistema Sharp e si posso-no combinare facilmentecon altri componenti rea-lizzati da Sharp comeLcd, apparecchiatureoptoelettroniche e me-moria flash.

readerservice.it 419 - 69

RIFERIMENTO DITENSIONEIl dispositivo Xicor

X60250 (Unique Memec)è un riferimento di tensio-ne completamente inte-grato regolabile digi-talmente. Unisce un riferi-mento di tensione a band-gap compensato in tem-peratura e un potenzio-metro digitale dotato dimemoria non volatile, cheinsieme permettono direalizzare un riferimentodi precisione regolabilenell’intervallo compresotra 0,0 e 1,25 V.L’integrazione di un riferi-mento di tensione di preci-sione ad 8 bit e di una fun-zione per la taratura diret-ta attribuiscono al disposi-tivo in questione diversivantaggi rispetto alle alter-native discrete adottatenelle applicazioni di pro-duzione, taratura, messa apunto o regolazione.

readerservice.it 419 - 70

OPTOACCOPPIATORIAD ALTA VELOCITÀI due nuovi optoaccoppia-tori ad alta velocità(Ps9814-1, Ps9814-2)offerti da Nec Electronicsconcernono dispositivi acanale singolo e doppio, ingrado di operare a velocitàdi trasferimento di 10Mbps, forniti in packageSo8. Possono essere utiliz-zati per convertitori Cc/Cc,apparecchiature di misura,controllo motori, sistemi dibus di comunicazione enumerose altre applicazio-

NEWS12

COME OTTENERE MAGGIORI INFORMAZIONI

EONews offre il servizio “reader service” che vi con-sente, utilizzando l’apposito codice riportato alla finedi ogni news, di ricevere maggiori informazioni.

Visitate il sito www.readerservice.it e compilate lacartolina virtuale con i vostri dati, il numero della rivi-sta, questo mese il 419, ed i numeri di reader servicepresi dalle notizie che vi interessa approfondire.

EONEWS provvederà, tempestivamente, a contattarele aziende interessate, che invieranno al vostro indi-rizzo tutta la documentazione disponibile.

Page 12: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 13: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TPS3600: BATTERY BACKUP

La famiglia TPS36xx comprende un serie di cir-cuiti per il monitoraggio ed il controllo dell’attivi-tà di microprocessori in applicazioni low-power.In caso di problemi sulla linea di alimentazione ilcircuito provvede ad effettuare uno switch dell’a-limentazione su una batteria di backup.

15

TPS60400: INVERTER A POMPA DI CARICA IN SOT-23

Il TPS60400 è un inverter a pompa di carica adat-to ad applicazioni in cui è richiesta una tensionedi polarizzazione negativa. Il componente è ingrado di generare una tensione negativa nonregolata, a partire da una tensione positiva di1,6V (5,5V Max). La massima corrente di uscita èdi 60mA.

TPA6101A2: AMPLIFICATORE ULTRA-LOW-VOLTAGE

Texas Instruments produce il TPA6101A2, unamplificatore stereo in grado di erogare 50mW dipotenza su un carico da 16 Ohm, con una ten-

17

16

Dal blocco note di Fare Elettronicauna raccolta di idee da tenere semprea portata di mano

Questa rubrica ha lo scopo di fornire degli schemi

applicativi o idee di progetto dei componenti

elettronici più interessanti, selezionati per voi

dalla redazione. Tutti gli schemi presentati sono

elaborazioni di quelli ufficiali proposti dai produttori

nella documentazione ufficiale.

note

pad

NOTEPAD14

Page 14: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

sione di alimentazione da 1,6V a 3,6V. Per il fun-zionamento sono richiesti solamente sei conden-satori esterni. Il modello TPA6100A2 permette diimpostare il livello di guadagno mediante resisto-ri interni. Applicazioni tipiche di questi dispositivisono in computer palmari, telefoni, ecc…

LM35: TERMOMETRO FAHRENHEIT

LM35 è un noto sensore di temperatura in gradodi dare in uscita una tensione di 10mV/°C conuna accuratezza di 0.5°C. Opera tra -55°C e

18

+150°C ed assorbe una corrente inferiore ai60mA. In figura sono riportati i diversi packagedisponibili ed una applicazione come termome-tro Fahrenheit. In questa applicazione l’uscita è ditipo differenziale (non riferita a massa) e varia di 1mV per ogni grado Fahrenheit.

DS1307: REAL-TIME CLOCK I2C

È di Dallas Semiconductors questo clock real-timeper bus I2C. Necessita solo del quarzo e delleeventuali resistenze di pull-up che devono esseredimensionate in base alla capacità parassita delbus. Questo chip comprende anche un calenda-rio completo di giorno, mese ed anno. I giorni delmese e gli anni bisestili vengono gestiti automa-ticamente. Oltre alla possibilità di visualizzare l’o-rario nei formati 12/24h, il DS1307 effettuaanche un monitoraggio della tensione di alimen-tazione commutando automaticamente su unabatteria di backup in caso di interruzione. In figu-ra, lo schema a blocchi del DS1307, il pinout euna tipica applicazione.

19

NOTEPAD 15

Page 15: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

L’APPLICAZIONE INDUSTRIALE

PREMESSA:TECNICHE PER IL TESTDELL’APPLICAZIONEL’applicazione industriale che ciaccingiamo a realizzare per poteressere testata ha bisogno di unascheda collegata alla seriale delPC. Realizzeremo la stessa che, cipermetterà di dimmerare (farvariare progressivamente) le lucidi casa, più in là, tra qualche pun-tata. Occorre quindi qualcosache possa sostituire tale scheda,almeno per il momento. Unasoluzione potrebbe essere quelladi collegare via seriale due PCma. non tutti li posseggono.Esiste un modo per imbrogliare ilprogramma di gestione e potereffettuare con tranquillità e sicu-rezza i nostri test. Si avvale di unatecnica che normalmente tuttiutilizziamo quando ci colleghia-mo con Internet ma, senza obbli-garci ad impostare l’intera proce-dura di collegamento con tutti iparametri previsti.Internet usa il protocollo TCP/IP

per permettere la comunicazionetra i vari PC presenti nella rete.Un sottoinsieme dello stesso,denominato UDP, permette diavere gli stessi vantaggi ma senzacomplicarci troppo la vita. Perpoter identificare un PC in manie-ra univoca nella rete, alla stessastregua di un reale indirizzo diposta ci si avvale di un indirizzo IPcomposto da quattro serie dinumeri separati da un punto.Sono indirizzi IP i numeri255.255.255.0, 197.0.1.0,192.188.182.1. Esiste un IP chedefinirei magico che permette dinon spostarsi dal PC che stiamoutilizzando ma che, dal punto divista del comportamento e delmodo di gestire il protocollo UDPè identico a quelli che identifica-no un PC della nostra rete localeo in Internet. Il numero è127.0.0.1 ed è davvero comodo.Se due programmi che stannogirando contemporaneamentesullo stesso PC lo utilizzano pos-sono parlarsi, scambiandosi mes-

saggi, dati, comandi. È proprioquello che ci serve!

Come primo passo nella realizza-zione della nostra applicazionevedremo come implementare unprotocollo UDP in Visual Basic. Lostesso verrà sostituito in seguitoda quello che permetterà il collo-quio con la scheda per laDomotica (dimmer delle luci). Lacosa interessante è che la struttu-ra del programma rimarrà pres-soché la stessa, solo la parte dicolloquio verrà sostituita.

Bene bando agli indugi e vedia-mo il programma che simulerà lascheda dei dimmer e già che cisiamo gli aggiungeremo anchealcuni CheckBox per simulare gliingressi ed alcune immagini persimulare le uscite. Gli ingressi alloro variare provocheranno uncambio di stati al programma digestione collegato a questo viaUDP, mentre le uscite verrannoattivate dai comandi inviati sem-

L’APPLICAZIONE INDUSTRIALE

APPLICAZIONI EMBEDDEDAPPLICAZIONI EMBEDDED

Gianroberto Negri

[email protected]

Prima di esaminare la struttura di un programma vedremo come creare una

comunicazione mediante il protocollo UDP che, ci permetterà di testare quanto

andremo a scrivere senza dover necessariamente avere una scheda collegata

alla RS232 del PC.

seconda parte

TECNOLOGIE SPERIMENTALI16

TECNOLOGIE SPERIMENTALI

Page 16: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

essere espresso come:NNN.NNN.NNN.NNN (ES.255.255.255.1)Nel nostro caso l'IP che vieneutilizzato fà rimanere all'inter-no del PC senza proiettarsiverso l'esterno nella rete.

Private Sub Form_Load()

'Il nome del controllo

' è udpPeerA

With udpPeerA

'---------------------

.RemoteHost = "127.0.0.1"

'Porta a cui ci si

'connette

.RemotePort = 1001

‘Associazione alla porta

‘ locale.

.Bind 1002

End With

End Sub

In esso sono presenti le imposta-zioni per l’ActiveX WinSocket acui abbiamo assegnato il nomedi udpPeerA. È importante che lostesso, agendo nella finestradelle proprietà al parametroProtocol, sia impostato su UPDe non su TCP/IP altrimenti nonfunziona.L’istruzione With ha lo scopo dievitare di ripetere udpPeerA perognuno dei parametri cheandremo ad assegnare, infattigli stessi sono presentati solocon un punto iniziale.Il parametro .RemoteHost per-mette di impostare l’IP a cui col-legarsi e nel nostro caso“127.0.0.1" che, come abbiamodetto rappresenta il nostro PC.Il parametro .RemotePort =

1001 imposta la porta a cuiconnettersi, cioè il canale dautilizzare per comunicare conl’altro programma.

pre via UDP dallo stesso pro-gramma di gestione. Inizialmenterealizzeremo un semplice scam-bio di valori, senza un vero e pro-prio protocollo e senza buffer deicomandi e delle risposte. La frasepuò sembrare sibillina... Abbiamodetto che l’UDP è un protocollo eora diciamo che non utilizzeremoun protocollo! Vediamo di spie-gare meglio il fatto: in realtà ilprotocollo UDP continuiamo adutilizzarlo; quello che inizial-mente non utilizziamo è un pro-tocollo di secondo livello che“gira” ad un livello più altodell’UDP. Si tratta del protocol-lo che specifica come devonoessere impostati i comandi e lerisposte per far in modo che ilprogramma di supervisione econtrollo e le periferiche presen-ti sul campo possano capirsi. Inpratica si tratta di una conven-zione su come vanno scritti ipacchetti che transitano sul BUSo più precisamente su comedevono essere impostati icomandi e le relative risposte.Nel nostro attuale caso il BUS ècostituito dal protocollo UDP.I sorgenti dell’applicazione ine-

rente all’applicazione che spiegail funzionamento dell’UDP sonoscaricabili direttamente dal sito diFare Elettronica e sono realizzatiper la versione 6.0 di Visual Basic.

In figura 1 possiamo vedere i dueprogrammi all’opera mentre sistanno scambiando informazio-ni. Si può notare come iCheckBox OUT 1, OUT 3, OUT 5,OUT 7 del Form Master A sianospuntati ed i rispettivi LED 1, 3, 5,7 del Form Slave B siano accesi.Mentre i CheckBox OUT 2, OUT4, OUT 6 ed OUT 8 del FormSlave B hanno acceso i rispettiviLED del Form Master A.Cliccando sui rispettivi CheckBoxnei due Form è quindi possibileaccedere e/o spegnere i LED pre-senti negli stessi. Come accade iltutto? Vediamo di spiegarlofacendo riferimento ai sorgenti.Iniziamo da quello inerente alForm MasterA e precisamentedal suo sottoprogrammaForm_Load():

IMPORTANTE: assicurarsi diassegnare a RemoteHost ilnome del computer, esso può

TECNOLOGIE SPERIMENTALI

TECNOLOGIE SPERIMENTALI 17

Figura 1: I due programmi all’opera

Page 17: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Il parametro .Bind 1002 impostail canale locale, cioè il propriocanale di comunicazione.Infine End With chiude la With.

Il sottoprogramma Form_Load()dell’altro Form è quasi speculareper cui analizzeremo solo le dif-ferenze:

Private Sub Form_Load()

'Il nome del controllo è

udpPeerB

With udpPeerB

'---------------------

.RemoteHost = "127.0.0.1"

'Porta a cui ci si

'connette

.RemotePort = 1002

'Associazione alla

'porta locale.

.Bind 1001

End With

End Sub

Cambia ovviamente il nome delcontrollo ActiveX che in questocaso è udpPeerB.Come si può notare il parame-tro .RemoteHost = "127.0.0.1"

rimane lo stesso perchè voglia-mo rimanere sullo stesso PC enon essere proiettati nella rete.Invece .RemotePort = 1002

cambia, come cambia .Bind

1001.Riguardo questi due fondamen-tali parametri vanno spese dueparole. Come si può notare, ilparametro .RemotePort ha lostesso valore di .Bind dell’altroForm e la cosa e reciproca.Cosa vuol dire questo fatto?Semplice, che il canale definitoin .RemotePort di un Form ècollegato con il canale definitoin .Bind dell’altro. In caso con-trario non potrebbe avvenire il

colloquio.Vengono riservati due canali:1001 e 1002 per poter fare inmodo che i due programmi siparlino. Nessun altro program-ma può utilizzare tali canali esolo quando i programmi ter-minano vengono rilasciati.Come già detto cambiando127.0.0.1 con un’altro IP iltutto funziona lo stesso anchese un programma si trova inItalia e l’altro in Australia.Facciamo un esempio e ipotiz-ziamo che il nostro PC abbiaun IP di 255.198.192.1 e che ilPC a cui vogliamo collegarciabbia un IP di 192.158.62.1, iprogrammi rispetto a comesono ora dovranno esseremodificati solo nella parteRemoteHost modificando ri-spettivamente nel programmache gira sul nostro PC l’IP192.158.62.1 e nell’altro l’IP255.198.192.1.

Vediamo ora la parte inerenteai comandi da inviare allo Slave(Form Master B):

‘-------------------------

‘ Master A

‘------------------------

Private Sub Out1_Click()

Dim Cmd As String

If Out1.Value = 0 Then

Cmd = "OFF1"

Else

Cmd = "ON1"

End If

udpPeerA.SendData Cmd

End Sub

‘------------------------

‘ Slave B

‘------------------------

Private Sub Out1_Click()

Dim Cmd As String

If Out1.Value = 0 Then

Cmd = "OFF1"

Else

Cmd = "ON1"

End If

udpPeerB.SendData Cmd

End Sub

Del sorgente spiegheremo solodue sottoprogrammi perchè glialtri 6 sono pressoché identicicambiano solo i comandi chevengono spediti.È molto semplice, quando siclicca con il mouse ad esempionella CheckBox OUT 1, vienerichiamato il sottoprogrammaOut1_Click() e viene testato sesia spuntato oppure no. Nelcaso che non lo sia viene depo-sitato nella variabile Cmd ilcomando “OFF1” altrimenti ilcomando “ON1”, poi lo stessomediante udpPeerA.SendData

Cmd viene trasmesso attraversoil canale che si impostato alloslave.Tutto qui. Ogni CheckBoxrichiama il proprio sottopro-gramma che di conseguenzainvia il comando ad esso riferitoallo Slave.

Anche lo Slave funziona nellastessa identica maniera da comesi può vedere dalla parte di sor-gente riportata.

Private Sub

udpPeerA_DataArrival(ByVal

bytesTotal As Long)

Dim strData As String

udpPeerA.GetData strData

Select Case strData

Case "ON1"

In1.BackColor = &H80FFFF

Case "OFF1"

TECNOLOGIE SPERIMENTALI

TECNOLOGIE SPERIMENTALI18

Page 18: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

LED ed altri otto per spegnerli.Tutto qui.Questa tecnica è valida per rea-lizzare colloqui tra applicazioni,impostando un opportuno pro-tocollo che definisca comevanno definiti i dati, i comandi ele risposte. Può essere utilizzatoanche per gestire schede dotatedi interfaccia di rete atte adacquisire e gestire gli I/O delsistema.

Anche questa puntata è termi-nata, a rileggerci su queste pagi-ne nel prossimo numero doveparleremo di come è strutturatal’applicazione e di come realiz-zarla in Visual Basic.

In1.BackColor = &H8080&

Case "ON2"

In2.BackColor = &H80FFFF

Case "OFF2"

In2.BackColor = &H8080&

Case "ON3"

In3.BackColor = &H80FFFF

Case "OFF3"

In3.BackColor = &H8080&

Case "ON4"

In4.BackColor = &H80FFFF

Case "OFF4"

In4.BackColor = &H8080&

Case "ON5"

In5.BackColor = &HFF&

Case "OFF5"

In5.BackColor = &H80&

Case "ON6"

In6.BackColor = &HFF&

Case "OFF6"

In6.BackColor = &H80&

Case "ON7"

In7.BackColor = &HFF&

Case "OFF7"

In7.BackColor = &H80&

Case "ON8"

In8.BackColor = &HFF&

Case "OFF8"

In8.BackColor = &H80&

Case Else

End Select

End Sub

I comandi, una volta spediti,vengono rispettivamente ricevu-ti ed interpretati dal sottopro-gramma udpPeerA_DataArrival

mediante una Select Case striata.In questo caso sono stati previstiotto comandi per accendere i

TECNOLOGIE SPERIMENTALI

TECNOLOGIE SPERIMENTALI 19

VISUAL PARSIC Compilatore grafico per Microchip Picmicro

Telecamere a colori e b/n

trasmittenti e via cavo

Gruppi di continuità

da 500 VA fino a 160 KVA

Programmatori PIC

ICD Debugger

Programmatori Willem

originali olandesi

Schede PLC per PICmicro

Display LCD/VFD

Noritake Cristallfontz

Display a carattere scorrevole

in offerta speciale

WWW.PARSICITALIA.IT

Via Rovereto, 13 - 48020 Savio (RA) - Tel 0544.927468 - Fax 178.6040078 - Email: [email protected]

Per chi vuole scrivere un programma in Assembler senza scrivere un solo rigo di codice

Page 19: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

VIDEO-CONTROLLER CONMOTION DETECTOR

L’uso dei microcontrollori comealternativa alle vecchie reti fissesequenziali o combinatorie si stadiffondendo sempre più incampo hobbistico grazie ancheal costo contenuto e alla conti-nua disponibilità di modelli sem-pre più evoluti.L’integrazione di periferiche sofi-sticate (AD converter, USART,Flash memory), unita alla veloci-tà di esecuzione e alla facilità diupgrade del firmware permetto-no dunque di realizzare circuiticon funzionalità molto evolute econ pochi componenti, soprat-tutto facilmente modificabiliagendo solo sul programma che“gira” sul micro.In questa ottica ho pensato direalizzare un antifurto un po’particolare, la cui attivazionenon dipenda da sensori volume-trici o perimetrici, ma dallavariazione dell’immagine rileva-ta da una o più telecamere (fino

ad un massimo di otto) quandocambia qualcosa nella scenaripresa.Questa tecnica viene utilizzata incampo professionale già datempo e consiste nel confronta-re una immagine video conun’altra memorizzata preceden-temente: se i due frames differi-scono oltre un certo limite scat-ta l’allarme. La memorizzazionedelle immagini richiede conver-titori AD veloci, molta RAM esoprattutto dei criteri per mini-mizzare il numero di campioniconsiderando, nel confronto traframes, solo alcune zone del-l’immagine.Un circuito di questo tipo è soli-tamente molto complesso erichiede l’uso di tecniche DSP(Digital Signal Processing) perottimizzarne le prestazioni; lamia proposta si basa invece sullamisura della variazione di livellodel segnale video quando cam-

bia la scena ripresa.Il segnale video consiste di alcu-ni segnali di ampiezza ben defi-nita e presenti a intervalli ditempo costanti (sincronismoverticale, orizzontale, indicatoridi quadro pari e dispari) e di unsegnale di ampiezza variabilelegato alla luminosità dellascena ripresa (il discorso vale siaper il B/N che per il colore): perogni riga di scansione video saràdunque disponibile un segnaleche inizia con un impulso di sin-cronismo (orizzontale) e prose-gue con una ampiezza legataalla luminosità fino all’impulsodi sincronismo della linea suc-cessiva.Il valore medio di questo segna-le sarà dunque composto da untermine fisso (la media deisegnali di sincronismo) e da untermine variabile (luminosità):analizzando quest’ultimo sipotrà stabilire se la scena inqua-

VIDEO-CONTROLLER CONMOTION DETECTORdi Angelo Brustia

[email protected]

Una alternativa ai controlli antiintrusione classici è quella di monitorare un

ambiente con una telecamera ed elaborare il segnale video in modo da rilevare

variazioni causate dal passaggio di una persona o, in generale, da qualunque

cambiamento di scena ambientale.

Se poi c’è anche la possibilità di videoregistrare l’evento abbiamo realizzato

un sistema di videosorveglianza, in grado di controllare fino a otto zone

contemporaneamente.

HARDWARE20

HARDWARE

Page 20: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Si noti che non è necessario uti-lizzare operazionali video a largabanda per questo stadio perché,pur avendo il segnale video unabanda piuttosto estesa (circa 5MHz), la scena ripresa è statica enon occorre avere una assolutafedeltà nella risposta, ma soloindividuare variazioni relative dilivello. Per avere maggiore stabilitànella risposta è stato inserito ilcondensatore C2 che limita labanda passante dell’amplificato-re e previene eventuali autoo-scillazioni.Il segnale video, dopo il disac-coppiamento operato dallo sta-dio precedente, deve ora essereraddrizzato per fornire una com-ponente continua di tensioneutile per verificare variazioni diimmagine.Il raddrizzamento non può esse-re effettuato con un normalediodo per via della sua tensione

drata ha subito variazioni, cioèse “qualcosa si è mosso”.

SCHEMA A BLOCCHIIl circuito consiste di otto inter-facce per telecamera ed una“scheda madre” per il sistema dicontrollo e l’alimentazione.Lo schema a blocchi della singo-la interfaccia (scheda telecame-ra) è rappresentato in figura 1ed il corrispondente circuitoelettrico è riportato in figura 2

Il segnale proveniente dalla tele-camera viene amplificato (bloc-

co 1) in modo da compensareeventuali attenuazioni esterne; ilguadagno dello stadio è pari a1+[(R3+V1)/R2] quindi varia dauno a sette volte in ampiezza aseconda della posizione deltrimmer V1 (controllo della sen-sibilità).Nel caso si vogliano rilevarevariazioni minime della scenaripresa tale componente varegolato per avere il massimoguadagno, tuttavia, da provefatte, una regolazione a metàcorsa va bene in quasi tutte lesituazioni di impiego.

HARDWARE

HARDWARE 21

Figura 2: schema elettrico scheda telecamera

Figura 1: schema a blocchi scheda telecamera

Page 21: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

di soglia (circa 0.7 V) che intro-durrebbe una distorsione dilinearità inaccettabile sui bassilivelli di segnale; il circuito chemeglio si presta a questo scopoè quello formato dall’operazio-

nale U2b, da D1, R4 e dai con-densatori di filtro C7-C9 (blocco2) ed è noto come “raddrizzato-re di precisione”. Utilizzandoquesta configurazione avremouna risposta perfettamente

lineare a partire da 0 V solo perla polarità positiva del segnale.Il condensatore C8 dovrebbeessere ad alta stabilità (Tantalio),il condensatore C7 serve a ridur-re l’induttanza equivalente di C8(particolarmente elevata) inmodo da avere una rispostaesente da oscillazioni e C9 rap-presenta un by-pass per le fre-quenze più alte; infine la resi-stenza R5 scarica parzialmente icondensatori in modo che latensione livellata non rimangacostantemente al valore massi-mo, ma sia proporzionale alvalor medio del segnale diingresso.La tensione presente ai capi dellacapacità di filtro è conseguenzadei segnali di sincronismo e delsegnale video; purtroppo lacomponente media legata aisegnali di sincronismo è decisa-mente più elevata di quelladeterminata dalla variazione diluminosità, occorre quindi tratta-re il segnale video; per estrarresolo questa informazione.Il condensatore C10 ha il compi-to di far passare solo le variazio-ni di tensione che conseguonoad un cambiamento della scenaripresa bloccando nel contempola componente continua dovutaal raddrizzamento dei segnali disincronismo che, essendocostanti nel tempo, danno origi-ne ad un livello di tensionecostante.Il livello di queste variazioni èdecisamente basso (qualchemV) e occorre una forte amplifi-cazione per raggiungere unlivello più elevato (circa 1.5 V)necessario per avere una buonadinamica per il successivo con-vertitore AD; oltre ad amplifica-

HARDWARE

HARDWARE22

Elenco componenti - Scheda telecameraSigla ValoreC1, C7, C11, C12,C14, C15

1 µF 63 V poliestere

C2 2.7 pF ceramico

C3÷C6, C17, C18 0.1 µF SMD ceramico

C9 10 nF ceramico

C13 10 nF 63 V poliestere

C8 10 µF 16 V tantalio

C10 2.2 µF 63 V poliestere

C16 47 nF 63 V poliestere

C19, C20 47 µF 16 V elettrolitico

R1 75 Ω 1/4 W

R2, R3 1 KΩ 1/4 W

R9, R13 1 KΩ SMD

R4 2.2 KΩ 1/4 W

R5, R10 100 KΩ 1/4 W

R6, R14, R15, R18,R20

10 KΩ 1/4 W

R7 1.2 MΩ 1/4 W

R8 5.6 KΩ 1/4 W

R11 1 MΩ 1/4 W

R12 15 KΩ 1/4 W

R16, R17 220 Ω 1/4 W

R19, R21 4.7 KΩ 1/4 W

V1 Trimmer verticale 4.7 KΩ

V2Trimmer verticale multigiri 4.7 KΩ aregolazione laterale

D1, D2 1N4148

P1÷P3 Connettore maschio per c.s. passo 2.54 mm

U1 TL081

U2 LM324

Page 22: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 23: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

re occorre inoltre eliminare tuttiquei disturbi che potrebberoessere scambiati per variazionidell’immagine, ad esempioquelli generati da fonti luminosealimentate a 50 Hz.Il circuito che meglio si presta asoddisfare entrambe le esigenzeè un filtro attivo passa-basso aretroazione multipla costruitoattorno agli operazionali U2a eU2d (blocco3).Dato che il guadagno necessarioal funzionamento del circuito èdi circa 62 dB è meglio realizza-re due amplificatori separati con

HARDWARE

HARDWARE24

Figura 4: schema elettrico Unità di controllo

Figura 3: schema a blocchi Unità di controllo

Page 24: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Il segnale all’uscita del filtro puòassumere sia valori positivi chenegativi dal momento che ilcondensatore C10 esegue unaoperazione matematica di deri-vazione: se la tensione in uscitadal raddrizzatore cresce la ten-sione sarà positiva, viceversa sedecresce (la polarità è quindideterminata dal modo di varia-zione dell’immagine).Purtroppo il convertitore AD delPIC 16F877A accetta solo valoripositivi di tensione quindioccorre sommare (blocco 4)una tensione (bias) che, perquestioni di dinamica, deveessere almeno pari all’escursionedi tensione massima negativa inmodo da spostare il range divariazione da -Vmax÷Vmaxall’intervallo positivo 0÷2Vmax.Con questo accorgimento, assu-mendo un bias di 1.5 V, la mini-ma tensione sarà ora di circa 0 Ve la massima di circa 3 V; laregolazione dipende dal trim-mer V2.Il diodo D2, infine, evita chegiunga una tensione negativa alconvertitore AD nel caso il biassia troppo basso.Le schede telecamera potrannoessere pari ai canali di conversio-ne AD del micro (cioè otto se siimpiega il 16F877A, ma potreb-bero anche essere di più ripro-gettando il circuito con un altromicro della famiglia 18F sempredella Microchip). Se si desidera invece modificareil circuito per utilizzare un nume-ro inferiore di ingressi occorreinibire alcune subroutine nel sor-gente assembler (come mostratopiù avanti); l’operazione è moltosemplice e consiste nell’aggiun-gere qualche commento (“;”)

più basso guadagno in modo daavere una maggiore stabilità difunzionamento, entrambi ditipo invertente per non avererotazione di fase tra ingresso e

uscita. Con i componenti indica-ti nello schema la banda passan-te a –3dB è di 2.7 Hz con unaattenuazione di circa 48 dB allafrequenza di 50 Hz.

HARDWARE

HARDWARE 25

Elenco componenti - Unità di controllo

Sigla Valore

C1, C4÷C7, C15,C19÷C22

0.1 µF SMD ceramico

C16, C17 22 pF SMD ceramico

C2, C3 100 µF 16 V elettrolitico

C8, C9, C18 22 µF 16 V SMD elettrolitico

C10, C11, C12,C13, C14

4.7 µF 50 V elettrolitico

R1, R2 4.7 KΩ 1/4 W

R3 4.7 KΩ SMD

R4 1 KΩ 1/4W

R5, R6, R7, R8 10kΩ 1/4W

R9 68 Ω SMD

L1 Induttanza 68 µH

D1 Diodo Shottky 1N5817

D2, D3 1N4007

D4 1N4148

Q1 BC237B

Q2 7805

U1 MAX764

U2 PIC16F877A

U3 MAX4315

U4 MAX232

X1 Quarzo 4 MHz

P1_0, P1_7 Connettore femm. per c.s. passo 2.54 mm

P2_0, P2_7 Connettore femm. per c.s. passo 2.54 mm

P3_0, P3_7 Connettore femm. per c.s. passo 2.54 mm

P4, P5, P6, P7 Connettore maschio per c.s. passo 2.54 mm

Sw1 Pulsante miniature per c.s. normalmente aperto

Sw2 Deviatore da pannello 1 via 4 posizioni

Conn.1 Connettore D 9 poli femmina

RL1 Relé miniatura per c.s. 5V 2 scambi

Page 25: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

nel codice, quindi è fattibileanche da chi è a digiuno di lin-guaggio assembler; naturalmen-te se la variante può essere utilea più persone posso modificare ilcodice introducendo dei ponti-

celli esterni da aprire o chiuderein funzione del numero di tele-camere collegate.La figura 3 rappresenta lo sche-ma a blocchi del “cuore” del cir-cuito, ovvero l’unità di controllo

gestita dal microcontrollore e lafigura 4 il corrispondente sche-ma elettrico.

Ognuno dei segnali provenientidalle telecamere viene inviato aduna scheda video e, contempo-raneamente, al blocco 6 (multi-platore video) costituito dal cir-cuito integrato U3 (Max 4315).Questo chip prodotto dallaMaxim è un completo mixervideo analogico a otto canali ingrado di effettuare la commuta-zione di canale sulla base delnumero binario presente sugliingressi A0÷A2 gestiti dal micro-controllore; in presenza di unacondizione di allarme il microstesso provvede anche ad abili-tare (tramite il pin SHDN) il pas-saggio del segnale video tra l’in-gresso selezionato (IN0-IN7) el’uscita OUT. Il multiplexer, prodotto anchenelle versioni a 2 e 4 canali, ècaratterizzato, oltre che da unanotevole banda passante (circaun centinaio di MHz), dall’assen-za dei disturbi dovuti al cambiodi canale (glitch) e dalla possibi-lità di funzionare con alimenta-

HARDWARE

HARDWARE26

Figura 5: Schema elettrico scheda display

Figura 6: Flow chart programma microcontrollore

Elenco componentiScheda display

Sigla Valore

C122 µF 20 V SMDelettrolitico

C2 0.1 µF SMD ceramico

R1÷R8 470 Ω SMD

U1 CD4511

Dis1Display catodocomune FND500(o equivalente)

P8Connettore maschioper c.s. passo 2.54 mm

Page 26: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Per fare ciò occorre:

• Aprire il file scansione41.asm(ad esempio con MPLAB).

• Abilitare l’indicazione deinumeri di riga.

• Andare alla riga 138 (subrou-tine “campiona canali”).

• Inserire un “;” all’inizio dellelinee relative alla conversioneAD per i canali non utilizzati(ad esempio le linee 183-184-185 se non si vuole utilizzare ilcanale 5).Movlw 0xFF

Movwf ch5_on

Movlw 0x05

Movwf canale

Call conversioneAD

Btfss STATUS,C

Clrf ch5_on

• Ricompilare il tutto e pro-grammare il micro.

L’applicativo di controllo è statoscritto in Visual Basic 6.0 ed èscaricabile dal sito di FareElettronica assieme ad un con-trollo OCX di pubblico dominioscritto da Pierluigi Pagnoni (cheringrazio per averlo reso dispo-nibile) che simula un diodo LED;il file Ledbutton.ocx va inseritonella directory dei componentiVisual Basic (solitamente c:\win-dows\system o simili).

Protocollo di comunicazionePIC-PCRitornando al codice assemblerriporto il protocollo di scambiodati (stringhe di interrogazionee risposta) in modo che ognunopossa scrivere un proprio appli-cativo (i numeri sono HEX quin-di 786403, ad esempio, è daintendersi come tre numeri adotto bit 78 60 03 in successione;

zione singola o duale (nel nostrocaso si usa la duale poiché ilsegnale video standard ha unatensione minima inferiore a 0 V).Ho preferito questa soluzione aquella “classica” che fa uso degliswitch cmos HC4066 come com-mutatore video poiché è moltopiù compatta e l’elevata bandapassante permette una risoluzio-ne spaziale migliore, quindi unaqualità di visione superiore.I diodi D2 e D3 che si vedono inserie all’alimentazione servonosolo a ridurre di circa 1,4 V la ten-sione di alimentazione dato chealimentando il circuito diretta-mente con +5V e –5V si corre ilrischio di lavorare troppo vicinoalla massima tensione di funziona-mento dichiarata (10.5 V); delresto il segnale ha una variazionelimitata a circa 2 V quindi pergarantire una adeguata dinamicabasta che l’alimentazione non siainferiore a 3 o 4 V.Il segnale DC proveniente dalleschede di acquisizione video vieneinviato al blocco 7 e precisamenteai pin AN0÷AN7 corrispondentiagli otto canali analogici del con-vertitore A/D presente nel micro (icanali fanno capo ad un multiple-xer interno la cui selezione vieneeffettuata dal firmware).In condizione di allarme vieneattivato il relé RL1 (utilizzabile percomandare un videoregistratore)e viene visualizzato sul display(blocco 9) il numero del canale inallarme; il processore, tramite laporta seriale facente capo ai pinRC6, RC7 e al translatore U4(MAX232) trasmette, tramitecollegamento seriale, l’indicazio-ne di una condizione anomala alPC remoto di controllo.In figura 5 è riportato il circuito

elettrico della scheda display.

DESCRIZIONE DEL SOFTWAREDI GESTIONEIl codice assembler che “gira”sul micro è stato scritto con l’ot-timo ambiente di sviluppoMPLAB messo a disposizionegratuitamente da Microchip.Lo schema a blocchi del pro-gramma è riportato in figura 6.Per brevità non è possibile ripor-tare il dettaglio del listato, ma ilprogramma è molto commenta-to e credo sia abbastanza com-prensibile.Vorrei sottolineare il fatto che ilmicro scambia una serie di daticon il PC di controllo del sistemacon cui dialoga continuamentetramite seriale; l’elevata velocità(19,2 kb/s) permette di vederele variazioni in tempo reale, acondizione che il PC sia abba-stanza veloce (le prove sonostate fatte con un Pentium III a600 MHz e con un Pentium a166 MHz e le differenze eranoveramente notevoli!).Nel caso la linea di comunica-zione sia lunga più di 5m consi-glio di abbassare la velocità a9600 b/s anche se, per motivi disicurezza, i dati vengono tra-smessi più volte di seguito, quin-di, anche senza controlliXon/Xoff, l’affidabilità rimanecomunque elevata.Nel caso non interessi l’utilizzodi otto telecamere è importantemodificare (come già detto inprecedenza) il programmaassembler per inibire il controllodelle porte inutilizzate che, pervia della tensione troppo bassa,(quindi fuori dalla finestra di“normalità”) sarebbero in con-dizione di allarme permanente.

HARDWARE

HARDWARE 27

Page 27: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

il + tra i dati indica semplice-mente che i dati sono in succes-sione uno dopo l’altro).Le varie sequenze “header” cheidentificano insiemi specifici didati (es. 786403) sono scelte inmodo da essere abbastanza

ortogonali tra di loro e quindiminimizzare il rischio di letturaerrata dei dati che seguono daparte del software.

Invio richiesta dei parametri di set-

ting (residenti in EEPROM): all’in-

vio da parte del PC della stringa“FF” il PIC risponde con la strin-ga 786403+delay1..4+epsi-lon+0+0+0 dove delay1..4 sono i

HARDWARE

HARDWARE28

Figura 7: Interfaccia Utente programma di gestioneFigura 9: Oscilloscopio a 8 tracce realizzato con

active-X commerciali

Figura 10: Circuito stampato scheda telecamera in scala 1:1 (lato rame)

Figura 12: circuito stampato scheda telecamera in scala 1:1 (lato componenti) Figura 11: Circuito stampato scheda telecamera disposizione componenti

Figura 8: Esempio di Interfaccia Utente conactive-X commerciali

Page 28: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 29: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

tempi di attivazione del relé incaso di allarme e sono associatialle posizioni del deviatore Sw2;in altre parole se viene settato,ad esempio, delay1=10 e il com-

mutatore è in questa posizione,in caso di allarme il relè rimaneeccitato per 10 sec e quindiall’uscita Out è disponibile, sem-pre per 10 sec, il segnale video

della telecamera che ha genera-to l’allarme. Il campo di validitàva da 0 a 200 sec.Epsilon indica metà ampiezzadella finestra di tensione entrocui non scatta l’allarme (la fine-stra ha quindi ampiezza 2 x epsi-lon) ed è settabile da 0 a 1.96 Vattorno al valore statico di 1.5V(tensione di uscita dei modulitelecamera in assenza di allar-me), brevemente la finestra ècentrata su 1.5V e può variaretra +/- 0 V e +/- 1.96 V quindil’escursione massima consentitaè di 3.92 V. Il campo di validitàè tra 0 e 200; nell’applicativo VBviene mostrato, per comodità dilettura, direttamente il valore ditensione assumendo che a 255corrisponda il valore di 5V.

Invio sequenza completa dal PIC:il micro invia continuamente alPC sequenze di aggiornamentolunghe 11 byte con la seguentestruttura (gli 0 hanno il soloscopo rendere uguale la lun-ghezza delle varie stringhe):

786403+delay1+delay2+delay3+delay4+epsilon+0+0+023FD0A+valore lettoA/D0+……..+valore letto A/D76E024A+numero canale in allar-me+0+0+0+0+0+0+0

La prima sequenza è già statadescritta, la seconda invia i valo-ri letti in tempo reale dai con-vertitori analogico/digitale diogni canale (da 00 a FF corri-spondenti all’intervallo 0-5V,anche se, per evitare problemicon le sequenze identificative, ladinamica è stata ridotta), laterza indica il numero del cana-le in allarme; nel caso ci fossero

HARDWARE

HARDWARE30

Figura 13: Circuito stampato unità di controllo in scala 1:1 (lato rame)

Page 30: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

persista invece la condizione diallarme, al termine del tempoimpostato il canale rimarrà atti-

più canali in allarme simultaneoquesti vengono mostrati in suc-cessione solo se la condizione di

allarme persiste dopo che ilcanale precedente è ritornato inposizione di riposo; nel caso

HARDWARE

HARDWARE 31

Figura 14: Circuito stampato unità di controllo disposizione componenti

Page 31: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

vo fino a che la scena ripresanon varia più.Invio parametri di settaggio da PC

a micro:

FC+delay1+delay2+delay3+dela

y4+epsilon

SOFTWARE DI CONTROLLOIl programma in Visual Basic svi-luppato per la gestione (figura

7) comprende una serie di sliderper impostare i tempi di visualiz-zazione e l’ampiezza della fine-stra (nel caso si desideri caricareil default basta premere “Tempistandard”).Dopo aver programmato itempi e l’ampiezza della finestrasi preme il pulsante“Aggiornamento”; l’accensionedel LED verde indica che i para-metri sono stati trasmessi e l’ag-giornamento delle finestre“Delay1. Ampiezza metà fine-stra” è la conferma che sonostati memorizzati nella EEPROMdel micro (i dati in queste fine-stre sono letti dallo stream invia-to dal micro); nel caso il LEDrimanga rosso significa che nonci sono dati di ritorno sulla seria-le quindi il collegamento è man-cante o si è interrotto (oppurenon è stato premuto il pulsantedi aggiornamento).Il livello della soglia va fissatoponendola al valore massimo(3.92V) in modo che nessunodei canali vada in allarme, quin-di si abbassa gradualmente loslider sino al verificarsi di unallarme (ovviamente le teleca-mere devono inquadrare una

HARDWARE

HARDWARE32

Figura 15: Circuito stampato unità di controllo in scala 1:1 (lato componenti)Figura 16: circuito stampato scheda display in

scala 1:1 (lato rame)

Page 32: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

magari utilizzando una lente, distagnare una delle piazzole,appoggiare il componente, sal-darlo tenendolo fermo con unapunta, saldare il secondo reofo-ro sull’altra piazzola: attenzionea non esagerare con il caloreperché potrebbe staccarsi lametallizzazione !Particolare cura dovrà essereposta nel caso i componentisiano di recupero per evitare dirovinarli scaldandoli troppo (tro-vare in commercio gli SMDsciolti, non in reel da migliaia dipezzi, è piuttosto difficile ecostoso; conviene quasi semprerecuperarli da vecchie schede).

Tutti i condensatori dovrannoessere di ottima qualità (poichédeterminano la stabilità termicadel circuito), vanno bene adesempio i tipi poliestere “acubetto”.Per evitare inneschi dovuti all’e-levato guadagno, le schede tele-camera dovranno essere scher-mate inserendo tra di loro dellamierino di ottone (va beneanche un ritaglio di vetronitedoppia ramatura); la scheda dicontrollo è già predisposta per

scena fissa e il superamentodella soglia sarà causato dalrumore casuale di fondo); consi-glio, in questa fase, di porre a 0sec i tempi di visualizzazione pervelocizzare la taratura.Stabilita la soglia minima questapotrà essere alzata dipendente-mente dal livello di sensibilitàrichiesto: più la soglia è elevata,maggiore dovrà essere il movi-mento nell’immagine rilevatadalla telecamera quindi minorela sensibilità.

Il programma, come si vede, èmolto “essenziale” e può esseremigliorato e ampliato ricorren-do a componenti Active-X com-merciali per Visual Basic.A titolo di esempio in figura 8 efigura 9 è riportato il form di unprogramma analogo al prece-dente (con in più un utilissimooscilloscopio a otto tracce pervedere l’andamento del segna-le) realizzato con componentireperibili in Rete (purtropposono scaricabili solo in Demo efunzionano per 10 minuti!).

È stato previsto un controllo“doppio” dei tempi di allarme,

software e da pannello, per pote-re utilizzare il circuito anche“stand-alone” senza il controlloda remoto; in questo caso si setta-no i tempi di intervento per ogniposizione del commutatore (congli slider di cui sopra) e i dati, resi-denti in EEPROM, rimangonoassociati al controllo manualeanche dopo aver spento l’appara-to o averlo scollegato il PC.

NOTE DI MONTAGGIOLe figure 10, 11, 12 riportanoentrambe le facce del circuitostampato con la disposizione deicomponenti della scheda teleca-mera, le figure 13, 14, 15 quellidell’unità di controllo e le Figure16, 17, 18 quelli della schedadisplay.Per la preparazione dei circuitistampati a doppia faccia consi-glio caldamente di utilizzare lafotoincisione anche perché per-mette di incidere simultanea-mente i circuiti stampando unoo due fogli master di acetato.Il montaggio dei componentinon presenta grosse difficoltà;eventuali problemi possononascere dalla saldatura degliSMD per i quali consiglio,

HARDWARE

HARDWARE 33

Figura 18: circuito stampato scheda display inscala 1:1 (lato componenti)Figura 17: circuito stampato scheda display disposizione componenti

Page 33: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

le schermature che dovrannoessere saldate su entrambi i lati(questa operazione va eseguitadopo aver montato tutti i com-ponenti altrimenti diventaimpossibile raggiungere alcunepiazzole con il saldatore).La figura 19 mostra la schedatelecamera dopo l’assemblag-gio, il retro del c.s. con i con-densatori SMD è riportato infigura 20.Il montaggio della scheda dicontrollo è un po’ più comples-so delle schede video perchéoccorre saldare diversi connetto-

ri in cui andranno inserite que-ste ultime e realizzare diverseconnessioni tra le piazzole dellato componenti e del lato sal-datura (figura 21).Questa scelta è stata dettatadalla necessità di ottenere uncircuito facilmente riproducibile:l’ideale sarebbe stato realizzareun c.s. a fori metallizzati, maga-ri a tre strati, ma avrebbe deter-minato grosse difficoltà di realiz-zazione.

Queste operazioni devono esse-re eseguite prima di inserire gli

altri componenti e le schermatu-re, in particolare occorre allinea-re i pin di ogni scheda in modoche siano bene in asse (consigliodi infilare i connettori nei pin diuna scheda, inserire il tutto nelc.s. e saldare, in tal modo i pinsono sicuramente allineati).Il mixer video è in contenitoreSMD a passo ridotto TSSOP16quindi occhio a non creare ununico cortocircuito tra i pin; sepossibile utilizzare un saldatorea spillo oppure modificare unavecchia punta saldandovi unchiodino sottile (a castolinovviamente, non a stagno!); lafigura 22 riporta il lato saldatu-re del c.s. con il particolare del-l’integrato (i fili ed il diodoincollato al circuito che si vedo-no nella foto sono poi stati eli-minati nel circuito definitivo).

HARDWARE

HARDWARE34

Figura 21: Particolare del connettore Figura 22: Particolare del mixer video

Figura 20: Scheda telecamera lato saldatureFigura 19: Scheda telecamera lato componenti

Page 34: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

scheda telecamera, nel regolare ilguadagno dello stadio compostoda U1 (ruotare il trimmer V1 infunzione della sensibilità deside-rata) e nella regolazione di V2 inmodo che su P3 out ci siano esat-tamente 1.5V (centro elettricodella finestra). Entrambe le rego-lazione vanno effettuate dopoavere inserito le schede nell’unitàdi controllo, senza collegare latelecamera al circuito (altrimentila variazione del segnale rende-rebbe difficoltoso tarare il valorepreciso di tensione).

REPERIBILITÀ DEICOMPONENTIAlcuni dei componenti utilizzatinel progetto possono essere didifficile reperibilità (MAX764,

Il micro è meglio sia su zoccoloin modo da poterlo program-mare agevolmente, in alternati-va si può usare la programma-zione ICSP sui pin RB6 e RB7 chesono stati lasciati liberi nell’otti-ca di sviluppi futuri del software.La bobina L1 dell’alimentatoreswitching non è critica, va benequalunque valore tra 40 e 80microHenry, meglio se è realiz-zata su un piccolo toroide (confilo diametro 0.5 mm) così sievita che il flusso dispersoinfluenzi le schede video ad altoguadagno.I contatti del relé sono messi inparallelo in modo da poter com-mutare correnti elevate (se si usail relé per accendere il videoregi-stratore assicurarsi che sopporti220V in quanto quasi tutti imodelli di relé da c.s. sono garan-titi per 125 V); per comandare ilregistratore è meglio utilizzarel’ingresso da comando esterno abassa tensione disponibile suquasi tutti i modelli più recenti.Il micropulsante Sw1, infine,serve a resettare il micro in pre-senza di condizioni anomale difunzionamento (non dovrebbeservire, ma con il software non sisa mai) o nel caso sia stato set-tato per errore un tempo di

allarme eccessivamente elevato.In figura 23 si vede l’Unità dicontrollo senza le schede videoinserite.La figura 24 e la figura 25mostrano l’Unità di controlloassemblata (tutti i fili sono statisostituiti da piste nella versionedefinitiva del circuito).Infine le figure 26 e 27 rappre-sentano la Scheda display latocomponenti e lato saldature e lafigura 28 le interconnessioni trai circuiti, i collegamenti del com-mutatore Sw2 per la selezionedei tempi ed il connettoreRS232 (connettore 1).

TARATURALa taratura non è particolarmentecomplicata e consiste, per ogni

HARDWARE

HARDWARE 35

Figura 23: Particolare schermature e connettori per schede video Figura 24: Unità di controllo lato componenti

Figura 25: Unità di controllo lato saldature

Page 35: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

MAX4315) presso i normali dis-tributori di materiale elettroni-co, specialmente se la richiesta èlimitata a pochi pezzi.In alternativa consiglio di con-tattare il distributore Maxim piùvicino (l’elenco si trova sul sitowww.maxim-ic.com); eventual-mente si può anche richiedereuna campionatura gratuita (ildiscorso vale ovviamente soloper 2-3 pezzi) come free sample

sempre sul sito della Maxim. Tutti gli altri componenti sonofacilmente reperibili.

SITI WEB UTILIwww.maxim-ic.com :è il sitodella Maxim componenti; moltis-sime circuiti integrati innovativi edecisamente interessanti.www.microchip.com: tutto quel-lo che occorre per sviluppare iprogrammi sui PIC.

www.visual-basic.it: sito interes-sante di programmazione VisualBasic completo e in italiano.www.active-x.com: se serve unactive-X per VB6 qui c’è di sicuro.www.iocomp.com: active-X perpannelli professionali; è possibilescaricare una demo perfettamen-te funzionante (anche se durasolo 10 minuti).

CONCLUSIONIIl circuito funziona ininterrotta-mente da diverso tempo e nonha causato falsi allarmi o insta-bilità particolari, tuttavia si trat-ta pur sempre di un circuitosperimentale suscettibile dimigliorie. Ritengo inoltre che ilcircuito possa costituire anchela base per migliorare il softwa-re, per svilupparne di nuovo oanche solo per impiegare partidel progetto per realizzare cir-cuiti di acquisizione dati tipovoltmetri o termometri scam-biando dati con il protocollosopra illustrato.I files sorgente assembler eVisual Basic ed il pacchetto diinstallazione possono esserescaricati direttamente dal sitoInternet di Fare Elettronica.Detto ciò auguro buon diverti-mento a tutti.

HARDWARE

HARDWARE36

Figura 26: Scheda display lato componenti Figura 27: Scheda display lato saldature

Figura 28: Connessioni tra i circuiti

Page 36: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 37: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

PANNELLO LUMINOSOA MATRICE DI LED

Prima di partire con la spiegazionedesidero ricordarvi che il progettosi compone di quattro schedemoduli e di una scheda controlliconnesse tra loro attraverso deiconnettori per formare un pannel-lo come indicato nella figura 1.Vi consiglio di realizzare le cinqueschede necessarie con la tecnicadella fotoincisione su doppia fac-cia facendo attenzione a rifilarecorrettamente i bordi per evitareproblemi nell’assemblaggio sulpannello. La dicitura LS indica illato saldature mentre la dicituraLC indica il lato componenti.

REALIZZAZIONE PRATICADEI MODULISaldare i componenti nelle schede

in esame non è difficile ma biso-gna prestare molta attenzione allaqualità delle saldature che effet-tuerete. Vi consiglio vivamentecontrollare punto per punto ilvostro operato, armati di testerper evitare spiacevoli imprevistiche posso pregiudicare il corettofunzionamento di tutti i LED.Vi consiglio di iniziare saldando imolti fori passanti presenti su ognischeda introducendo un pezzo direoforo refuso da altri lavori sal-dandolo sia nel lato componentiche nel lato saldature.I LED devono essere saldati orien-tati con il catodo che segue la let-tera C stampata nel master tenen-doli a circa 5 mm dalla superficiedella scheda.

REALIZZAZIONE PRATICADELLA SCHEDA CONTROLLILa scheda dei controlli è realizzatasempre in doppia faccia con laparticolarità di avere i componen-ti più alti montati sul lato rame(con le saldature sul lato compo-nenti) come indicato nel piano dimontaggio.Questi componenti sono:• Connettore Telefonico JP1• Morsettiere J4, J6, J8• Jumper JP2, JP3• Batteria Tampone BT1• Connettore Seriale RS1

COSTRUZIONE DELLASCATOLALa scatola è stata progettata perproteggere la matrice da urti che

PANNELLO LUMINOSOA MATRICE DI LED di Luca Calore

[email protected]

Nella puntata precedente vi ho presentato questo progetto illustrandone

caratteristiche e pregi.

In questa seconda parte vi guiderò passo passo nella costruzione per terminare

la puntata con la prima accensione...

seconda parte

HARDWARE38

HARDWARE

Figura 1: Disegno del pannello completo

Page 38: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

do i tre reofori di ogni gruppo diconnettori.

SETUP HARDWAREPrima di iniziare a programmarela matrice costruita sono necessa-rie alcune operazioni per consen-tire al microcontrollore di potercomunicare con tutte le periferi-che installate.Muniti di quattro jumper girate lapiastra sotto sopra tendo sullavostra sinistra la scheda controlli,individuato il blocco dei jumper,evidenziato in figura 9, inserite ijumper a partire dalla sinistra nelseguente ordine: 3° jumper[Gnd], 4° jumper [Vcc], 1° jumper[SDA], 2° jumper [SCL].

Completando questa operazione

la possono danneggiare fornen-dole allo stesso tempo un designpiù completo.Il lamierino 15/10 conferisce alprofilo la necessaria resistenza agliurti e può essere tranquillamentecolorato con una comune bom-boletta di colore acrilico.

MONTAGGIO SULLA PIASTRALa piastra in lamierino 15/10, illu-strata nella figura 7, ha la funzionedi vincolare l’insieme delle schedein modo da garantire in ogni con-dizione il miglior funzionamento.Sulla piastra vanno praticati dueserie di fori. I più grandi, da effet-tuare con un diametro di 20 mm,permettono di operare sui jumpersenza dover smontare tutta lastruttura.

I fori di diametro 2.5 mm sono lesedi per montare i distanziatori suiquali vengono appoggiate e fissa-te con viti le cinque schede checompongono il progetto.

I CONNETTORI PERLE SCHEDEI moduli e la scheda controllialloggiati nelle rispettive sedi dis-tano 5 mm. Per congiungere ognischeda sono necessarie quattrocopie del connettore, come ripor-tato in figura 8.Per la realizzazione potete recupe-rare dal vostro laboratorio deipezzi di basetta millefiori e su diessa posizionare otto file di strip(tulipano femmina) tagliati agruppi di tre. Con un saldatorecreate le piste in figura connetten-

HARDWARE

HARDWARE 39

www.artek.it

Divertirsi è facile

• 4 ingressi

• 4 Uscite

• 1 Comparatore

• Opera con RTX Aurel

• Opera con telecomandi TV

Distributors Welcome

TOP MAX

NUTCHIP - PROGRAMMAZIONE ELEMENTARE A STATI LOGICI IN POCHI MINUTI

Sali a bordo e naviga sul sito WEB ARTEK per informazioni Tel. 0542.55900 - Fax 0542.55488

TOP MAX

Programma Professionale di

Eprom, Micro, Memorie, PLD, FPGA...

Oltre 3000 dispositivi supportati

In Offerta fino ad esaurimento scorte

Risparmi oltre 355 Euro,680.000 delle vecchie lire!!in collaborazione con EETOLS USA

NUTCHIP - PROGRAMMAZIONE ELEMENTARE A STATI LOGICI IN POCHI MINUTI

Page 39: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

HARDWARE

HARDWARE40

Figura 2: Circuito stampato in scala 1:1 del modulo LED

Page 40: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

HARDWARE

HARDWARE 41

Figura 3: Piano di montaggio del modulo LED

Page 41: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

avete settato univocamente gliindirizzi delle quattro schede deimoduli lungo il bus I2C.Con un altro jumper dovete chiu-dere un ponticello, nella posizioneevidenziata in figura 10, in un solo

modulo. In questo modo il micro-controllore prende quel modulocome riferimento per la temporiz-zazione delle funzioni ed in parti-colare per la gestione del lampeg-gio e del lampeggio alternato.

Volendo approfondire il significa-to di questo ponticello poteteconsultare il datasheet delMAX6953 cercando la documen-tazione riguardo al pin 20.

CARICAMENTO DELLABATTERIA TAMPONEIl caricamento della batteria tam-pone, che funge da alimentazionedi backup per il RTC (Real TimeClock) inserito nella scheda con-trolli, può essere fatto aprendo iljumper J2 e collegando al connet-tore, evidenziato nella figura 11,(rispettando le polarità) un comu-ne caricabatteria per accumulato-ri Ni-Cd.L’operazione è molto semplice mamolto delicata, infatti, il RTC èestremamente sensibile alle sovra-tensioni ai capi della batteria.

HARDWARE

HARDWARE42

Figura 4: Circuito stampato in scala 1:1 della scheda controlli

Elenco componenti – Schede Moduli

Quantità Sigla Valore

1 x 4 R1 4,7 KΩ 1/4 W (± 1% ove possibile)

1 x 4 R2 68 KΩ 1/4 W (± 1% ove possibile)

2 x 4 C1,C2 100 nF ceramico

1 x 4 C3 15 pF ceramico

140 x 4 LD1÷LD140LED rossi 5mm(preferibilmente alta luminosità)

1 x 4 U1 Maxim MAX6953

8 x 4 JP1÷JP8Connettori IDC passo 2,54 mm(coppia) e ponticelli

16 x 4 J1, J2Connettori IDC con passo2,54 mm maschi

Page 42: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

di di controllarne periodicamentela tensione ai capi durante la rica-

Come riportato nel datasheet diquesto componente, la tensione

della batteria tampone non devesuperare i 3.5 V, vi consiglio quin-

HARDWARE

HARDWARE 43

Figura 5: Piano di montaggio della scheda controlli

Elenco componenti – Scheda Controlli

Quantità Sigla Valore Quantità Sigla Valore

2 R1, R2 10 KΩ 1/4 W 1 Y1 Risuonatore ceramico 4 Mhz

2 R3, R4 33 KΩ 1/4 W 1 Y2 Quarzo 32.768 KHz

2 R6, R8 470 Ω 1/4 W 1 BT1 Batteria tampone 3.6 V

2 C1, C2 Condensatori 22pF 1 JP1 Connettore telefonico

5 C3÷C7Condensatori elettrolitico1µF 50V

2 JP2, JP3Connettori IDC passo2,54 mm (coppia) e ponticelli

2 D1, D2 Diodi 1N4148 8 J2Connettori IDC con passo2,54 mm maschi

1 U1 Microchip PIC16F86 22J7, J3,J5, J9

Connettori strip-line femmine

1 U2 Microchip 24AA515 3 J4, J6, J8 Connettori 2 poli passo 5 mm

1 U3 Dallas Semiconductor DS1207 1 RS1 Connettore DB9 Seriale

1 U4 Dallas Semiconductor DS1631 1 S1 Pulsante NA da cs

1 U5 Maxim MAX232

Page 43: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

rica. Completata l’operazioneinserite il jumper J2 primarimosso.La batteria ricaricata non dovreb-be scaricarsi prima di dieci anni diservizio.

SETUP SOFTWAREPrima di caricare il firmware all’in-terno del microcontrollore vi consi-glio di controllare con attenzionese le linee distribuite lungo la matri-ce, attraverso i connettori, risultano

condurre e sono isolate reciproca-mente. Ponete molta attenzionealle prime due linee che trasporta-no l’alimentazione, soffermandovianche a controllare se risultano iso-late rispetto alla piastra.Ora potete collegare il vostro ali-mentatore al connettore eviden-ziato in figura 12 rispettando lepolarità, in modo da alimentare lamatrice. Vi ricordo velocementeche è necessario un alimentatoreche eroghi almeno 5V – 1.5A.

Il microcontrollore può essereprogrammato con qualsiasi pro-grammatore usando i file sorgenti(dopo averli compilati) o diretta-mente il file Hex che è possibilescaricare dal sito Web di FareElettronica.La compilazione dei file sorgentepuò avvenire usando Mplab conla seguente configurazione:

CP1:CP0: OFF

DEBUG: ON

WRT: OFF

CPD: OFF

LVP: OFF

BODEN: Disabled

PWRTE: Enabled

WDTE: Disabled

FOSC1:FOSC0: XT

Case sentive: OFF

Radix: HEX

HARDWARE

HARDWARE44

Figura 7: Disegno meccanico della piastra

Figura 6: Disegno meccanico della scatola

Elenco componentiConnettori e scatola

Quantità Valore

96

Connettori IDC conpasso 2,54 mmfemmina tagliatitre a tre

20Distanziatori 25 mmdiametro 3 mm

Page 44: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

magine di figura 14, la quale indi-ca un corretto allineamento deimoduli.Se i test hanno avuto successopotete caricare la scena test (dalfile test.sce), della schermata“modifica scene”, cliccando ilbottone “invia scene” (figura 15).Per questa puntata ho concluso,nel darvi appuntamento alla pros-sima, vi anticipo che troverete laguida al programma di gestione ela descrizione del funzionamentodel firmware.

Installate poi sul vostro PC il pro-gramma di gestione della matrice,che potete scaricare dal sito Webdi Fare Elettronica, in modo daconsentirne la programmazione.

AVVIO E TEST DIFUNZIONAMENTOLa prima volta che eseguite il pro-gramma che controlla la matricedi LED è necessario che andiate achiudere il jumper JP3 evidenziatoin figura 9, in questo modo suldisplay apparirà la dicitura “tastobloccato” che disabilita la letturadei dati dalla EEprom (perché non

sarebbero validi) ma lascia attivele procedure di controllo remoto.Ora potrete eseguire i due testsoftware per controllare se tuttofunziona. Aprite il programma digestione ed entrate nella scher-mata rappresentata in figura 13.Nell’assicuravi che la matrice èconnessa alla giusta porta serialespuntate le caselle riguardanti itest.Se avete completato il montaggiocon successo dovrete verificareche tutti i led si accendino per tresecondi e che per i successivi tresecondi venga visualizzata l’im-

HARDWARE

HARDWARE 45

Figura 8: Schema del connettore da realizzarein quattro copie Figura 9: Posizione Jumper Indirizzo

Figura 11: Posizione Jumper e Connettore per laricarica della batteria tampone

Figura 12: Posizione del connettore alimentazione

Figura 13: Schermata Opzioni/Configurazionedel programma di gestione

Figura 14: Risultato Test Posizione Figura 15: Schermata per l’invio delle scene

Figura 10: Posizione Jumper Temporizzazione

Page 45: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Standard: Il tuo abbonamento personale o aziendale al costo di € 39

Regalo: Se sei già abbonato e vuoi regalare un nuovo abbonamento ad un amico,

lo pagherai solo € 35 (10% di sconto) comunicando il tuo codice

Scuole: Riservato a scuole ed università; ordinando quattro abbonamenti ne riceverai

uno in omaggio, pagherai quindi € 156 anzichè € 195 (20% di sconto)

Per Posta: scrivere a INWARE Edizioni - Via Cadorna, 27 - 20032 Cormano (MI)

Per Telefono: al numero +39 02.66504794

Per Fax: al numero +39 02.66508225

Via Internet: sul sito www.farelettronica.com alla pagina campagna abbonamenti

Diverse possibilità di abbonamento:

Come abbonarsi:

(è possibile pagare con bollettino postale, bonifico bancario e carta di credito, maggiori dettagli in ultima pagina)

2004-2005Abbonarsi a Fare Elettronica significa ricevere,

comodamente ogni mese a casa tua, tante

idee e consigli per rendere il tuo hobby una

vera passione.

CAMPAGNA ABBONAMENTI

Perché Fare Elettronica si diverte solo quando ti diverti tu.

ABBONARSI A FARE ELETTRONICA CONVIENE.

Abbonarsi subito conviene ancora di più.

Abbonandoti potrai ricevere la rivista ad un prezzo molto

interessante rispetto a quello di copertina. Pagherai infatti

solo € 39 invece di € 51 con un risparmio di ben € 12 oltre

a ricevere uno sconto del 10% su tutti i libri del catalogo

SANDIT (più di 800 titoli).

Page 46: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Elenco dei prodotti attualmente disponibili in Bundle Prezzo normale Cad.

Fare Elettronica N. 212 Febbraio 2003 € 07,50

Fare Elettronica N. 213/214 Marzo/Aprile 2003 – Numero Doppio € 09,00

Fare Elettronica N. 219 Settembre 2003 € 07,50

Fare Elettronica N. 220/221 Ottobre/Novembre 2003 – Numero Doppio € 09,00

Fare Elettronica N. 222 Dicembre 2003 € 07,50

Fare Elettronica N. 223 Gennaio 2004 € 07,50

CD-ROM “Annata Fare Elettronica 2003” € 25,00

Software Abacom “sPlan Disegno schemi elettrici” € 46,80

Software Abacom “Sprint Disegno circuiti stampati” € 46,80

Software Abacom “Front Designer Disegno pannelli frontali” € 46,80

Elenco dei Bundles disponibili Prezzo Bundle Cad.

Bundle “A” : 2 Arretrati (qualsiasi) al prezzo speciale di € 12,00

Bundle “B” : 3 Arretrati (qualsiasi) al prezzo speciale di € 15,00

Bundle “C” : 1 Arretrato (qualsiasi) e il CD-ROM ”Annata FE 2003” al prezzo speciale di € 30,00

Bundle “D”: 1 Arretrato (qualsiasi) e 1 Software Abacom (qualsiasi) al prezzo speciale di € 50,00

Bundle “E” : 2 Software Abacom (qualsiasi) al prezzo speciale di € 84,00

Il Bundle di Fare Elettronica è una combinazione di prodotti ad un prezzo scontatissimo.

NON LASCIARTI SCAPPARE IL TUO PREFERITO!

Bollettino postale Utilizzare il C/C N. 22790232 intestato ad Inware srl, indicando nella causale “Ordine Bundle”

Bonifico bancario Appoggiarlo sulla banca: Poste Italiane - CIN: Z - ABI: 07601 - CAB: 01600 - C/C: 000022790232

Carta di credito Titolare:

Numero: Scadenza:

Privacy. Il trattamento dei dati, in forma automatizzata e con modalità strettamente connesse ai fini, con garanzia di riservatezza, è finalizzato all’invio del presente periodico allo scopo di informare ed aggiornare i letto-ri e gli operatori del settore elettronico sulle novità che il mercato propone. Potranno essere esercitati i diritti di cui all’articolo 13 della legge 675/96 (accesso, correzione, cancellazione, opposizione al trattamento, ecc.).Il titolare del trattamento dei dati è Inware srl con sede a Cormano (MI) in via Cadorna 27/31. Nel caso si tratti di copia omaggio a titolo promozionale si rende noto che i dati provengono da archivi pubblici. Resta intesoche le informazioni in ns. possesso non saranno in nessun caso cedute a terzi.

Cognome Nome

Azienda

Via CAP Città Prov.

Tel. Fax email

Indicare il Bundle e i prodotti prescelti mettendo una croce sulle rispettive caselle.

Per ordinare il tuo Bundle utilizza questa pagina inviandola via Fax al n. 02.66508225,

oppure puoi ordinarlo online all’indirizzo www.farelettronica.com/bundle

Tutti i Bundle sono comprensivi di IVA e spese di spedizione. Il pagamento è anticipato, e può essere effettuato tramite:

Page 47: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

UNIREADER: PROGETTODI UN LETTOREDI SMARTCARD

RIPRENDIAMO LA NOSTRAPARTITA A CARTECosa ci siamo detti negliarticoli precedentiPrima di poter affrontare la pro-gettazione e la realizzazione diun lettore di smartcard, è neces-sario conoscere in dettaglio que-sti oggetti in tutti i loro aspetti.Per questo motivo, potete trova-re, nei precedenti articoli, unatrattazione teorica sulle smart-card che indaga sulle varie tipo-logie e ne discute i campi di uti-lizzo attuali e futuri. Inoltre,potete trovare un articolo sullesmartcard a memoria ed unosulle smartcard a microprocesso-re, i due tipi in cui si classificano

tutte le smartcard, entrambicompatibili con UniReader. Nonmi limiterò semplicemente amostrare uno schema elettrico eil suo sbroglio con le solite istru-zioni per il montaggio, ma cer-cherò di descrivere in dettagliotutte le fasi di progettazione giu-stificando le varie scelte. Percomprendere al meglio il conte-nuto di questo articolo, consi-glio al lettore di leggere anche iprecedenti articoli del tutorial.

Cos’è un lettore di smartcardPrima di lanciarci nella progetta-zione, è necessario riflettere sul-l’oggetto che dobbiamo realiz-zare e che abbiamo chiamato

lettore universale di smartcard.L’attributo universale sta ad indi-care che esso deve essere com-patibile sia con le smartcard amemoria, sia con le smartcard amicroprocessore: qualunque siala carta in nostro possesso, il let-tore dovrà essere in grado digestirla correttamente.Il termine lettore, invece, è sicu-ramente da commentare inmodo più approfondito. Sedomandiamo ad un profanoquali compiti deve eseguire unlettore di smartcard, sicuramen-te ci risponderà che deve esserein grado di leggere i dati memo-rizzati nella carta e presentarliall’utente in varia forma (per

UNIREADER: PROGETTODI UN LETTOREDI SMARTCARD

SMARTCARDSMARTCARD

di Giuseppe Modugno

[email protected]

In questo quarto articolo del nostro tutorial, verrà progettato un lettore

universale di smartcard compatibile sia con le carte a memoria, come le

SLE4442, sia con quelle a microprocessore, come le SIM dei cellulari GSM.

Il cuore di UniReader è un microcontrollore PIC 16F628 che permette di utilizzare

il lettore sia in connessione con un PC, sia in modalità standalone.

quarta parte

TUTORIAL48

TUTORIAL

Page 48: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 49

TUTORIAL

esempio, su carta, su display,ecc) oppure trasmetterli ad unaltro dispositivo elettronico (peresempio, ad un computer). Chici ha seguito con attenzione sindalla prima parte del tutorial,può subito capire come questaimmagine sia alquanto riduttiva.Infatti, un lettore di smartcardnon si limita a leggere ma effet-tua sulla carta una serie di altreoperazioni più o meno comples-se che possono andare dalla let-tura dei dati presenti sulla cartaall’autenticazione dell’utente,dalla modifica dei dati (scrittura)all’esecuzione di algoritmi dicifratura complessi. Per quelloche abbiamo detto, il termine“lettore di smartcard” apparedecisamente restrittivo. Sarebbemeglio parlare a tal proposito didispositivo di interfacciamentocon la smartcard o, dall’inglese,interface device (IFD) ma, purnell’imprecisione, nel seguito diquesto articolo faremo riferi-mento al termine lettore di

smartcard poiché più comune-mente usato.A prima vista può sembrare cheun dispositivo di questo tipo,che può compiere diverse ope-razioni, anche complesse, conuna qualsiasi smartcard, sia didifficile realizzazione, soprattut-to per un hobbista. In realtà,come vedremo nel corso dell’ar-ticolo, tutte queste operazioni siriducono, al livello più basso, allatrasmissione e ricezione dicomandi, formati da una succes-sione più o meno lunga di byteverso e dalla smartcard. Il parti-colare comando determina l’o-perazione, anche complessa,che l’utente, tramite il lettore,vuole far eseguire alla smartcard.

Da queste considerazioni ci sipuò convincere di come un let-tore sia semplicemente un dis-positivo di interfaccia che con-verte le “volontà” dell’utente odel sistema in opportuni coman-di da trasmettere o dati da rice-vere dalla smartcard, medianteun opportuno protocollo.

PROGETTAZIONEOvviamente, tralasciamo laparte che dovrebbe precederequalsiasi progetto e che corri-sponde alla documentazione eallo studio, poiché coincide coni nostri precedenti articoli.Partiamo, quindi, da una pano-ramica generale del nostro dis-positivo, cioè da un’analisi atten-ta del suo schema a blocchi.

Schema a blocchiCome abbiamo già detto, ilnostro lettore di smartcard è undispositivo di interfacciamentoche si preoccupa di convertire le“volontà” dell’utente o del siste-ma in comandi da trasmettere ericevere dalla smartcard. Questoruolo di “intermediazione” èfacilmente comprensibile guar-dando lo schema in figura 1.Da una parte c’è l’utente del-l’applicazione che può essere

rappresentato dalla persona alBancomat oppure dal telefoninoGSM. In quest’ottica, il termineUTENTE utilizzato in Figura 1 èun concetto molto più allargatorispetto alla persona fisica.Dall’altra parte è presente lasmartcard, dove sono memoriz-zati i dati necessari per l’esecu-zione dell’operazione (per esem-pio, numero di conto corrente ocrediti) oppure dove è possibileeffettuare operazioni di cifraturaper l’autenticazione al sistema(per esempio, alla rete GSM delnostro provider). Al centro èpresente il LETTORE di smart-card che si preoccupa di conver-tire il flusso di operazioni prove-nienti dall’UTENTE in comandida trasmettere alla SMARTCARDe viceversa.L’UTENTE può comunicare con illettore in entrambe le direzioni ein diversi modi, a seconda del-l’applicazione. Il lettore puògestire il flusso in input (UTENTE‡ LETTORE) mediante una tastie-ra, una connessione serialeRS232 o USB, ecc. Allo stessomodo, in output (LETTORE >UTENTE) il lettore può gestiredei led, un display LCD, unaconnessione RS232 o USB, deirelé, ecc. Se, per esempio, l’ap-

Figura 1: Il lettore come dispositivo d’interfacciamento

Page 49: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL50

TUTORIAL

plicazione prevede l’apertura diun cancello all’inserimento diuna smartcard valida, utilizzere-mo un relé pilotato dal lettoreche azionerà l’apricancello adautenticazione correttamenteavvenuta.Per quanto riguarda il latoSMARTCARD, l’implementazio-ne è facilitata dal fatto che sia lesmartcard a memoria che lesmartcard a microprocessorestandard hanno lo stesso forma-to e la stessa disposizione deicontatti: questo ci permette diutilizzare un unico connettoreISO7816 da interfacciare al let-tore.Dal lato UTENTE, invece, faccia-mo la scelta di implementare nelnostro prototipo soltanto unaconnessione seriale RS232 conun eventuale PC. In questomodo, mediante un semplicesoftware per computer, saràpossibile gestire la comunicazio-ne con il lettore in entrambe ledirezioni e, quindi, con la smart-card. Per mostrare come sia pos-sibile far funzionare il lettore inmodalità stand-alone, è previstoun led che può significare l’abili-tazione all’utilizzazione dellarisorsa nel caso di accesso con-sentito al titolare della smart-card.

La scelta del microcontrollorePrecisiamo subito che la presen-za di un microcontrollore in unlettore di smartcard non ènecessaria. Esistono dei semplicilettori, chiamati generalmentedumb (stupidi), in cui i contattidella smartcard sono collegati aipin di una seriale RS232 median-te una semplice traslazione dilivello (ricordiamo che la smart-

card è compatibile con logica a5V, mentre la seriale RS232 pre-vede segnali di circa –10V e+10V). Ciò è possibile poiché,come ricorderà chi ha letto l’ar-ticolo sulle smartcard a micro-processore, il protocollo T=0 èmolto simile al protocollo RS232con 8 bit di dati, 1 bit di parità,2 bit di stop alla velocità di 9600bit/s. Tutta la logica di funziona-mento viene quindi completa-mente spostata nel software delcomputer. Anche le smartcard amemoria possono essere gestitedirettamente dalla RS232 di unPC senza un microcontrollore,utilizzando alcuni pin della seria-le (DTR, RTS, ecc) per pilotaredirettamente i segnali CLK, RSTe I/O.La domanda è d’obbligo: perchéabbiamo utilizzato un microcon-trollore nell’UniReader? Per alcu-ni motivi che andiamo subito acommentare.

• La presenza di un microcon-trollore ci permette di utilizza-re il lettore anche in modalitàstand-alone, senza alcunaconnessione con un PC. Ilsoftware di gestione non saràin esecuzione nel PC, ma nelmicrocontrollore.

• Il protocollo T=0, seppurmolto simile al protocollo uti-lizzato nella RS232, si discostain alcuni punti da questo. Peresempio, nel protocollo T=0,utilizzato dalle smartcard amicroprocessore, è previstoun controllo di parità “al volo”che è impossibile implemen-tare utilizzando la sola RS232(per maggiori dettagli si vedal’articolo precedente sullesmartcard a microprocessore).

• La presenza di un microcon-trollore ci permette di riutiliz-zare l’hardware anche per altritipi di smartcard e/o protocol-li di comunicazione anchemolto diversi dal protocolloRS232. In questo caso, bastacambiare opportunamente ilfirmware del microcontrolloreper gestire tali particolarisituazioni.

• Mediante il microcontrollore èpossibile gestire della circuite-ria elettronica aggiuntiva chepotrebbe essere impossibilepilotare tramite la sola con-nessione seriale (si pensi, peresempio, all’eccitazione di unrelè in funzione della cartainserita nel lettore oppure adun display LCD).

Dopo aver giustificato l’utilizzodi un microcontrollore, passia-mo alla sua scelta. Come abbia-mo detto, si utilizzerà il PIC16F628 della Microchip che ci èsembrato una buona soluzioneper tanti motivi.Innanzitutto, è un chip moltodiffuso nei negozi di elettronicaad un prezzo sicuramente acces-sibile alla maggior parte deglihobbisti. Inoltre, per la memo-rizzazione del firmware, è dotatodi una memoria Flash da 2048istruzioni che permette la ripro-grammazione in caso di errori odi aggiornamenti del program-ma. È dotato di un oscillatoreinterno a 4MHz, a differenza delsuo “fratello più piccolo” 16F84,che semplifica ulteriormente lacomplessità del circuito.Internamente ha una portaUSART che permette l’intercon-nessione con una RS232 di unPC in modo molto semplice sia a

Page 50: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 51

TUTORIAL

livello hardware, ma soprattuttoa livello di programmazione (il16F84 non è dotato di portaUSART).Inutile puntare su microcontrol-lori più evoluti, poiché ciò nongiustificherebbe l’aumento delprezzo e della complessità inrelazione ai nostri scopi. È ovvioche, a seconda delle necessità,sarà possibile riprogettare il let-tore utilizzando un qualsiasialtro microcontrollore.Scegliendo, invece, il più picco-lo 16F84, avremmo dovutorinunciare a metà della memo-ria Flash, con la conseguenza di

non poter creare programmimolto complessi; alla portaUSART, con la maggiore com-plessità di programmazionerelativa alla gestione della con-nessione RS232 e quindi ad unmaggior aumento del codice,già penalizzato da una memo-ria ridotta; all’oscillatore inter-no a 4MHz, con la conseguen-za di complicare il circuito.Pensiamo che il minor costodel 16F84 non giustifichi tuttiquesti svantaggi, anche perchéla differenza di prezzo è, inmolti casi, irrisoria o addiritturaassente.

Schema elettricoIn figura 2 è mostrato lo schemaelettrico del nostro lettore dismartcard basato su PIC16F628.L’alimentazione dell’intero cir-cuito viene fornita mediante ilconnettore J1 a due contatti, acui è possibile applicare una ten-sione continua di almeno 8V. Peresempio, è possibile collegaredirettamente una batteria da 9V,magari sostituendo il connettoreJ1 con il classico connettore pertali batterie, oppure è possibileutilizzare un qualsiasi alimenta-tore da muro che abbia una

Figura 2: Schema elettrico

Page 51: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL52

TUTORIAL

uscita continua di almeno 8V(generalmente 9V o 12V). Non ènecessario che tale tensione siaregolata, poiché essa viene sta-bilizzata mediante un regolatorelineare 7805 (IC1) che genera illivello di 5V utilizzato per l’ali-mentazione della smartcard, delmicrocontrollore e degli altriintegrati.Il diodo D1 ha il solo scopo dievitare problemi nel caso si col-leghi il polo positivo e negativodell’alimentazione nel versoopposto. Il led verde DL1 è col-legato direttamente alla tensio-ne di 5V, quindi si accende ognivolta che viene alimentato il cir-cuito e può essere usato cometest di presenza alimentazione.L’interruttore S1 è utile per stac-care l’alimentazione dal circuito.Il cuore del nostro lettore dismartcard è il microcontrollorePIC 16F628 (IC3). Esso verràprogrammato in modo da uti-lizzare l’oscillatore interno a4MHz, quindi i pin RA7/OSC1 eRA6/OSC2 sono usati come pindi input/output generici. Il pinMCLR non viene usato, quindila funzionalità di reset dovràessere disabilitata durante laprogrammazione, azzerando ilflag relativo.I pin RX e TX sono rispettiva-mente i pin di ricezione e tra-smissione della porta USART checi permette di gestire in modosemplice la programmazione delprotocollo seriale. Lo standardRS232 prevede livelli positivi dicirca +10V e livelli negativi di–10V, mentre la USART delmicrocontrollore gestisce segna-li TTL 0-5V. Per questo motivo ènecessario utilizzare un circuitotraslatore di livello che converta

i livelli TTL in RS232 e, viceversa,i livelli RS232 in livelli TTL. Il chipmaggiormente usato per questoscopo è il MAX232 (IC2) pro-dotto dalla Maxim o uno deisuoi numerosissimi equivalentidi altri produttori, molto spessocompatibili anche con il pinout.Esso realizza questa conversionedi livello mediante la tecnicadefinita “pompa di carica” che siserve di quattro condensatoriesterni (C7, C8, C9, C10) perraddoppiare la tensione da 5V a10V e creare la tensione negati-va –10V. Il connettore RS232 uti-lizzato è il tipico D-SUB 9 pinfemmina, in cui è usato il pin 2per la trasmissione ed il pin 3 perla ricezione. Il connettoremaschio a 9 poli generalmenteutilizzato nei PC come portaseriale, utilizza, invece, il pin 3per la trasmissione ed il pin 2 perla ricezione. Questo ci permettedi collegare direttamente il letto-re di smartcard alla porta serialedel computer mediante un cavo“pin to pin” maschio-femminadove, cioè, il pin 1 del connetto-re maschio è collegato al pin 1del connettore femmina, il pin 2del maschio è collegato al pin 2della femmina, ecc. In realtà, lanostra seriale utilizza soltanto treconduttori (RX, TX e GND),quindi basterebbe un semplicecavo dove siano collegati i pin 2,3 e 5. Gli altri eventuali con-duttori non sono usati epotrebbero essere assenti nelcablaggio senza inficiare la cor-retta comunicazione.Il connettore per smartcard (J3)utilizzato, prodotto dalla AMP,oltre agli 8 contatti ISO7816,presenta due contatti aggiuntivi(SW1 e SW2) che sono normal-

mente chiusi e si aprono quandoviene inserita una carta. Tramitela linea SC_DETECT ed il pull-upR3, il microcontrollore può sape-re se nel lettore è stata inseritauna smartcard o meno. Esistonoin commercio connettoriISO7816 senza questi due con-tatti oppure con contatti nor-malmente aperti: in questi casibasta modificare leggermente ilfirmware del microcontrolloreper ignorare la linea SC_DETECToppure per invertirne la logica difunzionamento. I pin RST, VPP eI/O sono direttamente collegatial microcontrollore ai pin RA2,RA1 e RA4 rispettivamente. I pinRST e VPP sono normalmentedegli ingressi per la smartcard,quindi delle uscite per il micro-controllore. In questo prototipola linea VPP è stata collegata adun pin del microcontrollore,anche se difficilmente verràgestita, in quanto generalmentenon utilizzata o, nel caso in cuivenga usata, spesso rappresentauna tensione maggiore di 5Vche il microcontrollore non puòfornire. Queste situazioni nonpossono essere gestite daUniReader, poiché molto diverseda caso a caso. Il pin I/O, invece,è una linea bidirezionale, quindidovrà essere usata sia comeinput che come output dalmicrocontrollore: il pin RA4 haquesta caratteristica. In alcunicasi, come nelle smartcard amemoria SLE4442, il pin di I/O èun open-drain ed è quindinecessario utilizzare un pull-up(R4) per generare entrambi ilivelli 0 e 1. Il pin CLK dellasmartcard può essere pilotatodirettamente dal microcontrol-lore (smartcard a memoria)

Page 52: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 53

TUTORIAL

oppure direttamente da unoscillatore (smartcard a micro-processore). Per questo motivo,le porte NAND IC4B, IC4C eIC4D sono collegate in modo daformare un semplice multiplexera due linee di segnale e duelinee di controllo.Mediante questo multiplexer èpossibile scegliere il segnale diclock da fornire alla smartcardtra quello proveniente dall’oscil-latore (IC4A+Q1) a 3.579MHz equello proveniente direttamentedal microcontrollore (SC_SCLK)e precisamente dal pin RA0.Questa selezione viene effettua-ta dalle linee RA6 e RA7: seRA6=1 e RA7=0, l’uscita dellaporta NAND IC4D è sempre pari

ad 1, mentre l’uscita della portaIC4B è il negato del segnale diclock proveniente dall’oscillatoreIC4A+Q1. Quindi, all’uscita dellaporta IC4C, cioé all’ingresso delpin CLK della smartcard, ci saràun clock a 3.579MHz, utilizzatodalle smartcard a microproces-sore. Viceversa, nel caso RA6=0 eRA7=1, il segnale all’uscita dellaporta IC4C, quindi all’ingressodel pin CLK della smartcard, saràuguale al segnale SC_SCLK pro-veniente direttamente dalmicrocontrollore ed utilizzatonelle smartcard a memoria.L’oscillatore basato sul quarzoQ1 e il multiplexer sono realizza-ti mediante quattro porteNAND, tutte presenti nell’inte-

grato 74HC00 (IC4).Il led rosso DL2 è pilotato diret-tamente dal 16F628 e può esse-re usato per scopi generici chepossono variare a seconda del-l’applicazione. Nel prossimo arti-colo, rappresenterà un utilizza-tore, per esempio, un aprican-cello comandato dal lettore dismartcard in funzione della cartainserita.

REALIZZAZIONEIn figura 3 è mostrato il latorame del nostro prototipo, inscala 1:1, sbrogliato su singolafaccia. Esso può essere usato perla realizzazione del dispositivomediante fotoincisione o tecnicaanaloga. La dimensione del cir-

Finalmente è disponibile il CD-ROM con

il corso completo PIC® Microcontroller By Example

in formato ACROBAT (PDF).

Tutte le lezioni pronte per la consultazione

con i sorgenti dei progetti immediatamente utilizzabili

nelle tue applicazioni.

Il modo migliore per avere sempre sottomano

la soluzione per il tuo progetto con i PICmicro®.

Il CD-ROM PIC® Microcontroller By Example contiene

una sezione “Contenuti Speciali” tutta da scoprire.

Ordinalo subito su

www.farelettronica.com/pbe

oppure telefonando allo 02.66504794

PIC® Microcontroller By ExampleUn CD-ROM che non può mancare alla tua collezione!

Inware Edizioni

Via Cadorna, 27/31 - 20032 Cormano (MI)

Page 53: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL54

TUTORIAL

cuito è di 10x8 cm, mezza euro-card (10x16 cm).Dopo aver realizzato il circuitostampato, procedete con la fora-tura dei vari pin di tutti i compo-nenti. I fori più grandi sononecessari per alloggiare il con-nettore della seriale (J2) e della

smartcard (J3). Se volete, poteteanche fare quattro fori ai quattroangoli per eventuale fissaggio adun contenitore o per montaredei distanziatori. Tenete presen-te, però, che questi fori nonsono presenti in Figura 3.Aiutandovi con lo schema di

montaggio in figura 4 e con l’e-lenco componenti, procedetecon la saldatura di tutti i com-ponenti.

Per comodità, potete iniziarecon la saldatura dei componentia basso profilo, come i tre pon-ticelli, le resistenze e i diodi.Proseguite con gli zoccoli per gliintegrati IC2, IC3 ed IC4, con icondensatori, stando ben atten-ti alle polarità di quelli elettroliti-ci, con i led e i connettori. Ilregolatore di tensione 7805(IC1) può essere montato tran-quillamente “in piedi” senzaalcuna aletta di raffreddamento,poiché assorbe una potenzaminima e non scalda in modopericoloso. È importante miglio-rare lo smaltimento di calore diquesto integrato se utilizzatetensioni d’ingresso molto grandioppure se modificate il circuitoin modo che assorba correntielevate.In figura 5 potete vedere unafoto del prototipo dell’UniReadercon una scheda Agip biancainserita nello slot ISO7816,, ilcavo di collegamento per il PCed il cavo di alimentazione.

SVILUPPO DEL FIRMWAREL’utilizzo di un dispositivo pro-grammabile come il microcon-trollore PIC16F628, prevede lascrittura di un firmware per talecomponente.Nel caso dell’UniReader, ènecessario sviluppare un firmwa-re che gestisca la eventuale con-nessione seriale RS232, il multi-plexer per la scelta del segnale diclock da inviare alla smartcard, ilprotocollo di comunicazionecon la carta eventualmente inse-

Figura 4: Schema di montaggio

Figura 3: Lato rame in scala 1:1

Page 54: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 55

TUTORIAL

rita. Il nostro prototipo prevedeanche la gestione di un led chepuò rappresentare, in un’appli-cazione pratica, un relé o qual-che altro circuito di controllo.Il microcontrollore PIC16F628può essere programmato diret-

tamente in assembler, poiché haun set di istruzioni compatto esemplice da capire e imparare.Tuttavia, per il prototipodell’UniReader, ho scelto di uti-lizzare il linguaggio C poiché piùintuitivo, leggibile e portabile. È

noto che un programma scrittocon un linguaggio ad alto livello,appunto come il C, occupa sicu-ramente più spazio rispetto allostesso programma scritto diret-tamente in assembler. Nelnostro caso, i compiti del micro-controllore sono molto semplicie quindi la ridondanza aggiuntadal compilatore non genera maiun codice troppo grande rispet-to alla memoria programma del16F628. Se volete complicare ilfirmware, aggiungendo altregestioni, probabilmente sarànecessario prendere in conside-razione la possibilità di scrivere ilprogramma direttamente inassembler per evitare eseguibilitroppo grandi, oppure l’utilizzodi un dispositivo con una mag-giore memoria.Come compilatore C ho scelto ilCC5X (www.bknd.com) che hauna edizione FREE, in cui sonoassenti alcune ottimizzazioni edutilizzabile solo in applicazioninon commerciali, restrizioni chenon creano alcun problemanella nostra situazione. Permaggiori informazioni su que-sto compilatore, leggete ilriquadro apposito in questostesso articolo.Il firmware utilizzato per il test diUniReader e quelli che verrannopresentati negli articoli successi-vi possono essere tutti scaricatidal sito di Fare Elettronica. Essisono presenti sia in formato sor-gente (file con estensione .C),sia in formato eseguibile giàcompilati (file con estensione.HEX). Tutti coloro che non fos-sero interessati allo sviluppo delfirmware possono utilizzaresemplicemente i file eseguibiliper programmare il microcon-

Elenco componenti

Sigla Valore

R1, R2 330 Ω 1/4 W

R3, R4 10 KΩ 1/4 W

R5 1 MΩ 1/4 W

C1, C4, C5, C11÷C13 100 nF ceramico

C2, C3 10 µF elettrolitico

C6÷C10 1µF elettrolitico

C14, C15 22 pF ceramico

D1 1N4004 (o equivalente)

DL1 Led verde 5 mm

DL2 Led rosso 5 mm

IC1 7805

IC2 MAX232 + zoccolo 16 pin

IC3 PIC 16F628 + zoccolo 18 pin

IC4 74HC00 + zoccolo 14 pin

J1 Morsettiera a due vie

J2 Connettore D-SUB9 femmina 90° per cs

J3 Connettore ISO7816

Q1 Quarzo 3.579 MHz

S1 Deviatore

Figura 5: Foto del prototipo di UniReader

Page 55: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL56

TUTORIAL

trollore ed utilizzarlo subito nelcircuito. Se siete interessati acapire il funzionamento delfirmware, oppure a modificarlosecondo le vostre necessità,potete consultare e modificare ifile sorgenti relativi.

COLLAUDOPrima di dare alimentazione alcircuito, controllate eventualicortocircuiti fra piste, soprattuttotra i due contatti dell’alimenta-zione del connettore J1.Controllate anche che non cisiano cortocircuiti tra l’uscita del7805 (pin 3) e la massa. Permaggiore sicurezza, senza mon-tare i tre integrati IC2, IC3, IC4nei rispettivi zoccoli, collegatel’alimentazione e accendete il cir-cuito mediante il deviatore S1 (seutilizzate uno “a levetta”, sposta-te la levetta verso l’interno delcircuito per accendere). Il ledverde DL1 dovrebbe subitoaccendersi, indicando una ten-sione di circa 5V all’uscita del7805; misurate tale tensione conun voltmetro. Controllate chetale tensione sia presente all’inte-grato IC2 (pin 16), IC3 (pin 14),IC4 (pin 14) e al connettoreISO7816. Potete anche controlla-re che sia presente una tensionedi circa –10V sul pin 7 delMAX232 (IC2) che rappresenta ilsegnale di trasmissione su RS232.TESTSe tutto è corretto, inserite ilMAX232 e il 74HC00 nei rispet-tivi zoccoli, programmate ilmicrocontrollore con il firmwareUNIREADER_TEST.HEX ed inseri-telo nello zoccolo.Collegate il lettore alla portaRS232 del PC mediante un cavo“pin to pin” maschio-femmina

ed eseguite su PC il softwareHyperterminal, normalmente inStart > Programmi > Accessori >

Comunicazioni > Hyperterminal

> Hypertrm.exe (se non dovesteaverlo, potete installarlo in unsecondo momento dal CD diWindows). Nel seguito faremoriferimento a questo program-ma, ma tenete presente chepotete utilizzare un qualsiasialtro software di emulazioneterminale.Dopo aver eseguitoHyperterminal, scegliete unnome qualsiasi da dare alla con-nessione, per esempio “Test”.Cliccate su OK e scegliete, dalcampo “Connetti”, la portaseriale che avete utilizzato per ilcollegamento con UniReader(per esempio, “direttamente aCOM2” se state utilizzando laseconda porta seriale). Cliccatesu OK ed impostate i parametridella connessione, come in figu-ra 6. Si tratta di un protocolloseriale alla velocità di 19200bps,8 bit di dati, nessuna parità, 1 bitdi stop senza controllo di flusso(naturalmente il firmware è statoscritto per utilizzare la portaUSART con queste impostazio-ni). Cliccate su File > Proprietà >

Impostazioni > Impostazioni

ASCII ed abilitate la casella dicontrollo “Aggiungi avanzamen-to riga ad ogni ritorno a caporicevuto”.Confermate la modifica.

A questo punto potete inserireuna smartcard a memoriaSLE4442 nel lettore ed accen-derlo. Se tutto è corretto, dovre-ste visualizzare nella finestra diHyperterminal un messaggio deltipo mostrato in figura 7.

Alla pressione del tasto ‘R’, invia-to al lettore mediante RS232,UniReader genera un evento direset e legge la risposta dellacarta al reset (ATR) che viene tra-smesso sempre su RS232.

STANCHI DI GIOCARE?Il circuito che ho proposto èsolo un prototipo di lettore chepotete utilizzare per divertirvicon le smartcard. Le modificheche si possono fare sononumerosissime.Per esempio, potete modificareil circuito in modo da utilizzareun PIC 16F84. In questo casodovete gestire il pin MCLR comereset e aggiungere un oscillatoreper il clock. Potete anche utiliz-zare il segnale a 3.579MHz giàpresente nel circuito come clockdel microcontrollore.È possibile aggiungere un relé,con relativo circuito di pilotag-gio, al posto del led rosso di test,o insieme ad esso.Potete sostituire la connessioneRS232 con un collegamentoUSB oppure utilizzare una tastie-ra ed un display per l’interfacciacon l’utente.Eseguito con successo il collau-do del lettore di smartcard,potete divertirvi a scrivere unabozza di programma per lagestione di una smartcardSLE4442: lettura e scritturadelle diverse zone di memoria econfronto del PSC.Chi ha letto l’articolo su questesmartcard dovrebbe essere ingrado di sviluppare un firmwa-re di questo tipo senza grossiproblemi. Se non avete a dispo-sizione una SLE4442 vergine,potete utilizzare una tesseratelefonica digitale oppure la

Page 56: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 57

TUTORIAL

tessera punti dell’AGIP o diqualche altro distributore dibenzina.Se non ci riuscite, dovete soloaspettare il prossimo articolo…

Cosa ci aspetta nel prossimoarticoloNei prossimi due articoli utilizze-remo l’UniReader rispettivamen-te in applicazioni con smartcarda memoria e smartcard a micro-

processore. In entrambi i casi,sarà necessario sviluppare unfirmware ad-hoc che gestisca larelativa tipologia di smartcard.Infine, faremo degli esempi con-creti di utilizzo di smartcard amemoria (raccolta punti di unnegozio e utilizzo docce a paga-mento in un campeggio) esmartcard a microprocessore(gestione della rubrica e degli

SMS di una SIM GSM).

BIBLIOGRAFIA E LINKCompilatore C per PIC CC5X(in inglese): www.bknd.comMaxim (in inglese):www.maxim-ic.comAmp (in inglese):www.amp.comMicrochip (in inglese):www.microchip.com

Figura 6: Impostazioni della connessione serialein Hyperterminal Figura 7: Messaggio trasmesso dal lettore all’accensione

IL COMPILATOREIl compilatore CC5X è distribuito dalla B Knudsen Data (http://www.bknd.com/) e supporta molti microcontrol-lori PIC della Microchip, in particolare quelli con un core a 12 e 14 bit, tra cui il PIC 16F628 utilizzatonell’UniReader. È possibile scaricare liberamente una versione gratuita del compilatore, alla paginahttp://www.bknd.com/cc5x/download.shtml, dove è presente anche un manuale in PDF. Per studenti o progettinon commerciali, la versione FREE del compilatore gestisce al massimo 1024 istruzioni per modulo ed è privo dellacompleta ottimizzazione. Potete scaricare sia una versione a 16 bit per DOS, sia una versione a 32 bit per Windows.Consiglio di scaricare quest’ultima versione (CC5XFREE.ZIP) che potrà essere utilizzata anche in una finestra DOSdi Windows.Una caratteristica molto interessante di questo compilatore è la possibilità di integrarlo completamente nel siste-ma di sviluppo MPLAB della Microchip, con la possibilità di scrivere il programma, compilarlo e farne il debugsenza utilizzare le finestre DOS. Comunque, per brevità, nel seguito verrà illustrato il procedimento di compilazio-ne a riga di comando.Il pacchetto scaricato (CC5XFREE.ZIP), relativo alla versione 3.2, contiene, tra l’altro, l’eseguibile principale delcompilatore (CC5X.EXE) e il file include 16F628.H (oltre a quelli relativi agli altri PIC supportati) per poter compi-lare un sorgente per il microcontrollore PIC 16F628. Potete decomprimere il file scaricato CC5XFREE.ZIP, per esem-pio nella cartella C:\CC5X ed aggiungere questo percorso al PATH mediante il comando DOS SETPATH=%PATH%;C:\CC5X.

Page 57: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL58

TUTORIAL

Consiglio di creare un’apposita cartella dove conservare tutti i file relativi al firmware, come C:\UNIREADER nelcaso del programma per il nostro lettore. Inoltre, copiate il file 16F628.H dalla cartella C:\CC5X in C:\UNIREA-DER.Per scrivere il sorgente in C si può utilizzare un qualsiasi editor di testi, come il Blocco Note di Windows. È beneiniziare con la direttiva #pragma chip PIC16F628 per indicare al compilatore il microcontrollore per cui deve gene-rare il file eseguibile.Per esempio, potete scrivere il seguente programma che fa lampeggiare il led rosso dell’UniReader.

#pragma chip PIC16F628

/* Bit di configurazione. */

#define CP_OFF |= 0x3C00 /* Code Protection Program Memory OFF. */

#define CPD_OFF |= 0x0300 /* Data Code Protection OFF. */

#define LVP_OFF &= 0x3F7F /* Low Voltage Programming OFF. */

#define BOD_ON |= 0x0040 /* Brown Out Detect Disabled. */

#define MCLR_OFF &= 0x3FDF /* MCLR disabled (internally tied to Vcc). */

#define PWRT_ON &= 0x3FF7 /* Power Up Timer enabled. */

#define WDT_OFF &= 0x3FFB /* Watchdog Timer disabled. */

#define FOSC_INTRCIO |= 0x0010, &= 0x3FFC /* Int RC without CLKOUT. */

#pragma config CP_OFF, CPD_OFF, LVP_OFF, BOD_ON, MCLR_OFF, PWRT_ON, WDT_OFF, FOSC_INTRCIO

bit LED @ PORTB.3; /* LED collegato al PIC. */

void

main( void )

/* Metti in output il pin del LED spegnendolo. */

PORTB = 0xFF;

TRISB &= 0xF7;

while(1)

unsigned char i1, i2;

/* Pausa */

for( i1=1; i1<100; i1++ )

for( i2=1; i2<0xFF; i2++ )

;

/* Cambia lo stato del LED */

if (LED)

LED = 0;

else

LED = 1;

Salvate il file come C:\UNIREADER\UNIREADER.C e compilatelo in una finestra DOS mediante il comando CC5XUNIREADER.C eseguito, naturalmente, all’interno della cartella C:\UNIREADER.Se la compilazione è andata a buon fine, potete osservare un messaggio simile a quello in Figura 8. Tra le altrecose, il compilatore fornisce informazioni sull’utilizzo della RAM, sull’esito dell’ottimizzazione, sul numero diistruzioni generate, ecc. Il file eseguibile ottenuto si chiama UNIREADER.HEX e potrà essere utilizzato per pro-

Page 58: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 59

TUTORIAL

grammare fisicamente il microcontrollore.

Figura 8: Risultato della compilazione in una finestra DOS

Figura 9: Schermata del software IcProg che mette in evidenza i bit diconfigurazione utilizzati per la programmazione del PIC 16F628

All’interno di questo file è inserita anche la parola di con-figurazione per il PIC, molto importante durante la fasedi programmazione del dispositivo. Se il software che uti-lizzate per questo scopo non gestisce la parola di confi-gurazione memorizzata nel file .HEX, dovete specificarlamanualmente, disabilitando qualsiasi protezione (sulcodice e sui dati), la programmazione a bassa tensione,l’MCLR, il watchdog.Abilitate soltanto il Brown-Out-Detect e il Power-Up-Timer. Inoltre, selezionate come sorgente di clock l’oscil-latore interno a 4 MHz senza utilizzare il pin CLKOUTcome uscita di questo clock. In Figura 9 è presente laschermata di programmazione, con i bit di configurazio-ne, del diffusissimo software IcProg.

Page 59: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

HARDWARE PERLO SVILUPPO DI CPLD XILINX

In questa puntata prendiamo inconsiderazione un modulo con-tenente un convertitore digitale-analogico a 8 bit di tipo flash, dacollegare al modulo-base presen-tato nel primo articolo della serie.

Per lo sviluppo del firmwaresono stati utilizzati il tool di sin-tesi XST (Xilinx SynthesisTechnology) e il tool di simula-zione Modelsim, facenti partedel Xilinx ISE Webpack, versione4.2WP3x. Entrambi sono scari-cabili gratuitamente dal sitowww.xilinx.com, previa registra-zione.Per il disegno dello schema eper la generazione del layout delcircuito stampato si sono utiliz-zati gli applicativi SPLAN eSPRINT, il cui reader gratuito sipuò scaricare dal sito di FareElettronica.

MODULO DI CONVERSIONED/AQuesto modulo va collegato alconnettore di I/O del modulo

base (J04).Con esso è possibile generaredifferenti forme d’onda, comeda esempi riportati successiva-mente. Per questa funzione si è utilizza-to l’integrato Intersil CA3338 inquanto impiegabile a singola ali-mentazione (+5V) e con la pos-sibilità di funzionare a conver-sione continua, cioè senza lanecessità di particolari temporiz-zazioni o segnali di handshake.Lo schema elettrico è riportatoin figura 1, il master del circuitostampato è in figura 2

Infine, per poter rendere udibileil segnale generato, è stato col-legato un trasduttore piezoelet-trico ad alta impedenza (PZ1)direttamente all’uscita analogicadel convertitore.

ESEMPIO 1GENERATORE SINUSOIDALEQuesto esempio utilizza ilmodulo Convertitore D/A.Mediante una tabella predefini-ta di 64 valori in formato binarioa 8 bit, scandita sequenzialmen-te, viene generata una formad’onda sinusoidale alla frequen-

HARDWARE PERLO SVILUPPO DI CPLD XILINX di Agostino Rolando

[email protected]

Si conclude qui la trattazione del progetto rivolto allo studio e alla sperimentazione

dei linguaggi di descrizione dell’ hardware, con un nuovo circuito e due esempi

di codice: il primo in linguaggio Verilog, il secondo in VHDL.

terza parte

HARDWARE60

HARDWARE

Figura 1: Schema elettrico del convertitore

Page 60: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

uscita J04, denominati D0..D7,del modulo base. Nella seguentefigura 5 sono evidenziati i collega-menti tra i moduli utilizzati.

Il codice Verilog relativo all’esem-pio è disponibile per il downloaddal sito di Fare Elettronica. Infigura abbiamo riportato la partedi codice che assegna i valoribinari al registro di uscita"dato_out". Infine, il registroviene riportato sulle usciteD0..D7 con l’istruzione:assign

D7,D6,D5,D4,D3,D2,D1,D0

= dato_out;

Il risultato dell’esecuzione diquesto modulo è una sinusoide a1.8 Khz e ampiezza Vpp=5V, con

za di 1.8 Khz.Tali campioni sono stati preven-tivamente calcolati mediante unprogramma in linguaggioPascal. Dal momento che il con-vertitore viene alimentato a sin-gola alimentazione (+5V), nel

calcolo dei campioni binari si èaggiunto un offset di 2.5 Volt. Inquesto modo, la sinusoide chene risulta è traslata di questaquantità.I campioni vengono inviati al con-vertitore sui pin del connettore di

HARDWARE

HARDWARE 61

Figura 2: Circuito stampato in scala 1:1 (lato rame) del modulo convertitore

Figura 2a: Prototipo del modulo convertitore (lato saldature e lato componenti)

Figura 3: Piano di montaggio lato saldature del modulo convertitore Figura 4: Piano di montaggio lato componenti del modulo convertitore

Elenco componenti

Sigla Valore

C01100 nF 50 V, package0805 ceramico

IC01Intersil CA3338, packageSO-16

PZ1 Trasduttore piezoelettrico

JP1Connettore lineare astriscia, 10 pin maschio

Page 61: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

offset di 2,5V, come da figura 7.

Il sistema è particolarmente fles-sibile. Infatti, se si dispone deicampioni in formato binario, èpossibile generare una formad’onda qualsiasi (vedere figure8, 9 e 10).

Per il calcolo dei campioni, puòessere d’aiuto servirsi di unfoglio Excel, come da figura 11.In questo esempio, nella colon-na A sono stati inseriti i 64 cam-pioni della sinusoide, mentrenella colonna B sono stati ripor-tati i campioni della forma d’on-da a scala.

Per ottenere i grafici a partire daicampioni, si seleziona una colon-na di dati e si esegue il ChartWizard di Excel (figura 12).

In questo modo si può creare evisualizzare la forma d’ondadesiderata, costruita campioneper campione.Una volta che i valori siano stativerificati e assodati, si può inter-venire sul codice Verilog delgeneratore di segnale, modifi-cando opportunamente la tabel-la che verrà utilizzata dal con-vertitore D/A.

Per semplificare il procedimen-to, è possibile anche inserire idati direttamente in formatodecimale, anziché binario, come

si è visto nell’ esempio del gene-ratore sinusoidale.Ad esempio, per quanto riguardala forma d’onda a scala, possia-

mo utilizzare il formato riportatonel tratto di codice seguente,dove 4’dxxxx indica un numeroa 4 cifre in formato decimale:

HARDWARE

HARDWARE62

Figura 6: Codice Verilog per il generatore sinusoidale

Figura 7: Forma d’ onda sinusoidale

Figura 8: Forma d’ onda a dente di segaFigura 5: Collegamento tra moduli

Page 62: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

dato_out <= 4'd0000;

(6'b000011) :

dato_out <= 4'd0000;

(6'b000100) :

dato_out <= 4'd0000;

(6'b000101) :

dato_out <= 4'd0000;

(6'b000110) :

dato_out <= 4'd0000;

(6'b000111) :

dato_out <= 4'd0000;

(6'b001000) :

dato_out <= 4'd0000;

(6'b001001) :

dato_out <= 4'd0000;

(6'b001010) :

dato_out <= 4'd0050;

...

(6'b111100) :

dato_out <= 4'd0250;

(6'b111101) :

dato_out <= 4'd0250;

(6'b111110) :

dato_out <= 4'd0250;

(6'b111111) :

dato_out <= 4'd0250;

default : dato_out <=

4'd0000; // 0

endcase

end // always

Un caso particolare è rappresen-tato dalla forma d’onda a dentedi sega, che abbiamo visto infigura 8. Per realizzarla, è suffi-ciente sostituire la riga di istru-zione:

assign

D7,D6,D5,D4,D3,D2,D1,D0

= latch_dato;

con la seguente parte di codice:

assign D7 = conta[5];

assign D6 = conta[4];

assign D5 = conta[3];

assign D4 = conta[2];

assign D3 = conta[1];

assign D2 = conta[0];

// Tabella campioni scala

always@ ( conta )

begin

case(conta)

(6'b000000) :

dato_out <= 4'd0000;

(6'b000001) :

dato_out <= 4'd0000;

(6'b000010) :

HARDWARE

HARDWARE 63

Figura 9: Forma d’ onda quadra

Figura 10: Forma d’ onda a scala

Figura 11: Foglio Excel per il tracciamento delle funzioni

Page 63: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

assign D1 = 1'b0;

assign D0 = 1'b0;

il che vuol dire inviare, in ingres-so al convertitore D/A, non icampioni sinusoidali ma le usci-te del contatore che scandisce latabella dei campioni. I bit menosignificativi, D1 e D0,sono fissatia zero.Per generare l’onda quadra, siscriverà invece:

assign D7 =

latch_dato[7];

assign D6 =

latch_dato[7];

assign D5 =

latch_dato[7];

assign D4 =

latch_dato[7];

assign D3 = 1'b0;

assign D2 = 1'b0;

assign D1 = 1'b0;

assign D0 = 1'b0;

Questo pacchetto di assegnazio-ni effettua, in pratica, un filtro asoglia, trasformando quella chein origine è una sinusoide in

un’onda quadra della stessa fre-quenza.

ESEMPIO 2UARTQuesto esempio è stato scrittoin linguaggio VHDL e realizza laparte di ricezione di un disposi-tivo UART.Si prevede di collegare il modu-lo base, attraverso la propriainterfaccia rs232, a un program-ma di emulazione di terminaleVT100, per esempio dal proprioPC. A questo punto, alla pressio-ne di tasti sulla tastiera del PCcorrisponde l’invio del codiceASCII del codice corrispondenteal carattere battuto e questocodice viene reso disponibile suipin di uscita D0÷D7 del modulobase stesso.Per la visualizzazione della codi-fica ASCII è conveniente utilizza-re il modulo a Barra di led giàdescritto in una delle puntateprecedenti.

In questo modo, il modulo basepuò fungere da attuatore remo-

to di comandi inviati su lineaseriale.Un utilizzo pratico può consiste-re, ad esempio, nel comandareluci o relé a distanza.

I parametri di configurazionedella linea seriale sono prefissatia: Velocità = 9600 baud, Bit distart = 1, Bit di stop = 1, lun-ghezza di parola = 8 bit, parità =nessuna.Come già accennato, la logica difunzionamento prevede di pilota-re le otto linee di output presentisul modulo base a seguito di digi-tazione di caratteri ASCII da effet-tuarsi con la tastiera del PC.

In particolare, il codice prevedela possibilità di pilotare N pac-chetti da 8 bit, poiché permettedi specificare anche un indirizzoidentificativo di pacchetto-dato.Il limite all’espandibilità è impo-sto dal numero di pin di I/Oofferti dalla particolare CPLDadottata.In definitiva, i caratteri da pre-

mere sulla tastiera sono due: ilprimo identifica l’indirizzo delpacchetto, il secondo identificail dato vero e proprio, che consi-ste nel codice ASCII del tastostesso. In questa occasione, si èfissato l’indirizzo al valore uno,cioè alla codifica Ascii00110001.

Struttura del codiceNel dettaglio, il codice ha unastruttura gerarchica e si compo-ne di tre moduli: un moduloprincipale (TOP), un modulo perla ricezione seriale (RX_RS232) eun modulo di decodifica deicomandi inviati da tastiera(MUX_DECODER).

HARDWARE

HARDWARE64

Figura 12: Impiego del Chart Wizard di Excel

Page 64: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

mazione.Vi ricordo che i sorgenti realizza-ti per questo progetto è possibi-le scaricarli dal sito di FareElettronica.

Il codice VHDL corrispondente èdisponibile per il download sulsito di Fare Elettronica.A differenza di quanto fatto inVerilog, in questo caso il pin-outviene specificato direttamente intesta al codice sorgente, con l’i-struzione attribute, ad esempio:

attribute pin_assign of

CLK : signal is "5";

Nella figura 13 vengono eviden-ziati i collegamenti tra i modulihardware utilizzati, insieme alcavo seriale di interconnessionecon il PC.

CONCLUSIONIUna volta collaudati e perfezio-nati i singoli moduli, l’interoprogetto è stato realizzato su diun’unico stampato (figure 14 e15), in cui è stata inclusa anchel’interfaccia JTAG già presentatanel numero di febbraio 2004. La serigrafia (lato superiore) for-nisce una traccia per i collega-menti, da connettore a connet-tore, che si possono effettuare apartire dal modulo-base verso ivari moduli di espansione.

A seconda dell’ applicazione chesi desidera realizzare, si colle-gherà il modulo-base (al con-nettore J04) con l’accessoriodesiderato (al rispettivo connet-tore JP1), per mezzo di un appo-sito cavetto pin-to-pin, con con-nettori a striscia femmina.Analogamente, la tastierinaandrà collegata al connettoreJ05 del modulo-base e, riguardol’interfaccia JTAG, si disporrà uncavetto a sei vie a partire dalconnettore J02 del modulo-baseverso il J03 del modulo JTAG.Inoltre, si dovrà predisporre unaconnessione flat femmina-maschio a 25 pin per mettere incomunicazione il connettore J01del modulo JTAG con la portaparallela del PC, per il trasferi-mento del firmware di program-

HARDWARE

Figura 13: Collegamento tra i moduli utilizzati

Figura 14: Prototipo lato componenti

Figura 15: Prototipo lato saldature

Page 65: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

ANALISI E SPECIFICHE DELPROBLEMALa definizione di metronomosecondo il dizionario della lin-gua italiana è la seguente:

<< s. m. strumento di misura usato

spec. per battere il tempo in musi-

ca: metronomo meccanico, mecca-

nismo a orologeria con carica a

molla e scappamento a pendolo

volutamente rumoroso; metrono-

mo elettronico, dispositivo che

comprende un generatore di impul-

si e un piccolo altoparlante. >>

Si deve quindi realizzare un dis-positivo in grado di emettere un“tic” da un altoparlante ad unacadenza ben definita e regolabi-

le mediante un potenziometro.

LA SOLUZIONE PROPOSTALo schema proposto in figura 1soddisfa i requisiti richiesti.Analizziamone il funzionamento

in modo dettagliato.

Il circuito è un generatore dionda quadra (multivibratoreastabile) la cui frequenza dipen-de dal tempo che il condensato-

Introdotto nel 1971, venne chiamato

“The IC Time Machine” e fu il primo timer

integrato della storia. Dopo oltre 30 anni, il

timer 555 viene ancora utilizzato in svariate applicazioni

e per questo motivo la puntata di “Praticamente” di questo

mese è interamente dedicata a questo dispositivo: la sua struttura

interna, le configurazioni come astabile e monostabile e, come esempio

di applicazione, la realizzazione di un metronomo elettronico.

PRATICAMENTE66

di Maurizio Del Corso

[email protected]

PRATICAMENTE

PRATICAMENTE...

IL TIMER 555:METRONOMO ELETTRONICO

PRATICAMENTE...

IL TIMER 555:METRONOMO ELETTRONICO

Figura 1: La soluzione proposta

Page 66: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

a livello basso, l’uscita non haalcuna variazione. R=1 ed S=1 èun caso da evitare in quanto l’u-scita /Q verrebbe a trovarsi inuno stato non definito.L’uscita /Q del flip-flop vieneportata all’esterno medianteuna porta NOT, ciò significa chese R=1 ed S=0 l’uscita del timerè bassa mentre se R=0 ed S=1l’uscita del timer è alta. Si notiche l’uscita del flip-flop è colle-gata alla base di un transistore,quindi se /Q=0 il transistore èinterdetto (quindi è come senon fosse presente nel circuito)e se /Q=1 il transistore è in satu-razione per cui si comportacome un corto circuito tra col-lettore ed emettitore.

Timer 555 come Trigger diSchimttDel trigger di Schmitt abbiamoampiamente discusso il mesescorso: esso è un comparatorecon isteresi, quindi con due dif-ferenti tensioni di soglia. È possi-

re C1 impiega per caricarsi escaricarsi. Poiché la corrente dicarica e scarica è limitata dalleresistenze P1 ed R1, regolando ilpotenziometro P1 si varia la fre-quenza dell’onda quadra, quin-di del “tic” emesso dall’altopar-lante. Il condensatore C2 ha ilcompito di bloccare la correntecontinua ed impedire il danneg-giamento dell’altoparlante.

DENTRO IL 555Per comprendere a fondo il fun-zionamento del timer 555, ènecessario conoscere la suastruttura interna che è riportatanella figura 2.La tensione di alimentazione Vccviene ripartita in tre parti ugualimediante tre resistenze da5KOhm (da qui il nome 555) edapplicata ai due comparatoricome tensione di riferimento. Ilcomparatore A ha quindi2Vcc/3 come tensione di riferi-mento al piedino non inverten-te, mentre il comparatore B ha

Vcc/3 come tensione di riferi-mento al terminale non inver-tente. L’uscita dei due compara-tori pilota un flip-flop SR il cuifunzionamento è il seguente: seR=1 e S=0 l’uscita /Q è alta, vice-versa se R=0 e S=1 l’uscita /Q èbassa. Se R ed S sono entrambi

PRATICAMENTE

PRATICAMENTE 67

Figura 2: Struttura del timer 555

Figura 3: Trigger di Schmitt con Timer 555

Page 67: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

bile realizzare un trigger diSchmitt utilizzando un timer555 seguendo lo schema difigura 3. Le forme d’onda nelcaso in cui venga applicatoall’ingresso un segnale sinusoi-dale, sono riportate in figura 4:si noti che le tensioni di riferi-mento sono appunto Vcc/3 e2Vcc/3. Analizziamo il funziona-mento passo dopo passo conriferimento alle figure 3 e 4. I pinTrigger e Threshold sono colle-gati tra loro per cui la tensionedi ingresso è identica perentrambi i comparatori.Inizialmente la tensione Vin ènulla per cui avremo R=0 edS=1, quindi l’uscita al pin 3 èalta. Quando la sinusoide iningresso supera il valore Vcc/3della prima tensione di soglia, ilcomparatore B porta a zero lasua uscita quindi il flip-flop rima-ne nello stato di conservazione el’uscita del timer non cambia.Quando Vin supera la secondatensione di soglia 2Vcc/3, ilcomparatore A porta a livelloalto la sua uscita quindi il flip-flop si resetta portando a zerol’uscita del timer.

Quando la Vin è in diminuzione escende al di sotto di 2Vcc/3, ilcomparatore A riporta a zero lasua uscita ed il flip flop entra nellostato di conservazione mante-nendo inalterata l’uscita del timer.Solo quando la sinusoide diingresso scende al di sotto diVcc/3 l’uscita del timer torna alta,in quanto il comparatore B com-muta portando S a livello alto.

Timer 555 come multivibrato-re astabileQuesta è l’applicazione del

timer 555 che è stata usata perla realizzazione del metronomoelettronico. Lo schema è quellodi figura 5 e, come si può nota-re, sono necessarie due resisten-ze ed un condensatore oltre,ovviamente, al timer 555.

Come si può intuire dal suonome, un multivibratore astabi-le è un circuito che non possie-de uno stato stabile per cuioscilla continuamente tra duestati un po’ come due bambinisu un’altalena. L’uscita di un

PRATICAMENTE

PRATICAMENTE68

Figura 5: Timer 555 in configurazione astabile

Figura 4: Forme d’onda relative al trigger di Schmitt di figura 3 con un segnale sinusoidale in ingresso

Page 68: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

mento allo schema di figura 5 edalle relative forme d’onda ripor-tate in figura 6 in cui in blu èriportata l’uscita del timer ed inrosso la tensione ai capi del con-densatore (applicata anche all’in-gresso dei due comparatori).

Supponiamo che il condensato-re sia inizialmente scarico(Vc=0). Se Vc=0, per effetto deidue comparatori si ha R=0 e S=1quindi Vout è a livello alto ed iltransistor interno al timer èinterdetto (perché /Q=0).L’interdizione del transistor e lacorrente nulla assorbita dagliingressi degli operazionali,fanno sì che il condensatore Csia libero di caricarsi attraverso

multivibratore astabile è dunqueun’onda quadra la cui frequenzadipende dalle resistenze e dal

condensatore esterni al timer. Percapire in che modo viene gene-rata l’onda quadra, si faccia riferi-

PRATICAMENTE

PRATICAMENTE 69

Figura 6: Forme d’onda dell’astabile di figura 5

I migliori SISTEMI DI SVILUPPO

micro Engineering Labs

Tel. 02 66.50.47.94 - Fax 02 66.50.82.25

i n f o @ e l e t t r o s h o p . c o m

EPIC PLUSL’EPIC è uno dei programmatori per PICmicro più diffuso,

il suo software EPICWin è anche uno dei più usati con

altri programmatori. Nella sua versione base, EPIC PLUS

è in grado di programmare tutti i PICmicro

a 8, 14 e 18 pin in contenitore

DIL (Dual-In-Line).

Per i formati superiori (anche

SMD o PLCC) basta acquistare

il relativo adattatore ed EPIC

PLUS diventa uno dei

PIC-programmer più universale

ed economico al mondo!

LAB-X3Finalmente una semplice ed economica

scheda per esperimenti con

i microcontrollori Microchip a 18 pin

(es. PIC16F628 o PIC16F84).

LAB-X3 è dotata di tutta la circuiteria di

base necessaria: alimentazione 5-Volt, oscillatore,

circuito di reset, porta seriale RS232, display LCD 2 linee

ciascuna di 20 caratteri e tutti gli I/O analogici e digitali di cui

puoi aver bisogno!

PICBASICQuesto compilatore non ha certo

bisogno di presentazioni…

è in assoluto il più diffuso e imitato

compilatore Basic per PICmicro

del mercato. Ancora oggi riscontra

notevole interesse e successo; infatti

non è facile trovare un prodotto che in maniera

rapida ed efficace genera il codice oggetto pronto per la

programmazione del PICmicro direttamente dalle linee Basic!

www. e l e t t r o shop . c om

Page 69: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

le resistenze Ra ed Rb. La tensio-ne Vc inizia quindi ad aumenta-re e, quando supera il valore disoglia Vcc/3 il comparatore Bcommuta portando S a zeroquindi il flip flop entra in con-servazione mantenendo inalte-rato lo stato dell’uscita. Quandoinvece Vc supera il valore 2Vcc/3(istante tA in figura 6), il compa-ratore A porta R a livello alto el’uscita Vout commuta a valorebasso (quindi /Q a valore alto).Questo provoca la saturazionedel transistore di scarica cheporta il pin 7 a massa innescan-do la scarica del condensatore Cattraverso Rb, quindi la conse-guente diminuzione della ten-sione Vc che riporta il flip flopnello stato di conservazione.Quando Vc scende al di sotto diVcc/3 (istante tB in figura 6) si hauna nuova commutazione diVout a livello alto che interdice iltransistore e permette al con-densatore di iniziare nuovamen-te a caricarsi, avviando unnuovo ciclo. A parte il transitorioiniziale, il condensatore impie-gherà sempre il tempo T1 perscaricarsi ed il tempo T2 percaricarsi. La somma T=T1+T2 è ilperiodo dell’onda quadra, quin-di f=1/T la sua frequenza. I

tempi T1 e T2 sono dati rispetti-vamente da:

T1=0,693·Rb·CT2=0,693·(Ra+Rb)·C

Si noti che mentre il tempo dicarica dipende da Ra ed Rb,

quello di scarica dipende esclusi-vamente da Rb. Dalle dueespressioni di T1 e T2 possiamoricavare l’espressione della fre-quenza dell’onda quadra che èdata da:

f=1/(T1+T2)=1,44/(Ra+2Rb)C

PRATICAMENTE

PRATICAMENTE70

Figura 7: Calcolo delle resistenze e del condensatoreper una determinata frequenza

Figura 8: Timer 555 in configurazione monostabile

Figura 9: Forme d’onda del monostabile di figura 8

Page 70: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

poraneamente l’interdizione deltransistor di scarica. In questomodo il condensatore è libero dicaricarsi attraverso la resistenzaR. La tensione di uscita rimanealta fintanto che la tensione sulcondensatore (in rosso in figura9) non supera i 2Vcc/3: in que-sto istante il flip-flop viene reset-tato e l’uscita torna a livellobasso. Il transistor entra in con-duzione scaricando velocemen-te il condensatore che rimanebloccato ad una tensione prossi-

Per determinare i valori delleresistenze e dei condensatori dainserire nel circuito per ottenereuna determinata frequenza, esi-stono dei grafici come quello difigura 7. Supponiamo di volereuna frequenza di 100Hz.Seguendo la linea verticale a100Hz si va ad incontrare unadelle linee oblique che rappre-sentano il valore della sommaRa+2Rb. Una volta scelto il valo-re della somma dei resistori,dobbiamo spostarci orizzontal-mente fino a leggere il valoredel condensatore sull’asse verti-cale del grafico. Dunque per i100Hz, scegliendo 1MOhmcome somma di Ra+2Rb si ottie-ne per il condensatore un valoredi poco superiore agli 0.01µF.

È importante notare checomunque si scelgano i compo-nenti esterni, non sarà possibileottenere T1=T2 ovvero un’ondaquadra con duty cycle del 50%(il duty cycle di un’onda quadraè dato dal rapporto percentualetra il tempo in cui l’onda è alivello alto ed il periodo totale:d=100⋅T1/(T1+T2)).

Timer 555 come multivibrato-re monostabileUn multivibratore monostabilericeve in ingresso un impulso di“start” (detto segnale di trigger)ed in uscita genera un impulso didurata prefissata. Per usare untimer 555 in configurazionemonostabile, si deve usare il cir-cuito di figura 8 in cui R e C deter-minano la durata dell’impulso inuscita. L’impulso di trigger vieneapplicato al pin 2 e deve essereuna transazione alto-basso. Infigura 9 le forme d’onda relative

al multivibratore monostabile.Con Vin=0 e /Q=1 siamo nellostato di riposo in quanto S=0,R=0 ed il condensatore è mante-nuto scarico in quanto il trans-istor è in saturazione. In questostato l’uscita del timer è Vout=0.Se Vin ha una commutazioneverso il livello basso, anche perun tempo minimo (forma d’on-da in verde in figura 9), il com-paratore B porta a livello altol’ingresso S e l’uscita commuta alivello alto provocando contem-

PRATICAMENTE

PRATICAMENTE 71

Figura 10: Modulatore PWM con timer 555: Vmod è la tensione modulante

Figura 11: Forme d’onda relative al modulatore PWM con timer 555

Page 71: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

ma allo zero e qui vi rimane finoad un nuovo impulso sull’ingres-so. La durata T dell’impulso inuscita dipende dal condensatoree dalla resistenza, secondo laformula

T=1,1·R·C

Modulazione PWMPWM è l’acronimo di PulseWidth Modulation ovvero lagenerazione di un treno diimpulsi in cui la durata di ciascunimpulso dipende dal valore dellatensione di ingresso Vmod (ten-sione modulante). Con il timer555 è possibile ricavare unmodulatore PWM utilizzando laconfigurazione monostabile,pilotandola in continuazione conimpulsi di trigger ed applicandola Vmod al pin 5 come mostratoin figura 10. La Vmod va a som-marsi alle tensioni di riferimentovariando così la durata dell’im-pulso. La forma d’onda così otte-nuta è quella in blu di figura 11.

IL QUESITO DEL MESECome quesito del mese propon-go il multivibratore astabilemodificato riportato in figura12. Sapreste dire in che modo lamodifica apportata influisce sulfunzionamento del circuito?

Occupiamoci ora della soluzionedel quesito del mese scorso: l’in-terruttore crepuscolare.Come promesso pubblichiamo lasoluzione sviluppata da un lettoree ritenuta la più interessante,ovvero quella di GianniPasqualetti di Firenze. Lo schemaproposto da Gianni è riportato infigura 13 ed effettivamente è lasoluzione più semplice al proble-

ma proposto. La fotoresistenza èinserita in un partitore resistivoquindi la tensione all’ingresso delcomparatore vale Vcc⋅R/(R+R1).In caso di buio è R=1KΩ per cuiscegliendo R1=1KΩ la tensione iningresso al comparatore valeVcc/2. Avendo scelto questo valo-re per R1, in caso di piena luce(R=100Ω) la tensione vale0.09⋅Vcc.Scegliendo Vcc=12V la tensione diingresso del comparatore varia da

6V in caso di buio fino a 1.08V incaso di luce. Il partitore costituitoda R2 e R3 fornisce la tensione diriferimento per il comparatoreche può essere variata agendo sultrimmer R3. Con i valori riportatiin figura 13, tale tensione puòessere variata da 0 fino a 2Vcc/3(quindi 8V). Questa tensionecostituisce la soglia di eccitazionedel relé quindi permette di regola-re a quale livello di buio eccitare ilrelé. Il relé viene pilotato tramite il

PRATICAMENTE

PRATICAMENTE72

Figura 12: L’astabile modificato per il quesito del mese

Figura 13: La soluzione proposta da Gianni di Firenze

Page 72: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

0.68⋅Vcc (quindi 8,25V).Ovviamente questo piccolo par-ticolare non compromette il fun-zionamento del circuito.Consiglio inoltre di inserire uncondensatore da 10µF tra il mor-setto invertente e massa inmodo da limitare i disturbi sulla

transistor ed il diodo, come giàspiegato qualche numero fa.Il progetto di Gianni è perfetto,facciamo solo un appunto sullascelta dei valore di R3. Il valorecommerciale è 2.2KOhm e non2KOhm pertanto la tensione diriferimento può variare da 0 a

PRATICAMENTE

PRATICAMENTE 73

LM555/LM555C TIMER

tensione di riferimento.La soluzione di Gianni è stata scel-ta per la chiarezza con cui è statadescritta, ma devo fare i compli-menti anche agli altri lettori chehanno inviato le loro propostedalle quali traspare una vena diingegno veramente innata!

Page 73: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

ALCUNE DELLE DATE INDICATE POTREBBERO SUBIRE VARIAZIONI

SAT Expo - Advanced Telecommunications è la vetrina di riferimento per le comunicazioni via satellite eper la Tv digitale terrestre, tecnologia che ha tenuto a battesimo con la prima trasmissione pubblica spe-rimentale in Italia e con la prima Conferenza nazionale dedicata al tema.È una manifestazione che presta grande attenzione e spazio anche alle soluzioni wireless, all'automazio-

ne domestica, al cablaggio strutturato, quindi a tutte le più avanzate e innovative tecnologie di comunicazione oggi sul mercato oin fase di test.Dal 2004, per la prima volta, è ufficialmente Salone internazionale: il riconoscimento, arrivato dall'organismo di controllo, proiettaSAT Expo nei calendari e nei circuiti delle più prestigiose manifestazioni nel mondo.Tra gli espositori* aziende leader come Eutelsat, British Telecom, Ses Astra, Sky Italia, Philips, Hughes, ESA (Agenzia spaziale euro-pea), RAI, Telespazio, Telecom Italia, Globecast, Yamaha, Bticino, New Skies, Viasat.I numeri della fiera: A SAT Expo 173 espositori da 20 Paesi diversi, su un'area fieristica di 30 mila metri quadri. 12.600 mila visitato-ri, di cui il 90% operatori professionali. (dati riferiti all'edizione 2003)

LUOGO: Fiera di Vicenza

ORARI: 9.00/18.00

ORGANIZZATORE: Promospace (www.satexpo.it)

INGRESSO: Riservato agli organizzatori, previa registrazione

Le fiere e mostre mercatodi OttobreLe fiere e mostre mercatodi Ottobre

30 Settembre – 02 Ottobre 2004

11a EDIZIONE SAT EXPO

La Mostra RADIANT è nata nel 1991. Inizialmente la Manifestazione era soprattutto rivoltaal settore radiantistico con una componente dedicata alle radio d’epoca. Fin dalla primaedizione ha goduto del patrocinio dell’A.R.I., Associazione Radioamatori Italiani, diventan-do presto la più importante Mostra Mercato nazionale in questo campo.

Dal 2000 la Manifestazione ha intrapreso un deciso sviluppo con l'inserimento di nuove tematiche e l'assunzione di un sottotitoloparticolarmente significativo: RADIANT AND SILICON - l'evoluzione della comunicazione e dal 2002 la periodicità è divenuta qua-drimestrale con appuntamenti fissi nei mesi di gennaio, giugno e ottobre.La Mostra comprende tra le altre le seguenti voci merceologiche: apparecchi e componenti per le telecomunicazioni, ricetrasmissio-ni, elettronica, informatica, videogiochi, surplus, editoria specializzata, radio d’epoca. Attualmente RADIANT, che si sviluppa su unasuperficie espositiva di 10.000 mq., conta più di 160 espositori ed oltre 12.000 visitatori.

LUOGO: Segrate (MI)

ORARI: Il 2 Ottobre 9.00/18.00

il 3 Ottobre 9.00/17.00

ORGANIZZATORE: Comis - Parco esposizioni Novegro

(www.parcoesposizioninovegro.it)

INGRESSO: n.d.

02-03 Ottobre 2004

RADIAN AND SILICON

2004

Page 74: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

LUOGO: Capannone Tecnobeton Zona Industriale

Monopoli (BA)

ORARI: 9.00/13.00,16.00/20.00

ORGANIZZATORE: ARI Bari (080.5482374)

INGRESSO: n.d.

23-24 Ottobre 2004

MERCATINO DEL RADIOAMATORE

LUOGO: Centro Fieristico di Scandiano (RE)

ORARI: n.d.

ORGANIZZATORE: Comune di Scandiano

(http://www.fierascandiano.it)

INGRESSO: n.d.

23-24 Ottobre 2004

MOSTRA DELL’ELETTRONICA

Smau 2004 si svolgerà dal 21 al 25 ottobre a Fiera Milano e avrà come filo conduttore la convergenza: trale reti, i servizi e le applicazioni. La manifestazione, che è la seconda al mondo nel settore hi-tech per nume-

ro di visitatori e metri quadrati di esposizione (nel 2003 380.000 visitatori e 80.000 metri quadrati), sarà strutturata in tre grandi set-tori di riferimento - business, consumer, e government e servizi al cittadino -, ospiterà anche Smau ILP, la più grande kermesse divideogiochi in Europa, Smau Shop e Smau Book Shop, dove sarà possibile acquistare i prodotti esposti nella parte fieristica e libri.

LUOGO: Fiera di Milano (MI)

ORARI: 10.00/19.00

ORGANIZZATORE: SMAU (www.smau.it)

INGRESSO: € 10,00 (gratuito con invito operatore)

21-25 Ottobre 2004

SMAU 2004

Da molti anni l’elettronica è entrata a far parte del nostro quotidiano, non solo inambito professionale ma anche fra le mura di casa: dagli elettrodomestici ai giochidei bambini, dagli antifurto alla Tv satellitare.

Expo Elettronica a Faenza propone una vasta panoramica sia sull'elettronica di consumo sia su quella rivolta ad un pubblico piùesperto. Attrazioni: sala pose, mercatino dei privati. Settori commerciali: elettronica, computer, radiantismo, telefonia, radio d'epoca,fotografia, collezionismo. Espositori: 150.

LUOGO: Centro Fieristico Provinciale - Faenza (RA)ORARI: 9.00/18.00ORGANIZZATORE: Blu Nautilus srl (www.blunautilus.it)

INGRESSO: Intero € 7,00 - ridotto € 6,00

16-17 Ottobre 2004

EXPO ELETTRONICA FAENZA

LUOGO: Zona Industriale Tito Scalo (PZ)

ORARI: n.d.

ORGANIZZATORE: EFAB srl (www.efab.it – Tel. 0971/485348)

INGRESSO: n.d.

09-10 Ottobre 2004

FIERA DEL RADIOAMATORE

Page 75: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

LA FOTORESISTENZA

LA TEORIACOS’È UNA FOTORESISTENZAFinora abbiamo trattato di tuttiquei componenti che funzio-nando generano luce: i led, i ledinfrarossi, i led tricolori, i displaye via dicendo.In questa puntata invece, parle-remo di un componente chericeve luce per funzionare: lafotoresistenza. Già dal nome possiamo intuirneil funzionamento: “fotos” dalgreco luce ci indica infatti che laresistenza del componente èrelazionata alla luce.A questo punto però, passateci ilgioco di parole, è giunto ilmomento di far luce su questocomponente.La fotoresistenza è un dispositi-vo che varia il suo valore ohmi-co in relazione alla quantità di

luce che lo investe. Per esserepiù precisi: è una resistenzavariabile che presenta il suo

massimo valore in totale oscuri-tà che poi gradualmente si ridu-ce con l’aumentare della luce

LA FOTORESISTENZA

ALLA SCOPERTA

DELL’OPTOELETTRONICA

ALLA SCOPERTA

DELL’OPTOELETTRONICA

di Andrea Perilli

[email protected]

In questa puntata parleremo dell’unico componente passivo di tutta la rubrica:

la fotoresistenza.

Tratterremo pertanto la composizione e il funzionamento di questo componente.

Spiegheremo come si collega e dove impiegarlo. A fine articolo presenteremo

un progetto pratico utile: un interruttore crepuscolare.

quinta parte

TUTORIAL76

TUTORIAL

Figura 1: Struttura di una fotoresistenza

Page 76: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 77

TUTORIAL

fino al minimo valore ohmicocon una luminosità intensa.Naturalmente la diminuzione ol'aumento del valore resistivonon è lineare come vedremo piùavanti, ma segue una curvaturacaratteristica per ogni diversocomponente. Esistono in commercio diversimodelli di fotoresistenza chepresentano svariati valori resisti-vi in piena oscurità.La loro costituzione è pressochéidentica anche se esternamentepresentano involucri differenti.

Struttura di una fotoresistenzaCome mostra la figura 1 la foto-resistenza si compone di quat-tro parti:

• Serpentina conduttrice.• Strato di solfuro di cadmio.• Supporto isolante.• Terminali.

La serpentina è formata da unmateriale conduttore o in alcunimodelli da super conduttore acui sono direttamente saldati iterminali, tutto poi protetto dauna pellicola plastica.Il cuore della fotoresistenza è lostrato di solfuro di cadmio (CdS)che in alcuni modelli è sostituito

dal seleniuro di cadmio o dalsolfuro di piombo. Il supporto isolante è la base sucui è costruita la resistenza puòessere di materiale plasticooppure di ceramica.In pratica sul supporto isolante èpoggiata la serpentina a cui èinterposto uno strato di solfurodi cadmio che reagisce alla luceaumentando o diminuendo ilpassaggio di elettroni e quindi laresistenza ohmica. Nella figura 2 è illustrato un gra-fico dove troviamo sull'ascissa laluminosità e sull’ordinata la resi-stenza ohmica. Osservando il

grafico con attenzione notiamoun’unità di misura nuova: il Lux.

CHE COSA È IL LUXParlando di luminosità o permeglio dire di illuminamentobisogna parlare necessariamen-te del Lux.Per definizione un Lux è l’illumi-namento prodotto uniforme-mente dal flusso di un lumen suuna superficie di un metro qua-drato. Un lumen invece equivalecirca ad una Candela (diciamoquesto per non addentrarcitroppo tra fisica e formule nongradite a tutti). A titolo informa-

Figura 2: Diagramma di risposta di una fotoresistenza in funzione della luminosità

Simbolo Unità nel SI Misura Definizione

E lux (lx) Illuminamento Flusso luminoso incidente per unità di superficie

Φ lumen (lm) Flusso luminoso Quantità di luce emessa nell’unità di tempo da una sorgente

I candela (cd) Intensità luminosa Flusso luminoso emesso per angolo solido unitario

L nit (nt) Luminanza Intensità di luce emessa per superficie unitaria emittente

Qlumen secondo

(lm * s)Quantità di luceconvenzionale

Flusso luminoso per tempo di illuminazione

Tabella 1: Unità di misura fotometriche

Page 77: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL78

TUTORIAL

tivo riportiamo nella tabella 1 leunita di misura fotometriche.

COME SI COLLEGA UNAFOTORESISTENZALa fotoresistenza essendo uncomponente passivo non neces-sita di particolari attenzioni allapolarità, infatti funziona inentrambi i versi. L’unica racco-mandazione è di non collegaredirettamente una fotoresistenzaad un carico poiché non sareb-be capace di resistere ad unacorrente elevata. Il sistema cor-retto di impiegare una fotoresi-stenza è di accoppiarla ad untransistor oppure ad un amplifi-catore operazionale in modo daamplificare la sua debole corren-te e poter pilotare un relé o uncarico.Nella figura 3 vi mostriamouno schema applicativo di unafotoresistenza. Quando la lumi-nosità che investe la fotoresi-stenza supererà il livello impo-stato dal Trimmer e più preci-samente quando il valoreohmico della fotoresistenzaabbatterà la forzatura a massadel Trimmer, allora il transistor

condurrà accendendo la lam-pada (o il carico). In breve que-sto circuito si attiva con la luce.

Nella figura 4 invece otteniamoil funzionamento inverso: quan-do la luminosità sarà minore dellivello impostato dal Trimmer omeglio quando il valore ohmicodella fotoresistenza aumenteràcessando la forzatura a massa, iltransistor finora interdetto, con-durrà accendendo la lampada.In pratica questo circuito si atti-va con l’oscurità.

LA PRATICAINTERRUTTORECREPUSCOLARE

Chissà quante volte vi sarà capi-tato di dover uscire in giardinodi sera e dopo essere scesi doverrifare le scale perché avevatedimenticato di accendere i lam-pioncini del vialetto? Quante altre volte siete rincasati

di tardo pomeriggio e avete tro-vato le luci del cortile già accese,perché lo erano dalla notteprima? Meglio ancora, vostro figlio ofratellino vuole per forza dormi-re con una luce accesa ma quan-do è mattina dimentica di spe-gnerla? Se purtroppo avete questi pro-blemi o se semplicementenecessitate di un dispositivo cheaccenda delle luci di sera e lespenga di mattina, abbiamo ciòche fa per voi: un interruttorecrepuscolare.

COSA VUOL DIRECREPUSCOLO?Per definizione il crepuscolo èquello spazio di tempo antece-dente al sorgere del sole oappena successivo al tramonto,in cui i raggi solari, che pene-trano nell’atmosfera con unainclinazione maggiore, produ-cono quella tipica luminositàdetta appunto crepuscolare.Esistono due fasi crepuscolari:la fase mattutina e la fase seraledetta anche vespertina. Le duefasi si distinguono tuttavia intre categorie: crepuscolo civile,quando il sole si trova 6° sottol’orizzonte; crepuscolo nautico,sole a 12° e infine crepuscoloastronomico con il sole a 18°.Naturalmente la durata deifenomeni varia a seconda dellalatitudine dal minimo, all’altez-za dell’equatore, fino alla suamassima durata salendo verso ipoli terrestri.Detto ciò si deduce facilmenteche un interruttore crepusco-lare è un dispositivo che operadurante questo fenomeno.Precisamente il dispositivo si

Figura 3: Schema applicativo in cui la luminositàattiva il carico

Figura 4: Schema applicativo in cui l’oscuritàattiva il carico

Page 78: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 79

TUTORIAL

attiva nel crepuscolo serale esi disattiva al crepuscolo mat-tutino.Il principio di funzionamento èmolto semplice: la fotoresisten-za, come abbiamo appresonella teoria, varia il suo valoreohmico al variare della lumino-sità che la investe. Se quindiriusciamo a fare in modo chead un detto grado di luminosi-tà la fotoresistenza attivi uncarico, abbiamo realizzato uninterruttore crepuscolare.

I pregi del crepuscolareVi starete chiedendo perchérealizzare un interruttore crepu-scolare quando invece baste-rebbe dotare le luci di un pro-grammatore orario?Possiamo rispondere con duesemplici ragioni:

1 Il crepuscolare una voltaregolato funzionerà semprealla stessa luminosità senzarisentire dell’ora legale osolare.

2 Durante i temporali diurnimagari anche con nebbia ilcrepuscolare potrebbe atti-varsi comunque mentre unprogrammatore orariodovrebbe per forza essereazionato manualmente.

Se ciò non bastasse possiamodirvi che gran parte delle illumi-nazioni pubbliche sono attivatetramite interruttori crepuscolari.Infatti se avete la fortuna diosservare vicino alle cabine elet-triche della pubblica illuminazio-ne vi troverete una scatola pla-stica di colore bianco che pilotadirettamente la bobina del con-tattore nella cabina.

SCHEMA ELETTRICOLo schema elettrico di figura 7 èmolto intuitivo e come i prece-denti è didatticamente moltobasilare.Il cuore del circuito è U1 l’ormainoto amplificatore operazionalequad LM 324 configurato comecomparatore di tensione.All’ingresso non invertente tro-viamo il partitore formato da R1e TR1 che servono a impostarela tensione di riferimento delcomparatore ma in pratica TR1regola la soglia di luminosità allaquale il dispositivo si attiva.All’ingresso invertente troviamola fotoresistenza e R2, al variaredella luminosità varierà anche ilvalore di FR1. Quando il valoredi tensione all’ingresso noninvertente sarà maggiore dellatensione sull’ingresso inverten-te, l’uscita del comparatore si

porterà a livello alto: il valoredella Vcc. All’uscita (pin 1) è col-legata la resistenza R3 che pola-rizza la base del transistor Q1che a sua volta attiva il relé e diconseguenza il carico ad essocollegato.Il diodo D1 serve a proteggereil transistor da disturbi prodot-ti dall’eccitazione della bobinadel relé. Il condensatore C1serve a evitare che lampi diluce improvvisi facciano disatti-vare il carico. Abbiamo inseritoquesto piccolo accorgimentoper evitare che per esempiodurante qualche temporale ifulmini avessero potuto far spe-gnere le luci del vialetto oppu-re per evitare che se le luci del-l’auto in manovra avessero col-pito accidentalmente la fotore-sistenza avrebbero causato lospegnimento del carico.C1induce nel circuito un ritardonella risposta di circa tre secon-di sufficienti a non far disattiva-re il carico con improvvisilampi di luce (naturalmentequesto tempo può variare aseconda della tolleranza delcondensatore e della resistenzadella bobina del relé).

Figura 5: Foto della scheda a montaggio ultimato

Figura 6: Foto di un crepuscolare che pilotal'accensione della illuminazione pubblica

Page 79: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL80

TUTORIAL

REALIZZAZIONE PRATICADopo aver realizzato il circuitostampato servendovi del masterdi figura 8 possiamo procedereal montaggio dei componentipartendo da quelli a basso profi-lo. Cominciamo dalle tre resi-stenze, il diodo D1 per seguirepoi con lo zoccolo dell’integratoorientandolo come mostra ilpiano di montaggio di figura 9.Successivamente salderemo ilTrimmer, il transistor, il conden-

satore C1, e in ultimo il relé.Infine potrete dotare il circuitodel morsetto serrafilo per il col-legamento dei fili del carico.

COLLAUDO E TARATURAPer effettuare il collaudo avremobisogno di un alimentatore a 12v e di un carico da collegare alrelè, sia esso una lampadina oun semplice diodo led.Dopo aver dato tensione al cir-cuito bisognerà regolare il Trimmer al suo massimo valore.

A questo punto abbiamo duealternative: attendere il crepu-scolo o operare in maniera artifi-ciale. Il sistema più attendibilesarebbe comunque attendere ilcrepuscolo così da regolare ilTrimmer fino all’accensione delcarico con la luminosità deside-rata, sicuri che ogni sera il cir-cuito agisca con quella stessaluminosità. Ammesso però dinon voler attendere, dopo avercoperto la fotoresistenza algrado di oscurità voluta occorre-rà ruotare il perno di TR1 fino aquando il carico si attiverà.

Alcuni consigli utili1 Come al solito se collegherete

al relé un carico a 240 voltdovrete inscatolare il circuitoper non rischiare pericolose

Figura 7: Schema elettrico

Elenco componenti

Sigla Valore

R1, R3 1 KΩ 1/4 W

R2 10 KΩ 1/4 W

R4 100 KΩ 1/4 W

TR1Trimmer multigiriorizzontale da 100 KΩ

(RS 186-081)

D1 1N4007

C1 1000 µF elettrolitico

U1 LM324

FR1 Fotoresistenza

Q1 BC547

RLRelé NAIS 12 V doppioscambio

Zoccolo per integrato a 14 pin

Morsetto serrafilo 2 vie

Morsetto serrafilo 3 vie

Figura 8: Circuito stampato scala 1:1 (lato rame)

Figura 9: Piano di montaggio della scheda

Page 80: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTORIAL 81

TUTORIAL

scosse.2 Quando installate il circuito

fate il modo che la fotoresi-stenza capti solo la luceambientale.

3 Collocate la fotoresistenza inmodo che non venga investi-ta dalla luce del carico oppureotterrete un ottimo lampeg-giatore.

A PROPOSITO DILAMPEGGIATORIPer farvi un piccolo esempio:notate quei lampeggiatori abatteria che si usano per evi-denziare zone pericolose neilavori in corso (figura 10), nonpossiamo dirvi come sono fattiper motivi di brevetto ma pos-

siamo spiegarvi il principio difunzionamento.

Il circuito interno è un interrut-tore crepuscolare, infatti digiorno i lampeggiatori sonoinattivi.Appena fa sera il crepuscolareentra in funzione, il sensore chefinora aveva captato l'oscuritàambientale riceve ora la lucedel lampeggiante, "credendo"quindi che sia giorno disattiva illampeggiante ma captando dinuovo l'oscurità riaccende lalampada.

Il ciclo si ripete fino a che laluce ambientale e quindi il gior-no, disattivano il crepuscolare.Capite quindi perché la fotore-sistenza non dovrà mai essereinvestita dalla luce del carico.

Figura 10: Disegno di un lampeggiante peraree pericolose

NUTCHIP

Divertirsi è facile

www.artek.it

NUTCHIPdivertirsiè facile

• 4 Ingressi

• 4 Uscite

• 1 Comparatore

• Opera con RTX Aurel

• Opera con telecomandi TV

Programmabile in 5 minutiRivenditori Welcome

IL TODDLERIL TODDLERun ROBOT che camminaper voi IN KIT

TAOSTAOSSensore di colore

Discrimina 100 colori

per Basic Stamp o

Microcontroller

LU - LALU - LALogic Analyzer USB200 MHz

16 canali su porta USB

1 MByte di memoria per canale

STARTER KIT KIT08STARTER KIT KIT08per Micro MOTOROLA

MC68HC908 GP32

HS350 MHZ 12 BIT USBHS350 MHZ 12 BIT USB• Oscilloscopio

• Analizzatore di Spettro

• Registratore Transitori

• Voltmetro

• Generatore Forme onda

QV502PLAYER MP3QV502PLAYER MP3con Compact Flash

controllato via RS232

MINI TELECAMERA CCDA COLORIMINI TELECAMERA CCDA COLORIcon Microfono completa di

Trasmettitore e

Ricevitore a 2,4 GHz

Sali a bordo e naviga sul sito WEB ARTEK per informazioni Tel. 0542.55900 - Fax 0542.55488

Page 81: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

INSTALLAZIONEDEL SOFTWARE

Coloro che hanno realizzato ildispositivo di interfaccia 1-Wireper PC, proposto nel numeroprecedente, non vedranno certol’ora di poterlo utilizzare almenocon il primo dispositivo che viabbiamo consigliato, il termo-metro 1-Wire DS18S20.Seguendo le istruzioni che vidaremo sarete presto in gradodi veder comparire sul vostroschermo il grafico con l’anda-mento della temperatura misu-rata ogni secondo dal DS18S20.Premettiamo innanzi tutto chel’installazione si riferisce ad uncomputer con sistema operativoWindows 2000 o XP.

INIZIAMO L’INSTALLAZIONESe avete visitato il sito web della

Dallas/Maxim (www.maxim-ic.com), avrete notato la discre-ta quantità di software che vienemessa a disposizione degli uten-ti di dispositivi 1-Wire. Ci sonoprogrammi in C, Visual Basic edaltro, che possono essere utiliz-zati e modificati per creare deglieseguibili per le nostre specifi-che esigenze. Naturalmentequesto comporta una certaconoscenza sia dei linguaggi siadei dispositivi che stiamo utiliz-zando. Per chi non ha particola-ri esigenze, ma vuole semplice-mente interagire con i dispositi-vi, è stata sviluppata in Java l’ap-plicazione OneWireViewer, ed èquella ci apprestiamo a descri-vervi. Per prima cosa dovete sca-ricare dal sito di Fare Elettronica

il file relativo a questo articolo epoi…

Java Innanzi tuttoSe avete il Java Runtime

Environment versione 1.4.0 osuccessiva, già installato sulvostro PC, siete a posto, altri-menti dovete scaricare il filej2re-1_4_2_04-windows-i586-

p.exe dal sito Java.Sun, operazio-ne un po’ “faticosa” se vi con-nettete da casa e non avete adisposizione una linea veloce(14.52MB!).Tale file istallerà la versione1.4.2 (l’ultima al momento dis-ponibile). Per il download pro-cedete così: andate sul sitohttp://java.sun.com/j2se/1.4.2/d

ownload.html, e cliccate al cen-

INSTALLAZIONEDEL SOFTWARE

SISTEMA DI MISURA 1-WIRE SISTEMA DI MISURA 1-WIRE

di Nicola Ulivieri e Luca Tondi

[email protected]

In questo articolo continueremo lo sviluppo del progetto del sistema 1-Wire ed

in particolare, come vi avevamo preannunciato nel numero precedente,

descriveremo dettagliatamente le fasi necessarie per l’installazione del software

che consente la gestione dell’interfaccia USB-1-Wire e di tutti i dispositivi

(termometri, convertitori, memorie, potenziometri digitali, switches ) che vi si

possono connettere. I programmi di interfaccia necessari per garantire il

funzionamento del sistema sono gratuiti e non necessitano di alcuna licenza.

HARDWARE82

HARDWARE

seconda parte

Page 82: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Connessione e riconoscimentoA questo punto potete connet-tere il vostro modulo di interfac-cia al PC (figura 2) che dovràrilevare la presenza del nuovohardware e vi richiederà l’instal-lazione del software per l’USB

Host 1-Wire (figura 3).

Cliccate sulla prima scelta relati-va all’installazione automaticaed andate avanti. Windows cer-cherà il software di installazionema con esito negativo; infatti ènecessario specificare il percorsoper raggiungere il file

tro su Download J2SE JRE; si apri-rà una pagina in cui dovreteaccettare i termini della licenza,dopodiché apparirà la paginacon il link al file.Fate attenzione a non scaricarel’altro file più piccolo da 1.35MBin quanto questo esegue l’instal-lazione on-line, cioè mentresiete connessi a Internet. Unavolta salvato il file in una cartel-la a piacere (per esempio.:c:\temp) avviatelo. Vi verrà chie-sto di accettare i termini dellalicenza e poi il tipo di installazio-ne; scegliete quella tipica (figura1). Al termine, se non aveteWindows XP, vi verrà chiesto diriavviare il computer. A questopunto possiamo proseguirecon l’installazione dei driversper il 1-Wire.

Per il Plug & PlayOra aprite il file Windows.zip alcui interno sono contenuti trefiles che dobbiamo copiarenelle cartelle (o directory) indi-cate nella tabella1. Può darsiche in alcune versioni diWindows non sia presente lacartella C:\windows ma che alsuo posto possiate trovare lacartella C:\WinNT che comun-que è perfettamente equivalen-te. Se non trovate la sottocartel-

la \inf, cioè la cartella C:\win-

dows\inf, potete crearla voisenza pericolo di commetterealcun errore. In realtà, tuttoquesto dovrebbe essere auto-maticamente eseguito dal pro-gramma di installazione che videscriveremo tra breve; tutta-via, visto che nelle varie proveeseguite, talvolta sono statiriscontrati dei problemi nel rico-noscimento automatico, abbia-mo preferito segnalarvi comeeseguire la procedura manual-mente. Ed ora eccoci finalmen-te pronti per il primo test.

HARDWARE

HARDWARE 83

Figura 1: Scelta del tipo di installazione del JavaRuntime Environment

Figura 2: Il modulo di interfaccia, presentato il mese precedente, connesso al cavo USB

Nome Copiare in

DS2490.sys C:\WINDOWS\system32

DS24902k.inf C:\WINDOWS\inf

DS24902k.PNF C:\WINDOWS\inf

Tabella 1: Estrazione dei files contenuti in Windows.zip

Page 83: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

DS2490.sys che avevamo salva-to in C:\WINDOWS\system32

(figura 4). Una volta risposto aquesta domanda vi apparirà lafinestra con la conferma di cor-retta installazione del software.In alcune versioni di Windowspuò capitare che venga richiestodi specificare anche la posizionedel file DS24902k.inf; In tal casoricordatevi che è C:\windows\inf.

Diversamente dalle varie perife-riche di archiviazione gestitedalla porta USB, come le memo-rie o le “penne USB”, il modulo1-Wire non appare tra le iconeattive della barra delle applica-zioni. Verifichiamo quindi la pre-senza del nostro modulo in unaltro modo: sul desktop, cliccatesu “Risorse del computer” con iltasto destro del mouse e sceglie-te Proprietà. Sulla finestra che

appare, selezionate Hardware (inalto al centro della finestra) equindi Gestione Periferiche (oDevice Manager se avete la ver-sione Inglese - figura 5). Laprima tipologia di dispositividella lista che compare sarà pro-prio la 1-Wire devices, sotto cuitroverete la vostra USB Host for

1Wire Microlan. Per verificare ilcorretto funzionamento del dis-positivo potete cliccare con ildestro del mouse su questa vocee scegliere Proprietà (figura 5).La finestra che appare vi confer-merà che il dispositivo sta fun-zionando correttamente e quin-di che abbiamo fatto il primopasso verso il riconoscimentoautomatico del nostro sistema dimisura.

Altri driversAll’interno del file compressoDrivers v400b3.zip è contenuto ilprogramma Install_1_Wire_Dri-

vers_v400b3.exe, che deve esserecopiato in una cartella qualsiasi(ad esempio in C:\temp) edavviato; a questo punto vi verràchiesta la conferma e verràavviata l’installazione di cuidovete seguire attentamente leindicazioni (figura 6).Come potete osservare dallafigura 7, è necessario scollegareil modulo, accettare i terminiprevisti dalla licenza del softwa-re e infine selezionare la cartelladove si vogliono installare i dri-ver; vi consigliamo di lasciarequella di default. Terminata l’installazione vi verràchiesto di connettere nuova-mente il modulo alla USB perterminare la configurazione(figura 8).

Alla comparsa della finestramostrata in figura 9, premete ilpulsante Auto-Detect in basso asinistra e ignorate il messaggio

HARDWARE

HARDWARE84

Figura 3: Riconoscimento nuovo hardware einstallazione del software

Figura 4: Richiesta del file DS2490.sys

Figura 5: Verifica del riconoscimento del modulo Host 1-Wire

Page 84: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Framework 1.1.4322 ma nonverrà utilizzato per le nostreapplicazioni;

• ed infine il OneWireViewer.htm,che è il file che andremoad aprire per terminarel’installazione.

Ci siamo: installiamo l’osserva-tore 1-WireAvviando il file OnWireViewer.htm

si aprirà una pagina html trami-te il vostro browser predefinito(figura 12), con la quale possia-mo avviare l’installazione (final-mente è l’ultima!) del program-ma in Java per la gestione deidispositivi 1-Wire. Per eseguirequesta operazione e terminarequindi l’installazione è necessa-rio connettersi ad Internet.Cliccate in alto al centro sullascritta CLICK HERE. Verrà ricer-cata in rete la versione piùaggiornata del OneWire Viewer(figura 12), scaricata (figura13) ed avviata dopo la vostraconferma.

di avvertimento successivo.Verrà avviata la scansione ditutte le porte alla ricerca dellapresenza del modulo adattatoree al suo rilevamento vi verràchiesto se volete configurarlocome predefinito (figura 10).

Poiché non abbiamo ancora altrimoduli adattatori, sceglietenaturalmente Sì.Questa parte dell’installazione èconclusa e sullo schermo com-parirà la finestra di figura 11,contenente alcuni files:

• il ReadMe.htm con le informa-zioni sui driver istallati;

• il Default 1-Wire Net per lascelta dell’adattatore (figura9), nel caso in cui lo si vogliacambiare;

• il .NET 1-Wire API Setup perl’uso delle API (ApplicationProgram Interface); richiedel’istallazione del .NET

HARDWARE

HARDWARE 85

Figura 6: Installazione dei drivers completata

Figura 7: Richiesta di scollegamento delmodulo di interfaccia

Figura 8: Richiesta di collegamento delmodulo di interfaccia

Figura 9: Finestra di dialogo per la selezionedell’adattatore 1-Wire

Figura 10: Scelta dell’adattatore predefinitoFigura 12: Alla pressione del collegamento CLICK HERE, verrà cercata in rete la versione più recente

del OneWire Viewer

Figura 11: Files istallati dal programmaInstall_1_Wire_Drivers_v400b3.exe.

Page 85: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Alla richiesta se si desidera integra-re “OneWireViewer Application”nell’ambiente Desktop risponde-te di sì (figura 14); in questomodo verrà creata un’icona suldesktop che vi permetterà diavviare agevolmente il program-ma di controllo.

Al primo avvio, sarà necessariospecificare il tipo di adattatore ela porta USB utilizzata (figura15), la velocità con la quale

interrogare i dispositivi connessi(Polling Rate - figura16) e sevogliamo visualizzare dispositivicon etichetta (tagged figura 17).Queste impostazioni possonoessere comunque cambiate inseguito, semplicemente.

L’installazione del software è ter-minata e la comparsa della fine-stra del OneWireViewer mostratain figura 18 ve ne darà conferma.

IL ONEWIREVIEWERSulla sinistra del pannello delOneWireViewer (figura 18) vienemostrata la lista dei dispositiviconnessi all’interfaccia dei qualiviene segnalato l’indirizzo e ilnome. Ovviamente, se nessundispositivo è connesso la finestrarimarrà vuota. Se non lo aveteancora fatto, collegate i due ter-mometri DS18S20 (le modalitàdi collegamento sono stateampliamente descritte nellapuntata precedente) e verificate

come questi vengano automati-camente riconosciuti dal sistemache ne indica la presenzaaggiornando la “Device List”.

Se si seleziona uno dei dispositi-vi connessi, nella parte destradella finestra “OneWireViewer”(figura 19) si attiva automatica-mente la finestra “Description”dove è possibile trovare tutte leinformazioni relative a quel par-ticolare dispositivo, come l’indi-rizzo, il nome, il nome alternati-vo e una breve descrizione dellecaratteristiche operative.

Nel caso del termometroDS18S20, oltre alla finestra“Description” è presente anchela finestra “Temperature” chepuò essere selezionata con ilmouse e che consente la visua-lizzazione in un grafico dellatemperatura rilevata dal sensore(figura 20). È possibile sceglieretra una misura in gradi

HARDWARE

HARDWARE86

Figura 13: Download della versione più recentedel OneWire Viewer.

Figura 14: Richiesta di creazione dell’icona perlo shortcut all’applicazione OneWireViewer

Figura 15: Scelta della porta dell’adattatore

Figura 16: Scelta della velocità di polling

Figura 17: Scelta della visualizzazione deidispositivi etichettati

Figura 18: Pannello del OneWireViewer

Figura 19: Descrizione del dispositivo selezionato

Figura 20: Visualizzazione del grafico dellatemperatura

Page 86: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

(“Tools”, “1-Wire Speed”, figura23) consente un velocità di tra-smissione dei dati circa 7 voltemaggiore e può essere scelta solose i dispositivi non sono molti e lalunghezza del bus non è superio-re a qualche metro. Andando sulmenu “View” e poi cliccando su“Show Message Log” si apre unafinestra in cui possiamo vedere seci sono errori di comunicazionecon i dispositivi.

Anche questa parte è terminata.Sperando che sia stata di vostrointeresse, vi diamo appuntamen-to al prossimo mese per la pun-tata in cui spiegheremo comeaggiungere altri due dispositivi alnostro sistema, un convertitoreAD e una memoria EEPROM.

Centigradi o Fahrenheit e tra unarisoluzione di 0.1°C o 0.5°C. Èpossibile anche visualizzare il gra-fico in una finestra separata; perfar questo basta andare sul menu“View” e scegliere “Show Tab inNew Window” (figura 20) e verràaperta una nuova finestra comemostrato in figura 21. Questo èparticolarmente utile quando sihanno molti dispositivi e sivogliono visualizzare tutte lerisposte su video. Una funzioneparticolarmente utile, offerta dalOneWireViewer è che i valori ditemperatura misurati possono

essere copiati semplicementeposizionandosi sul grafico, pre-mendo il tasto destro del mousee scegliendo il formato di separa-zione dei dati (figura 21). Dopoquesta semplice operazione i datipossono essere riportati in unqualsiasi documento, come peresempio su Excel, per elaborarli oper personalizzare il graficosecondo le proprie esigenze(figura 22).

Se volete modificare le imposta-zioni scelte inizialmente, comel’intervallo di campionamento,basta andare su “Tools”, “DevicePoll Rate” (figura 23) e cambiar-le. La scelta dell’Overdrive Mode

HARDWARE

HARDWARE 87

Figura 22: Esempio della copia e visualizzazionedei dati di temperatura acquisiti conil OneWireViewer.

Figura 23: Scelta della velocità di polling, velocitàdi trasmissione e tipo di adattatore

Figura 21: Finestra separata dedicata allavisualizzazione della temperaturaacquisita da un dispositivo DS18S20;posizionando il cursore sul grafico epremendo il tasto destro, è possibilecopiare i dati acquisiti negli appunti.

Page 87: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

GLI STABILIZZATORIDI TENSIONE

Nei precedenti articoli sono statiillustrati i più classici stabilizzatoridi tensione di tipo serie nei qualiil componente di regolazione, alpari dello stadio amplificatore dierrore, è realizzato tramite BJT.Crediamo opportuno ribadireche questi regolatori funzionanoegregiamente e hanno buonaaffidabilità. Non è infatti casualeche prima dell’avvento dei circui-ti regolatori integrati fosserocomunemente utilizzati in tuttequelle configurazioni circuitaliche, per un corretto funziona-mento, avevano bisogno di unatensione costante sia nei confron-ti delle sempre possibili fluttuazio-ni della tensione di linea – che èquasi sempre la sorgente primariadi tensione – sia nei confrontidelle altrettanto possibili, e spessofrequenti, fluttuazioni della cor-rente assorbita dal carico.Il successivo ingresso nel mercatodella componentistica dei regola-tori integrati ha subito avuto unenorme successo. Infatti, sebbeneil principio di funzionamento sibasi quasi interamente sugli ana-loghi circuiti a componenti dis-

creti (e per convincersi di ciò èsufficiente analizzare il circuitoanalogico corrispondente a unqualsiasi regolatore integrato),dal punto di vista pratico presen-tano notevoli vantaggi dei quali sicitano i principali:

1 Alcuni tipi sono già predispostiper una notevole gamma ditensioni fisse (5 V, 6 V, 8 V, 10V, 12 V, 15 V, 18 V e 24 V) concorrenti da 100 mA a 5 A (eanche più elevate).

2 Nella maggior parte dei casi iregolatori integrati per tensionifisse possono essere resi a ten-sione di uscita variabile conpochi componenti passiviesterni.

3 Esiste una vasta gamma diregolatori integrati già proget-tati per tensioni di uscita varia-bili e, queste ultime, sia positi-ve che negative.

4 Consentono la realizzazione distadi stabilizzatori di tipo trac-king (ossia con tensioni positi-ve e negative del medesimovalore rispetto a massa) di fre-quente utilizzazione, per esem-

pio, nelle configurazioni che,fra i vari componenti attivi,comprendono gli amplificatorioperazionali o altri componen-ti attivi che necessitano di ali-mentazione positiva e negativadel medesimo valore.

5 Sono dotati di circuito shunt-down che ne blocca il funzio-namento nei casi di sovratem-peratura o di sovracorrente.

6 Sono di facile dimensionamen-to.

7 Presentano minimo ingombro.Le serie più recenti hannodimensioni di qualche millime-tro quadrato per qualche milli-metro di altezza.

Da queste caratteristiche si evin-cono facilmente i motivi del suc-cesso dei regolatori integrati.

GLI STABILIZZATORIDI TENSIONE di Nico Grilloni

[email protected]

Dopo i classici e sempre validi regolatori a BJT, si passa adesso alla descrizione

e alle modalità di dimensionamento dei regolatori a circuito integrato

quarta parte

HARDWARE88

HARDWARE

Figura 1: Regolatore a tre terminali. Si notil’estrema semplicità circuitale.Per la realizzazione sono infattisufficienti soltanto due condensatori

Page 88: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Il più versatile regolatore attual-mente nel mercato della compo-nentistica è l’LM117 dellaNational che, nelle sue diverseversioni (e sigle), consente tensio-ni di uscita variabili con continui-tà da 1,2 V a 40 V con una cor-rente di uscita di 1, 5 A. Le ulte-riori, significative caratteristichesono:

• Massima tensione in-out di 40 V.• Tensione di riferimento, coinci-

dente con la minima Vo, pari a1,25 V.

• Protezione a limitazione di cor-rente. L’intervento, per ilmodello da 1,5 A, è a 2,2 A.

• Protezione dalle sovratempera-ture (shut-down termico).

• Punto di lavoro costante per-ché sempre all’interno dellasafe area protection.

• Potenza dissipabile in involucroTO-3 pari a 20 W.

• Tensione di rumore in uscita(rms in % della Vo), 0,003 %.

• Regolazione sul carico dello 0,1% per una corrente di carico di1,5 A.

• Regolazione di linea dello 0,05% / V.

I terminali dell’LM117 sono il pin

I REGOLATORI A TRETERMINALI CON VO FISSAHanno solo il pin di ingresso a cuisi applica la tensione raddrizzata efiltrata da un condensatore diopportuna capacità (v. articoliprecedenti), il pin di uscita e ilpin che va connesso a massa. Laserie più nota ha sigla 78XX ed èdisponibile sia in involucro plasti-co che metallico del tutto simile,quest’ultimo, all’involucro TO-3dei BJT di potenza, mentre la serie78LXX si presenta, se in involucrometallico, come un BJT di piccolapotenza.Un semplice esempio applicativoè esposto nella figura 1. Si puòconstatare come oltre all’IC sianopresenti solo due condensatori. Ilprimo di questi, C1, è opportunoinserirlo solo nel caso in cui lo sta-dio regolatore non sia cablatonelle immediate vicinanze dellostadio raddrizzatore già dotato difiltro capacitivo (per immediatevicinanze i costruttori specificanouna distanza non superiore a 6pollici corrispondenti a circa 15cm). Il secondo condensatore,C2, ha solo la funzione di tenerebassa l’impedenza di uscita dellostadio e di migliorare la rispostaalle variazioni istantanee dellacorrente richiesta dal carico.I parametri più importanti di que-sti regolatori sono la caduta di

tensione ingresso-uscita (dropoutvoltage) e la corrente IQ assorbitaindipendentemente dalla corren-te richiamata dal carico (correntedi riposo o quiescent current).Al fine di ottenere una buonaregolazione, la tensione di dro-pout della serie 78XX dev’esserenon inferiore a 2 V, mentre la cor-rente di riposo è di circa 5 mA (3mA per la serie 78LXX). Si fa pre-sente fin d’ora che in commercioesistono i regolatori LDO (LowDropout) che presentano cadutedi tensione ingresso-uscita estre-mamente basse, anche dell’ordi-ne del decimo di volt, e correntidi riposo dell’ordine delmicroampere e anche minori. Ilregolatore LP2950, per esempio,ha una tensione di dropout dicirca 0,4 V e una corrente di ripo-so inferiore a 70 µA.

I REGOLATORI A TRETERMINALI CON VO VARIABILEPur potendosi realizzare regolato-ri a tensione di uscita variabilecon la serie 78XX, per un’ottima-le stabilità di funzionamento sipreferisce ricorrere ai regolatoriintegrati a tre terminali già previ-sti dal costruttore per tensione Vo

variabile.

HARDWARE

HARDWARE 89

Figura 3: Il marker orizzontale c indica la tensione di uscita, Vo = 20 V, del regolatore di cui alla figura 2

Figura 2: Con il regolatore integrato della serieLM117 si possono realizzare siastabilizzatori a tensione di uscita fissache a tensioni di uscita variabile.Rispetto al circuito precedente sonostate aggiunte soltanto le resistenzeR1 e R2

Page 89: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

in di ingresso, il pin out di uscita eil pin ADJ (adjustment). La figura2 mostra la configurazione circui-tale del regolatore che utilizza,appunto, l’LM117. Si constatacome al regolatore di cui alla figu-ra 1 si siano soltanto aggiuntedue resistenze, la R1 e la R2.L’espressione della tensione diuscita (che qui non dimostriamorestando comunque a disposi-zione del Lettore che volessesapere come alla medesima siperviene) è:

In questa, VREF è la tensione diriferimento che per l’LM117 èpari a circa 1,25 V, e IQ è la cor-rente di riposo che vale 50 µA. Peril basso valore di quest’ultima l’e-spressione precedente può porsinella forma:

Da quest’ultima espressione sivede come sia possibile, agendosul valore delle due resistenze R1 eR2, rendere variabile la tensione Vo

di uscita. Poiché il valore dellaresistenza R1 è in genere fissato a120 Ω o a 240 Ω, si agirà sul valo-re da attribuire alla R2 per avere laVomax desiderata. Infatti, dalla stes-sa espressione si vede subito cheper R2 = 0 la tensione di uscitacoincide con il valore della tensio-ne VREF di riferimento, mentre ilvalore massimo della stessa Vo

dipenderà solo dal valore della R2

che, in pratica, si realizzerà trami-te un trimmer di opportuno valo-re, oppure tramite un trimmeratto a fissare la massima Vo con inparallelo un potenziometro linea-re, sul quale si agirà per variare la

tensione di uscita dal valore mini-mo Vo = VREF al valore massimodesiderato. In merito alla Vomax èsolo da tener presente che la ten-sione Vi di ingresso, raddrizzata efiltrata, dev’essere di almeno 2 Vmaggiore della stessa Vomax. Ciò alfine di ottenere una regolazioneottimale.

EsempioSi vuole dimensionare uno stadiodel tipo illustrato nella figura 2per una tensione di uscita Vo

variabile da 1,5 V a 20 V.Il dimensionamento dello stadio,impostata la Vi a non meno di 22V, si esaurisce nel calcolo del valo-re massimo che deve avere iltrimmer R2 per ottenere in uscitaVo = 20 V. Poiché dall’espressioneprecedente si ricava:

per R2 si ottiene il valore:

In pratica si porrà per R2 un trim-mer da 3,9 kΩ.La figura 3 riporta la tensione diuscita ricavata in simulazione alcomputer tramite Spice. Il markerorizzontale c indica il valore dellaVo. Si legge infatti Yc = 20,25 V.Un’altra soluzione che meglioconsente la variabilità della ten-sione di uscita e l’impostazionedella massima Vo, è riportata nellafigura 4 dove alla resistenza R2

realizzata con un potenziometrolineare da 5 kΩ, si è posto inparallelo un trimmer da 22 kΩ. Siagirà su questo per fissare la Vomax,mentre si agirà sul potenziometrolineare per avere l’escursionedella Vo da 1,25 V a 20 V. La figu-ra 5 mostra, a questo proposito,le tensioni Vomax e Vomin ricavate insimulazione. Si legge infatti, Yc =20 V e Yd = 1,25 V.

STABILIZZATORE CON VO

VARIABILE DA 0 A 30 VUn’applicazione interessantedell’LM117 è proposta nellafigura 6. Riprendendo l’espres-sione su riportata che fornisce la

HARDWARE

HARDWARE90

Figura 5: I marker orizzontali c e d indicano rispettivamente, la tensione massima e minima in uscita nelregolatore di cui alla figura 4

Figura 4: Stadio regolatore per una tensione diuscita variabile da 1,25 V a 20 Vagendo sul potenziometro lineare R2

Page 90: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

pin out e potrebbe danneggiarel’integrato.La corrente di scarica dipende intal caso da vari fattori: dal valoredella tensione di uscita, dal valo-re attribuito alla capacità e dallavelocità di decremento della Vi.In effetti, per capacità inferiori a15 µF o 20 µF, l’LM117 è ingrado di sostenere correnti discarica molto elevate (anchedell’ordine dei 15 A), ma ove sirealizzi un regolatore a tensionedi uscita variabile con un qual-siasi IC a tre terminali, diversodall’LM117, la corrente di scari-ca, anche se limitata, può porta-re a distruzione l’integrato. PerD1 e D2 si farà ricorso, nella con-figurazione di cui alla figura 6, adiodi del tipo 2N4002.

tensione Vo di uscita, si vedecome sia possibile ottenere unaVomin = 0 solo a condizione diannullare anche il termine VREF.Per giungere a questo risultato sipuò fare, appunto, ricorso allaconfigurazione circuitale di cuialla figura 6. Qui il diodo zenerDz con Vz = 6,8 V, è polarizzatoattraverso la resistenza R4 da unatensione negativa in grado diportare a – 1,25 V il pin ADJdell’IC. Il riferimento fuorimassa, che porta sul pin ADJuna tensione eguale in valore (inmodulo) ma di segno oppostoalla VREF, consente così di ottene-re una Vomin pari a zero.La R3 è un trimmer, possibilmen-te multigiri, che consente l’azze-ramento della tensione di uscita,

mentre R2 è sempre un poten-ziometro lineare che permetteun’escursione della stessa ten-sione da zero a 30 V. Il diodo D1

è utile per la protezione dell’in-tegrato nel caso si manifesti uncortocircuito in uscita. In questaeventualità infatti il diodo costi-tuisce la via di scarica per la cor-rente del condensatore C3 la cuifunzione è sia di migliorare larisposta ai transitori sia di con-trasto all’innesco di oscillazioni.Analoga funzione svolge il diodoD2 nel caso si verifichi un corto-circuito in ingresso. D2, bypas-sando l’LM117, costituisce infat-ti la via di scarica per il conden-satore C2. In assenza di D2, infat-ti, la corrente di scarica entre-rebbe nel regolatore attraverso il

HARDWARE

HARDWARE 91

Page 91: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

REGOLATORE SLOW TURN-ONLa flessibilità dell’LM117 è taleda trovare utilizzazione in un’in-finità di circuiti. La figura 7, peresempio, propone uno stadioregolatore la cui tensione diuscita perviene al suo valoresono dopo un intervallo di

tempo essenzialmente determi-nato dalla capacità Ct. La figura8 mostra infatti come la Vo diuscita giunga al suo valore di 15V solo dopo circa 5 s indicatidalla posizione del marker verti-cale a. L’intervallo (0 ÷ 5) s sipotrà ovviamente espandere ocontrarre rispettivamenteaumentando o diminuendo ilvalore del condensatore Ct.Un sistema del genere può, peresempio, essere molto utilenegli impianti di amplificazioneonde evitare nell’istante diaccensione, la classica sollecita-zione dei coni degli altoparlanti.Molti amplificatori (non neces-sariamente professional) sonoinfatti dotati di un’alimentazio-ne ritardata che spesso fa riferi-mento al circuito qui esposto.

STABILIZZATORE PER TEN-SIONI DUALI DA 1,2 A 20 VL’IC LM117 trova il suo com-plementare nel regolatore pertensioni negative che ha siglaLM137 (o LM337). Utilizzandoun LM117 e un LM137 si puòfacilmente realizzare un ali-mentatore per tensioni dualiossia per tensioni sia positiveche negative rispetto al livello

di massa.Lo schema pratico di questaapplicazione è proposto nellafigura 9. Agendo sui trimmer da2 kΩ si possono variare entram-be le tensioni di uscita da 1,2 V a20 V applicando in ingresso letensioni Vi1 = + 25 V e Vi2 = –25 V.Si fa presente che questo ali-mentatore è di tipo duale e nontracking dal momento che sipossono ottenere tensioni posi-tive e negative anche diverseuna dall’altra. Nei ragolatoritracking, invece, agendo su unsolo potenziometro si portanosempre al medesimo valore letensioni di uscita.Si rammenta, infine, che per ten-sioni di uscita elevate, ossia mag-giori di 30 V, è opportuno ricor-rere ai modelli previsti per altetensioni che sono siglatiLM117HV e LM137HV rispettiva-mente per Vo positive e negative.

NOTA PER IL LETTORELa simulazione al computer deicircuiti qui esposti è stata ese-guita col programma SPICE(Simulation Program with

Integrated Circuit Emphasis) dellaMicrocode Engineering Inc.(CircuitMaker).

HARDWARE

HARDWARE92

Figura 6: Stadio regolatore con tensione di uscita variabile da 0 V a 30 V. Il diodo zenerDz porta sul pin ADJ dell’IC unatensione pari a circa –1,25 V, ossiauna tensione eguale in valore ma disegno opposto alla tensione VREF diriferimento dell’LM117. Ciò al fine diottenere una tensione Vo che partaproprio da zero

Figura 7: Circuito per alimentazione ritardata.La tensione di uscita si porta al suovalore nominale dopo un intervallodi tempo imposto dal valore dellacapacità Ct

Figura 8: Andamento della tensione di uscita nel regolatore a ritardo di cui alla figura 7. Si noti come latensione di uscita pervenga al suo valore finale (15 V) dopo circa 5 s indicati dal marker verticale a

Figura 9: Stadio regolatore di tipo duale checonsente di ottenere tensioni positivee negative rispetto a massa

Page 92: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 93: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

VITAMINA C

Molte funzioni utili dell’ANSI C non sono parte inte-grante del linguaggio, ma sono disponibili comelibrerie che vanno richiamate nel proprio program-ma utilizzando la direttiva #include. Il motivo di que-sta scelta risiede nel fatto che queste funzioni sonoin genere profondamente legate all’hardware dellamacchina su cui si vuole fare funzionare il program-ma. Il fatto di separare queste funzioni dal linguag-gio vero e proprio permette di rendere i programmiin gran parte indipendenti dall’hardware, favorendoquindi la portabilità del codice. Non solo, utilizzan-do lo stesso meccanismo è possibile aggiungereanche funzioni personalizzate o rimpiazzare quelleesistenti per ottimizzare ancora di più le prestazioniin caso di necessità. Di seguito daremo uno sguar-do alle classi di funzioni standard più importanti ealle librerie che le contengono.

FUNZIONI DI INPUT E OUTPUTAbbiamo già visto nelle scorse puntate che l’ANSI Cnon dispone di istruzioni per comunicare con ilmondo esterno, perfino la banalissima (si fa perdire) funzione printf deve essere richiamata da unalibreria! La libreria in questione, che abbiamo richia-mato con un #include in tutti i programmi visti fino

ad ora, si chiama stdio.h (“standard I/O”), e comesuggerisce il nome contiene molte funzioni utili percomunicare e scambiare dati con il mondo esterno.A volere essere precisi, i files con estensione .h chesi richiamano dal programma non sono le librerievere e proprie, ma dei file chiamati “header” checontengono la dichiarazione delle funzioni messe adisposizione dalla libreria, e le costanti. Le librerievere e proprie sono disponibili di solito sotto formadi codice già compilato, pronto per essere ingloba-to (“linkato”) nei nostri programmi.Le funzioni messe a disposizione dalla libreria stdio.hpermettono di comunicare con i dispositivi di stan-

dard input e standard output (dispositivi a caratteri, disolito lo schermo e la tastiera sui PC, o una portaseriale sui sistemi embedded), e di gestire i files.La funzione in assoluto più utilizzata della libreria èla printf, che come abbiamo visto nelle scorse pun-tate serve per visualizzare del testo sullo standardoutput (di solito lo schermo), dando anche la possi-bilità di formattarlo e di visualizzare il contenutodelle variabili.La funzione complementare di printf è la scanf.Questa funzione permette di leggere dei dati dallostandard input (di solito la tastiera), e di assegnarle

VITAMINA C

LE FUNZIONI DI LIBRERIALE FUNZIONI DI LIBRERIAdi Antonio Di Stefano

[email protected]

In questa puntata ci occuperemo di un aspetto del linguaggio C abbastanza

particolare: le funzioni di libreria. Queste funzioni permettono di aggiungere al

linguaggio alcune importanti funzionalità, e consentono di gestire in modo

semplice la memoria, i files, le funzioni matematiche e tanto altro.

Vedremo con alcuni piccoli esempi l’uso delle più importanti funzioni e come

queste possono semplificare molto lo sviluppo del codice.

undicesima parte

TUTORIAL94

TUTORIAL

Page 94: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

a delle variabili. La sintassi è la seguente:

int scanf(“stringa di formattazione”,

elenco variabili…);

La funzione permette anche di “de-formattare” iltesto letto e di ripartirlo nella lista di variabili indica-ta. Un esempio di utilizzo è il seguente:

#include <stdio.h>

[…]

/* dichiarazione varviabili */

char testo[32];

int num;

/* richiede dati */

scanf(“%32s %d”, stringa, &num);

/* visualizza dati */

printf(“\nStringa = %s”, testo);

printf(“\nIntero = %d”, num);

[…]

Ci sono un paio di cose da notare. Innanzi tutto, adifferenza delle funzioni di input di altri linguaggi, lascanf non permette di visualizzare un testo con larichiesta di immissione di dati, attende solamenteche i dati indicati nella stringa di formattazione ven-gano immessi (si può ovviare con una printf prima).Altra cosa molto importante: la funzione non pren-de come argomento le variabili, ma il loro indirizzo!Occorre cioè passare le variabili per riferimento.Questo si fa utilizzando il carattere “&” nel casovariabili singole, oppure nel caso di vettori indican-do il nome dell’array (che in realtà, come vedremoin seguito è un puntatore!).Così come la funzione printf, la scanf ha un’infinitàdi caratteristiche e funzionalità aggiuntive, che permotivi di spazio non è possibile analizzare qui(rimando a qualche trattazione più completa o alleguide dei compilatori).Altre due funzioni simili a printf e scanf, ma più sem-plici da utilizzare, sono getc e putc. La sintassi diqueste funzioni è la seguente:

int getc( FILE *stream);

int putc( int c, FILE *stream);

Queste funzioni permettono di inviare o leggere sin-

goli caratteri (nonostante il tipo utilizzato sia unintero), sia da files che dai dispositivi standard I/O.Questo le rende particolarmente adatte nel caso incui lo standard I/O è rappresentato da una porta dicomunicazione seriale per esempio. Un esempio diutilizzo è il seguente:

#include <stdio.h>

[…]

/* dichiarazione variabili */

int c;

/* ciclo infinito */

for(;;)

/* legge carattere */

c = getc(stdin);

/* scrive carattere */

if (c!=EOF)

putc(c, stdout);

[…]

Questo piccolo codice non fa altro che leggere uncarattere dallo standard input e scriverlo sullo stan-dard output, nel caso in cui questi dispositivi sianodelle periferiche seriali in pratica implementa la fun-zione di “echo” (cioè rimanda indietro il carattereinviato per controllare che sia stato ricevuto corretta-mente). Da notare che le funzioni richiedono di spe-cificare uno “stream” per i dati. Noi abbiamo specifi-cato quelli di standard I/O, utilizzando due costanticontenute sempre nella libreria stdio.h: stdin edstdout. Altre costanti importanti definite nella libreriasono NULL ed EOF, che specificano dei valori parti-colari associati ad esempio a puntatori vuoti o alcarattere di fine file (“End Of File”). Da notare che lafunzione getc restituisce proprio quest’ultimo carat-tere se lo stream è vuoto o se si è verificato un errore(da qui l’if che compare nel codice sopra).

Diamo adesso un’occhiata alle funzioni relative allagestione dei files. Per il C un file è uno stream didati, così come gli standard I/O. Per utilizzare i filesè necessario prima di tutto dichiarare un appositopuntatore al tipo FILE (definito nella stdio.h). Ènecessario quindi aprire il file con la funzione fopen,eseguire le operazioni di lettura o scrittura, ed allafine chiudere il file con fclose.

TUTORIAL 95

TUTORIAL

Page 95: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Le funzioni che si possono utilizzare per la lettura ela scrittura sono veramente tante, tra queste vale lapena citare le già viste getc e putc (e le variantifgetc e fputc), usate per leggere e scrivere singolicaratteri (cioè singoli byte), e le funzioni fprintf edfscanf, che funzionano come printf e scanf, maoperano su file di testo. La sintassi di queste funzio-ni è la seguente:

FILE *fopen(“nome file”, “stringa

modo”);

int fprintf(FILE *stream, “stringa for-

mato”, elenco variabili…);

int fscanf(FILE *stream, “stringa forma-

to”, elenco variabili…);

int fclose(FILE *stream);

La funzione fopen prende come argomenti duestringhe, la prima indica il nome del file da aprire(eventualmente comprensivo di percorso), la secon-da specifica la modalità di apertura del file. Un filepuò essere aperto in modalità lettura (stringa “r”),scrittura (stringa “w”), binario in lettura o scrittura(“rb” e “wb”), o in modalità “append” (“a”). Incaso si successo la funzione restituisce il puntatore alfile aperto, o in caso di errore o insuccesso NULL.Le funzioni fprintf ed fscanf funzionano come le loroanaloghe senza la “f” davanti, richiedono solamen-te in più il puntatore al file aperto che si vuole leg-gere o scrivere. Entrambe scrivono o leggono dalfile una riga di testo alla volta. Una particolarità ditutte queste funzioni è che la lettura e la scrittura inun file avvengono in modo sequenziale, cioè ognivolta che si utilizza una funzione il puntatore al fileviene incrementato, e l’operazione viene eseguitasul carattere o riga successiva. Per riportare il punta-tore all’inizio del file si può utilizzare la funzionerewind [sintassi: void rewind(FILE *stream)].Vediamo un piccolo esempio, che può risultareanche utile in pratica: il programma che seguelegge un file di testo in formato UNIX/Linux (carat-tere ASCII di fine linea 0x0A), lo visualizza a scher-mo, e lo salva in formato Dos/Windows (caratteri difine linea 0x0D 0x0A).

#include <stdio.h>

main()

char *nomefine_in =

“Percorso/nome1.txt”;

char *nomefine_out =

“Percorso/nome2.txt”;

int c;

FILE *finein, *fileout;

int i;

/* apertura files */

filein=fopen(nomefile_in, “r”);

fileout=fopen(nomefile_out, “w”);

while((c=getc(filein))!=EOF)

/* stampa a schermo */

printf(”%c”, c);

/* controlla tipo di carattere */

if (c!=0x0A)

/* testo normale */

putc(c, fileout);

else

/* fine linea */

putc(0x0D, fileout);

putc(0x0A, fileout);

/* chiusura files */

fclose(filein);

fclose(fout);

Il programma apre i due file (in modalità lettura escrittura rispettivamente, quello di scrittura vienecreato automaticamente se non esiste già), ed ese-gue un loop per leggere tutti i caratteri, fino a quan-do non viene restituito il carattere di fine file EOF(notate una particolarità: la lettura e l’assegnazionefatta direttamente dentro la condizione del while). Ilcarattere letto viene controllato per capire se si trat-ta di un carattere normale o di un “a capo”, nelprimo caso esso viene copiato sul file di destinazio-ne, altrimenti viene rimpiazzato con i due previstidal formato Dos/Windows. Terminato il loop ven-gono chiusi i files prima di uscire dal programma.

TUTORIAL96

TUTORIAL

Page 96: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

FUNZIONI MATEMATICHECapita spesso di dovere utilizzare nei propri pro-grammi funzioni matematiche un po’ più comples-se rispetto alle normali operazioni aritmetiche nati-ve del linguaggio. Per fortuna l’ANSI C mette a dis-posizione una libreria in cui sono state definite tuttele più comuni funzioni matematiche complesse: lalibreria math.h. Le funzioni contenute nella libreriasono riportate nella tabella 1, notiamo quelle relati-ve alle funzioni trigonometriche dirette, inverse ediperboliche, quelle relative ai logaritmi, esponenzia-li, potenze, radici quadrate, ed ai valori assoluti.Come si può vedere, la maggior parte di queste fun-zioni utilizza variabili di tipo floating point (float,double, long double), questo implica che se si uti-lizzano tipi interi come argomenti o come risultati siha una conversione (casting) automatica in ingres-

so o in uscita, che può comportare una perdita diprecisione notevole! Inoltre è probabile che su siste-mi più piccoli (a microcontrollore), non tutte le fun-zioni siano supportare, oppure sono supportare solocon tipi interi e con un fissato numero di bit. Perquesto motivo prima di utilizzarle è bene leggere ladocumentazione del compilatore che si sta utiliz-zando.

LIBRERIA STDLIB.HUna libreria che contiene molte funzioni importanti(in certi casi fondamentali!) è la stdlib.h. Una primaclasse di funzioni contenute in questa libreria riguar-da le operazioni su numeri interi (che come abbia-mo visto non sono ben supportate dalla libreriamath.h), un’altra classe riguarda la generazione deinumeri casuali, e un’altra ancora l’allocazione dina-

TUTORIAL 97

TUTORIAL

Funzione Sintassi Descrizione

abs int abs(int x); Valore assoluto di X

acos double acos(double x); Arco-coseno di X

asin double asin(double x); Arco-seno di X

atan double atan(double x); Arcotangente di X

atan2 double atan2(double y, double x); Arcotangente di y/x

atof double atof(char *s); Converte la stringa s in float

ceil double ceil(double x); Arrotonda all’intero (> X)

cos double cos(double x); Coseno di X

cosh double cosh(double x); Coseno iperbolico di X

exp double exp(double x); Esponenziale e^X

fabs double fabs(double x); Valore assoluto di X (float)

floor double floor(double x); Arrotonda all’intero (< X)

fmod double fmod(double x, double y); X modulo Y (float)

log double log(double x); Logaritmo naturale di X

log10 double log10(double x); Logaritmo decimale di X

pow double pow(double x, double y); X elevato a Y

sin double sin(double x); Seno di X

sinh double sinh(double x); Seno iperbolico di X

sqrt double sqrt(double x); Radice quadrata di X

tan double tan(double x); Tangente di X

tanh double tan(double x); Tangente iperbolica di X

Tabella 1: Funzioni contenute nella libreria math.h

Page 97: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

mica della memoria e le funzioni legate al sistema. Iniziamo con il primo gruppo, tra cui troviamo leutilissime funzioni per convertire le stringhe innumeri. Queste funzioni sono atoi ed atol (conver-te una stringa in un intero rispettivamente normaleed a doppia precisione). L’equivalente per numerifloating point è atof della libreria math.h. La fun-zione opposta si ottiene direttamente con printf ouna delle sue varianti.Il formato di queste funzioni è il seguente:

int atoi( char *s);

long atol( char *s);

Le funzioni che riguardano la generazione dinumeri (pseudo)casuali sono rand ed srand. Laprima restituisce un numero intero generatocasualmente (in genere con distribuzione di pro-babilità uniforme), nel range da 0 a RAND_MAX(costante definita nella libreria). La seconda fun-zione invece serve per inizializzare il generatore dinumeri casuali con un certo “seme”. Questa possi-bilità è utile quando si vuole utilizzare una sequen-za pseudocasuale ripetibile, o quando al contrariosi vuole evitarlo. Per ricondurre il numero casualeottenuto in un particolare range di valori è possi-bile utilizzare l’operatore modulo “%” (che da ilresto di una divisione intera), o gli operatori bina-ri. Vediamo un piccolo esempio:

#include <stdio.h>

#include <stdlib.h>

main()

int i;

/* inizializzazione sequenza */

srand(5);

printf("\nSequanza di lanci di un

dado:");

for(i=0; i<10; i++)

printf("\n%d", (rand() % 6 + 1));

Questo programmino calcola 10 numeri casualicompresi tra 1 e 6, imitando il lancio di un dado.

Dal momento che il generatore viene inizializzatosempre con lo stesso seme all’avvio, la sequenzasarà sempre uguale. Per ottenere un numero da 1 a6 è stato sufficiente usare l’operatore modulo, otte-nendo così un numero compreso tra 0 e 5, a cui èstato sommato 1.

Le altre importantissime funzioni presenti nellalibreria sono quelle relative all’allocazione dimanica della memoria. Tra queste meritano uncenno la malloc e la free. Grazie a queste funzio-ni è possibile richiedere una certa quantità dimemoria (espressa in byte) per memorizzare deidati, e poi rilasciarla quando non serve più. I pos-sibili usi sono veramente tanti, però richiedonodelle conoscenze un po’ più approfondite peressere compresi bene.Tuttavia vale la pena mostrare un esempio moltointeressante. Abbiamo visto che quando si dichia-ra un array si stabilisce una volta per tutte la suadimensione. Se si ha a che fare con dei dati di cuinon si può conoscere l’esatta dimensione a prioriquesto può essere un problema, che può essererisolto banalmente sovradimensionando l’array.Esiste un modo molto più elegante ed efficiente:allocare l’array solo quando se ne conosce l’esattadimensione!Questa tecnica è mostrata nell’esempio seguente:

#include <stdio.h>

#include <stdlib.h>

main()

int i, dim;

int *blocco_mem;

/* richiesta all’untente del numero

di elementi da inserire */

printf(“Numero elementi?\n”);

scanf(“%d”, &dim);

/* allocazione dell’array */

blocco_mem = malloc(dim * sizeof( int));

/* allocazione non riuscita? */

if (blocco_mem == NULL)

printf(“\nErrore di allocazione!!!”);

exit(EXIT_FAILURE);

TUTORIAL98

TUTORIAL

Page 98: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

/* immissione dei dati */

for(i=0; i<dim; i++)

printf(“Inserisci numero?\n”);

scanf(“%d”, blocco_mem + i);

/* visualizzazione dei dati */

printf(“Dati immessi: numero?\n”);

for(i=0; i<dim; i++)

printf(“%d\n”, blocco_mem[i]);

/* rilascia la memoria allocata */

free(blocco_mem);

Il programma chiede all’utente quanti dati vuoleinserire, ed alloca un array su misura con la fun-zione malloc. Se l’allocazione non dovesse riuscire(per mancanza di memoria o altro) il programmatermina, per fare questo viene utilizzata un’altrafunzione della stdlib.h: exit. La costante EXIT_FAI-

LURE è definita nella libreria assieme a EXIT_SUC-CESS, e serve per indicare al sistema operativo, oad un processo padre, se il programma è termina-to in maniera normale o a causa di un errore. Danotare che la variabile per il blocco di memoria èstata dichiarata come un puntatore ad interi, a cuipoi è stato assegnato l’indirizzo del blocco alloca-to restituito dalla malloc. Questo ci fa vedere che ipuntatori possono essere poi utilizzati come deinormali array!

CONCLUSIONIIn questa puntata oltre alle più comuni funzioni dilibreria sono stati introdotti alcuni concetti abba-stanza avanzati, come l’uso dei puntatori o l’allo-cazione dinamica della memoria, che possonorisultare molto utili quando si sviluppano pro-grammi mediamente complessi. Nella prossimapuntata ci soffermeremo proprio su questi aspet-ti, analizzandone più in dettaglio il funzionamen-to ed l’utilizzo.

TUTORIAL 99

TUTORIAL

[Da oggi è disponibile il CD-ROM 2003di Fare Elettronica, con tutta l’annata

in formato ACROBAT (PDF)

Potrai sfogliare comodamente tutte

le riviste uscite nel 2003 e stampare

gli articoli di tuo interesse

Ordinalo subito su

www.farelettronica.com/cd2003

oppure telefonando allo 02.66504794

Non perdetevi

un anno di Fare Elettronica! ]

Inware Edizioni

Via Cadorna, 27/31 - 20032 Cormano (MI)

Page 99: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Chi ha seguito i forum sul sito di Fare Elettronica attendeva questo momento

con grande ansia. Finalmente ci siamo: parte ufficialmente il progetto “FEbot”,

un robot interamente costruito da voi lettori. Un progetto allo stesso tempo

ambizioso ed innovativo che ci accompagnerà per molti numeri a venire, met-

tendo alla prova le capacità tecnico/pratiche di chiunque intenda prenderne

parte. Ma vediamo di cosa si tratta…

FEBOTFEBOT

SPECIFICHEDEL PROGETTOSPECIFICHEDEL PROGETTOdi Maurizio Del Corso ([email protected])

e Tiziano Galizia ([email protected])

TANTA VOGLIA DI FARENon possiamo negarlo, laRedazione di Fare Elettronica cela sta mettendo tutta per dare aisuoi lettori una rivista sempreaggiornata, ricca di progetti, dinotizie ed articoli interessanti.Tramite i forum sul sitowww.farelettronica.com e larubrica Mailbox, tentiamo dirispondere alle vostre domandeche ci arrivano copiosamente.Proprio dalle vostre domande,critiche e suggerimenti, abbia-mo capito che i lettori di FareElettronica hanno raggiunto unbuon livello tecnico ed hannomanifestato una grande passio-ne per l’elettronica nonché tan-tissima voglia di impegnarsi in

qualcosa di veramente interes-sante.Perché allora non prendersi l’im-pegno di coordinare questogrande e volenteroso pubblicoper costruire qualcosa che sia unpunto comune a tutti, un prete-sto per conoscersi, per scam-biarsi informazioni e suggeri-menti? Lo scopo non è soltantoquello di ottenere qualcosa dialtamente professionale e sofisti-cato, ma quello di sentirsi partedi una squadra i cui componen-ti saranno sparsi per l’Italia e cheognuno di loro si impegnerà perraggiungere l’obiettivo comune:la costruzione di un robot.

Non sarà un’impresa facile, ma

pensiamo che ne valga la penae contiamo sulla vostra presen-za, sui vostri suggerimenti esulle vostre realizzazioni pergestire al meglio questo ambi-zioso progetto.

IL PROGETTOOK, veniamo al sodo. FEbot è unrobot di tipo modulare, cioècostituito da diverse schede elet-troniche, collegate e comuni-canti tra loro, ognuna delle qualisvolgerà una funzione ben pre-cisa, come ad esempio: il con-trollo motore, oppure la gestio-ne di sensori di prossimità o lagestione di bracci meccanici echi più ne ha, più ne metta! Quientra in gioco la vostra fantasia:

ROBOMANIA100

prima parte

ROBOMANIA

Page 100: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

potreste ad esempio progettarela scheda con i sensori di prossi-mità basata su infrarossi chepotrà essere intercambiata conuna equivalente agli ultrasuoni,progettata dal vostro miglioreamico o da un lettore dalla parteopposta d’Italia. Ovviamentetutte le schede dovranno essereprogettate secondo opportunicriteri che spiegheremo piùavanti e ciascuna scheda saràcontrassegnata da un indirizzoassegnato da Fare Elettronica infase di convalida.L’unica cosa necessaria sarà unasorta di “mainboard”, una sche-da principale (della quale pubbli-cheremo il progetto nel prossi-mo numero) che abbia la funzio-ne di coordinare tutte le periferi-che connesse. La comunicazionetra le diverse schede avverràsecondo un protocollo di comu-nicazione seriale sincrono delquale forniremo le specifiche inmodo da definire un “linguaggiouniversale” per tutte i moduliprogettati.

Come si partecipaSe state leggendo queste righe,significa che in qualche modo l’i-dea vi stuzzica quindi, prima diaddentrarci nelle questioni tecni-che, illustriamo in che modo sipuò partecipare all’iniziativa.Sul sito Internet di Fare Elettronicatroverete una sezione interamen-te dedicata a questo progetto edil primo passo è quello di comuni-care la vostra partecipazione regi-strandovi alla pagina www.fare-lettronica.com/febot indicandoquale è la funzione che intendeteassolvere con la scheda da voiprogettata.La partecipazione è aperta anche

ai gruppi ed in questo caso ognipartecipante dovrà registrarsiindicando lo pseudonimo delgruppo di appartenenza. La par-tecipazione è completamentegratuita e non comporta l’acqui-sto di alcun kit o altro materiale.L’unico costo, sostenibilissimo, èla vostra passione!

Ho realizzato un modulo:e ora?Una volta che la scheda è statarealizzata e testata dovrà essereconvalidata dalla Redazione diFare Elettronica in modo chedivenga ufficialmente parte delFEbot. La convalida avviene veri-

ficando i requisiti di progettazio-ne hardware/software. Una voltaconvalidata le sarà assegnato unindirizzo (un byte) ed il progettosarà pubblicato integralmentesul primo numero disponibiledella rivista, completo dei nomi efoto degli autori nonché dellalista dei comandi supportati conla relativa descrizione.

Contemporaneamente sarà pub-blicata una descrizione sul sitoInternet della scheda progettataillustrandone le caratteristichetecniche senza dimenticare divalorizzare la bravura del suoautore!

ROBOMANIA

Figura 1: Le dimensioni (in millimetri) e la struttura di una singola scheda

ROBOMANIA 101

Page 101: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

La procedura sarà la seguente:• Il partecipante (o il gruppo)

una volta terminata la proget-tazione di un modulo, invia allaredazione tutta la documenta-zione relativa al modulo pro-gettato (progetto, descrizione,foto, firmware, eccetera).

• La Redazione esamina il pro-getto e si accerta che rispondaalle specifiche correnti.

• In caso di esito positivo, laRedazione assegna al moduloun “part number” ed un indi-rizzo, lo comunica al progetti-sta il quale ha il compito diintegrarlo nel proprio firmwa-re secondo quanto richiesto

dal protocollo di comunicazio-ne seriale.

• Il progetto così completatoviene interamente pubblicatosul primo numero disponibiledella rivista (previa autorizza-zione scritta dell’autore).

• La descrizione delle caratteristi-che del nuovo modulo vengo-no inserite immediatamentenell’apposita sezione del sito edella rivista.

Uno stesso partecipante (ogruppo) può contribuire al pro-getto anche con più moduli, illimite è solo la fantasia di ciascu-no di voi!

LE QUESTIONI TECNICHEL’hardwareL’hardware è completamentelibero: potete usare microcon-trollori PIC o qualsiasi altro com-ponente intelligente e tutto ciòche ritenete più idoneo al vostroprogetto. L’importante è che ilcircuito stampato abbia la strut-tura di figura 1 in modo da assi-curare la compatibilità con leschede progettate da altri parte-cipanti.

Il circuito stampato potrà esserea singola o doppia faccia, ma èfondamentale che sia dotato deiconnettori J1 e J2 che sono a

ROBOMANIA102

ROBOMANIA

J1

1 D0

Pin di I/O direttamente collegati al micro presente sulla scheda madre(di cui parleremo approfonditamente nel prossimo numero).

2 D1

3 D2

4 D3

5 D4

6 D5

7 D6

8 D7

J2

1 R/WIdentifica la direzione del flusso dati da/verso il micro della scheda madre. Se questo pinè a livello alto, il flusso è verso la scheda madre (operazione di lettura).

2 BUSY_P Se a livello alto notifica che è in corso una transazione di dati sui fili D0÷D7.

3 S_DATA Il filo su cui transitano i dati della comunicazione seriale.

4 GND Massa.

5 GND Massa.

6 CLK È il segnale di sincronizzazione per la comunicazione seriale.

7 BUSY_S Se a livello alto indica che è in corso una comunicazione seriale.

8 Vcc Positivo di alimentazione.

Tabella 1: Descrizione dei connettori J1 e J2

Page 102: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

passo 2.54. Questi dovrannoessere passanti, maschio sul latosuperiore e femmina su quelloinferiore. In questo modo le varieschede potranno essere connes-se una sull’altra come un sand-witch. I fori sul lato oppostorispetto ai connettori, consenti-ranno il fissaggio delle diverseschede tramite opportuni distan-ziatori. I tre lati liberi della sche-da possono essere utilizzati perconnettori specifici (come adesempio il collegamento conmotori, luci, eccetera).

Il bus di comunicazioneAttraverso i connettori J1 e J2, le

schede possono comunicare traloro e con la scheda madre. Isegnali presenti su J1 e J2 costi-tuiscono un bus di comunicazio-ne la cui struttura è riportatanella tabella 1.

Il protocollo di comunicazioneserialeLa comunicazione seriale tra duemoduli o tra un modulo e lascheda madre, avviene utilizzan-do un protocollo di comunica-zione che prevede pacchetti datidi lunghezza fissa. Quando unmodulo intende iniziare unacomunicazione seriale deveseguire il seguente algoritmo:

ROBOMANIA 103

• Analizza la linea BUSY_S: se è alivello alto attende altrimenti lapone a livello alto per iniziare latrasmissione.

• Trasmissione del pacchetto datie del segnale di sincronismo.

• Alla fine della trasmissioneriporta a zero la linea BUSY_S.

Il pacchetto dati che viene tra-smesso è composto da 19 byte ela sua struttura è quella di figura 2:

• INDIRIZZO: è l’indirizzo delmodulo al quale è destinato ilpacchetto dati. L’indirizzo èespresso su un singolo byte evale 01H (00000001) per la

ROBOMANIA

Valore Comando Descrizione

FFH(11111111)

Accensione All’arrivo di questo comando il modulo dovrà portarsi nella modalità operativa.

00H(00000000)

StandbyQuesto comando pone in standby il modulo che lo riceve. Un modulo instandby non è operativo, ma è in grado di ricevere ed interpretare i comandiche transitano sul bus.

01H(00000001)

Reset Provoca il riavvio del modulo.

02H(00000010)

ID

Alla ricezione di questo comando il modulo risponde inviando, nel campo dati, ilproprio part number (assegnato da Fare Elettronica a seguito della procedura diconvalida) formato da 6 caratteri seguito da altri 10 caratteri in cui il progettistadel modulo può inserire dati a piacimento (il proprio nome, pseudonimo delgruppo, data, eccetera).

03H(00000011)

LOW_BATQuesto comando è seguito da un dato che esprime il valore della tensione dellabatteria e viene inviato se la batteria scende al di sotto di un valore prefissato.

04H(00001000)

PC_connÈ un comando che informa i moduli che un PC è stato connesso alla portaseriale RS232 della scheda madre.

Tabella 2: Descrizione dei comandi standard

Figura 2: Struttura del pacchetto dati seriale

Page 103: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

scheda madre; ciascun modu-lo risponde al proprio indirizzoe all’indirizzo broadcast FFH(11111111). L’indirizzo broad-cast consente di inviare unpacchetto dati a tutti i modulicontemporaneamente.

• COMANDO: uno dei comandiriconosciuti dal modulo desti-natario oppure uno deicomandi comuni a tutti imoduli.

• DATI: eventuali dati da tra-smettere (questo campo non èsignificativo se il comandonon comporta un trasferimen-to dati). Il pacchetto dati èsempre composto da 16 byte,i byte non utilizzati valgono 0(00000000).

• CRC: campo di controllo sul-l’integrità dei dati trasmessi.

La comunicazione seriale deveavvenire a velocità non superioriai 10 Kbps. Nei prossimi numeriverranno presentate alcune rou-tine per PICmicro in grado digestire questo protocollo dicomunicazione.Ciascun modulo realizzato, oltrea riconoscere una serie dicomandi per la gestione dellefunzionalità previste (questicomandi sono definiti da chiprogetta il modulo), deve esse-re in grado di riconoscere icomandi standard riportati intabella 2.

PER ESEMPIO…In figura 3 è riportata una ipote-tica struttura del FEbot che rac-chiude un po’ tutte le caratteri-stiche viste fino ad ora.

In questo caso sono stati inseritidue moduli: un modulo sensoriprossimità ed un modulo dicontrollo trazione. Il primocomunica con il secondoinviando, ad esempio, il coman-do di arresto motore se vienerilevato un ostacolo.Poiché entrambi i moduli rico-noscono i comandi standard, lescheda madre può decidere dispegnere il robot (quindi tutti imoduli) se il livello della batteriascende al di sotto del valore diguardia.Ovviamente quello riportato èsolo un esempio. Date sfogo allavostra fantasia nell’inventarenuovi moduli e nuove funziona-lità al FEbot. Ogni mese noidella Redazione vi forniremoidee e spunti, pubblicandoanche i vostri suggerimenti.

IN CONCLUSIONEPer questo mese è tutto. Nonperdetevi l’evoluzione del FEbotche dipende solo dal vostroentusiasmo e dalla vostra passio-ne. Noi cercheremo di aiutarviin tutti i passaggi relativi allaprogettazione, oppure nellasoluzione di un problema che viimpedisce di proseguire nellarealizzazione della vostra opera.Vi ricordiamo che sul sito di Fareelettronica è disponibile unforum dedicato al FEbot, chepotete utilizzare per confrontar-vi con gli altri partecipanti,oppure per chiedere consigli ofare proposte.

Attendiamo impazienti le vostreidee, i vostri suggerimenti ed ivostri consigli e non perdete ilprossimo numero con il proget-to della scheda madre!

ROBOMANIA104

ROBOMANIA

Figura 3: Una possibile configurazione elementare del FEbot

Page 104: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia
Page 105: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

ASPIRONE:UN ROBOT ASPIRAPOLVERE

IL CERVELLO

Come accennato nella puntataprecedente ho utilizzato unascheda commerciale denomina-ta MarkIII, questa scheda vieneproposta principalmente come“l’elettronica programmabi-le” per i robot da minisumo.È una scheda basata sulPIC16F877, un microcontrol-lore programmabile prodottodalla Microchip che ha carat-teristiche decisamente inte-ressanti per applicazioni hob-bistiche e, non da sottovaluta-re, un costo più che abborda-bile.In realtà il circuito è moltoflessibile e a mio avviso puòcostituire la base per molte rea-lizzazioni, la scheda viene ven-duta in rete sia in Italia cheall’estero, lascio a voi le valuta-zioni di convenienza fra i variofferenti.La scheda viene fornita “damontare” questo significa chericeverete il circuito stampato e i

componenti da saldare.Come potete vedere in figura 1e figura 2 non ci sono compo-nenti SMD e questo significache con un normale saldatore (eun po’ di esperienza) non dovre-

ste avere problemi, in rete trova-te anche l’elenco componenti eil layout dello stampato, lenumerazioni corrispondono enon ci sono errori.Per il montaggio dei componen-ti io inizio da quelli con profilopiù basso, solitamente le resi-stenze, poi i diodi e così via.

Ricordate di fare attenzione aicomponenti che hanno unapolarità (diodi e condensatorielettrolitici) o un verso (integratie zoccoli per gli stessi).Se acquistate la versione base

avete 2 integrati (oltre al PIC)che sono forniti senza zocco-lo, per antiche abitudini io gliintegrati li monto su zoccolo,sicuramente le spesa non èeccessiva e siete sicuri di non“cuocere” il circuito integratodurante la saldatura.Ultimato il montaggio prendia-mo in esame lo schema e lecaratteristiche di questa scheda.

LO SCHEMA ELETTRICO

Come anticipato lo schema elet-trico e il disegno del circuitostampato, lo potete scaricaregratuitamente dal sito del pro-duttore della scheda:http://www.junun.org/MarkIII/Info.jsp?item=3.Noi ne esaminiamo un bloccoalla volta.

ASPIRONE:UN ROBOT ASPIRAPOLVERE di Marco Fabbri

[email protected]

Riprendiamo come promesso l’argomento Aspirone, il nostro robot aspirapolvere.

Nella precedente puntata ci siamo occupati della costruzione meccanica,

analizzando solo marginalmente il cervello e i pensieri del nostro collaboratore

domestico.

seconda parte

ROBOMANIA

ROBOMANIA106

Page 106: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Partiamo ovviamente dallo sta-dio di alimentazione. Il circuitoprevede una doppia alimenta-zione per dividere i motori dal-l’elettronica, questo serve a farein modo che gli spunti deimotori non producano unacaduta di tensione tale da reset-tare il PIC generando il riavviodel programma. Nel connettoreT1 troviamo appunto 3 morset-ti, il numero 1 è l’alimentazionedei motori (V+), il numero 3 perl’elettronica (Vin), il numero 2 èa massa comune alle due ali-mentazioni (VSS).La tensione V+ va scelta ovvia-mente in base ai vostrimotori,non esiste infatti nessunaregolazione o protezione suquesta linea di alimentazione, seutilizzate dei comuni servoco-mandi questi sono normalmen-te alimentati a 6V ma anche a7,2V spesso il costruttore indicai dati di coppia e velocità, io lialimento a 8V e non mi dannoproblemi.Dalla parte Vin troviamo inveceun diodo di protezione contro leinversioni di polarità e un rego-latore della Maxim, precisamen-

te un MAX667CPA che forniscein uscita 5 V stabilizzati, un po’di condensatori a monte e avalle che filtrano i disturbi, unled verde che segnala la presen-za di tensione ed infine un ledrosso per la segnalazione di ten-sione insufficiente, in pratica,quando si accende il led rossosignifica che il regolatore non èin grado di mantenere i 5 V equesto a causa probabilmentedi una tensione a monte troppobassa. La tensione così stabiliz-zata viene indicata nello schemacome VDD e la ritroveremo neisuccessivi blocchi.Il prossimo blocco che analizzia-mo è apparentemente moltosemplice quello relativo al “line

Follower” o inseguitore di linea.Il circuito realizza tre partitori ditensione attraverso R8, R9, eR10 e i relativi fototransistor. Leuscite dei partitori indicate conLineR, LineC e LineL vanno col-legate a 3 porte del PIC e rispet-tivamente RE0, RE1, RE2. C’è poiuna serie di tre diodi led usatiper illuminare o meno a secon-da della riflessione sulla linea daseguire i fototransistor, comevedete i led sono in serie per cuidovrete collegarli tutti anche seuno non vi dovesse servire. Lacosa interessante è il collega-mento del partitore al PIC, sonoinfatti utilizzate delle porte cheaccettano anche un segnaleanalogico, questo significa chepotremo decidere via softwarese impostare l’ingresso comedigitale e quindi avere delle rea-zioni tipo ON/OFF oppureimpostarlo come analogico emodulare la reazione in funzio-ne del valore letto.Nel caso di Aspirone, oggetto diquesta puntata, al posto deifototransistor ci sono collegatidei normali finecorsa e quindi ilfunzionamento in digitale è piùche sufficiente ma è una possibi-lità da tenere a mente per possi-bili sviluppi.Cambiamo blocco e passiamo alOOPic Support. Nella versionebase questa opzione non vienefornita, in pratica vi manca ilchip 24LC32A, avete però ilconnettore J2 e JP1, il J2 è il con-nettore dove ci troviamo isegnali relativi al protocollo I2C,JP1 serve invece attraverso ilposizionamento di un ponticelload abilitare il protocollo a secon-da della versione scelta delMarkIII, in particolare per la ver-

ROBOMANIA 107

ROBOMANIA

Figura 2: I componenti necessari a realizzare lascheda MARKIII

Figura 1: La scheda MARKIII

Page 107: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

sione base non serve metterenessun ponticello. Attraverso ilprotocollo I2C potremo comu-nicare con tutta una serie di dis-positivi e/o memorie dove salva-re/leggere dati o acquisire infor-mazioni dal mondo esterno.Anche questa caratteristica cioffre molte possibilità di espan-sione e quantomeno la possibili-tà di lavorare di fantasia.Saltiamo ora al blocco chiamatoSerial Interface. Questa parte ècostituita essenzialmente da unsolo integrato, il DS232 checonverte segnali con logica TTL(0-5V) in segnali compatibili conlo standard RS232 (-12 +12V).In questo modo si realizzanodue funzioni importanti, una èquella di poter dialogare con lascheda attraverso la seriale con ilnostro PC e quindi avere infor-mazioni di vario tipo, dalla lettu-ra dei sensori allo stato degliingressi, la seconda, non menoimportante, è quella di realizza-re la famosa programmazione“in-circuit” ovvero senza smon-tare il PIC dal circuito (e senzaaver bisogno di un programma-tore). Per questa seconda fun-zione, il PIC che vi viene fornitonon è vuoto ma contiene al suointerno una piccola routine chia-

mata Picloader. Spendiamocidue parole. Il Picloader per lasua posizione in memoria, vieneeseguito ad ogni avvio/reset delPIC e non fa altro che monitora-re per 5 secondi le porte relativealla comunicazione seriale, senon trova dati in arrivo, passa ilcontrollo al programma princi-pale, diversamente, si mette inattesa dei comandi relativi allaprogrammazione. È facile vede-re all’opera il Picloader, colle-gando il PC alla scheda attraver-so la seriale e avviando il termi-nale di Windows. In rete è faciletrovare il Picloader e caricarlo sulproprio PIC qualora non ci sia,avrete però bisogno di un pro-grammatore per completare l’o-perazione.Andiamo avanti e parliamo deiconnettori, J3 e J4 che sono rela-tivi ai motori; sulla serigrafiadello stampato sono chiaramen-te indicati i colori dei fili secon-do gli standard dei servocoman-di, in pratica arrivano il più e ilmeno per l’alimentazione e ilsegnale PWM, inutile dire cheutilizzando dei servocomandi cisemplifichiamo la vita. J5 e J6sono i connettori previsti per isensori GP2D12, sono sensoriche misurano la distanza di un

ostacolo, hanno un’uscita analo-gica e sono infatti collegati alleporte RA2 e RA3 settabili comeingressi analogici, anche quinulla vieta di sostituirli con altrisensori (con uscita compatibile)per misurare altre grandezze. J7è il classico connettori a 9 politipo RS232. J1 è “il” connettore,sono infatti riportati tutti i pinutili del PIC oltre alle tensioni dialimentazione per poter espan-dere senza vincoli la nostra sche-da. Ovviamente nel farlo dovre-mo fare attenzione a cosa siamogià collegati sulla scheda edeventualmente isolare il bloccoche non ci interessa.Arriviamo all’ultima parte, ilblocco con il cervellone. In real-tà non c’è molto da dire, oltreall’identificazione dei diversi pine al loro collegamento, troviamoil quarzo per il clock e il pulsan-te di reset, ricordatevi che dopoil rilascio del reset avete 5 secon-di dove non succede nulla percolpa del Picloader.

Visto e compreso lo schema nondovrebbe essere difficile attivareAspirone, abbiamo due servo-motori e il collegamento èobbligato a J3 e J4, stessa cosadicasi per i GP2D12.Per i baffi, io ho usato tre fine-corsa e in questo caso si puòscegliere se collegarli uno aduno ai 3 partitori resistivi del linefollower (contatti 3 e 4) oppuremetterli tutti in serie ed utilizza-re un solo partitore riservandosigli altri due per sviluppi futuri.Per l’alimentazione ho realizzatoil circuito che vedete in figura 3su un bezzo di basetta millefiorie direi che si commenta da solo;come interruttore generale ho

ROBOMANIA

ROBOMANIA108

Figura 3: Circuito di alimentazione da montare su scheda millefori

Page 108: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

utilizzato un deviatore e l’ho col-legato in modo che, quandospengo Aspirone, posso collega-re il carica batterie al connettoreper la ricarica.

IL PENSIERO

Parliamo ovviamente del pro-gramma, ma visto che gli abbia-mo dato un nome, costa pocoimmaginare di dare al nostronuovo aiutante anche una per-sonalità.Il programma è scritto inPicBasic, successivamente com-pilato e quindi caricato nelmicrocontrollore.Ovviamente si può fare la stessacosa utilizzando altri linguaggidi programmazione.Il programma, che potete scari-care dal sito Web di FareElettronica, utilizza un interrupt

per mandare gli impulsi, attra-verso il comando PULSOUT, alleporte dei servocomandi, questatecnica rende facile inviare concontinuità il segnale PWM malimita un po’ l’uso del comandoPAUSE, per questo motivo que-st’ultimo viene sostituito da duecicli FOR-NEXT annidati e saràproprio sul numero di cicli chedovremo andare ad agire perottenere le rotazioni giuste di 90e 180 gradi.L’utilizzo di due cicli annidatipermette di avere due regolazio-ni, una grossolana e una fine, seaumenterete la variabile delciclo esterno anche di una solaunità è come se raddoppiaste ilnumero della variabile interna.Una volta caricato il programmaè necessario eseguire un po’ ditarature.Per prima cosa dovrete verificareche il vostro robot in assenza di

ostacoli vada diritto. Per farequesto appoggiatelo in terralontano da pareti o ostacoli eavviatelo; a meno di una fortunasfacciata il robot tenderà a gira-re a destra o a sinistra, regolere-mo i trimmer dei servocomandiper correggere la rotta, con unpaio di operazioni dovresteriuscire a centrare l’obiettivo.La seconda taratura è la rotazio-ne di 180 gradi. AvviateAspirone e lasciatelo andarecontro un ostacolo, quando ibaffi urteranno il robot retroce-derà di qualche centimetro e ini-zierà a ruotare su una sola ruota,se la rotazione è scarsa dovreteaumentare i cicli for-next di cuiabbiamo parlato, al contrario seè eccessiva li diminuirete.Potete a questo punto imposta-re i cicli per i 90 gradi a circa unquarto di quelli per i 180 (ven-gono usati entrambi i motori equindi metà tempo per metàspazio), ricaricate il programmae lasciate andare Aspirone, dopoil primo contatto con un ostaco-lo avremo la rotazione di 180gradi da un lato (a destra) segui-te il robot con un foglio biancoche gli avvicinerete al lato sini-stro poco prima del successivoimpatto frontale, Aspirone se neaccorgerà e dopo l’impatto ruo-terà solo di 90 gradi versodestra; se non lo farà modificatela variabile EYE_soglia diminuen-done il valore così da renderepiù sensibili gli occhi del vostrorobot.Vi spiego il perché di questocomportamento. Dopo la primarotazione a destra dovevaseguirne una a sinistra per con-tinuare a traslare lungo la stan-za, il muro sul lato però gli

impediva di eseguire questamanovra, per cui per non ripas-sare sullo stesso punto il robotha scelto di eseguire il cambiodi direzione come abbiamovisto nella prima puntata diquesto articolo. Questa sceltaha un particolare effetto collate-rale, infatti sembra che, osser-vandolo al lavoro, prevalga uncomportamento che prediligegli angoli e i bordi del muro(con grande soddisfazione perchi osserva).Verificate le varie condizioniosservando per qualche tempola vostra creazione al lavoro, ledifficoltà maggiori io le ho tro-vate nei baffi, o meglio nelrischio che questi si incastrinoda qualche parte, anche spar-gendo un po’ di polvere inqualche punto difficile o strate-gico per vedere se il lavoroviene eseguito a dovere, diver-samente… niente ricarica dellabatteria!Naturalmente questo program-ma è solo una delle tante possi-bilità e sicuramente state giàpensando ad una soluzionemigliore, ma… anche io e lesorprese o gli upgrade nonsono ancora finiti. Se avetenotato la figura 9 della primapuntata, vi sarete accorti chesulla sinistra si nota un piccolopulsante a linguetta che a quan-to pare non ha alcuna funzione,così come il connettore a duepin posizionato sopra, curiosi?Servono per la taratura dellabussola elettronica con la quale,oltre ad imparare qualcosa sulprotocollo I2C avremo un robotche sempre più prenderàcoscienza del mondo esterno.Non perdetevi i prossimi numeri.

ROBOMANIA 109

ROBOMANIA

Page 109: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

TUTTO IL CORSO “PIC®

MICROCONTROLLERBY EXAMPLE”SU CDROM

PIC® MICROCONTROLLER BY EXAMPLEEra il 1998 quando Fare Elettronica pubblicò laprima puntata del corso che all’epoca eranoto come “PIC By Example”. Visto l’enor-me successo e le grandi richieste da partedei lettori, il corso è stato rivisto, correttoe aggiornato, quindi pubblicato nuova-mente a partire dal numero doppioOttobre/Novembre 2003 che è anche ilprimo numero di Fare Elettronica sotto la nuovacasa editrice Inware Edizioni. L’interesse da partedei lettori non accenna a diminuire, come testimo-niano le domande ed i suggerimenti pervenuticopiosamente in Redazione. Per premiare questointeresse e questa inesorabile sete di sapere, FareElettronica ha raccolto tutta l’ultima versione delcorso in un unico CD-ROM arricchito di moltissimicontenuti speciali.

NAVIGANDO IL CD-ROMIl CD-ROM è predisposto per l’avvio automatico sequesto è abilitato sul vostro PC. In alternativa, lan-ciando il programma start.exe ed accettando la notasul copyright, si accede al menu di navigazione (figu-

ra 1) da cui è possibile esplorare tutti i contenuti.Da qui, cliccando sui titoli, si accede al file pdf di

ciascuna delle otto parti del corso. I file pdf, adalta risoluzione, sono leggibili con AcrobatReader anch’esso incluso nel CD e posso-no essere stampati ottenendo risultatiparagonabili a quelli tipografici. Cliccando

su “Indice del contenuto” si accede all’in-dice degli argomenti trattati nella specifica

parte del corso (figura 2). Cliccando invece su“Downloads” si accede ai file zip contenenti i pro-

TUTTO IL CORSO “PIC®

MICROCONTROLLERBY EXAMPLE”SU CDROMin

vet

rina

IN VETRINA110

C’è chi si è perso qualche puntata, c’è chi non trova più proprio

quel numero della rivista, c’è chi oramai è abituato a sfogliare libri

in formato elettronico… Da oggi tutti questi problemi sono risolti perché l’oramai

famoso corso PIC® Microcontroller By Example è ora interamente disponibile su

CDROM. Un CD che raccoglie tutte le puntate in formato Acrobat PDF e moltissimi

contenuti speciali. Scopriamolo insieme.

Figura 1: Il menu principale

Page 110: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

grammi sorgenti utilizzati nelle diverse parti.

I CONTENUTI SPECIALISi accede ai contenuti speciali mediante l’appositopulsante nel menu principale.DatasheetIn questa sezione è possibile accedere al datasheetdel PIC16F84A utilizzato nel corso, al datasheet deldisplay LCD 16x2 e del sensore ad infrarossi utiliz-zati negli esempi applicativi.CompilatoriLa sezione compilatori comprende una gamma dicompilatori per PICmicro® che consentono di pro-grammare i dispositivi utilizzando linguaggi di altolivello come il C o il Basic. I compilatori propostisono il PIC-C (versione Lite), il PicBasic Pro (compi-latore Basic) ed il PCW, compilatore C della HiTech.Ove disponibile, il compilatore è corredato delrelativo manuale utente.MPLABMPLAB® è l’ambiente di sviluppo di Microchip™ per

tutte le famiglie di PICmicro®. La versione democomprende il compilatore assembler (utilizzabileper compilare i progetti presentati nel corso) el’help in linea che ne descrive l’utilizzo.CD FE2003La versione demo del CD-ROM “Annata FareElettronica 2003”. La versione demo comprende ilpdf del solo numero 222 (Dicembre 2003) con irelativi files. Il numero 222 è interessante in quan-to comprende il progetto di un programmatoreper PICmicro® che può essere utilizzato per le eser-citazioni proposte nel corso.SoftwareNella sezione software troviamo le versioni demodi sPlan 5.0 per il disegno degli schemi elettrici, disPrint Layout 4.0 per il disegno dei circuiti stam-pati e di Front Designer 2.0 per il disegno deipannelli frontali.

IL PREZZOIl CDROM ha un prezzo speciale di € 15,00 e puòessere ordinato telefonando allo 02-66504794oppure scrivendo a [email protected].

IN VETRINA 111

Figura 2: L’indice del contenuto della prima parte

Figura 4: I contenuti speciali

Figura 5: La demo del CD “Annata Fare Elettronica 2003”

Figura 3: La prima pagina del corso visualizzata da Acrobat

Page 111: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

VALVOLE AUDIO

Le Valvole Termoioniche, con la loro lunga storia,ci restituiscono ancora oggi tutto lo splendore delsuono nelle sue molteplici sfumature offrendoci lapossibilità di utilizzare il termine Audio nella piùalta eccezione. Il CD-ROM raccoglie i dati di oltreduecento Valvole specifiche per impieghi audio,sia di produzione attuale che passata, per rispon-dere in tal modo alle esigenze dei progettistiquanto degli audiofili che possiedono preamplifi-catori, amplificatori e radioricevitori vintage. Unostrumento unico e completo che è a vostra dispo-sizione per farvi apprezzare ancora di più le infini-te possibilità applicative dei “tubi a vuoto”.

CARATTERISTICHEOltre 200 tipi di valvole trattate, Americane,Europee ed Asiatiche. Per ogni valvola troviamodescrizione, piedinatura, equivalenti, caratteristi-che statiche, caratteristiche dinamiche, eventualeschema applicativo, condizioni operative reali,curve caratteristiche.Nelle applicazioni per amplificatore sono trattatele classi A, AB, B con schemi a valvola singolaoppure push-pull. Per gli amplificatori sono forni-ti le tensioni e correnti, il guadagno, la distorsio-ne, la potenza in uscita, il valore dei componentidello schema applicativo.Non mancano grafici che mostrano le tipichecaratteristiche statiche, dinamiche e specifiche perl'applicazione.Infine, troviamo un glossario sempre disponibi-

le per una facile consultazione della terminolo-gia tecnica.I contenuti del CD-ROM, liberamente stampabilisono interamente in italiano.Il CD-ROM funziona su PC con sistema operativoWindows 95 o superiore.

Il CD-ROM "Valvole Audio" costa € 49,00 e si puòtrovare presso uno dei punti vendita PianetaElettronica / Eurocom-Pro. Per conoscere il puntovendita più vicino, per ulteriori informazioni sulprodotto, o per ricevere il CD-ROM direttamentea domicilio, far riferimento a:Pianeta ElettronicaTel. 06.454.33.731servizio@pianetaelettronica.itwww.pianetaelettronica.it

VALVOLE AUDIOin

vet

rina

IN VETRINA112

Pianeta Elettronica presenta "Valvole Audio" il

nuovissimo CD-ROM sviluppato da Eurocom-Pro,

azienda dedicata allo sviluppo di software e

multimedia per elettronica e telecomunicazioni.

Nel CD-ROM sono raccolti i dati di oltre

200 valvole specifiche per impieghi audio.

Figura 1: Esempio di schermata

Page 112: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Ses

sio

ne

Mat

tuti

na

(09.

00-1

3.00

)

Nome e Cognome Azienda

Via Cap Città Prov.

Tel. Fax E-mail

Sessione Workshop:

Mattutina (€ 99,00 + Iva compreso un sistema HD1100)

Pomeridiana (€ 99,00 + Iva compreso un sistema LS100)

Entrambe (€ 189,00 + Iva compreso un sistema HD1100 e un LS100)

Evento di*: Roma Milano Padova Torino

Organizza

ISCRIVITI AD ENTRAMBE LE SESSIONI AL PREZZO IRRIPETIBILE DI € 189,00 +Ivacompresi 2 sistemi del valore complessivo di € 250,00 +IVA (1 mod. HD1100 + 1 mod. LS100)

SCHEDA DI PREREGISTRAZIONE

Da compilarsi in ogni sua parte ed inviare via fax al n. 02 66508225 o per e-mail ad [email protected]È possibile iscriversi online all’indirizzo www.elettroshop.com/academy

Il corso permetterà al partecipante di

apprendere nozioni sulla configurazione

ed integrazione dei dispositivi

Sena Technologies (www.hellodevice.it)

serie HD1x00, Serie Super SS110, SS400, SS800

QUOTA DI PARTECIPAZIONE € 99,00 + IVA*

COMPRESO UN MICRO WEB SERVER

MOD. HD1100 DEL VALORE DI € 125,00 + IVA

QUOTA DI PARTECIPAZIONE € 99,00 + IVA*

COMPRESO UN SERIAL/ETHERNET CONVERTER

MOD. LS100 DEL VALORE DI € 125,00 + IVA

Il corso permetterà al partecipante di

apprendere nozioni sulla configurazione ed

integrazione dei dispositivi Sena Technologies

(www.hellodevice.it) serie Lite, Pro, STS, VTS.

L’INTERFACCIAMENTO

DEI DISPOSITIVI SERIALI

ALLE RETI LAN

EMBEDDED

INTERNET

Argomenti principali della sessione:

• la conversione Seriale/Ethernet semplice ed economica

• bridge di dispositivi seriali mediante LAN

• interfacciamento di dispositivi con diversi livelli di

integrazione (dal modulo all’apparato multiporta)

• il console management

• domande e risposte

Argomenti principali della sessione:

• problematiche di connessione di apparecchiature

e dispositivi elettronici alle reti TCP/IP

• i micro web servers Sena Technologies ed

i loro possibili campi di applicazione

• tecniche per il controllo remoto e via web

• domande e risposte

In collaborazione con: SENA TECHNOLOGIES

* Seguiranno dettagli sulle date degli eventi (I Workshop si terranno nei mesi di Settembre/Ottobre2004) e sulle modalità del saldo della quota di partecipazione

Ses

sio

ne

Po

mer

idia

na

(14.

00-1

8.00

)

I° WORKSHOP SUL

DEVICE NETWORKING

Autorizzo il trattamento dei dati personali ai sensi della Legge 675/96

Firma

Page 113: • IL TIMER 555: AD METRONOMO ELETTRONICO ......Tiziano Galizia t.galizia@farelettronica.com Verso la fine degli anni ’80 lavoravo come progettista, i miei cavalli di battaglia

Pagherò con: (barrare la casella prescelta)

Abbonamento: (barrare la casella prescelta)

Privacy. Il trattamento dei dati, in forma automatizzata e con modalità strettamente connesseai fini, con garanzia di riservatezza, è finalizzato all’invio del presente periodico allo scopo diinformare ed aggiornare i lettori e gli operatori del settore elettronico sulle novità che il mer-cato propone. Potranno essere esercitati i diritti di cui all’articolo 13 della legge 675/96(accesso, correzione, cancellazione, opposizione al trattamento, ecc.). Il titolare del tratta-mento dei dati è Inware srl con sede a Cormano (MI) in via Cadorna 27/31. Nel caso si trattidi copia omaggio a titolo promozionale si rende noto che i dati provengono da archivi pubbli-ci. Resta inteso che le informazioni in ns. possesso non saranno in nessun caso cedute a terzi.

Bollettino Utilizzare il C/C N. 22790232 intestato ad Inware srl,

postale indicando nella causale “Abbonamento a Fare Elettronica”

Bonifico Appoggiarlo sulla banca: Poste Italiane

bancario CIN: Z - ABI: 07601 - CAB: 01600 - C/C: 000022790232

Carta Titolare:

di credito Numero: Scadenza:

Standard: Mi abbono a Fare Elettronica per un anno (11 uscite) a soli € 39,00 anziché € 51,00

Rinnovo: Sono già abbonato ed intendo rinnovare il mio abbonamento in scadenza. Fare Elettronica per un anno

(11 uscite) a soli € 39,00 anziché € 51,00, il mio codice abbonamento è

Regalo: Regalo ad un amico Fare Elettronica per un anno (11 uscite) a soli € 35,00 anziché € 51,00

Riservato agli abbonati, il mio codice abbonamento è

Scuole: Cinque abbonamenti a Fare Elettronica per un anno (11 uscite) a soli € 156,00 anziché € 195,00

Riservato a Scuole ed Università

Cognome Nome

Azienda

Via CAP Città Prov.

Tel. Fax email

Si, desidero abbonarmi a a partire dal primo numero raggiungibile

Per completare l’attivazione dell’abbonamento, prego comunicare gli estremi (data e modalità prescelta)dell’avvenuto pagamento via telefono al numero (+39) 02.66504794 o via fax al numero (+39) 02.66508225

Firma

Abbonati subito!

• Compila il coupon e invialo via fax al numero 02.66508225

• Abbonati on-line: www.farelettronica.com

• Spedisci questo coupon in una busta chiusa a INWARE Edizioni• Via Cadorna, 27/31 - 20032 Cormano (MI)

• Chiamaci al numero 02.66504794

S c h e d a d i r i c h i e s t a a b b o n a m e n t o

EDIZIONI

FE - 231