Progettazione e Realizzazione di un Sistema Embedded per la Gestione di Sistemi Multi-Sensorizzati RELATORE: Dr. Ing. Salvatore Pirozzi CANDIDATO: Bortone Cesario Matr. 834/870 ANNO ACCADEMICO 2008/2009
Obiettivo Microcontrollore: PIC16F690 Ambiente di Sviluppo  Interfacciamento: RS232 e MAX232 Implementazione Conclusioni
 
Caratteristiche: Tensione di alimentazione   +2 -> +5.5V  20 MHz Frequenza di clock max.  12 Pin I/O  ADC 10 bit, 2 comparatori, PWM  Seriale I/O: USART, I²C, SPI
OSCILLATOR  0-20 Mhz INTERNAL OSCILLATOR SPI/I2C USART A/D CONVERTER VREF PORT A PORT B PORT C RAM PROGRAM MEMORY SFR EEPROM CPU INTERRUT WDT CCP1 PWM T0 T1 T0 I/O PORT S TIMER MEMORY ADC MODULE SERIAL I/O
Software gratuito Programmazione ad alto livello (linguaggio C) e basso livello (Assembler) Possibilità di debug Supporta diversi tipi di compilatori  HI TECH C MIKRO C CCS (selezionato) Hardware completo di mainboard e Programmatore Software gratuito Operazioni di scrittura/lettura/modifica sul dispositivo  in maniera semplice Fornisce l’alimentazione al PIC PICKIT 2.0 MPLAB IDE
PIC PC IL PIC LAVORA CON TENSIONI DA 2 A 5 V MENTRE IL LATO RICEVITORE RS232 CON TENSIONI DA 5 A 25V RS232
RS232 MAX232 Contiene due stadi convertitori DC-DC: un elevatore di tensione a capacità, da +5Vcc a +12Vcc;  uno stadio invertitore di polarità, sempre a capacità, da +12Vcc a -12Vcc.  PIC PC
attesa=getc(); #use rs232(baud=9600, parity=N, xmit=PIN_B7, rcv=PIN_B5, stop=1, BITS=8) ogg_seriale=serial('COM1'); set(...); ogg_seriale.Timeout=3.5; ogg_seriale.Baudrate=9600; fopen(ogg_seriale); fprintf(ogg_seriale,'%c','C'); PIC PC
valore=Read_ADC();  printf("%f  ", valore); Ricevuti=fscanf(ogg_seriale,' %f'); fclose(ogg_seriale); Una volta concluso il trasferimento viene graficato il segnale campionato... PIC PC
Prototipo e Schema elettrico realizzato:
Applicando in ingresso una sinusoide con: 5 Volt Picco-Picco 0.3 Hz di Frequenza 2.5 Volt di Offset ...il segnale acquisito risulta essere... TEMPO 3.5 secondi CAMPIONI ACQUISITI 100
Con relativo sbroglio: Schema Logico:
GRAZIE PER L’ATTENZIONE

Presentazione

  • 1.
    Progettazione e Realizzazionedi un Sistema Embedded per la Gestione di Sistemi Multi-Sensorizzati RELATORE: Dr. Ing. Salvatore Pirozzi CANDIDATO: Bortone Cesario Matr. 834/870 ANNO ACCADEMICO 2008/2009
  • 2.
    Obiettivo Microcontrollore: PIC16F690Ambiente di Sviluppo Interfacciamento: RS232 e MAX232 Implementazione Conclusioni
  • 3.
  • 4.
    Caratteristiche: Tensione dialimentazione   +2 -> +5.5V 20 MHz Frequenza di clock max. 12 Pin I/O ADC 10 bit, 2 comparatori, PWM Seriale I/O: USART, I²C, SPI
  • 5.
    OSCILLATOR 0-20Mhz INTERNAL OSCILLATOR SPI/I2C USART A/D CONVERTER VREF PORT A PORT B PORT C RAM PROGRAM MEMORY SFR EEPROM CPU INTERRUT WDT CCP1 PWM T0 T1 T0 I/O PORT S TIMER MEMORY ADC MODULE SERIAL I/O
  • 6.
    Software gratuito Programmazionead alto livello (linguaggio C) e basso livello (Assembler) Possibilità di debug Supporta diversi tipi di compilatori HI TECH C MIKRO C CCS (selezionato) Hardware completo di mainboard e Programmatore Software gratuito Operazioni di scrittura/lettura/modifica sul dispositivo in maniera semplice Fornisce l’alimentazione al PIC PICKIT 2.0 MPLAB IDE
  • 7.
    PIC PC ILPIC LAVORA CON TENSIONI DA 2 A 5 V MENTRE IL LATO RICEVITORE RS232 CON TENSIONI DA 5 A 25V RS232
  • 8.
    RS232 MAX232 Contienedue stadi convertitori DC-DC: un elevatore di tensione a capacità, da +5Vcc a +12Vcc; uno stadio invertitore di polarità, sempre a capacità, da +12Vcc a -12Vcc. PIC PC
  • 9.
    attesa=getc(); #use rs232(baud=9600,parity=N, xmit=PIN_B7, rcv=PIN_B5, stop=1, BITS=8) ogg_seriale=serial('COM1'); set(...); ogg_seriale.Timeout=3.5; ogg_seriale.Baudrate=9600; fopen(ogg_seriale); fprintf(ogg_seriale,'%c','C'); PIC PC
  • 10.
    valore=Read_ADC(); printf("%f ", valore); Ricevuti=fscanf(ogg_seriale,' %f'); fclose(ogg_seriale); Una volta concluso il trasferimento viene graficato il segnale campionato... PIC PC
  • 11.
    Prototipo e Schemaelettrico realizzato:
  • 12.
    Applicando in ingressouna sinusoide con: 5 Volt Picco-Picco 0.3 Hz di Frequenza 2.5 Volt di Offset ...il segnale acquisito risulta essere... TEMPO 3.5 secondi CAMPIONI ACQUISITI 100
  • 13.
    Con relativo sbroglio:Schema Logico:
  • 14.

Editor's Notes

  • #2 Il mio lavoro di tesi ha riguardato la progettazione e la realizzazione di un sistema embedded per la gestione di un sistema multisensorizzato
  • #3 Illustrerò brevemente: 1- Quale è stato l’obiettivo del mio lavoro di tesi 2- il contesto applicativo in cui si realizza il prototipo 3- Il microcontrollore usato per le operazioni di campionamento e comunicazione con il pc 4- L’ambiente utilizzato per la programmazzione e il caricamento del programma implementato sul microcontrollore 5- L’interfacciamento utilizzato tra il pic e il pc...ossia l’rs232 e il max232 6- in seguito Come è stato implementato il codice lato pic e lato pc 7- e infine le conclusioni a cui siamo arrivati
  • #4 Obiettivo del mio lavoro di tesi è stato quello di acquisire segnali da un sistema multisensorizzato il quale, attraverso un circuito di condizionamento analogico formato da amplificatori operazionali, li rende disponibili per essere usati da un microcontrollore per effettuare le operazioni di campionamento e invio di essi tramite usart al computer per essere poi analizzati.
  • #5 Il microcontrollore usato per la digitalizzazzione e l’invio dei dati è il PIC16F690 della Microchip. Esso è composto da 20 pin i quali vengono multiplexati a seconda dell’uso che se ne vuole fare. Alcune caratteristiche sono: 1- una tensione di alimentazione tra 2 e 5 V 2- Fornisce una frequenza massima di clock di 20 Mhz...nel nostro caso abbiamo utilizzato una frequenza di 4 Mhz 3- 12 pin per operazioni di I/O disponibili su 3 porte 4- Un Convertitore Analogico Digitale con una risoluzione a 10bit piu altri moduli per la comparazione 5- Tre modalita per la comuniazione seriale: quella utilizzata nel prototipo è stata la usart
  • #6 Come è possibile vedere un microcontrollore è un computer vero e proprio con memoria, cpu, timer, comparatori e una serie di registri interni che sono utilizzati per la configurazione del dispositivo. Quelli utilizzati nel mio lavoro di testi sono stati: 1-I/O Ports... Per l’acquisizione del segnale analogico ed in particolare il pin An4 2- Il modulo ADC per il campionamento del segnale analogico E il modulo Usart per l’invio di tali dati al pc
  • #8 Per la comunicazione tra Microcontrollore e Computer è stata usata l’interfaccia seriale RS232. Tale interfaccia utilizza un protocollo di trasmissione seriale e asincrono. Da lato Pc tale tipo di connessione non creava problemi mentre da lato microcontrollore si in quanto il pic lavora con tensioni da 2 a 5 V mentre il lato ricevitore rs232 con tensioni da 5 a 25 V.
  • #9 Per risolvere tale problema si è fatto uso del dispositivo MAX232 della Maxim. Tale dispositivo converte i segnali del microcontrollore (TTL a 5V) in segnali RS232 quindi "leggibili" dalla porta seriale del PC. Più in dettaglio contiene due stadi convertitori DC-DC: un elevatore di tensione a capacità, da +5Vcc a +12Vcc; uno stadio invertitore di polarità, sempre a capacità, da +12Vcc a -12Vcc
  • #10 In seguito si è passato all’implementazione del codice per la comunicazione tra Pic e PC. La prima parte di codice riguarda il Settaggio della connessione. Da lato Pic sono stati settati .... Mentre da lato PC ... Segue il codice per la sincronizzazione della comunicazione...Il pic, prima di effettuare le operazioni di campionamento e invio, rimane in attesa della ricezione di un carattere. Tale carattere gli viene inviato dal Pc attraverso una fprintf
  • #11 In seguito alla ricezione del carattere di sincronizzazione da parte del pic avvengono le operazioni di campionamento e di invio dei dati al PC. Tali dati vengono letti dal lato PC. Tutto questo per un tempo di 3.5 sec come da settaggio delle operazioni dopo il quale vengono graficati i dati campionati in matlab.
  • #12 Descrizione di ogni componente
  • #13 Con una Ricostruzione del segnale analogico abbastanza accettabile...