G. Schgör   -  (Feb. 2004)

 

Esperienze  di programmi  didattici  in Rete

 

 

Sommario

Vengono presentati programmi per l’apprendimento dell’Elettronica, disponibili in Internet, e basati sulla ‘simulazione’ del funzionamento dei circuiti fondamentali.

Vengono in particolare illustrati i criteri con cui questi sono stati sviluppati e i vantaggi che, secondo l’autore, dovrebbero trarne sia i docenti che gli  allievi.

L’autore auspica inoltre che, attraverso la Rete, possa essere instaurato con i docenti uno scambio di esperienze didattiche sull’uso appunto dei programmi di simulazione, per migliorare l’istruzione tecnica nelle scuole italiane.

 

 

1.  Le  premesse

La serie di programmi didattici qui presentata ha una lunga storia.

Alcuni di questi risalgono ad oltre 35 anni fa, all’apparire sul mercato alla fine appunto degli anni ’60 dei primi minicalcolatori.  Non erano ancora gli attuali personal computer (che cominciarono a diffondersi solo all’inizio degli anni ’80), non avevano monitor né  memorie di massa e l’unica interfaccia con l’operatore era costituita da una telescrivente, quindi le capacità grafiche erano assai limitate.

Eppure già allora si potevano intravedere  le enormi potenzialità di applicazione nella progettazione e nella didattica.

 

Gli articoli di una serie [1]  apparsa fra la fine del 1969 e l’inizio del 1970, illustravano queste possibilità e l’enorme evoluzione dei successivi personal computer non fece che potenziare tali caratteristiche.

 

L’evoluzione soprattutto dei linguaggi dalle primitive forme di Basic alla programmazione per oggetti (come VisualBasic per Windows), permise infatti di produrre programmi sempre più facili da usare e con grafica sempre più sofisticata.

Ma mentre per scopi di  progettazione è ormai indiscusso e preponderante in tutti i campi l’utilizzo del calcolatore elettronico, non appaiono però a tutt’oggi realizzate appieno le prospettive  di applicazione alla didattica.

 

Questo  è il principale argomento che verrà qui trattato, assieme all’indicazione di come trarre effettivi vantaggi  da un più intelligente uso del calcolatore e della rete Internet, al di là delle troppe ed inutili chiacchiere che circolano nella Rete stessa.

 

 

2.      La  simulazione.

Il concetto di simulazione è molto semplice: per l’analisi di un oggetto (ad es. un componente, un circuito o un intero apparato), invece di impiegare l’oggetto reale, si programma un calcolatore perché si comporti, al fine di quell’analisi, nello stesso modo di come si comporterebbe l’oggetto stesso.

Se ne possono quindi studiare le caratteristiche  senza  fisicamente maneggiare l’oggetto e senza nemmeno disporre degli apparati di misura che altrimenti sarebbero necessari.

La simulazione non è quindi altro che una ‘modellizzazione’ matematica che produce determinate risposte a dati stimoli.

Si realizza in effetti un   ‘laboratorio virtuale’  che permette di sperimentare in modo oltremodo semplice e sicuro, sia per la messa a punto progettuale dell’oggetto, sia per un’indagine conoscitiva sul suo comportamento.

Quest’ultimo punto è di fondamentale importanza per la didattica, permettendo a chiunque di ‘sperimentare’ (e quindi capire meglio) come ‘funziona’  l’oggetto esaminato.

 

I vantaggi di questo approccio sono evidenti, potendo ad esempio mettere in risalto le caratteristiche teoriche, cioè studiare un oggetto ideale, senza i limiti e le imperfezioni dell’oggetto reale, al fine di semplificarne la comprensione.

L’obiezione che ciò  porta ad una conoscenza astratta, è sicuramente fondata, ma si può facilmente ribattere che  gran parte delle tecniche progettuali è di fatto basata su assunzioni di questo tipo. Si pensi  all’implicito  comportamento lineare dei componenti nel progetto di un circuito elettrico.

 

A questo proposito si deve anzi sottolineare che la simulazione mediante calcolatore può tener conto di limiti e non-linearità, che possono essere introdotti nel modello, complicandone la struttura, ma riproducendo un comportamento approssimato a piacere alla realtà.

 

3. Un esempio concreto: il partitore di tensione.

Per dare un’idea più concreta della simulazione mediante calcolatore, possiamo riferirci ad un caso estremamente semplice di circuito elettrico come è quello di un partitore di tensione (vedi fig.1), in cui un alimentatore è collegato ad una serie di  2 resistenze e un potenziometro centrale, dal cui cursore viene alimentato un carico resistivo Rc.

 

fig.1 -  Esempio di simulazione di un partitore di tensione

 

Dati i parametri, tutti prefissabili scrivendone i valori nelle rispettive caselle gialle, della tensione dell’alimentatore Vi, delle resistenze e del potenziometro, nonché di Rc, si vuole conoscere il valore della tensione sul carico Vu, in funzione della posizione del cursore.

Quest’ultimo è comandabile con il mouse per trascinamento o clickando  sulle freccette superiore o inferiore del potenziometro stesso.

La posizione del cursore va da 0 (estremo inferiore) ad 1 (estremo superiore) con indicazione nella casella gialla sotto il cursore.

La casella in rosso indica la tensione d’uscita cercata, Vu, e varia appunto con la posizione del cursore, da un valore minimo ad uno massimo.

Per rendere visibile l’andamento qualitativo  di Vu in funzione della posizione del cursore è stato aggiunto, a destra della figura, un apposito grafico a tratto rosso.

Ovviamente, la staticità della fig.1 qui riportata non consente di apprezzare appieno la facilità d’utilizzo dell’effettivo programma, che può solo essere immaginata.

 

 

fig.2 -  Altro caso della stessa simulazione di fig.1

 

 

Ma per meglio apprezzare l’efficacia didattica, si riporta in fig.2 un’altra situazione, in cui si sono invertiti rispetto alla fig.1, i valori nominali di Rc e P, e si è azzerata R2: questo comporta una grossa non-linearità di Vu in funzione della posizione del cursore (addirittura una curva ad S), a dimostrazione della complessità di calcolo richiesta già da un’applicazione così semplice.

 

E’ tuttavia evidente che molto più interessanti possano essere simulazioni di funzionamento ad esempio di circuiti elettronici, in cui è di fondamentale importanza mostrare l’evoluzione nel tempo di segnali o di stati che  modificano il funzionamento stesso: i circuiti riportati nei testi scolastici sono di per sé incomprensibili senza lunghe descrizioni che li commentano.

In questo senso una simulazione orientata a mettere in risalto le sequenze più importanti, corredate di tutte le informazioni utili,  possono illustrarne il funzionamento molto più efficacemente di qualsiasi spiegazione e meglio anche delle stesse esercitazioni di laboratorio, che spesso  permettono  soltanto di constatare il funzionamento, ma non il come ed il perché.

3.      I requisiti per la stesura di un programma di simulazione.

Da quanto già detto, dovrebbe apparire chiaro che la stesura di un programma di simulazione per usi didattici richiede  specifiche competenze.

Si citano qui le 3 principali:

-  conoscenza profonda dell’argomento trattato

-  conoscenza degli algoritmi necessari alla simulazione

- conoscenza  dei linguaggi di programmazione adatti alla presentazione ed al colloquio con l’utente.

 

Esaminiamo questi punti.

Il primo è evidente: non si dovrebbe insegnare ciò che non si conosce (evidente, ma non sempre rispettato, come spesso appare da molti testi scolastici in circolazione).

 

Il secondo riguarda l’elaborazione del modello matematico utilizzato per simulare il comportamento dell’oggetto considerato: mentre  per alcuni casi è sufficiente un’elaborazione algebrica delle relazioni che legano tra loro i vari parametri in gioco, per altri (ad esempio per fenomeni comportanti relazioni integro-differenziali) sono  richieste procedure per differenze finite, il che non è purtroppo abbastanza diffuso nel bagaglio culturale dei docenti italiani.

(Per gli algoritmi vedi ad  es. [2] e [3], per la simulazione in generale vedi [4] e [5]).

                                    

Il terzo punto riguarda la scelta del linguaggio da adottare: anche qui si segue troppo spesso la moda del momento. Se in principio è abbastanza vero che con qualsiasi linguaggio  si può risolvere qualsiasi problema, non lo è in pratica.

Un linguaggio attualmente di moda è Java, che ha indubbi vantaggi per le necessità di collegamenti  Internet, ma che comporta (almeno allo stato attuale) qualche difficoltà  nella stesura in modo semplice di  programmi di calcolo e simulazione ( è vero che ci sono meravigliosi programmi grafici di simulazione in Java, ma  la loro stesura richiede la disponibilità di intere ‘librerie’ di sottoprogrammi).

Personalmente ritengo difficilmente superabile per questi scopi la semplicità formale dei  programmi scritti in VisualBasic per Windows, anche se oggi ritenuti da molti ‘invecchiati’ .

 

Ad ogni modo, la cosa più importante sarebbe di sfruttare il più possibile ed in qualsiasi forma le potenzialità del calcolatore per migliorare l’insegnamento scolastico ma la visita  dei siti italiani esistenti in Rete è, a questo proposito, desolante (vorrei sinceramente essere smentito da segnalazioni che mi dimostrino il contrario).

Quei pochi esempi di pagine Web dedicate in particolare all’Elettronica che mi è capitato di visitare mi portano a concludere che  siamo ben lontani da questo scopo, anche in uno dei settori più trainanti dell’industria.

 

Per questi motivi, rivolgendomi soprattutto agli Insegnanti di Elettronica, propongo la mia collaborazione (ovviamente gratuita)  per la stesura di programmi che abbiano appunto lo scopo di migliorare l’insegnamento scolastico, basandosi sulla simulazione al calcolatore degli esperimenti  didattici.

Ai docenti è richiesto di segnalare, in base alla loro esperienza d’insegnamento, argomenti e metodologie di illustrazione, che ritengano maggiormente interessanti ed utili, il tutto mediante e-mail. (il mio indirizzo è:     g.schgor@polaris-net.it    )

 

 

 

 

4. Le basi di partenza

Ovviamente non si tratta di partire da zero. Come dovrebbe già essere chiaro, questa proposta è basata su una ormai cinquantennale esperienza nel campo dell’Elettronica (praticamente nata fin  dagli inizi di questa tecnologia), ed in particolare su quarant’anni di attività professionale nell’applicazione di questa all’Automazione Industriale.

Nell’ultimo decennio, ho avuto quindi modo di riordinare, rivedere ed aggiornare molti dei programmi sviluppati in precedenza per scopi specifici (tra cui quello della formazione aziendale di  tecnici, in tempi in cui l’elettronica non era ancora materia scolastica).

Questo dunque ha portato a serie di programmi che coprono praticamente tutti i vari settori applicativi di questa tecnologia, cioè l’Elettronica Analogica, la Digitale  e quella  di Potenza. (Un discorso a parte riguarda il settore Teletrasmissioni, che richiede particolari basi di conoscenza e supporti di calcolo più complessi).

 

E’  impossibile dare in poche pagine una visione completa di tutto questo.

Mi limiterò quindi a pochi esempi, e limitatamente al settore Digitale, facendo però una premessa.

Un singolo programma di simulazione è uno strumento didattico che richiede il supporto di un Insegnante, che ne inquadri le basi teoriche e le finalità applicative. Di per sé non è quindi utilizzabile direttamente da un allievo, cioè non è destinato ad un uso autodidattico.

I numerosi programmi disponibili sono quindi pensati principalmente come supporto all’Insegnante e, almeno inizialmente,  l’obbiettivo era una distribuzione via Internet  riservata ai Docenti interessati.

Ma la Rete  offre una possibilità di accesso a chiunque, quindi è parso opportuno fornire anche un supporto più ampio, con Corsi applicativi illustranti le modalità di impiego dei vari programmi di simulazione. I singoli corsi, scritti in linguaggio Java, rappresentano quindi sia un suggerimento per  l’utilizzo da parte degli Insegnanti, sia una guida  per autodidatti.

 

 

fig.3  -  Struttura modulare dei corsi di Elettronica Digitale

La  fig.3 rappresenta la pagina Web che raggruppa e permette di accedere ad ogni corso.

Come si vede, ciascun corso è pensato come un ‘modulo’ per seguire un percorso finalizzato a dare una conoscenza di base per  i principali settori applicativi industriali delle tecniche digitali.

A ciascun corso corrisponde in pratica un programma di simulazione (in VisualBasic ed ottenibile per il momento solo su richiesta via e-mail) che permette le esercitazioni suggerite dal corso stesso.

 

 

 

5.   Esempi tratti dai Corsi

Anche qui è difficile scendere nei dettagli dei singoli argomenti e sono costretto a dare solo dei flash che suggeriscano opportunità di applicazione.

 

La  fig.4 , tratta dal Corso di Logica Booleana, mostra la possibilità di composizione di un’espressione logica e la sua  immediata interpretazione rispettivamente in tabella della verità ed in diagramma di Venn. 

La connessione fra questi 3 modi di rappresentazione di condizioni logiche è resa evidente ed aiuta a capire il  ‘significato’ dell’espressione.

E’ ovvio che il corso introduce passo per passo le varie operazioni logiche, dandone appunto un’interpretazione grafica, certamente più immediata ed efficace delle definizioni astratte.

 

 

fig.4 – Esempio di programma per l’interpretazione delle espressioni booleane.

 

 

 

 

La  fig.5, tratta dal Corso di Logica Combinatoria, mostra un laboratorio virtuale in cui è possibile creare elementi logici, collegarli in un circuito combinatorio e provarne il funzionamento.

Chiunque abbia affrontato le difficoltà pratiche di realizzazione e di prova di circuiti di questo tipo, dovrebbe apprezzarne la semplicità d’uso, ma l’apprezzamento dovrebbe essere  soprattutto per le possibilità di verificare sperimentalmente (anche se in modo ‘virtuale’) il comportamento di qualsiasi configurazione.

 

 

fig.5 – Esempio di  schema realizzato con il programma di creazione e prova circuiti logici (fino a 9 elementi).

 

 

Con il Corso di Logica Sequenziale, che illustra gli elementi di ‘memorizzazione’ dei segnali e quelli di temporizzazione, si conclude il primo percorso, quello relativo all’Automazione Industriale.

Fra gli esempi di questo corso, viene qui riportata (fig.6) la configurazione dei comandi di un ascensore (in particolare viene qui mostrato solo il controllo dell’apertura e chiusura della porta). Si sottolinea che il programma permette di seguire in tempo reale l’evolversi dei segnali di comando in concomitanza con i movimenti dell’ascensore, in modo da visualizzare le relative sequenze.

Questo rende semplice l’apprendimento dei concetti di  applicazione dei Set-Reset Flip-Flop (i rettangoli riportati in figura),  altrimenti percepiti come oggetti astratti, fine a sé stessi..

 

fig.6 -  Esempio di automatismo sequenziale (comandi di un ascensore: circuito controllo porta).

 

 

A questo proposito, devo esprimere una certa perplessità nel come questi argomenti sono trattati nei libri di testo che vanno per la maggiore nelle scuole tecniche superiori italiane: alcuni trattano solo la logica combinatoria, altri associano i circuiti sequenziali esclusivamente alle applicazioni di conteggio. Quasi nessuno cita i circuiti di temporizzazione  (essenziali nella pratica degli automatismi industriali) ed i concetti di ‘fase’ in una sequenza.

 

 

 

Proseguendo con la panoramica dei Corsi,  deve essere evidenziata l’importanza della  Numerazione Binaria che è basilare negli altri percorsi didattici verso la Strumentazione Digitale ed i Calcolatori Elettronici.

Questa numerazione viene presentata, nel corso relativo, in modo ‘naturale’ perché venga compresa  intuitivamente, comprese le conversioni con quella decimale, ma è soprattutto la simulazione delle operazioni (somma, sottrazione, moltiplicazione) che rende facile l’apprendimento.

 

Da questo corso è tratta la fig.7 , che simula appunto passo per passo, lo svolgimento dell’operazione (come al solito l’immagine statica non rende l’efficacia della sequenza).

 

 

fig.7 -  Esempio di svolgimento di una moltiplicazione in sistema binario.

 

 

Poche esercitazioni, cambiando i termini dell’operazione, permettono di afferrare l’essenza del procedimento.

 

Questo è vero in generale per tutti  i programmi di simulazione, indipendentemente dall’argomento trattato.

 

Altri esempi che vale la pena di citare sono i circuiti di conteggio impulsi.

Il relativo corso presenta i blocchi di base, cioè i vari tipi di Flip-Flop, ed il loro utilizzo per realizzare Shift-Register, Contatori Binari e Contatori Decimali (BCD).

 

In particolare la fig.8 mostra  appunto lo schema di una decade, sottolineando la possibilità di effettuare il conteggio e l’azzeramento, rispettivamente con i tasti C ed R della tastiera del calcolatore.

L’esercitazione in questo caso consiste nel seguire le variazioni degli stati d’uscita dei vari J-K Filp-Flop (rappresentati dai rettangoli) ad ogni impulso di clock (tasto C) in ingresso.

Gli stati sono rappresentati come  ‘1’   o   ‘0’  nei rettangolini gialli sia agli ingressi che alle uscite dei singoli Flip-Flop.

 

La comprensione di tutti questi elementi, eventualmente completati dai circuiti di conversione D/A e A/D, è indispensabile per affrontare tutta la Strumentazione Digitale.

fig.8 -  Esempio di contatore decadico (funzionante nel programma di simulazione con i tasti  C  ed  R)

 

 

 

L’ultimo esempio , la fig.9, è tratto dal Corso sui Circuiti di Elaborazione, cioè l’introduzione nella parte dei microprocessori (quindi di tutti i calcolatori elettronici commerciali), che ‘elabora’ i dati.

In questo corso, oltre alla presentazione dei circuiti semisommatori e sommatori, viene fisicamente simulata l’unità aritmetico-logica (ALU), mostrandone le funzioni appunto di elaborazione

 

La fig.9  completa la visione della funzionalità, associando all’ALU i vari registri (collegati dal Bus dati), ma soprattutto mostra, passo per passo, lo svolgimento programmato di una moltiplicazione binaria, come esempio di una tipica elaborazione.

 

Personalmente ritengo che esercitazioni del genere siano estremamente efficaci ma, non essendo un insegnante,  pongo la questione ai competenti, chiedendo  in che modo si potrebbe ulteriormente migliorare l’insegnamento di queste materie.

 

Per completezza, devo citare che in quest’ultimo Corso, viene illustrato un analogo programma di simulazione riguardante lo svolgimento di elaborazione  di un’espressione logica (quindi un esempio di ‘logica programmata’), per fornire una visione più ampia delle intrinseche possibilità di applicazione del microprocessore.

 

 

fig.9 – Esempio di simulazione di un programma di moltiplicazione fra numeri binari.

 

 

A conclusione di questa presentazione, ribadisco che sono già disponibili molti programmi con gli stessi criteri di simulazione in  vari settori  quali l’Elettrotecnica (analisi circuitale in continua e in alternata), l’Elettronica Analogica (amplificatori operazionali e loro applicazioni, lineari e non-lineari,  regolazione automatica con  possibilità di progetto e prova prestazioni) e l’Elettronica Industriale ( o di Potenza, con simulazione di componenti e di interi apparati, quali choppers, invertitori e convertitori).

 

Mi auguro che l’invito allo scambio di esperienze didattiche in questo senso non vada perduto.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BIBLIOGRAFIA  (solo per appassionati di  archeologia informatica)

 

[1] Rivista  AUTOMAZIONE E STRUMENTAZIONE

     G. Schgör  - <I progettisti e i linguaggi di programmazione semplificati>

n.11 - nov.1969  -  < Il  Focal nel calcolo di una funzione di trasferimento >

n.12 - dic. 1969  -  < Registrazione di grafici con calcolatore >

n.  1 - gen.1970  -  <Il calcolatore come mezzo didattico >

n.  2 - feb. 1970  -  <Il calcolatore nel progetto di schemi logici >

 

[2]  Rivista  MARELLI     4° trim. 1972

G. Schgör  - <L’impiego di un minicalcolatore numerico nello studio di sistemi di                                            regolazione analogica>

 

[3]  Rivista  TECNICHE DELL’AUTOMAZIONE      n. 11  -  nov. 1973

      G. Schgör  - <Algoritmi per regolazioni automatiche con microelaboratori >

 

[4]  Rivista  TECNICHE  ELETTRONICHE    n. 1 -  gen. 1981

      G. Schgör  - <Il personal computer nell’insegnamento dell’elettrotecnica >

 

[5]   Rivista  TECNICHE  ELETTRONICHE    n. 3 -  mar. 1981

      G. Schgör  - <Il personal computer per la simulazione dei fenomeni fisici >