CONTROLLO NUMERICO DI UN TORNIO DI TIPO DIDATTICO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "CONTROLLO NUMERICO DI UN TORNIO DI TIPO DIDATTICO"

Transcript

1 CONTROLLO NUMERICO DI UN TORNIO DI TIPO DIDATTICO ELETTRONICA E TELECOMUNICAZIONI AREA DI PROGETTO TESINA PLURIDISCIPLINARE ISTITUTO TECNICO INDUSTRIALE STATALE MAX PLANCK o LANCENIGO VILLORBA (TV) CLASSE V A/Z anno scolastico 2001/2002 o CORSO SERALE Alla realizzazione della tesina hanno partecipato De Luca Domenico, Palù Riccardo, Crepaldi Stefano, Tosatto Mauro 1

2 INDICE Breve storia del tornio utilizzato pag. 3 Struttura e caratteristiche della macchina pag. 4 L idea di progetto pag. 5 Schemi elettrici pag. 7 Il display a cristalli liquidi pag. 11 Il tastierino esadecimale pag. 16 Interfaccia di potenza motori passo-passo pag. 19 Interfaccia di potenza controllo motore mandrino pag. 22 Alimentatore pag. 24 Analisi del software pag. 29 Manuale d uso pag. 73 2

3 IL TORNIETTO UTILIZZATO Tutto ebbe inizio tempo fa quando l insegnante di TDP,Prof. Zaniol Italo, scoprì di essere fortemente attratto da un rudimentale apparecchio di sembianze meccaniche, in grado, grazie ad un semplice moto rotatorio, di formare oggetti circolari. Il tornietto di dimensioni contenute, all incirca mezzo metro di lunghezza per trenta centimetri di larghezza, giaceva indisturbato nei sotterranei della scuola. Di difficile funzionamento a causa del tipo di controllo utilizzato,, andava pian piano arrugginendo per la mancata manutenzione. Infatti per poter funzionare aveva bisogno di un laborioso procedimento di avvio basato sulla lettura di un nastro magnetico che conteneva il programma di lavoro. La scheda di controllo, di dimensioni ingombranti, era basata su un microprocessore della INTEL (l 8088) che necessitava di numerosi integrati di supporto come memoria ROM, memoria RAM, interfacce di ingresso-uscita ( l 8255), timer (l 8253) e altri componenti. Bene, ora grazie ad un remaking, la scheda di controllo è di dimensioni compatte ( poco più di un decimetro quadrato). Il cuore del sistema di controllo è un microcontrollore, il PIC16F877, nato nel secondo semestre del 2000; da solo compie quasi tutte le funzioni necessarie per far funzionare il tornietto. Rimesso a nuovo, è ora in grado di compiere, con gli utensili opportuni, piccole torniture cilindriche e coniche. Nato a fini scolastici, il tornietto ha una risoluzione di due centesimi di millimetro. Non molto se si volessero eseguire lavori di altissima precisione. E dotato di motori passo-passo che limitano la potenza disponibile; si devono perciò eseguire asportazioni di pochi centesimi di mm per passata su materiali teneri. L ELETTRONICA PRIMA ( panello 1200 X 900 mm ) L ELETTRONICA DOPO ( circa 130 X 150 mm ) 3

4 STRUTTURA E CARATTERISTICHE DELLA MACCHINA Gli elementi essenziali che compongono il nostro tornio possono essere indicati in: Un motore elettrico monofase per l azionamento del mandrino porta pezzo; Due motori passo-passo per l azionamento degli assi x-y; Quattro fine corsa che delimitano gli spostamenti degli assi Per quanto riguarda l azionamento degli assi x-y, si tratta di realizzare un controllo di posizione di un asse che rappresenta una delle parti fondamentali di un controllo numerico; di norma tali controlli sono ad anello chiuso, cioè si usa la retroazione negativa effettuata per mezzo di trasduttori di posizione come encoder incrementale, encoder assoluto, oppure una cremagliera collegata ad un trasformatore differenziale o ad un potenziometro di precisione, tutti indispensabili per misurare la posizione. Nel nostro caso non si usa tale tecnica in quanto i motori sono di tipo passo-passo e la loro posizione viene controllata tramite impulsi di comando. Ad ogni impulso il motore compie un passo ( ad esempio una rotazione dell asse motore di 7.5 gradi), senza alcun bisogno di collegare un trasduttore in retroazione. A prima vista, sembrerebbe che l'utilizzo di motori passo-passo fosse vantaggioso per la semplicità del controllo, ma nella realtà essi vengono usati solo dove le potenze meccaniche richieste sono modeste. Nelle macchine a controllo numerico sono invece utilizzati motori in corrente continua, motori in corrente alternata pilotati da inverter e motori brushless. Generalmente nelle macchine utensili viene controllata anche la velocità del mandrino per avere una velocità di taglio costante. I motori passo-passo che equipaggiano il nostro tornietto hanno un passo di 7 e 30. Considerando che i carrelli degli assi si spostano tramite la rotazione di una vite senza con passo di un millimetro, si ottiene uno spostamento del carrello di 1/48 = mm./passo. La scheda che abbiamo realizzato, tenuto conto della meccanica a disposizione, comprende: un tastierino esadecimale e un display LCD per consentire all operatore di dialogare con il sistema operativo memorizzato nel microcontrollore una interfaccia di potenza per controllare i motori passo-passo una interfaccia di potenza per controllare il motore che aziona il mandrino una interfaccia di ingresso per ricevere informazioni dai fine corsa un led di segnalazione un pulsante per l arresto di emergenza della macchina 4

5 L idea di progetto La realizzazione Il tornio didattico visto frontalmente Elettronica di controllo 5

6 Il tornio didattico visto nella parte posteriore PARTICOLARI COSTRUTTIVI DELLA SCHEDA DI CONTROLLO IL MICROPROCESSORE PIC16F877 L INTERFACCIA DI POTENZA IL QUARZO PER IL CLOCK DEL MICROCONTROLLORE LA RETE RESISTIVA Rb 6

7 Schemi elettrici schema elettrico 220 V~ FINE CORA ASSI TASTIERINO NUMERICO INTERRUTORE GENERALE C6 ASSE Z- ALIMENTATORE STABILIZZATO +5 V 10 K Ω ASSE Z+ +5 V +5 V +5 V +12 V GND +5 V 10 KΩ ASSE X- 100 Ω 10 K Ω GND +5 V ASSE X+ +5 V V +5 V 10 K Ω 8 V SS V DD RD0/RD7-RC5/RC7 OUT interfaccia motore RE2 OSC1 OSC2 XTAL RC0 RC1 RC2 RC3 4 MHz C1 330 Ω RA0 RA1 RA2 RA3 RESET 330 Ω +12 V TIP 29 C3 LED 330 Ω +12 V 10 K Ω D1 C2 330 Ω TIP K Ω RA4 RA5 RE0 RE1 MCLR RC4 RB0/RB7 330 Ω +12 V TIP Ω +12 V TIP Ω +12 V TIP 29 MOTORE ASSE X 330 Ω +12 V TIP Ω +12 V TIP V TIP 29 MOTORE ASSE Z 7

8 CIRCUITO STAMPATO LATO RAME I.T.I.S. "MAX PLANCK" Classe 5 A/Z ASO 2001/2002 8

9 circuito stampato lato componenti I.T.I.S. "MAX PLANCK" Classe 5 A/Z ASO 2001/2002 9

10 SCHEDA PRINCIPALE componenti e morsetti Out display zoccolo collegamento flat display PIC 16F877 XTAL rete resistiva singola 330Ω zoccolo collegamento flat tastierino adesivo Out tastiera TIP 29 TIP 29 TIP 29 TIP 29 TIP 29 TIP 29 TIP 29 TIP 29 LED di funzionamento + 12 V -in- alimentatore ( Nero ) + 12 V Out motore asse Z ( nero ) Out motore asse Z ( Bianco ) Out motore asse Z ( Rosso ) Out motore asse Z ( Grigio ) Out motore asse Z ( Nero ) Out motore asse X ( Grigio ) Out motore asse X ( Rosso ) Out motore asse X ( Nero ) Out motore asse X ( Nero ) + 12 V -out- Motore asse X ( Nero ) + 5 V out interfaccia motore 220 V~ ( Verde ) + 5 V -in- alimentatore ( Blu ) Tasto STOP Fine corsa asse Z+ Fine corsa asse Z- Fine corsa asse X- Fine corsa asse X+ 10

11 O Il DISPLAY A CRISTALLI LIQUIDI o Il display a cristalli liquidi permette la percezione di simboli alfanumerici in ambienti illuminati, ma la sua visibilità è nulla al buio. I più comuni display sfruttano il fenomeno della diffusione della luce e sono formati da un vetrino, a contatto con l esterno, con elettrodi trasparenti ed elettricamente con-duttori che formano il carattere al-fanumerico (ad esempio l otto ha sette segmenti) e da un secondo ve-trino simile al primo ma collegato al circuito di comando; fra i due vetrini viene posto un sottile distanziatore (10 micron ) in modo che si formi una sottile camera (qualche centesimo di millimetro) nella quale è posto il cristallo liquido; infine vi è uno schermo scuro assorbente la luce. Se fra i due vetrini non vi è tensione il cristallo liquido rimane trasparente; se invece vi è qualche elettrodo del segno alfanumerico sot-to tensione, allora sotto di esso si sviluppa una turbolenza del cristallo liquido con relativa diffusione di luce e si ha, ad esempio, una immagine bianca dell elettrodo sotto tensione su sfondo scuro. Il tempo di risposta di questi display è dell ordine della decina di millisecondi e varia con la temperatura; la vita media è di molti anni e dipende dalla decomposizione delle molecole organiche dei cristalli dovuta sia all effetto elettrico che alla luce ultravioletta. 11

12 O Descrizione software gestione display (LCD ) II display LCD utilizzato in questo progetto e' di tipo alfanumerico cioè in grado di visualizzare simboli numerici e alfabetici. Inoltre esso presenta il grande vantaggio di implementare una logica di controllo delle funzioni e una logica di decodifica dei simboli da visualizzare che vengono forniti in codice ASCII.I simboli da visualizzare vengono caricati in un' area di memoria interna a 32 byte. Il pin outdel componente è a 16 terminali: -8 linee per bus dati ( DBO -DB7) -3 linee di controllo -3 linee alimentazione 12

13 -2 linee per la retroilluminazione Analisi linee di controllo: linea RS visualizzare -RS = 1 il display riconosce il dato presente sul bus come simbolo da -RS = O il display riconosce il dato presente sul bus come una istruzione Linea E -Un impulso L-H-L forza la lettura del dato presente sul, bus Linea R/W -R/W = O consente operazioni di scrittura di dati e istruzioni sull' LCD -R/W = I consente operazioni di lettura di dati dall' LCD Le istruzioni sono dei comandi che vengono dati al display come, ad esempio, pulisci display, porta il cursore ad inizio riga ecc. o o La tabella allegata riassume il set di istruzioni del display CDL4162 a 2 righe per 16 caratteri. o Si riportano alcuni esempi di routine utilizzate nel programma per il controllo del display. ;**********sottoprogramma configurazione LCD configura_lcd bcf portc,rw bcf portc,rs call ms1 movlw 0x38 ;dati a 8 bits - 2 righe movlw 0x0c ;display on - cursore off - blinking off movlw 6 ;avanzamento cursore movlw 1 ;pulisci display movlw 2 ;cursore home movlw 0x40 ;indirizza cgram movlw 0x80 ;indirizza prima riga bsf portc,rs ;scrivi prima riga "ITIS M. PLANCK" call home1 ;cursore inizio prima riga movlw 'I' movlw 'T' movlw 'I' movlw 'S' movlw 'M' movlw 'A' movlw 'X' 13

14 movlw 'P' movlw 'L' movlw 'A' movlw 'N' movlw 'C' movlw 'K' ;**********sottoprogramma invio dati a display display movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e call ms1 ;ritardo 1ms ;**********sottoprogramma comando cursore inizio seconda riga home2 bcf portc,rs movlw 0xc0 ;display inizio seconda riga bsf portc,rs ;**********sottoprogramma comando cursore inizio prima riga home1 bcf portc,rs movlw 0x80 ;display inizio prima riga bsf portc,rs ;**********sottoprogramma blink on blink_on bcf portc,rs ;blink on call ms1 movlw 0d bsf portc,rs call ms1 ;**********sottoprogramma blink off blink_off bcf portc,rs call ms1 movlw 0c ;blink off bsf portc,rs call ms1 14

15 15

16 o IL TASTIERINO o E stato utilizzato un economico tastierino esadecimale. Esso è costituito da una matrice di interruttori, organizzati in righe e colonne come si vede in figura. La pressione di un tasto equivale alla connessione fra una riga e una colonna. La rilevazione del tasto premuto può avvenire secondo la seguente logica. Si collegano le colonne e le righe a delle resistenze di pull up ( il portob del PIC dispone internamente di queste resistenze per cui non è necessario prevederle esternamente ) si configurano i pin a cui sono collegate le colonne come ingressi si configurano i pin a cui sono collegate le righe come uscite Si pone a livello basso una riga mentre tutte le altre sono alte Si interrogano gli stati delle colonne. Se viene azionato un tasto che si trova all incrocio tra una qualsiasi colonna e la riga che si trova a livello basso, una colonna viene letta come livello basso e quindi identifica immediatamente il tasto azionato. La scansione viene ripetuta per tutte le righe La rilevazione può soffrire dei rimbalzi dei contatti; per ovviare all inconveniente si possono introdurre dei ritardi via software che consentono di rileggere lo stato del pulsante dopo che i rimbalzi si sono esauriti. Il tempo da noi fissato è di 20 ms. Il problema dei rimbalzi si ha anche al rilascio del pulsante. 16

17 Primo piano di tastierino e display Disegno di progetto 17

18 Si riporta di seguito una parte del software che consente di leggere la tastiera. Si noti che in fase di lettura viene attivata la funzione blinking del display che mostra i dati inseriti in modo lampeggiante. ;*************************TASTIERA************************************ tastiera bsf portc,rs call blink_on movlw b' ' ;riga rb3 bassa movwf portb btfss portb,4 ;premuto 0? goto tasto0 btfss portb,5 ;premuto 4? goto tasto4 btfss portb,6 ;premuto 8? goto tasto8 movlw b' ' ;riga rb2 bassa movwf portb btfss portb,4 ;premuto 1? goto tasto1 btfss portb,5 ;premuto 5? goto tasto5 btfss portb,6 ;premuto 9? goto tasto9 movlw b' ' ;riga rb1 bassa movwf portb btfss portb,4 ;premuto 2? goto tasto2 btfss portb,5 ;premuto 6? goto tasto6 movlw b' ' ;riga rb0 bassa movwf portb btfss portb,4 ;premuto 3? goto tasto3 btfss portb,5 ;premuto 7? goto tasto7 movlw b' ' movwf portb btfss portb,7 ;premuto ESC? goto tasto10 goto tastiera ;se nessun tasto premuto ripeti ;*****************************************TASTI********************** tasto0 call delay20ms ;elimina rimbalzi lpt1 btfss portb,4 ;pulsante rilasciato? goto lpt1 call delay20ms ;elimina rimbalzi movlw 0 ;memorizza lettura movwf memoria movlw '0' ;memorizza dato per display movwf mem_dis goto blink 18

19 O INTERFACCIA DI POTENZA MOTORI PASSO-PASSO L interfaccia è costituita da 8 transistor npn TIP29; questi transistor di potenza non sono altro che amplificatori binari in grado di fornire la corrente richiesta ai motori passo-passo che si aggira intorno ad un ampere. Dato che essi lavorano come interruttori, la dissipazione di potenza è assai limitata per cui non necessitano dissipatori di calore. Per evitare di distruggere la giunzione collettore-base dei transistori, è necessario inserire dei diodi tosatori in parallelo alle bobine dei motori che tagliano le sovratensioni che si manifestano sulle bobine stesse quando il transistore commuta da on ad off ( legge di Lenz ). Particolari costruttivi 19

20 - MOTORI PASSO-PASSO - I motori passo-passo, spesso chiamati anche step o stepper motor, sono caratterizzati nel panorama dei motori elettrici da una serie di particolarità che ne fanno la scelta (quasi) ideale per tutte quelle applicazioni che richiedono precisione nello spostamento angolare e nella velocità di rotazione, quali la robotica ed i servomeccanismi in genere dove la potenza richiesta è bassa. O I vantaggi: o E' possibile realizzare azionamenti di precisione controllati da computer in catena aperta, cioè senza utilizzare sensori di posizione o di velocità. Sono quindi utilizzabili con relativa semplicità e senza richiedere particolare potenza di calcolo. Hanno un'elevata robustezza meccanica ed elettrica: infatti non esistono contatti elettrici striscianti e, se necessario, possono essere realizzati anche in esecuzione completamente stagna. E' facile far compiere all'albero piccole rotazioni angolari arbitrarie in ambedue i versi e bloccarlo in una determinata posizione. La velocità di rotazione può essere molto bassa anche senza l'uso di riduttori meccanici. Di seguito vengono riportate le routine che controllano la rotazione di uno dei due motori in senso orario e antiorario. L azionamento avviene ad una fase per volta. L eccitazione di una fase dura 10 millesimi di secondo per cui il motore compie 100 passi al secondo, poco più di 2 giri al secondo (125 giri al minuto ). Se si aumentano i giri il motore rischia di perdere il passo. ;**********sottoprogramma controllo spostamento asse_dx dx incf assex movlw 4 subwf assex,0 goto sax clrf assex sax movf assex goto dx1 bcf porta,3 bsf porta,0 call ms10 dx1 movlw 1 subwf assex,0 goto dx2 20

21 bcf porta,0 bsf porta,2 call ms10 dx2 movlw 2 subwf assex,0 goto dx3 bcf porta,2 bsf porta,1 call ms10 dx3 bcf porta,1 bsf porta,3 call ms10 ;**********sottoprogramma controllo spostamento asse_sx sx decf assex movlw 0xff subwf assex,0 goto sbx movlw 3 movwf assex sbx movf assex goto sx1 bcf porta,2 bsf porta,0 call ms10 sx1 movlw 1 subwf assex,0 goto sx2 bcf porta,1 bsf porta,2 call ms10 sx2 movlw 2 subwf assex,0 goto sx3 bcf porta,3 bsf porta,1 call ms10 sx3 bcf porta,0 bsf porta,3 call ms10 21

22 INTERFACCIA DI POTENZA COMANDO MOTORE MANDRINO Il motore che comanda il mandrino e un motore monofase alimentato a 220 V. In un primo momento era stato deciso di comandare il motore mediante un classico relè controllato dal PIC. In fase di collaudo abbiamo verificato che la chiusura e l apertura dei contatti di questo relè causavano gravi disturbi che interferivano sull ottimale funzionamento del sistema. In particolare questi disturbi andavano ad influenzare il display LCD collegato al PIC tramite piattina a 16 fili. Presumibilmente sul segnale di controllo enable dell LCD si avevano dei disturbi che lo mandavano in tilt non consentendo una corretta visualizzazione dei messaggi. Abbiamo allora optato per un interruttore statico realizzato con un triac. Per isolare elettricamente la parte di potenza a 220Vca con quella di comando a bassa tensione, abbiamo utilizzato un fototriac MOC3042 che dispone inoltre di un circuito interno di controllo che innesca il triac quando la tensione di rete passa per lo zero ( 0 cross detect ). In questo modo e garantito che l azionamento del motore avviene in modo morbido a partire da tensione di rete istantanea nulla garantendo così una buona immunità alle armoniche fonte di disturbi. E da sottolineare che il costruttore del MOC garantisce una tensione di isolamento tra circuito di comando in bassa tensione e quello di potenza di 7500 Vca. La sicurezza elettrica è quindi assicurata in modo adeguato. Per quanto concerne il progetto di questa sezione abbiamo tenuto conto dei dati forniti dal costruttore del MOC e dei circuiti consigliati. Circuito stampato lato rame 22

23 o MOTORE DEL MANDRINO o Il motore del mandrino dispone di due velocità selezionabili con un commutatore. I) 3000 giri/min. 65 watt di potenza; II) 5000 giri/min 95 watt di potenza; Tramite un gruppo di rinvio si possono variare i giri del mandrino sfruttando così le due potenze a disposizione. Il gruppo permette una variazione di velocità compresa tra 130 e 4000 giri/m come indicato sul pannello del tornio. selezione della velocità mandrino Particolari del motore mandrino 23

24 o ALIMENTATORE o Questo dispositivo ha lo scopo di alimentare i circuiti elettronici del controllo ed i motori passopasso sfruttando la tensione di rete a 220V e 50Hz. In pratica la tensione alternata inviata dalla rete di distribuzione, viene raddrizzata e filtrata dall alimentatore e resa in uscita continua e di valore desiderato. Gli alimentatori sono costituiti da 4 blocchi fondamentali come vediamo in (fig2.1), e rispettivamente sono: 1. -trasformatore; 2. -raddrizzatore; 3. -filtro; 4. -stabilizzatore. O 1. TRASFORMATORE o Fig 2.1 Il trasformatore è una macchina elettrica statica (priva di organi in movimento) che trasferisce energia elettrica da un circuito (primario) a un altro (secondario) modificando tensione e corrente.il trasformatore riceve energia elettrica con una tensione V 1 e una corrente I 1 e la restituisce con una tensione V 2 e con una corrente I 2, diverse e tali da soddisfare la relazione V 1 x I 1 = V 2 x I 2. = P (in pratica variano i singoli parametri, ma la potenza rimane con valore costante). Il trasformatore è costituito da un circuito magnetico chiuso, realizzato con lamierini di ferro al silicio, e da due bobine dette primario e secondario. Detto N 1 il numero di spire del primario e N 2 quello delle spire del secondario, vale la relazione V 1 /V 2 =N 1 /N 2 =I 2 /I 1.Il rapporto N 1 /N 2 si chiama rapporto spire.se N 1 è minore di N 2 il trasformatore è detto elevatore, in caso contrario è detto abbassatore. Nel caso specifico il nostro trasformatore è composto da 2 avvolgimenti secondari che forniscono ciascuno 12 V oppure 24 V efficaci. O 2. RADDRIZZATORE o Questo circuito consente di ottenere, da una tensione sinusoidale, una tensione pulsante unipolare. Nel nostro caso, utilizziamo un raddrizzatore a quattro diodi a ponte di Graetz. (componete illustrato nella fig.2.1.1) 24

25 Fig FILTRO La tensione pulsante, all uscita del raddrizzatore, è formato da una componente continua (valor medio), cui è sovrapposta una componente periodica, avente frequenza doppia di quella di rete e chiamata tensione di ripple. Il filtro di tipo passa-basso, detto anche di livellamento, ha il compito di rendere costante la tensione, tutta positiva o tutta negativa. Esso è costituito da un condensatore in parallelo al carico. Per il calcolo del filtro si deve tener conto che la frequenza delle onde raddrizzate è doppia f = 100Hz rispetto a quella di rete ( 50 Hz ). Stabilizzatore di tensione E un circuito che ha la funzione di rendere la tensione continua di uscita praticamente insensibile alle variazioni della tensione di rete e del carico. In pratica riduce il ripple a livelli accettabili mediante reiezione di almeno 30dB. L elemento fondamentale di uno stabilizzatore di tensione è rappresentato da una rete di retroazione che, misurando la tensione di uscita, modifica il proprio comportamento in modo da compensare tali variazioni. PROGETTO ALIMENTATORE STABILIZZATO Dati di progetto L alimentatore deve fornire due tensioni una di 5 volt per alimentare il circuito di controllo e il display LCD e l altra di 12 volt per l alimentazione dei motori passo-passo Per il calcolo della corrente che deve erogare l alimentatore abbiamo tenuto conto che: gli avvolgimenti dei motori passo-passo presentano una resistenza di 8 ohm per cui a regime la corrente assorbita da ogni motore vale: I = V / R = 12 / 8 = 1.5 A. La potenza dissipata sarà di conseguenza 18 W. Per i componenti alimentati a 5 volt la potenza necessaria è stata stimata secondo questo criterio: Microcontrollore: 1W Display LCD 0.5W Resistenze di base dei BJT, resistenze limitazione corrente nel LED 0.5W La potenza totale dissipata dal circuito di controllo risulta quindi di 2W a cui corrisponde una corrente di 0.4A La corrente totale che dovrà erogare l alimentatore sarà quindi di 3.4A; abbiamo leggermente sovradimensionato la corrente totale fissandola a 4A. In conclusione l alimentatore dovrà erogare 4 A massimi e dovrà fornire due tensioni di 12V e 5V. L alimentatore progettato è un alimentatore di tipo lineare con due regolatori integrati: il 7805 è utilizzato per fornire i 5 V e dovrà erogare una corrente I MAX di 0.4 A. Per fornire i 12 V abbiamo usato un LM 317. Poiché tale regolatore può fornire una corrente massima di 1 A, è stato previsto nello schema elettrico un BJT di potenza in parallelo al regolatore. 25

26 Trasformatore : Il trasformatore utilizzato nel progetto ha un rapporto di trasformazione 220/12 con potenza 50W. La corrente nominale al secondario sarà quindi di circa 4 A mentre la tensione massima sul secondario sarà di circa 17V. Ponte raddrizzatore: Il ponte è stato scelto in base alla corrente media massima che dovrà erogare l alimentatore. A disposizione c era un ponte con corrente media 10 A e quindi adatto alla nostra applicazione. Filtro di livellamento: Per dimensionare la capacità di livellamento abbiamo tenuto conto che l LM 317 ha una tensione di drop out di 1.2 volt e quindi la tensione di ingresso non dovrà essere inferiore a 13.2 V. Di conseguenza la massima tensione di ripple picco-picco non dovrà superare i : = 3.8 V. Abbiamo fissato tale tensione a 3.5 V. Il condensatore è stato dimensionato tenendo conto che nel semiperiodo della tensione di rete ( 10ms ) esso non dovrà scaricarsi di oltre 3.5 V quando erogherà la massima corrente di circa 4A necessaria ad alimentare i due motori passo-passo. Quindi, tenendo conto della legge fondamentale del condensatore e ipotizzando la scarica del condensatore a corrente costante, si ottiene: C = I * T/Vpp = 4200 µf Nel progetto sono stati utilizzati due condensatori elettrolitici ognuno da 2200µF. Dimensionamento alimentatore 12V Dimensionamento della resistenza di polarizzazione del BJT di potenza: Si è deciso di far entrare in conduzione il BJT di potenza quando la corrente di ingresso all LM317 raggiunge i 10 ma. In tali ipotesi, tenuto conto che la tensione di soglia del BJT risulta di 0.55 V, abbiamo calcolato R secondo la legge di ohm: R = Vγ /I = 0.55 / 10mA = 55 Ω. E stata utilizzata una resistenza di 68 Ω Dimensionamento del partitore per LM317: Poiché il regolatore di tensione LM317 fornisce in uscita una tensione di 1.25 V con il morsetto Adj collegato a massa, è necessario utilizzare un partitore di tensione adeguato per avere i 12 V richiesti. E stato previsto un trimmer per la regolazione precisa della tensione di uscita. Analizzando i data sheets forniti dal costruttore, è consigliato di utilizzare per R 1 un valore di 240Ω ; abbiamo utilizzato una resistenza di valore commerciale 220 Ω. In tali condizioni, utilizzando la relazione fornita dal costruttore Vout = 1.25 ( 1 + R2/R1 ), abbiamo calcolato R 2 = 1890Ω. Abbiamo suddiviso tale resistenza in una fissa di 1200 Ω e una variabile (trimmer) di 1K Ω. Dimensionamento transistore di potenza Il BJT di potenza utilizzato nel progetto è l MJ 2955, cioè il complementare del più noto 2N3055. La corrente di collettore massima che il transistore può reggere è di 15 A, quindi ben superiore alle nostre esigenze. Abbiamo scelto questo componente in quanto a disposizione della scuola. Resta quindi da dimensionare il dissipatore termico. 26

27 Il BJT, secondo i precedenti calcoli, erogherà una corrente massima di 3Ampere con una tensione media tra collettore ed emettitore di 3.25 volt. La potenza massima dissipata sarà quindi di circa 10 Watt. La resistenza termica massima del dissipatore da utilizzare sarà: Rth = ( Tjmax Ta ) /Pmax - Rthjc = ( )/ = 13.5 C/W. Dimensionamento alimentatore 5V Per quanto concerne questa sezione dell alimentatore e solo necessario il dimensionamento termico del 7805 in quanto il regolatore fornisce direttamente i 5 V richiesti senza reti esterne.tenuto conto che la tensione media in ingresso del regolatore e piuttosto alta e vale V ( vedi sopra ), la potenza dissipata sarà : P = ( Vin Vout ) * Imax = ( ) * 0.6 = 6.15 W La resistenza termica massima del dissipatore sarà : Rth = ( Tjmax Ta ) /Pmax - Rthjc= ( )/ = 12.3 C/W Abbiamo utilizzato un dissipatore per dispositivi di potenza con contenitore TO220 con resistenza termica 9 C /W. Lato componenti 27

28 28

29 ANALISI DEL SOFTWAREo La stesura del software ha seguito i principi della programmazione top-down che consiste nel suddividere il problema in tanti sottoproblemi la cui soluzione viene demandata a delle routine richiamate dal programma principale o main. In questo modo il main risulta compatto, di facile stesura e comprensione. Il suo ruolo e quello di organizzare in modo logico la soluzione del problema richiamando le subroutine piu opportune. Per la soluzione di queste ultime e necessario concentrarsi solamente sulla soluzione di un determinato problema ignorando cosi l organizzazione logica del problema. I sottoprogrammi sviluppati risolvono problemi come: - configurazione display intelligente - invio messaggi al display per il dialogo con l utente - gestione tastierino esadecimale - gestione motori passo-passo - gestione segnali di controllo provenienti dai fine corsa - posizionamento automatico utensile - calcolo tempo esecuzione lavorazione Inoltre quando certi moduli di programma venivano ad essere ripetuti piu volte all interno dei vari sottoprogrammi si e deciso di organizzarli sotto forma di routine. Alcuni esempi possono essere: - temporizzazioni - invio di un carattere al display - posizionamento cursore display su riga 1 o riga2 o in posizione home - eliminazione rimbalzi sui contatti del tastierino Per la gestione delle periferiche di ingresso si e utilizzata la tecnica del polling e dell interrupt. In particolare per il controllo del tastierino, e dei fine corsa, si e utilizzato il polling che consiste nell interrogare ciclicamente i vari contatti. L interrupt e stato utilizzato per costruire un orologio ( real time clock ) necessario a realizzare molteplici temporizzazioni quali il comando dei motori passo-passo, il lampeggio del led, il controllo del display LCD ecc. La routine di interrupt viene lanciata automaticamente ogni millisecondo cosi la risoluzione dell orologio e di un millisecondo. L interrupt e provocato da overflow del registro speciale timer che come noto e un contatore a 8 bits. Il clock per tale timer e quello di sistema; la sua frequenza viene opportunamente divisa utilizzando il prescaler interno al microcontrollore. Per quanto riguarda il calcolo del tempo necessario alla esecuzione della lavorazione impostata, si e simulato l esecuzione della lavorazione senza comandare i motori. Poiche ogni spostamento di un passo di ogni motore avviene in 10 millisecondi, e stato facile, con l uso di alcune locazioni di memoria RAM, misurare il tempo incrementando di 10 millisecondi il tempo di esecuzione della lavorazione ad ogni passo di ogni motore. Il tempo totale e poi stato convertito in minuti e secondi e infine in BCD per poter essere visualizzato sul display. Per quanto riguarda la qualità del sistema operativo si può dire che questo potrebbe essere migliorato e potenziato mediante l introduzione di ulteriori tipi di lavorazione meccaniche come: 29

30 - lavorazione conica da dx a sx - lavorazione frontale - torniture che seguano un determinato profilo in questo ultimo caso sarebbe necessario prevedere un collegamento di tipo seriale con un PC cosa del resto possibile in quanto il microcontrollore e equipaggiato con una USART. Inoltre potrebbe essere migliorata anche l interfaccia con le esigenze dell utente (operatore addetto alla esecuzione delle lavorazioni ). Del resto il software utilizza circa un terzo della memoria programmi disponibile ( si veda la mappa di memoria allegata che e stata ricavata dal file listing ottenuto nella compilazione). Anche la memoria RAM utilizzata e limitata rispetto a quanto disponibile ed in particolare circa 80 locazioni su 368. Naturalmente i tempi limitati per l esecuzione dell area di progetto non hanno consentito di sviluppare ulteriori funzioni e di potenziare il sistema operativo. Sicuramente si e dimostrato come i microcontrollori possano essere utilizzati in innumerevoli applicazioni compresi sistemi di controllo di media complessita. oy USAGE MAP ('X' = Used, '-' = Unused) O 0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0100 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0140 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0180 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 01C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0200 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0240 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0280 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 02C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0300 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0340 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0380 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 03C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 30

31 0400 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0440 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0480 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 04C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0500 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0540 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0580 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 05C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0600 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0640 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0680 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 06C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0700 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0740 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0780 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 07C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0800 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0840 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0880 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 08C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0900 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0940 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0980 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 09C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXX All other memory blocks unused. Program Memory Words Used: 2534 Program Memory Words Free:

32 CODICE SORGENTE COMPLETO ;******************************************************** ;********* ************** ;********* CONTROLLO NUMERICO DI UN TORNIO ************** ;********* CL. 5A/Z ************** ;********* A.S /2002 ************** ;******************************************************** list p=16f877 ;**********dichiarazione dei registri speciali banco0 tmr equ 1 pcl equ 2 status equ 3 porta equ 5 portb equ 6 portc equ 7 portd equ 8 porte equ 9 pch equ 0x0a intcon equ 0x0b ;**********dichiarazione dei registri speciali banco1 opzioni equ 1 ddra equ 5 ddrb equ 6 ddrc equ 7 ddrd equ 8 ddre equ 9 ad equ 0x1f ;**********dichiarazione dei registri RAM conta equ 0x20 stack1 equ 0x21 stack2 equ 0x22 ms equ 0x23 ds equ 0x24 sec equ 0x25 assex equ 0x26 assey equ 0x27 centx equ 0x28 decx equ 0x29 unx equ 0x2a decimix equ 0x30 memoria equ 0x2b mem_dis equ 0x2f decy equ 0x32 uny equ 0x33 decimiy equ 0x34 centin equ 0x35 decine equ 0x36 unita equ 0x37 decimi equ 0x38 xl equ 0x39 xh equ 0x3a yl equ 0x3b yh equ 0x3c x1l equ 0x3d x1h equ 0x3e COND equ 0x3f CONU equ 0x40 ylc equ 0x42 yhc equ 0x43 contat equ 0x44 pendl equ 0x45 pendh equ 0x46 32

33 flag equ 0x47 y1l equ 0x48 y1h equ 0x49 gradino equ 0x4a led equ 0x4b msl equ 0x4c dsl equ 0x4d secl equ 0x4e ms2 equ 0x4f ds2 equ 0x50 usec2 equ 0x51 dsec2 equ 0x52 umin2 equ 0x53 dmin2 equ 0x54 time equ 0x55 mux equ 0x56 mxl equ 0x57 mxh equ 0x58 myl equ 0x59 myh equ 0x5a mml equ 0x5b mmh equ 0x5c timeh equ 0x5d timel equ 0x5e mem1 equ 0x5f mem2 equ 0x60 mem3 equ 0x61 mem4 equ 0x62 em1 equ 0x63 em2 equ 0x64 em3 equ 0x65 ;**********dichiarazione segnali di controllo DISPLAY #define RW 6 #define RS 5 #define E 7 ;**********vettore di RESET e vettore di INTERRUPT org 0 goto main org 4 ;**********sottoprogramma risposta interrupt timer interrupt movwf stack1 ;salva accumulatore swapf status,0 ;salva registro di stato movwf stack2 movlw 9 ;carica timer movwf tmr incf ms ;aggiorna orologio incf msl incf ms2 movlw d'100' subwf ms,0 goto esci1 incf ds movlw 0xa subwf ds,0 goto esci1 incf sec esci1 movlw d'100' subwf msl,0 goto esci2 incf dsl clrf msl movf led 33

34 bsf portc,4 movlw 1 subwf led,0 goto int1 movlw 4 subwf dsl,0 goto int2 movlw 0x10 xorwf portc clrf dsl goto esci2 int1 movlw 2 subwf led,0 goto int2 movlw 2 subwf dsl,0 goto int2 movlw 0x10 xorwf portc clrf dsl goto esci2 int2 movlw d'5' subwf dsl,0 goto esci2 clrf dsl esci2 movf time goto esci movlw d'100' subwf ms2,0 goto displayl incf ds2 clrf ms2 movlw 0x0a subwf ds2,0 goto displayl clrf ds2 decf usec2 movlw 0xff subwf usec2,0 goto displayl movlw 9 movwf usec2 movf dmin2,0 goto agg1 movf umin2,0 goto agg2 movf dsec2,0 goto agg3 goto displayl agg1 decf dsec2 movlw 0xff subwf dsec2,0 goto displayl movlw 5 movwf dsec2 ;controlla se min=0 34

35 decf umin2 movlw 0xff subwf umin2,0 goto displayl movlw 9 movwf umin2 decf dmin2 goto displayl agg2 decf dsec2 movlw 0xff subwf dsec2,0 goto displayl decf umin2 movlw 5 movwf dsec2 goto displayl agg3 decf dsec2 displayl ;visualizza tempo lavorazione movf mux goto mux1 bcf portc,rs ;sposta cursore incf mux goto esci mux1 movlw 1 subwf mux,0 goto mux22 movlw 80 movwf portd incf mux goto esci mux22 movlw 2 subwf mux,0 goto mux2 bsf portc,e bcf portc,e incf mux goto esci mux2 movlw 3 subwf mux,0 goto mux3 bsf portc,rs incf mux goto esci mux3 movlw 4 subwf mux,0 goto mux6 movf dmin2,0 call tab movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e incf mux goto esci mux6 movlw 5 subwf mux,0 goto mux7 movf umin2,0 call tab movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e 35

36 incf mux goto esci mux7 movlw 6 subwf mux,0 goto mux9 movlw ':' movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e incf mux goto esci mux9 movlw 7 subwf mux,0 goto mux12 movf dsec2,0 call tab movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e incf mux goto esci mux12 movlw 8 subwf mux,0 goto esci movf usec2,0 call tab movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e clrf mux esci bcf intcon,2 ;azzera flag interrupt swapf stack2,0 ;ripristina registro di stato movwf status swapf stack1 ;ripristina accumulatore swapf stack1,0 retfie ;**********tabella dati tab addwf pcl retlw '0' retlw '1' retlw '2' retlw '3' retlw '4' retlw '5' retlw '6' retlw '7' retlw '8' retlw '9' ;**********programma principale main bsf status,5 ;*****configura i porti movlw b' ' ;RA0-RA3 out motore 1 -- RA4 e RA5 input 2 fine corsa movwf ddra movlw b' ' ;PBH in - PBL out lettura tastiera movwf ddrb clrf ddrc ;RC0-RC3 out motore 2 -- RC4-RC7 out controllo display e led clrf ddrd ;out dati display bcf porte,2 ;RE0 e RE1 input 2 fine corsa -- RE2 out moc movlw b' ' ;abilita pull up portb - configura prescaler tmr0 movwf opzioni 36

37 movlw b' ' ;pin portoa e portoe come i/o movwf ad bcf status,5 bcf porte,2 ;motore mandrino fermo clrf time ;azzera flag visualizzazione tempo clrf mux ;azzera puntatore multiplexing display bsf portc,4 ;diodo on clrf led clrf porta ;motore1 off bcf portc,0 ;motore2 off bcf portc,1 bcf portc,2 bcf portc,3 bcf portc,e ;enable display OFF movlw 9 ;inizializza timer movwf tmr movlw b' ' ;abilita interrupt timer movwf intcon call configura_lcd ;configura lcd call enter ;premere # per continuare call ok ;controlla se premuto enter call okoff movlw 1 ;lampeggio led movwf led clrf assex ;azzera puntatori controllo motori clrf assey inizio call posizionare00 loop movlw b' ' movwf portb btfss portb,6 ;premuto S? goto in00 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto loop goto iniz1 in00 call zeroxy ;posizione zero per torretta iniz1 movlw 1 ;lampeggio led movwf led movlw b' ' movwf portb nnn btfss portb,6 ;rilasciato? goto nnn call posizionare ;posiziona utensile in 0,0 call zero_zero ;posizionamento manuale utensile lp777 call lavorazione ;chiedere se lavorazione conica lp7 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto avanti movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lp7 lpconf call cil_conf movlw b' ' movwf portb nnn1 btfss portb,6 ;rilasciato N? goto nnn1 lpconf1 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto lp9 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lpconf1 movlw b' ' 37

38 movwf portb nnn2 btfss portb,6 ;rilasciato N? goto nnn2 goto lp777 lp9 call dati_cil_lun ;richiede dati lavorazione cilindrica lp91 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto lp99 movlw b' ' movwf portb btfss portb,7 ;premuto ESC? goto lp777 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lp91 goto lp9 lp99 call dati_cil_prof ;se confermati vai a richiedere profondita' lp101 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto lav1 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lp101 goto lp99 lav1 movlw 2 ;lampeggio led movwf led call lav_corso ;messaggio per display call lav_cilindrica ;esegui lavorazione goto in00 avanti call dati_con_lun ;richiede dati conica lunghezza lp991 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto avanti1 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lp991 goto avanti avanti1 call dati_con_prof1 ;richiedi diametro1 lp990 movlw b' ' movwf portb btfss portb,6 ;premuto S? goto lav2 movlw b' ' movwf portb btfsc portb,6 ;premuto N? goto lp990 goto avanti1 lav2 movlw 2 ;lampeggio led movwf led call lav_corso ;messaggio per display call lav_conica ;esegui lavorazione goto in00 ;************************* fine main ******************************* ;**********sottoprogramma configurazione LCD configura_lcd bcf portc,rw bcf portc,rs call ms1 movlw 0x38 ;dati a 8 bits - 2 righe 38

39 movlw 0x0c ;display on - cursore off - blinking off movlw 6 ;avanzamento cursore movlw 1 ;pulisci display movlw 2 ;cursore home movlw 0x40 ;indirizza cgram movlw 0x80 ;indirizza prima riga bsf portc,rs ;scrivi prima riga "ITIS M. PLANCK" call home1 movlw 'I' movlw 'T' movlw 'I' movlw 'S' movlw 'M' movlw 'A' movlw 'X' movlw 'P' movlw 'L' movlw 'A' movlw 'N' movlw 'C' movlw 'K' ;**********sottoprogramma posizionare posizionare call home1 movlw 'P' movlw 'O' movlw 'S' movlw 'I' movlw 'Z' movlw 'I' movlw 'O' movlw 'N' movlw 'A' 39

40 movlw 'R' movlw 'E' movlw 'U' movlw 'T' movlw 'E' movlw 'N' call home2 movlw 'S' movlw 'I' movlw 'L' movlw 'E' movlw '#' movlw 'S' movlw 'E' movlw 'V' movlw 'A' movlw 'L' movlw 'I' movlw 'D' movlw 'O' ;**********sottoprogramma che richiede tipo di lavorazione lavorazione call home1 movlw 'T' movlw 'O' movlw 'R' movlw 'N' movlw 'I' movlw 'T' movlw 'U' movlw 'R' 40

41 movlw 'A' movlw 'C' movlw 'O' movlw 'N' movlw 'I' movlw 'C' movlw 'A' call home2 movlw '(' movlw 'S' movlw '/' movlw 'N' movlw ')' call blink_on bcf portc,rs ;sposta cursore alla casella 4 movlw 0xc4 ;*********************routine conferma lavorazione cilindrica******* cil_conf call home1 movlw 'C' movlw 'O' 41

42 movlw 'N' movlw 'F' movlw 'E' movlw 'R' movlw 'M' movlw 'A' call home2 movlw 'C' movlw 'I' movlw 'L' movlw 'I' movlw 'N' movlw 'D' movlw 'R' movlw 'I' movlw 'C' movlw 'A' movlw '?' movlw 'S' movlw '/' movlw 'N' ;**********sottoprogramma che richiede dati lavorazione cilindica dati_cil_lun call home1 movlw '0' 42

43 movlw '0' movlw '0' movlw '.' movlw '0' call home2 movlw 'L' movlw 'U' movlw 'N' movlw 'G' movlw 'H' movlw 'E' movlw 'Z' movlw 'Z' movlw 'A' bcf portc,rs ;richiedi dati lunghezza call ms1 ;centx,decx,unx e decimix sono i valori della lunghezza movlw 85 bsf portc,rs call ms1 call tastiera movlw 10 subwf memoria,0 goto dati_cil_lun movf memoria,0 movwf centx movf mem_dis,0 43

44 call tastiera movlw 10 subwf memoria,0 goto dati_cil_lun movf memoria,0 movwf decx movf mem_dis,0 call tastiera movlw 10 subwf memoria,0 goto dati_cil_lun movf memoria,0 movwf unx movf mem_dis,0 bcf portc,rs ;SALTA PUNTO call ms1 movlw 89 bsf portc,rs call ms1 call tastiera movlw 10 subwf memoria,0 goto dati_cil_lun movf memoria,0 movwf decimix movf mem_dis,0 call conferma ;conferma dati? ;**********sottoprogramma che visualizza messaggio posizionare00 call home1 movlw 'P' movlw 'O' movlw 'S' movlw 'I' movlw 'Z' movlw 'I' movlw 'O' movlw 'N' movlw 'A' movlw 'R' movlw 'E' movlw 'U' movlw 'T' movlw 'E' 44

45 movlw 'N' call home2 movlw 'S' movlw 'I' movlw 'L' movlw 'E' movlw 'I' movlw 'N' movlw '0' movlw '/' movlw '0' movlw '?' movlw 'S' movlw '/' movlw 'N' ;**********sottoprogramma che richiede dati lavorazione cilindica dati_cil_prof call home1 movlw '0' movlw '0' movlw '.' movlw '0' 45

46 call home2 movlw 'P' movlw 'R' movlw 'O' movlw 'F' movlw 'O' movlw 'N' movlw 'D' movlw 'I' movlw 'T' movlw 'A' movlw '`' bcf portc,rs ;richiedi dati lunghezza call ms1 ;decy,uny e decimiy sono i valori della profondita' movlw 86 bsf portc,rs call ms1 call tastiera movlw 10 subwf memoria,0 goto dati_cil_prof movf memoria,0 movwf decy movf mem_dis,0 call tastiera movlw 10 subwf memoria,0 goto dati_cil_prof movf memoria,0 movwf uny movf mem_dis,0 bcf portc,rs ;salta punto call ms1 movlw 89 bsf portc,rs call ms1 call tastiera 46

47 movlw 10 subwf memoria,0 goto dati_cil_prof movf memoria,0 movwf decimiy movf mem_dis,0 call conferma ;conferma dati? ;**********sottoprogramma che richiede dati lavorazione conica lunghezza dati_con_lun call home1 movlw '0' movlw '0' movlw '0' movlw '.' movlw '0' call home2 movlw 'L' movlw 'U' movlw 'N' movlw 'G' movlw 'H' movlw 'E' movlw 'Z' 47

48 movlw 'Z' movlw 'A' bcf portc,rs ;richiedi dati lunghezza call ms1 ;centx,decx,unx e decimix sono i valori della lunghezza movlw 85 bsf portc,rs call ms1 call tastiera movlw 10 subwf memoria,0 goto dati_con_lun movf memoria,0 movwf centx movf mem_dis,0 call tastiera movlw 10 subwf memoria,0 goto dati_con_lun movf memoria,0 movwf decx movf mem_dis,0 call tastiera movlw 10 subwf memoria,0 goto dati_con_lun movf memoria,0 movwf unx movf mem_dis,0 bcf portc,rs ;salta punto call ms1 movlw 89 bsf portc,rs call ms1 call tastiera movlw 10 subwf memoria,0 goto dati_con_lun movf memoria,0 movwf decimix movf mem_dis,0 call conferma ;conferma dati? ;**********sottoprogramma che richiede dati lavorazione conica angolo dati_con_prof1 call home1 48

49 movlw '0' movlw '0' call home2 movlw 'C' movlw 'O' movlw 'N' movlw 'I' movlw 'C' movlw 'I' movlw 'T' movlw 'A' movlw '`' movlw 'I' movlw 'N' movlw '%' bcf portc,rs ;richiedi dati conicita' call ms1 ; movlw 87 bsf portc,rs call ms1 call tastiera 49

50 movlw 10 subwf memoria,0 goto dati_con_prof1 movf memoria,0 movwf COND movf mem_dis,0 call tastiera movlw 10 subwf memoria,0 goto dati_con_prof1 movf memoria,0 movwf CONU movf mem_dis,0 call conferma ;conferma dati? ;**********sottoprogramma lavorazione in corso lav_corso call home1 movlw ':' movlw 'T' movlw 'E' movlw 'M' movlw 'P' movlw 'O' call home2 movlw 'L' movlw 'A' 50

51 movlw 'V' movlw 'O' movlw 'R' movlw 'A' movlw 'Z' movlw 'I' movlw 'O' movlw 'N' movlw 'E' ;***********sottoprogramma lavorazione cilindrica lav_cilindrica bsf porte,2 ;motore mandrino on call binariox call binarioy movf xl,0 movwf x1l movf xh,0 movwf x1h bcf intcon,7 ;disabilita interrupt bsf pch,3 ;seleziona banco1 ROM call visual_tempo ;calcola tempo lavorazione bcf pch,3 ;seleziona banco0 ROM bsf intcon,7 ;riabilita interrupt incf time ;fa partire tempo lav_ci clrf flag ;inizio lavorazione movf xl,0 ;memorizza dati in x1 movwf x1l movf xh,0 movwf x1h lav_cil movf x1l ;controlla se zero goto lavc_x call dy decf x1l ;controlla se zero goto lav_cil lavc_x movf x1h goto lavc_1 call dy decf x1h decf x1l goto lav_cil lavc_1 movf yl ;controlla posizione asse y goto lavc_y call dx decf yl goto lavflag lavc_y movf yh goto lav_cout call dx decf yh decf yl lavflag incf flag movlw 1 subwf flag,0 51

52 goto lav_ci movf xl,0 movwf x1l movf xh,0 movwf x1h lavr1 movf x1l ;memorizza dati in x1 ;controlla se zero goto lavr2 call sy decf x1l ;controlla se zero goto lavr1 lavr2 movf x1h goto lavc_1 call sy decf x1h decf x1l goto lavr1 lav_cout bcf porte,2 ;motore off call terminata call zeroxy ;***********sottoprogramma lavorazione conica lav_conica bsf porte,2 ;motore mandrino on call binariox call binario_con bcf intcon,7 ;disabilita interrupt bsf pch,3 ;seleziona banco ROM1 call passi_m ;calcola passi assex bcf pch,3 ;seleziona banco1 ROM bsf intcon,7 ;riabilita interrupt bcf status,0 ;calcola l*2/conicita' rlf pendl ;per calcolo lunghezza scalino rlf pendh clrf gradino ;azzera risultato quoziente movlw 8 movwf conta mul bcf status,0 rlf gradino bcf status,0 rlf pendl rlf pendh movf y1l,0 subwf pendh,0 btfss status,0 goto testd movf pendh incf gradino testd decfsz conta goto mul bcf intcon,7 ;disabilita interrupt bsf pch,3 ;seleziona banco ROM1 call visual_tempo1 ;calcola tempo lavorazione bcf pch,3 ;seleziona banco1 ROM bsf intcon,7 ;riabilita interrupt incf time ;start visualizzazione tempo in_con movf gradino,0 movwf contat movf xl,0 ;memorizza dati per lavorazione movwf x1l movf xh,0 movwf x1h lavo_c movf x1l ;controlla se zero goto lavoc_x 52

53 call sy decfsz contat ;aggiorna calcolo gradino goto ccc1 goto salto_g ccc1 decf x1l ;controlla se zero goto lavo_c lavoc_x movf x1h goto fine_con call sy decf x1h decf x1l decfsz contat ;aggiorna calcolo gradino goto ccc2 goto salto_g ccc2 goto lavo_c salto_g call dx movf gradino,0 subwf xl btfsc status,0 goto ritorno movf xh goto fine_con decf xh ritorno movf x1l ;ritorno con lavorazione goto lavrc_x call sy decf x1l ;controlla se zero goto ritorno lavrc_x movf x1h goto torn call sy decf x1h decf x1l goto ritorno torn movf xl,0 ;memorizza dati in x1 movwf x1l movf xh,0 movwf x1h rito_v movf x1l ;ritorno senza lavorazione goto rito_v1 call dy decf x1l ;controlla se zero goto rito_v rito_v1 movf x1h goto in_con call dy decf x1h decf x1l goto rito_v fine_con bcf porte,2 ;stop motore call terminata call zeroxy ;**********sottoprogramma conversione dati in binario spostamento assex binariox clrf xl clrf xh lpx1 movf centx ;controlla valore centinaia ;se zero passa a controllo decine goto lpx2 53

54 movlw d'250' addwf xl btfsc status,0 incf xh movlw d'250' addwf xl btfsc status,0 incf xh movlw d'250' addwf xl btfsc status,0 incf xh movlw d'250' addwf xl btfsc status,0 incf xh decf centx goto lpx1 lpx2 movf decx goto lpx3 movlw d'100' addwf xl btfsc status,0 incf xh decf decx goto lpx2 lpx3 movf unx goto lpx4 movlw d'10' addwf xl btfsc status,0 incf xh decf unx goto lpx3 lpx4 movf decimix goto lpx5 movlw 1 addwf xl btfsc status,0 incf xh decf decimix goto lpx4 lpx5 ;c'e' riporto ;c'e' riporto ;c'e' riporto ;c'e' riporto ;controlla valore decine ;se zero passa a controllo unita' ;c'e' riporto ;controlla valore unita' ;se zero passa a controllo decimi ;c'e' riporto ;controlla valore decimi ;c'e' riporto ;**********sottoprogramma conversione dati in binario spostamento assey binarioy clrf yl clrf yh lpx2y movf decy ;controlla valore decine ;se zero passa a controllo decine goto lpx3y movlw d'100' addwf yl btfsc status,0 ;c'e' riporto incf yh decf decy goto lpx2y lpx3y movf uny ;controlla valore unita' ;se zero passa a controllo unita' goto lpx4y movlw d'10' addwf yl btfsc status,0 ;c'e' riporto incf yh decf uny 54

55 goto lpx3y lpx4y movf decimiy goto lpx5y movlw 1 addwf yl btfsc status,0 incf yh decf decimiy goto lpx4y lpx5y ;controlla valore decimi ;c'e' riporto ;**********sottoprogramma conversione dati in binario per conica binario_con clrf ylc clrf yhc lpm3y movf COND ;controlla valore unita' ;se zero passa a controllo unita' goto lpm4y movlw d'10' addwf ylc btfsc status,0 ;c'e' riporto incf yhc decf COND goto lpm3y lpm4y movf CONU goto lpm5y movlw 1 addwf ylc btfsc status,0 incf yhc decf CONU goto lpm4y lpm5y ;controlla valore decimi ;c'e' riporto ;**********sottoprogramma lavorazione terminata terminata clrf time ;blocca visualizzazione tempo call home1 movlw 'L' movlw 'A' movlw 'V' movlw 'O' movlw 'R' movlw 'A' movlw 'Z' movlw 'I' movlw 'O' movlw 'N' movlw 'E' 55

56 call home2 movlw 'T' movlw 'E' movlw 'R' movlw 'M' movlw 'I' movlw 'N' movlw 'A' movlw 'T' movlw 'A' ;*******************routine conferma dati inseriti conferma call home2 movlw 'C' movlw 'O' movlw 'N' movlw 'F' movlw 'E' movlw 'R' movlw 'M' movlw 'A' movlw '(' movlw 'S' movlw '/' movlw 'N' movlw ')' 56

57 movlw '?' ;*************************TASTIERA************************************ ******* tastiera bsf portc,rs call blink_on movlw b' ' ;riga rb3 movwf portb btfss portb,4 ;premuto 0? goto tasto0 btfss portb,5 ;premuto 4? goto tasto4 btfss portb,6 ;premuto 8? goto tasto8 movlw b' ' ;riga rb2 movwf portb btfss portb,4 ;premuto 1? goto tasto1 btfss portb,5 ;premuto 5? goto tasto5 btfss portb,6 ;premuto 9? goto tasto9 movlw b' ' ;riga rb1 movwf portb btfss portb,4 ;premuto 2? goto tasto2 btfss portb,5 ;premuto 6? goto tasto6 movlw b' ' ;riga rb0 movwf portb btfss portb,4 ;premuto 3? goto tasto3 btfss portb,5 ;premuto 7? goto tasto7 movlw b' ' movwf portb btfss portb,7 ;premuto ESC? goto tasto10 goto tastiera ;se nessun tasto premuto ripeti ;*****************************************TASTI*********************** * tasto0 call delay20ms ;elimina rimbalzi lpt1 btfss portb,4 ;pulsante rilasciato? goto lpt1 call delay20ms ;elimina rimbalzi movlw 0 ;memorizza lettura movwf memoria movlw '0' ;memorizza dato per display movwf mem_dis goto blink tasto1 lpt2 tasto2 lpt3 call delay20ms btfss portb,4 goto lpt2 call delay20ms movlw 1 movwf memoria movlw '1' movwf mem_dis goto blink call delay20ms btfss portb,4 goto lpt3 call delay20ms movlw d'2' 57

58 tasto3 lpt4 tasto4 lpt5 tasto5 lpt6 tasto6 lpt7 tasto7 lpt8 tasto8 lpt9 tasto10 lptesc tasto9 lpt10 movwf memoria movlw '2' movwf mem_dis goto blink call delay20ms btfss portb,4 goto lpt4 call delay20ms movlw d'3' movwf memoria movlw '3' movwf mem_dis goto blink call delay20ms btfss portb,5 goto lpt5 call delay20ms movlw d'4' movwf memoria movlw '4' movwf mem_dis goto blink call delay20ms btfss portb,5 goto lpt6 call delay20ms movlw d'5' movwf memoria movlw '5' movwf mem_dis goto blink call delay20ms btfss portb,5 goto lpt7 call delay20ms movlw d'6' movwf memoria movlw '6' movwf mem_dis goto blink call delay20ms btfss portb,5 goto lpt8 call delay20ms movlw d'7' movwf memoria movlw '7' movwf mem_dis goto blink call delay20ms btfss portb,6 goto lpt9 call delay20ms movlw d'8' movwf memoria movlw '8' movwf mem_dis goto blink call delay20ms btfss portb,7 goto lptesc call delay20ms movlw 10 movwf memoria call delay20ms btfss portb,6 goto lpt10 call delay20ms 58

59 blink movlw d'9' movwf memoria movlw '9' movwf mem_dis call blink_off ;********sottoprogramma controllo tasto enter ok movlw b' ' movwf portb lpen btfsc portb,7 goto lpen call delay20ms ;elimina rimbalzi ;********sottoprogramma controllo tasto enter rilasciato okoff movlw b' ' movwf portb lpenr btfss portb,7 goto lpenr call delay20ms ;elimina rimbalzi ;**********sottoprogramma invio dati a display display movwf portd ;invia dato bsf portc,e ;impulso di abilitazione bcf portc,e call ms1 ;ritardo 1ms ;**********sottoprogramma comando cursore inizio seconda riga home2 bcf portc,rs movlw 0xc0 ;display inizio seconda riga bsf portc,rs ;**********sottoprogramma comando cursore inizio prima riga home1 bcf portc,rs movlw 0x80 ;display inizio prima riga bsf portc,rs ;**********sottoprogramma blink on blink_on bcf portc,rs ;blink on call ms1 movlw 0d bsf portc,rs call ms1 ;**********sottoprogramma blink off blink_off bcf portc,rs call ms1 movlw 0c ;blink off bsf portc,rs call ms1 ;**********sottoprogramma scritta (#) per continuare enter call home2 movlw '#' 59

60 movlw 'P' movlw 'E' movlw 'R' movlw 'C' movlw 'O' movlw 'N' movlw 'T' movlw 'I' movlw 'N' movlw 'U' movlw 'A' movlw 'R' movlw 'E' ;**********sottoprogramma ritardo 1ms ms1 clrf ms lp_ms movf ms goto lp_ms ;**********sottoprogramma ritardo 1ms ms10 clrf ms lp_ms3 movlw d'10' subwf ms,0 goto lp_ms3 ;**********sottoprogramma ritardo 20ms delay20ms clrf ms lp_ms20 movlw d'20' subwf ms,0 goto lp_ms20 ;**********sottoprogramma ritardo 100ms ms100 clrf ms lp_ms100 movlw d'100' subwf ms,0 goto lp_ms100 ;**********sottoprogramma controllo spostamento asse_dx dx incf assex movlw 4 subwf assex,0 60

61 goto sax clrf assex sax movf assex goto dx1 bcf porta,3 bsf porta,0 call ms10 dx1 movlw 1 subwf assex,0 goto dx2 bcf porta,0 bsf porta,2 call ms10 dx2 movlw 2 subwf assex,0 goto dx3 bcf porta,2 bsf porta,1 call ms10 dx3 bcf porta,1 bsf porta,3 call ms10 ;**********sottoprogramma controllo spostamento asse_sx sx decf assex movlw 0xff subwf assex,0 goto sbx movlw 3 movwf assex sbx movf assex goto sx1 bcf porta,2 bsf porta,0 call ms10 sx1 movlw 1 subwf assex,0 goto sx2 bcf porta,1 bsf porta,2 call ms10 sx2 movlw 2 subwf assex,0 goto sx3 bcf porta,3 bsf porta,1 call ms10 sx3 bcf porta,0 bsf porta,3 call ms10 ;**********sottoprogramma controllo spostamento asse dy dy incf assey movlw 4 61

62 subwf assey,0 goto ddy clrf assey ddy movf assey goto dy1 bcf portc,3 bsf portc,0 call ms10 dy1 movlw 1 subwf assey,0 goto dy2 bcf portc,0 bsf portc,1 call ms10 dy2 movlw 2 subwf assey,0 goto dy3 bcf portc,1 bsf portc,2 call ms10 dy3 bcf portc,2 bsf portc,3 call ms10 ;**********sottoprogramma controllo spostamento asse sy sy decf assey movlw 0xff subwf assey,0 goto sby movlw 3 movwf assey sby movf assey goto sy1 bcf portc,1 bsf portc,0 call ms10 sy1 movlw 1 subwf assey,0 goto sy2 bcf portc,2 bsf portc,1 call ms10 sy2 movlw 2 subwf assey,0 goto sy3 bcf portc,3 bsf portc,2 call ms10 sy3 bcf portc,0 bsf portc,3 call ms10 ;**********sottoprogramma posizionamento in x,y=0,0 62

63 zeroxy lp1 btfsc porte,1 goto lp2 ;controlla se azionato FCRX collegato a RE1 call sx movlw b' ' movwf portb btfss portb,7 ;premuto ESC? goto lp1 lp2 call mot_off movlw b' ' movwf portb btfss portb,7 ;premuto ESC? btfss porta,4 ;controlla se azionato FCRY collegato a RA4 goto lp222 call mot_off lp222 call sy goto lp2 ;****************routine posiziona utensile in 0,0 zero_zero movlw b' ' movwf portb btfsc portb,6 goto zzz1 btfsc porte,0 goto allarme call dx call mot_off zzz1 movlw b' ' movwf portb btfsc portb,6 goto zzz2 btfsc porte,1 goto allarme call sx call mot_off zzz2 movlw b' ' movwf portb btfsc portb,7 goto zzz3 btfsc porta,4 goto allarme call sy call mot_off zzz3 movlw b' ' movwf portb btfsc portb,7 goto zzz4 btfsc porta,5 goto allarme call dy call mot_off zzz4 movlw b' ' ;premuto #? movwf portb btfsc portb,7 goto zero_zero call mot_off allarme goto zero_zero ;***************motori a riposo mot_off clrf porta ;motore1 off bcf portc,0 ;motore2 off 63

64 64 bcf portc,1 bcf portc,2 bcf portc,3 ;area rom libera per salto pagina

65 ;**********routine che calcola tempo lavorazione cilindrica******* visual_tempo ;moltiplica dati lavorazione x 4.8 movf xl,0 ;memorizza dati in x1 movwf x1l movf xh,0 movwf x1h bcf status,0 rlf xl rlf xh bcf status,0 rlf xl rlf xh bcf status,0 rrf x1h rrf x1l movf x1l,0 addwf xl btfsc status,0 incf xh movf x1h,0 addwf xh bcf status,0 rrf x1h rrf x1l bcf status,0 rrf x1h rrf x1l bcf status,0 rrf x1h rrf x1l movf x1l,0 addwf xl btfsc status,0 incf xh movf x1h,0 addwf xh movf yl,0 ;memorizza dati in y1 movwf y1l movf yh,0 65

66 movwf y1h bcf status,0 rlf yl rlf yh bcf status,0 rlf yl rlf yh bcf status,0 rrf y1h rrf y1l movf y1l,0 addwf yl btfsc status,0 incf yh movf y1h,0 addwf yh bcf status,0 rrf y1h rrf y1l bcf status,0 rrf y1h rrf y1l bcf status,0 rrf y1h rrf y1l movf y1l,0 addwf yl btfsc status,0 incf yh movf y1h,0 addwf yh clrf em1 ;emula lavorazione cilindrica clrf timel clrf timeh movf xl,0 ;memorizza dati per lavorazione movwf mxl movwf x1l movf xh,0 movwf mxh movwf x1h movf yl,0 movwf mem1 movf yh,0 movwf mem2 lav_cie clrf flag ;inizio lavorazione movf mxl,0 ;memorizza dati in x1 movwf x1l movf mxh,0 movwf x1h lav_cile movf x1l ;controlla se zero goto lavc_xe incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e1 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh e1 decf x1l ;controlla se zero goto lav_cile lavc_xe movf x1h goto lavc_1e 66

67 e2 incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e2 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh decf x1h decf x1l goto lav_cile lavc_1e movf mem1 ;controlla posizione asse y goto lavc_ye incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e3 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh e3 decf mem1 goto lavflage lavc_ye movf mem2 goto lav_coute incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e4 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh e4 decf mem2 decf mem1 lavflage incf flag movlw 1 subwf flag,0 goto lav_cie movf mxl,0 ;memorizza dati in x1 movwf x1l movf mxh,0 movwf x1h lavr1e movf x1l ;controlla se zero goto lavr2e incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e5 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh e5 decf x1l ;controlla se zero goto lavr1e lavr2e movf x1h 67

68 goto lavc_1e incf em1 movlw d'100' subwf em1,0 btfss status,0 goto e6 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh e6 decf x1h decf x1l goto lavr1e lav_coute incf em1 ;aggiusta tempo di 1 secondo movlw d'100' subwf em1,0 btfss status,0 goto e9 movlw 1 addwf timel btfsc status,0 incf timeh e9 clrf mem1 ;converti tempo in minuti movf timel,0 movwf mem2 lt11c movlw d'60' subwf mem2 btfss status,0 goto lt21c subwf timel incf mem1 goto lt11c lt21c movf timeh goto lt31c decf timeh movlw d'60' subwf timel incf mem1 goto lt11c lt31c clrf dmin2 ;converti minuti in BCD movf mem1,0 movwf mem2 lt331c movlw d'10' subwf mem2 btfss status,0 goto lt41c subwf mem1 incf dmin2 goto lt331c lt41c movf mem1,0 movwf umin2 clrf dsec2 ;converti secondi in BCD movf timel,0 movwf mem2 lt441c movlw d'10' subwf mem2 btfss status,0 goto lt51c subwf timel incf dsec2 goto lt441c lt51c movf timel,0 movwf usec2 68

69 ;**********routine che calcola passi motore ******* passi_m ;moltiplica dati lavorazione x 4.8 movf xl,0 ;memorizza dati in x1 movwf x1l movwf pendl movf xh,0 movwf x1h movwf pendh bcf status,0 rlf xl rlf xh bcf status,0 rlf xl rlf xh bcf status,0 rrf x1h rrf x1l movf x1l,0 addwf xl btfsc status,0 incf xh movf x1h,0 addwf xh bcf status,0 rrf x1h rrf x1l bcf status,0 rrf x1h rrf x1l bcf status,0 rrf x1h rrf x1l movf x1l,0 addwf xl btfsc status,0 incf xh movf x1h,0 addwf xh movf ylc,0 ;memorizza dati in y1 movwf y1l movf xl,0 ;salva dati per calcolo tempo movf xh,0 ;************* routine che calcola tempo lavorazione ******** visual_tempo1 clrf em1 ;emula lavorazione conica clrf timel clrf timeh movf xl,0 ;memorizza dati per lavorazione movwf mxl movf xh,0 movwf mxh in_cone movf gradino,0 movwf contat movf mxl,0 ;memorizza dati per lavorazione movwf x1l movf mxh,0 movwf x1h lavo_ce movf x1l ;controlla se zero goto lavoc_xe incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee1 clrf em1 69

70 movlw 1 addwf timel btfsc status,0 incf timeh ee1 decfsz contat ;aggiorna calcolo gradino goto ccc1e goto salto_ge ccc1e decf x1l ;controlla se zero goto lavo_ce lavoc_xe movf x1h goto fine_cone incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee2 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee2 decf x1h decf x1l decfsz contat ;aggiorna calcolo gradino goto ccc2e goto salto_ge ccc2e goto lavo_ce salto_ge incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee3 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee3 movf gradino,0 subwf mxl btfsc status,0 goto ritornoe movf mxh goto fine_cone decf mxh ritornoe movf x1l goto lavrc_xe incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee4 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee4 decf x1l ;controlla se zero goto ritornoe lavrc_xe movf x1h goto torne incf em1 ;ritorno con lavorazione 70

71 movlw d'100' subwf em1,0 btfss status,0 goto ee5 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee5 decf x1h decf x1l goto ritornoe torne movf mxl,0 ;memorizza dati in x1 movwf x1l movf mxh,0 movwf x1h rito_ve movf x1l ;ritorno senza lavorazione goto rito_v1e incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee6 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee6 decf x1l ;controlla se zero goto rito_ve rito_v1e movf x1h goto in_cone incf em1 movlw d'100' subwf em1,0 btfss status,0 goto ee7 clrf em1 movlw 1 addwf timel btfsc status,0 incf timeh ee7 decf x1h decf x1l goto rito_ve fine_cone incf em1 ;aggiusta tempo di 1 secondo movlw d'100' subwf em1,0 btfss status,0 goto ee9 movlw 1 addwf timel btfsc status,0 incf timeh ee9 clrf mem1 ;converti tempo in minuti movf timel,0 movwf mem2 lt11 movlw d'60' subwf mem2 btfss status,0 goto lt21 subwf timel incf mem1 goto lt11 lt21 movf timeh 71

72 goto lt31 decf timeh movlw d'60' subwf timel incf mem1 goto lt11 lt31 clrf dmin2 ;converti minuti in BCD movf mem1,0 movwf mem2 lt331 movlw d'10' subwf mem2 btfss status,0 goto lt41 subwf mem1 incf dmin2 goto lt331 lt41 movf mem1,0 movwf umin2 clrf dsec2 ;converti secondi in BCD movf timel,0 movwf mem2 lt441 movlw d'10' subwf mem2 btfss status,0 goto lt51 subwf timel incf dsec2 goto lt441 lt51 movf timel,0 movwf usec2 end 72

73 MODELLO unimat 3 Progetto della classe V A/Z Coordinatore del progetto :Ins. ZANIOL ITALO Équipe Riccardo Palù Domenico De Luca Stefano Crepaldi Mauro Tosatto Loris Visintin 73

74 Egregio Cliente, ci congratuliamo e La ringraziamo per aver scelto il nostro prodotto UNIMAT 3. Abbiamo preparato questo libretto di istruzioni per consentirle di apprezzare le qualità di questo tornio. Le raccomandiamo di leggerloattentamente in tutte le sue parti prima di accingersi per la prima volta all utilizzo. In esso sono contenute informazioni, consigli e Avvertenze. All interno del manuale sono stati inseriti dei consigli utili per la manutenzione periodica e per l uso coretto di UNIMAT 3 e del suo mantenimento ottimale. Cordialmente. V A/Z serale 74

75 NOME DEI COMPONENTI E FUNZIONI VISTA FRONTALE DEL TORNIO VISTA DALL ALTO DEL TORNIO 75

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti Lezione 4 Uno degli scogli maggiori per chi inizia a lavorare con i microcontroller, è l'interfacciamento con tastiere a matrice. La cosa potrebbe a prima vista sembrare complessa, ma in realtà è implementabile

Dettagli

Lezione 8. Figura 1. Configurazione del registro INTCON

Lezione 8. Figura 1. Configurazione del registro INTCON Lezione 8 In questa puntata, ci dedicheremo all'impiego dei cosiddetti "interrupt", che tanto incutono temore ai più inesperti. Ma che cosa sono questi interrupt? Come abbiamo già visto, un programma non

Dettagli

ITIS MAX PLANCK ( Lancenigo di Villorba )

ITIS MAX PLANCK ( Lancenigo di Villorba ) ITIS MAX PLANCK ( Lancenigo di Villorba ) CORSO SERALE ( CLASSE 5^ ZTE ) Area di progetto anno scolastico 2006/2007 Allievi : Enrico De Marchi-Alessio Borin Tutor : Prof. Italo Zaniol GIUOCO DEL BINGO

Dettagli

CIRCUITO DI TEST E SOFTWARE UTILIZZATI

CIRCUITO DI TEST E SOFTWARE UTILIZZATI CIRCUITO DI TEST E SOFTWARE UTILIZZATI Circuito di Test Nello schema elettrico di figura A è rappresentato un circuito, realizzabile anche senza l ausilio di un circuito stampato, che consente di testare

Dettagli

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET

PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET Canzian Sara Liberali Marco 5AT A.S.2007/2008 PUNTATORE LASER AUTOMATICO CON COMANDO VIA ETHERNET Questo sistema permette di posizionare una luce laser in una determinata posizione data dalle coordinate

Dettagli

Progetto di Microcontrollori. Cronotermostato per Caldaia

Progetto di Microcontrollori. Cronotermostato per Caldaia Progetto di Microcontrollori Cronotermostato per Caldaia Obiettivo del Progetto Realizzazione di un dispositivo elettronico capace di gestire l accensione di una caldaia mediante il controllo della temperatura

Dettagli

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware Lezione 1 Nella prima lezione del corso, cercheremo di comprendere come sia fatto internamente il controller più conosciuto di Microchip, ovvero il PIC16C84 poi evoluto nel PIC16F84. Sebbene i microcontroller

Dettagli

La tecnica DDS. Un generatore di toni DTMF

La tecnica DDS. Un generatore di toni DTMF La tecnica DDS 32 Un generatore di toni DTMF standard con selezione a tastiera è presentato in quest articolo come applicazione della tecnica DDS (Direct Digital Synthesys), mediante un microprocessore.

Dettagli

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A ITIS M. PLANCK LANCENIGO DI VILLORBA (TV) A.S. 2006/07 CLASSE 4A/ SERALE Corso di elettronica e telecomunicazioni Ins. Zaniol Italo CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A Presentazione

Dettagli

Un semplice timer per

Un semplice timer per Timer programmabile 50 Un semplice timer per bromografo, programmabile da 1 a 3600 sec, con visualizzazione del tempo impostato e del tempo trascorso su display LCD 16x2. Utilissimo in laboratorio per

Dettagli

MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA

MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA ANDREA USAI Dipartimento di Informatica e Sistemistica Antonio Ruberti Andrea Usai (D.I.S. Antonio Ruberti ) Laboratorio di Automatica

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici PICLOCK Classe 4 EA indirizzo elettronica ed elettrotecnica Ivancich Stefano Tecnologie e progettazione di sistemi elettrici ed elettronici Istituto tecnico C. Zuccante Mestre A.S. 2013/2014 progetto n

Dettagli

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it PLC51 di G.Filella e C. Befera filella@tin.it Ecco il piccolo Davide, un ottimo esempio di come l elettronica si integra con l informatica: un potente PLC controllabile tramite la porta seriale di un personal

Dettagli

Esercizi di verifica del debito formativo:

Esercizi di verifica del debito formativo: Esercizi di verifica del debito formativo: Disegnare il diagramma e scrivere la tabella delle transizioni di stato degli automi sequenziali a stati finiti che rappresentano il comportamento dei seguenti

Dettagli

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2 Manuale d uso Note: Le informazioni contenute in questa documentazione possono essere modificate senza preavviso. Per ulteriori informazioni contattare: DUEMMEGI

Dettagli

PICOTEP - Ing. Ferdinando FUSCO

PICOTEP - Ing. Ferdinando FUSCO 1 2 Il nome del dispositivo nasce tra la fusione di quattro parole: PI CO TE P P.I.C. - Microcontrollore CONTROL Controllo TEMPERATURE - Temperatura P.W.M. Pulse Width Modulation (Modulazione di larghezza

Dettagli

MICROCONTROLLORE PIC16F84A

MICROCONTROLLORE PIC16F84A MICROCONTROLLORE PIC16F84A Il microcontrollore pic16f84a, a differenza di un computer normale e' dotato in un unico integrato di tutti gli elementi fondamentali di un computer, che sono la Cpu, unita'

Dettagli

PROCESSOR 16F84A. ;configurazione FUSES: oscillatore XT, WDT disabilitato PWRT abilitato, CP disabilitato config 0x3FF1

PROCESSOR 16F84A. ;configurazione FUSES: oscillatore XT, WDT disabilitato PWRT abilitato, CP disabilitato config 0x3FF1 ---- ; Programma per ROBOT MDB3F2004-05 Evolution ; Autore: MICCI Antonello copyright 2005 ---- ------------------------- ;Piedino RA0 ingresso fotocellula dx livello basso rilevazione ostacolo ;Piedino

Dettagli

U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA

U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA U.D. 6.2 CONTROLLO DI VELOCITÀ DI UN MOTORE IN CORRENTE ALTERNATA Mod. 6 Applicazioni dei sistemi di controllo 6.2.1 - Generalità 6.2.2 - Scelta del convertitore di frequenza (Inverter) 6.2.3 - Confronto

Dettagli

BICI 2000 - Versione 1.9

BICI 2000 - Versione 1.9 Pagina 1/8 BICI 2000 - Versione 1.9 Il controllo BICI 2000 nasce per il pilotaggio di piccoli motori a magnete permanente in alta frequenza per veicoli unidirezionali alimentati da batteria. La sua applicazione

Dettagli

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 7 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON...

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... A/D CON PIC 16F877 Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... 7 ESEMPIO 1... 7 ADCON1... 8 ADFM... 8 PGF3, PGF1 E PGF0... 9 ESEMPIO

Dettagli

ITIS ind. Elettronica etelecomunicazioni Classe IV A Area di progetto PIANOLA ELETTRONICA Studenti: Vari Manuel e Antonelli Davide

ITIS ind. Elettronica etelecomunicazioni Classe IV A Area di progetto PIANOLA ELETTRONICA Studenti: Vari Manuel e Antonelli Davide Istituto Tecnico Industriale C. Rosatelli A.S. 009/010 ITIS ind. Elettronica etelecomunicazioni Classe IV A Area di progetto PIANOLA ELETTRONICA Studenti: Vari Manuel e Antonelli Davide 1 Istituto Tecnico

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

INTRODUZIONE. Articolo qe001: versione 4

INTRODUZIONE. Articolo qe001: versione 4 INTRODUZIONE L obiettivo principale del progetto è dimostrare come ridefinire le strategie di gestione dei quadri elettrici disponendo di un network telematico in grado di monitorare e storicizzare tutti

Dettagli

TRASDUTTORI di POSIZIONE

TRASDUTTORI di POSIZIONE TRASDUTTORI di POSIZIONE Numerosi trasduttori sono stati messi a punto per il rilievo di posizione, in movimenti sia rettilinei sia rotatori. I potenziometri, rettilinei o circolari selezionano una quota

Dettagli

Microcontrollori. L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876.

Microcontrollori. L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876. 111 Microcontrollori L ultima parte del corso prevede un approfondimento sui microprocessori, in particolare sul PIC 16F876. In elettronica digitale il microcontrollore è un dispositivo elettronico integrato

Dettagli

6 Cenni sulla dinamica dei motori in corrente continua

6 Cenni sulla dinamica dei motori in corrente continua 6 Cenni sulla dinamica dei motori in corrente continua L insieme di equazioni riportato di seguito, costituisce un modello matematico per il motore in corrente continua (CC) che può essere rappresentato

Dettagli

MANUALE DI INSTALLAZIONE E MESSA IN SERVIZIO INDICE. Funzione. Dati tecnici Dimensioni Collegamenti elettrici. Caratteristiche funzionali

MANUALE DI INSTALLAZIONE E MESSA IN SERVIZIO INDICE. Funzione. Dati tecnici Dimensioni Collegamenti elettrici. Caratteristiche funzionali 28111.03 www.caleffi.com Regolatore digitale SOLCAL 1 Copyright 2012 Caleffi Serie 257 MANUALE DI INSTALLAZIONE E MESSA IN SERVIZIO INDICE Funzione 1 Dati tecnici Dimensioni Collegamenti elettrici 3 Caratteristiche

Dettagli

B 5000 Sistema di saldatura

B 5000 Sistema di saldatura B 5000 Sistema di saldatura Oggi per dimostrare la propria competenza tecnica e soddisfare le esigenze del mercato, un costruttore di impianti per produzioni in massa di componenti deve conoscere a fondo

Dettagli

DUEMMEGI. VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso. Versione 1.0 - Gennaio 2007

DUEMMEGI. VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso. Versione 1.0 - Gennaio 2007 DUEMMEGI minidisp2 minidisp2 VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso Versione 1.0 - Gennaio 2007 HOME AND BUILDING AUTOMATION Via Longhena 4-20139 MILANO Tel. 02/57300377 - FAX 02/55213686 www.duemmegi.it

Dettagli

Vengono detti attuatori i dispositivi in grado di agire sull ambiente esterno comandati da segnali elettrici.

Vengono detti attuatori i dispositivi in grado di agire sull ambiente esterno comandati da segnali elettrici. GLI ATTUATORI Vengono detti attuatori i dispositivi in grado di agire sull ambiente esterno comandati da segnali elettrici. La casistica è assai vasta ; sono comuni i semplici azionamenti magnetici (elettromagneti

Dettagli

I trasduttori differenziali.

I trasduttori differenziali. I trasduttori differenziali. I trasduttori differenziali sono dei dispositivi che consentono di convertire uno spostamento meccanico in un segnale elettrico. Sono utilizzati anche per piccoli spostamenti

Dettagli

Controllo di un Motore Elettrico in Corrente Continua

Controllo di un Motore Elettrico in Corrente Continua Controllo di un Motore Elettrico in Corrente Continua ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Università di Catania, Italy santoro@dmi.unict.it Programmazione

Dettagli

TECNOLOGIA DELLE RESISTENZE

TECNOLOGIA DELLE RESISTENZE I RESISTORI (Resistenze) TECNOLOGIA DELLE RESISTENZE Si definiscono i Resistori (o Resistenze) i componenti di un circuito che presentano fra i loro terminali una resistenza elettrica. Le Resistenze servono

Dettagli

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio.

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio. Svolgimento (a) Il sensore di temperatura ha un uscita digitale a 9 bit, emettendo un codice binario proporzionale al valore Temp richiesto. Possiamo pensare si tratti di un dispositivo 1-Wire. Un sistema

Dettagli

è importante farci conoscere e comunicare ai giovani la nostra passione e poi, si sa, da cosa nasce cosa... Premessa. Il Progetto.

è importante farci conoscere e comunicare ai giovani la nostra passione e poi, si sa, da cosa nasce cosa... Premessa. Il Progetto. La Radio nelle scuole, storia di un progetto portato a termine dalla Sezione ARI di Padova in collaborazione con l Istituto Tecnico Industriale F. Severi di Padova. è importante farci conoscere e comunicare

Dettagli

CHIAVE ELETTRONICA CON CHIP CARD (EEPROM) di Massimo e Leonardo Divito div.massimo@tiscali.it

CHIAVE ELETTRONICA CON CHIP CARD (EEPROM) di Massimo e Leonardo Divito div.massimo@tiscali.it CHIAVE ELETTRONICA CON CHIP CARD (EEPROM) di Massimo e Leonardo Divito div.massimo@tiscali.it Ecco a voi un semplice circuito utile ad attivare una serratura elettrica o a tenere sotto chiave qualsiasi

Dettagli

PLC - Linguaggi. I linguaggi di programmazione dei PLC sono orientati ai problemi di automazione e utilizzano soprattutto:

PLC - Linguaggi. I linguaggi di programmazione dei PLC sono orientati ai problemi di automazione e utilizzano soprattutto: PLC - Linguaggi Il software è l elemento determinante per dare all hardware del PLC quella flessibilità che i sistemi di controllo a logica cablata non possiedono. Il software che le aziende producono

Dettagli

09-05-07. Introduzione ai microcontrollori PIC

09-05-07. Introduzione ai microcontrollori PIC 09-05-07 Introduzione ai microcontrollori PIC Daniele Beninato: Nicola Trivellin: beninato@dei.unipd.it trive1@tin.it Che cosa è un microcontrollore? Un microcontrollore è un sistema a microprocessore

Dettagli

Costruzione e funzionamento

Costruzione e funzionamento 4.4 Dispositivi di sicurezza I seguenti dispositivi di sicurezza sono installati e non possono essere modificati: PulsanteARRESTOdiEMERGENZA Premendo il pulsante ARRESTO di EMERGENZA si disattiva immediatamente

Dettagli

DISPLAY LCD HD44780U(LCD-II)

DISPLAY LCD HD44780U(LCD-II) DISPLAY LCD HD44780U(LCD-II) 1. Descrizione 1.1 Introduzione Molti dispositivi a microcontrollore usano un visualizzatore (display) LCD per mostrare delle informazioni, uno dei tipi più usati può mostrare

Dettagli

Introduzione...xiii Istruzioni per l uso...xiii File di supporto al libro... xiv

Introduzione...xiii Istruzioni per l uso...xiii File di supporto al libro... xiv Introduzione...xiii Istruzioni per l uso...xiii File di supporto al libro... xiv Capitolo 1 Cosa serve per iniziare...1 Dove e come acquistare il materiale...1 Hacker elettronico...2 Strumentazione e materiali

Dettagli

Programmatore per telaio scheller

Programmatore per telaio scheller Divo Di Lupo Sistemi per telai Cotton Bentley Monk Textima Scheller Closa Boehringer http://www.divodilupo.191.it/ Programmatore per telaio scheller Attuatore USB semplificato Numero totale di pagine =

Dettagli

List p=16f84 ;Tipo di processore include "P16F84.INC" ;Definizioni di registri interni. goto Inizio

List p=16f84 ;Tipo di processore include P16F84.INC ;Definizioni di registri interni. goto Inizio ESEMPIO 1.1 Autore: Mikel Etxebarria (c) Microsystems Engineering (Bilbao) Esempio per simulazione Sommare due valori immediati (p.e. 5+7) il risultato va depositato nella posizione 0x10 List p=16f84 Tipo

Dettagli

EG4 Star CENTRALE A MICROPROCESSORE

EG4 Star CENTRALE A MICROPROCESSORE Curtarolo (Padova) Italy MANUALE DI INSTALLAZIONE EG4 Star CENTRALE A MICROPROCESSORE IST0571V1.3-1 - Generalità Indice Generalità... pag. 2 Caratteristiche tecniche... pag. 2 Scheda della centrale...

Dettagli

ABE_1500 ANALIZZATORE PORTATILE PER BIOGAS

ABE_1500 ANALIZZATORE PORTATILE PER BIOGAS ABE_1500 ANALIZZATORE PORTATILE PER BIOGAS BROCHURE Pagina 1 di 9 Brochure ABE_1500 Caratteristiche principali ABE_1500 analizzatore per Metano (CH4), Biossido di carbonio (CO2), Monossido di carbonio

Dettagli

Misure di frequenza e di tempo

Misure di frequenza e di tempo Misure di frequenza e di tempo - 1 Misure di frequenza e di tempo 1 - Contatori universali Schemi e circuiti di riferimento Per la misura di frequenza e di intervalli di tempo vengono diffusamente impiegati

Dettagli

CORRENTE ELETTRICA. La grandezza fisica che descrive la corrente elettrica è l intensità di corrente.

CORRENTE ELETTRICA. La grandezza fisica che descrive la corrente elettrica è l intensità di corrente. CORRENTE ELETTRICA Si definisce CORRENTE ELETTRICA un moto ordinato di cariche elettriche. Il moto ordinato è distinto dal moto termico, che è invece disordinato, ed è sovrapposto a questo. Il moto ordinato

Dettagli

LP 2000 INSTALLAZIONE E MANUTENZIONE

LP 2000 INSTALLAZIONE E MANUTENZIONE LP 2000 INSTALLAZIONE E MANUTENZIONE INDICATORE, REGOLATORE DI LIVELLO PER IL COMANDO DI DUE POMPE CON SENSORE PIEZORESISTIVO TIPO LP 2000 Questo strumento è stato studiato per dare una soluzione tecnologicamente

Dettagli

PIANO DI LAVORO DEI DOCENTI

PIANO DI LAVORO DEI DOCENTI Pag. 1 di 5 Docenti: Materia insegnamento: Tecnologia disegno e progettazione Dipartimento: Elettronica Classe terza Anno scolastico: 1 Livello di partenza (test di ingresso, livelli rilevati) Non è previsto

Dettagli

Architettura del PIC 18F452

Architettura del PIC 18F452 Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili

Dettagli

Schema del terminale di potenza. Inverter MONOFASE 230V 0.2~0.75kW. L1 L2 P B U V W

Schema del terminale di potenza. Inverter MONOFASE 230V 0.2~0.75kW. L1 L2 P B U V W ITALIANO TT100 Adattamento dal manuale esteso dell operatore degli inverter serie TT100 Collegamenti di potenza Nei modelli con ingresso trifase, collegare i terminali R/L1, S/L2 e T/L3 alla linea trifase

Dettagli

Università degli studi di Roma La Sapienza. Laboratorio di Automatica

Università degli studi di Roma La Sapienza. Laboratorio di Automatica Università degli studi di Roma La Sapienza DIS Dipartimento di Informatica e Sistemistica Laboratorio di Automatica Implementazione di un controllore PID digitale per il controllo di posizione di un motore

Dettagli

IL TRASFORMATORE Prof. S. Giannitto Il trasformatore è una macchina in grado di operare solo in corrente alternata, perché sfrutta i principi dell'elettromagnetismo legati ai flussi variabili. Il trasformatore

Dettagli

PROGETTO ALIMENTATORE VARIABILE CON LM 317. di Adriano Gandolfo www.adrirobot.it

PROGETTO ALIMENTATORE VARIABILE CON LM 317. di Adriano Gandolfo www.adrirobot.it PROGETTO ALIMENTATORE VARIABILE CON LM 37 di Adriano Gandolfo www.adrirobot.it L'integrato LM37 Questo integrato, che ha dimensioni identiche a quelle di un normale transistor di media potenza tipo TO.0,

Dettagli

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M. 7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Esperienzan 6 Lo scopo del progetto è realizzare un termometro

Dettagli

EG8 Star CENTRALE A MICROPROCESSORE

EG8 Star CENTRALE A MICROPROCESSORE Curtarolo (Padova) Italy MANUALE DI INSTALLAZIE EG8 Star CENTRALE A MICROPROCESSORE IST0274V3.2-1 - Generalità Indice Generalità... pag. 2 Caratteristiche tecniche... pag. 2 Scheda della centrale... pag.

Dettagli

ESERCITAZIONI DI ELETTRONICA I

ESERCITAZIONI DI ELETTRONICA I ESERCITAZIONI DI ELETTRONICA I Le esercitazioni descritte nel seguito sono riferite all utilizzo di LTSpice IV free version che può essere reperito nel sito http://www.linear.com/designtools/software/

Dettagli

Lettore General Porpouse di Badge Magnetici

Lettore General Porpouse di Badge Magnetici Lettore General Porpouse di Badge Magnetici I sistemi di controllo degli accessi trovano da sempre ampio consenso tra il nostro pubblico; questo è il motivo per cui proponiamo regolarmente all interno

Dettagli

Due cariche positive si respingono, due cariche negative si respingono, una carica positiva e una negativa si attraggono.

Due cariche positive si respingono, due cariche negative si respingono, una carica positiva e una negativa si attraggono. 2012 11 08 pagina 1 Carica elettrica Esistono cariche elettriche di due tipi: positiva e negativa. Due cariche positive si respingono, due cariche negative si respingono, una carica positiva e una negativa

Dettagli

Trasduttori di posizione e velocità.

Trasduttori di posizione e velocità. Trasduttori di posizione e velocità. Tra le innumerevoli categorie di trasduttori di posizione esistono gli encoder ottici digitali che si possono raggruppare in tre tipologie a seconda del segnale fornito

Dettagli

di Heaveside: ricaviamo:. Associamo alle grandezze sinusoidali i corrispondenti fasori:, Adesso sostituiamo nella

di Heaveside: ricaviamo:. Associamo alle grandezze sinusoidali i corrispondenti fasori:, Adesso sostituiamo nella Equazione di Ohm nel dominio fasoriale: Legge di Ohm:. Dalla definizione di operatore di Heaveside: ricaviamo:. Associamo alle grandezze sinusoidali i corrispondenti fasori:, dove Adesso sostituiamo nella

Dettagli

ESERCIZI SUI SISTEMI DI NUMERAZIONE

ESERCIZI SUI SISTEMI DI NUMERAZIONE ESERCIZI SUI SISTEMI DI NUMERAZIONE 1 ) Convertire in base 10 i seguenti numeri rappresentati nelle basi indicate: (1000101) 2 [R. 69] (477) 8 [R. 319] (40F) 16 [R. 1039] (5778) 9 [R. 4283] (126) 9 [R.

Dettagli

TB6560HQ T3-V5 3 ASSI TB6560HQ T4-V5 4 ASSI

TB6560HQ T3-V5 3 ASSI TB6560HQ T4-V5 4 ASSI TB6560HQ T3-V5 3 ASSI TB6560HQ T4-V5 4 ASSI Immagine della versione 3 assi 1 TB6560T3-V5 Aspetto e collegamenti - 24-30 VDC MAX + B+ ASSE X B- A+ A- ASSE Y ASSE Z COM - 10-11-12-13 Contatti segnali di

Dettagli

OROLOGIO DIGITALE a MICROCONTROLLORE con PIC 16F628A

OROLOGIO DIGITALE a MICROCONTROLLORE con PIC 16F628A OROLOGIO DIGITALE a MICROCONTROLLORE con PIC 6F68A Realizzazione di un preciso orologio digitale (formato HH:MM:SS) utilizzando un microcontrollore della Microchip, il PIC 6F68A http:///progetti/orologio-digitale-con-picmicro.html

Dettagli

Circuito di pilotaggio ON OFF con operazionale

Circuito di pilotaggio ON OFF con operazionale PREMESSA Circuito di pilotaggio ON OFF con operazionale A cura del Prof. Marco Chirizzi www.marcochirizzi.it Si supponga di dovere progettare un circuito di pilotaggio ON OFF in grado di mantenere un fluido

Dettagli

CAPITOLO 11 TIRISTORI

CAPITOLO 11 TIRISTORI 211 CAPITOLO 11 TIRISTORI I tiristori costituiscono una famiglia di dispositivi a semiconduttore comprendente numerosi componenti, caratterizzati da una struttura a quattro zone pnpn e da un funzionamento

Dettagli

Esami di Stato 2008 - Soluzione della seconda prova scritta. Indirizzo: Elettronica e Telecomunicazioni Tema di ELETTRONICA

Esami di Stato 2008 - Soluzione della seconda prova scritta. Indirizzo: Elettronica e Telecomunicazioni Tema di ELETTRONICA Risposta al quesito a Esami di Stato 2008 - Soluzione della seconda prova scritta Indirizzo: Elettronica e Telecomunicazioni Tema di ELETTRONICA (A CURA DEL PROF. Giuseppe SPALIERNO docente di Elettronica

Dettagli

ESERCIZI - SERIE N.1

ESERCIZI - SERIE N.1 ESERCIZI - SERIE N.1 ACQUISIZIONE DELLO STATO DI SEGNALI ON/OFF Problema: acquisizione, da parte di un'unità di elaborazione realizzata con tecnologia a funzionalità programmata, di un'informazione proveniente

Dettagli

39 Il linguaggio grafico a contatti

39 Il linguaggio grafico a contatti 39 Il linguaggio grafico a contatti Diagramma a contatti, ladder, diagramma a scala sono nomi diversi usati per indicare la stessa cosa, il codice grafico per la programmazione dei PLC con il linguaggio

Dettagli

classe 4 MECCANICI SERALE

classe 4 MECCANICI SERALE TORNIO CNC classe 4 MECCANICI SERALE 1 PARTE COSTRUZIONE DI UN PROGRAMMA TORNIO CNC Il programma di lavorazione deve essere immesso con un formato accettabile dal CNC. Tale formato deve comprendere tutti

Dettagli

Manuale d uso. Display remoto MT-1 ITALIANO

Manuale d uso. Display remoto MT-1 ITALIANO Manuale d uso Display remoto MT-1 per regolatore di carica REGDUO ITALIANO Il display remoto MT-1 è un sistema per monitorare e controllare a distanza tutte le funzioni dei regolatori RegDuo. Grazie al

Dettagli

1.1 Definizione ed elementi di un azionamento elettrico

1.1 Definizione ed elementi di un azionamento elettrico 1 L AZIONAMENTO ELETTRICO COME SISTEMA 1.1 Definizione ed elementi di un azionamento elettrico Si definisce Azionamento Elettrico (A.E.) l insieme composto da un motore elettrico e dagli apparati d alimentazione,

Dettagli

"SOFTMOUSE" versione >NAV. - Manuale per l'utente (ITA) -

SOFTMOUSE versione >NAV. - Manuale per l'utente (ITA) - "SOFTMOUSE" versione >NAV - Manuale per l'utente (ITA) - Indice generale Introduzione...4 1- Informazioni generali sul dispositivo...4 a) Come è fatto Softmouse...4 b) Operazioni preliminari...5 c) Stand-by...5

Dettagli

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 16D. Manuale d uso

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 16D. Manuale d uso VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 16D Manuale d uso Note Rel.: 1.2 Gennaio 2001 Le informazioni contenute in questa documentazione possono essere modificate senza preavviso. MS-DOS e WINDOWS sono

Dettagli

Scopi: CARATTERISTICHE GENERALI: Struttura: Movimento: progetto realizzato da: (ALPHA TEAM)

Scopi: CARATTERISTICHE GENERALI: Struttura: Movimento: progetto realizzato da: (ALPHA TEAM) progetto realizzato da: (ALPHA TEAM) Bisio Giulio,Dal Bianco Davide, Greselin Matteo, Filippi Nicolò Relazione a cura di : Bisio Giulio Scopi: Il progetto nasce dalla voglia di realizzare un robot che

Dettagli

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI ANNO SCOLASTICO 2013-2014 PROGRAMMA DIDATTICO con riferimento al programma ministeriale MATERIA ELETTROTECNICA ED ELETTRONICA

Dettagli

CE1_AD/P2 DISPOSITIVO ELETTRONICO PROGRAMMABILE. Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione

CE1_AD/P2 DISPOSITIVO ELETTRONICO PROGRAMMABILE. Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione DISPOSITIVO ELETTRONICO PROGRAMMABILE CE1_AD/P2 Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione Versione 01.10/12 CE1_AD/P2: dispositivo elettronico programmabile

Dettagli

Manuale istruzioni elettroniche CNC

Manuale istruzioni elettroniche CNC Manuale istruzioni elettroniche CNC Scheda 3 assi GP010-3 A Scheda 4 assi GP010-4 A Interfaccia parallela GPIP-4X Kit 3 assi GP10 3 AM-18 Kit 4 assi GP10 4 AM-18 Kit 3 assi GP10 3 AM-31 Kit 4 assi GP10

Dettagli

LA SCHEDA DEL MODULO BLUETOOTH

LA SCHEDA DEL MODULO BLUETOOTH F42-LAB-pag 11-13-ok 27-04-2006 16:15 Pagina 11 LA SCHEDA DEL MODULO BLUETOOTH COMPONENTI 1. Il componente allegato a questo fascicolo è il più sofisticato di tutta la fase di assemblaggio: con esso il

Dettagli

GRANDEZZE ELETTRICHE E COMPONENTI

GRANDEZZE ELETTRICHE E COMPONENTI Capitolo3:Layout 1 17-10-2012 15:33 Pagina 73 CAPITOLO 3 GRANDEZZE ELETTRICHE E COMPONENTI OBIETTIVI Conoscere le grandezze fisiche necessarie alla trattazione dei circuiti elettrici Comprendere la necessità

Dettagli

Gli attuatori. Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo

Gli attuatori. Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo Gli attuatori Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo ATTUATORI Definizione: in una catena di controllo automatico l attuatore è il dispositivo che riceve

Dettagli

Corso di Elettronica di Potenza (12 CFU) ed Elettronica Industriale (6 CFU) Convertitori c.c.-c.c. 2/83

Corso di Elettronica di Potenza (12 CFU) ed Elettronica Industriale (6 CFU) Convertitori c.c.-c.c. 2/83 I convertitori c.c.-c.c. monodirezionali sono impiegati per produrre in uscita un livello di tensione diverso da quello previsto per la sorgente. Verranno presi in considerazione due tipi di convertitori

Dettagli

1). Descrizione dell impianto attraverso uno schema e specifica della funzione dei componenti.

1). Descrizione dell impianto attraverso uno schema e specifica della funzione dei componenti. SOLUZIONE TEMA MINISTERIALE TECNICO DELLE INDUSTRIE ELETTRICHE ED ELETTRONICHE 2012 1). Descrizione dell impianto attraverso uno schema e specifica della funzione dei componenti. L impianto elettrico a

Dettagli

Serie 40 - Mini relè per circuito stampato ed a innesto 8-10 - 16 A. Caratteristiche 40.31 40.51 40.52

Serie 40 - Mini relè per circuito stampato ed a innesto 8-10 - 16 A. Caratteristiche 40.31 40.51 40.52 Serie 40 - Mini relè per circuito stampato ed a innesto 8-10 - 16 A Caratteristiche 40.31 40.51 40.52 Relè con 1 o 2 contatti 40.31-1 contatto 10 A (passo 3.5 mm) 40.51-1 contatto 10 A (passo 5 mm) 40.52-2

Dettagli

AR32 PLUS RICEVITORE PER INTERFACCIAMENTO A CENTRALI DI ALLARME

AR32 PLUS RICEVITORE PER INTERFACCIAMENTO A CENTRALI DI ALLARME AR32 PLUS RICEVITORE PER INTERFACCIAMENTO A CENTRALI DI ALLARME ( MANUALE PROVVISORIO DI FUNZIONAMENTO ED USO CARATTERISTICHE TECNICHE) 1.0 DESCRIZIONE GENERALE DI FUNZIONAMENTO Il ricevitore AR-32 Plus,

Dettagli

Verificare il funzionamento delle memorie RAM Saper effettuare misure di collaudo. Dip switch Pulsante n.a. Octal tri-state buffer IC2 = MM 2114

Verificare il funzionamento delle memorie RAM Saper effettuare misure di collaudo. Dip switch Pulsante n.a. Octal tri-state buffer IC2 = MM 2114 SCH 31 Scrittura/lettura RAM Obiettivi Strumenti e componenti Verificare il funzionamento delle memorie RAM Saper effettuare misure di collaudo S1 S5 P1 IC1 = 74LS244 Dip switch Pulsante n.a. Octal tri-state

Dettagli

CMTS SISTEMA DI MISURA PER MOTORI ELEVATORI E STERZO ELETTRICO Sistema di prova per motori elettrici per elevatori e sterzi guida elettrici

CMTS SISTEMA DI MISURA PER MOTORI ELEVATORI E STERZO ELETTRICO Sistema di prova per motori elettrici per elevatori e sterzi guida elettrici CMTS SISTEMA DI MISURA PER MOTORI ELEVATORI E STERZO ELETTRICO Sistema di prova per motori elettrici per elevatori e sterzi guida elettrici APPLICAZIONE Magtrol ha progettato questo sistema di test su

Dettagli

REGOLATORE PWM. Rev.1 del 24/02/2012

REGOLATORE PWM. Rev.1 del 24/02/2012 Generalità REGOAORE PWM Rev.1 del 24/02/2012 Propongo questo semplice circuito per il controllo di un dispositivo di potenza mediante la modulazione PWM (Pulse Width Modulation) di una tensione continua.

Dettagli

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

ISTITUTO D ISTRUZIONE SUPERIORE L. EINAUDI ALBA ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA CLASSE 5H Docenti: Raviola Giovanni Moreni Riccardo Disciplina: Sistemi elettronici automatici PROGETTAZIONE DIDATTICA ANNUALE COMPETENZE FINALI Al termine

Dettagli

CAPITOLO 10 ALIMENTATORI

CAPITOLO 10 ALIMENTATORI 194 CAPITOLO 10 ALIMENTATORI Per funzionare, la maggior parte dei dispositivi e dei circuiti elettronici richiede un alimentazione in tensione continua, singola o duale. Le tensioni richieste sono normalmente

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Motore passo passo: Laboratorio di Elettronica 1

Motore passo passo: Laboratorio di Elettronica 1 Motore passo passo: Laboratorio di Elettronica 1 Motore passo passo: Cuscinetto Rotore Cuscinetto Statore Laboratorio di Elettronica 2 Motore passo passo: Statore ( #8 bobine contrapposte a due a due:

Dettagli

Sensori di Posizione, Velocità, Accelerazione

Sensori di Posizione, Velocità, Accelerazione Sensori di Posizione, Velocità, Accelerazione POSIZIONE: Sensori di posizione/velocità Potenziometro Trasformatore Lineare Differenziale (LDT) Encoder VELOCITA Dinamo tachimetrica ACCELERAZIONE Dinamo

Dettagli

PROGRAMMA SVOLTO A. SC. 2014 2015 classe III W. Conoscenze, abilità e competenze. Conoscere:

PROGRAMMA SVOLTO A. SC. 2014 2015 classe III W. Conoscenze, abilità e competenze. Conoscere: Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico Regionale per la Sardegna ISTITUTO DI ISTRUZIONE SUPERIORE BUCCARI MARCONI Indirizzi: Trasporti Marittimi / Apparati ed Impianti

Dettagli

41126 Cognento (MODENA) Italy Via Bottego 33/A Tel: +39-(0)59 346441 Internet: http://www.aep.it E-mail: aep@aep.it Fax: +39-(0)59-346437

41126 Cognento (MODENA) Italy Via Bottego 33/A Tel: +39-(0)59 346441 Internet: http://www.aep.it E-mail: aep@aep.it Fax: +39-(0)59-346437 QUICK ANALYZER Manuale Operativo Versione 5.3 Sommario 1.0 Generalità... 2 CONTRATTO DI LICENZA... 3 2.0 Configurazione dei Canali... 4 2.1 Gestione DataLogger IdroScan... 7 3.0 Risultati di Prova... 9

Dettagli

TORNIO ANTARES controllo OSAI 8600 T

TORNIO ANTARES controllo OSAI 8600 T ITIS Varese Tecnologia Meccanica ed Esercitazioni Reparto Macchine Utensili TORNIO ANTARES controllo OSAI 8600 T Appunti per l utilizzo del modulo di comando (dal manuale OSAI riservato ai propri clienti)

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli