Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

5
voti

La ventola impazzita

Per riacquistare la giovinezza basta solo ripeterne le follie. Oscar Wilde


La scheda era abbastanza semplice.
Monoprocessore, Microchip, PIC 16C65 con risuonatore ceramico, montato su una delle due schede pcb monofaccia ( costano poco... ). Il software doveva prevedere un driver per un motore passo passo ( per il deflettore), uno per il controllo velocità di una ventola con triac a taglio di fase, una interfaccia seriale IR di comunicazione con un telecomando, la lettura di una tachimetrica prevista con frequenze sino a 3/4 kHz, la lettura di un paio di sonde ntc e infine il consueto zero cross della rete. Visto che c'eravamo abbiamo pensato bene di implementare anche un piccolo sistema operativo per gestire meglio tutti i driver, considerandoli come delle task separate e una ulteriore interfaccia seriale di diagnostica.
Tutto il progetto era rigorosamente sviluppato direttamente in assembly perché questo tipo di microcontrollore ha caratteristiche poco digeribili per un compilatore C. Considerate anche che stiamo parlando di un vecchio 16C65 e che a quel tempo era un ricco microcontrollore con 4K di ROM e ben 192 byte di RAM tutte impaginate, come potete ben capire ogni byte risparmiato era un successo progettuale....
Abbiamo terminato il prototipo alla fine dell'inverno e prodotto la prima preserie.
Numerosi i test funzionali e le verifiche hardware implementate. La commessa doveva garantire produzioni da 10000 pz l’anno (uno scherzo in confronto alle produzioni richieste dai lavatriciari ). Questo prodotto, era uno delle decine di progetti sviluppati in una prolifica azienda nel settore dell’elettrodomestico in generale, nel particolare, questa scheda era prevista invece per il controllo di un condizionatore, completamente progettato e sviluppato in Italia. Una vera scommessa industriale a quel tempo.

Per questo meritava un piccolo gioiello elettronico. Il progetto prevedeva lo sviluppo anche del telecomando basato su un micretto sempre della Microchip, dove implementava una interfaccia ad un lcd senza utilizzare driver integrati, utilizzando “semplicemente” i pin del micro per il pilotaggio dei segmenti.
Ancora una volta la preserie venne sviluppata senza problemi rilevanti e i primi condizionatori furono prodotti e installati nella sede del cliente e anche nella nostra per effettuare i test funzionali d’uso.
Ovviamente pensarono bene di installare split esterno e condizionatore nella stessa stanza ( per non perdere troppo tempo ). Così producevamo migliaia di condizionatori l’anno ma eravamo privi di aria condizionata come il calzolaio che va in giro con le scarpe rotte...
L'azienda cliente, raggiunta la primavera, incominciò a segnalare vari problemucci tutti di secondaria importanza, fra i tanti sostenevano che la ventola saltuariamente diventasse rumorosa all'improvviso.
Chiedemmo, per scrupolo, maggiori informazioni ( perché siamo sempre preoccupati quando un cliente ci segnala anomalie difficili da spiegare....), ma non avevamo mai trovato problematiche che potessero essere riconducibili ai difetti da loro rilevati.
La segnalazione si ripetè con frequenza crescente e il problema non rimase più un generico rumore della ventola, ma qualcosa di più preoccupante.
Il controllo della ventola era effettuato da un pseudo pid integrativo con setpoint di velocità e le indicazioni denunciavano un serio problema non ripetibile.
Tutta questa situazione indeterminata, si svelò un giorno quando nel condizionatore installato proprio davanti alla mia postazione, la ventola incominciò ad aumentare e a diminuire di velocità spontaneamente.
Era come se la scheda perdesse il controllo del setpoint, facendo rallentare o accelerare la velocità della ventola e giustificando così i problemi denunciati sin dall’inizio dal cliente, che erano appunto la rumorosità anomala. Se si provava a spegnere e riaccendere la macchina il problema spariva per poi ricomparire dopo un po' di tempo.
Driver, task, interrupt, overlay di memoria .... ma sopratutto perché le nostre macchine di test non l'avevano mai fatto ?

26/06/95 14.59 Creata nuova task per gestire il buzzer. Visto che sia il buzzer che la task per la lettura delle sonde di temperatura utilizzano la stessa risorsa ( Timer1 ), attraverso il sistema operativo abbiamo fatto in modo da impedire che si ostacolino a vicenda. Il buzzer viene attivato con due consensi uno é l'evento rilevato dalla fine della ricezione telecomando e l'altro dalla attesa lunga fatta fra una lettura di ntc completa e l'altra. Sono state create due costanti ulteriori con l'indirizzo completo dell'evento ( NTC_EXE, TLC_EXE )

2

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.