33
Proiectarea cu Microprocesoare Scurt exemplu de proiect Universitatea POLITEHNICA Bucures , ti Aprilie 2016 UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 1/16

Proiectarea cu Microprocesoare Scurt exemplu de proiectcs.curs.pub.ro/wiki/pm/_media/prezentare_proiect_termometru.pdf · Proiectarea cu Microprocesoare Scurt exemplu de proiect Universitatea

  • Upload
    others

  • View
    62

  • Download
    4

Embed Size (px)

Citation preview

Proiectarea cu MicroprocesoareScurt exemplu de proiect

Universitatea POLITEHNICA Bucures,ti

Aprilie 2016

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 1/16

Introducere

I Am ales sa va facem un exemplu de proiect simpluI Vom vedea pas, ii prin care trebuie trecutI Implementarea lui dureaza sub o ora

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 2/16

Termometru digital cu afis,aj LCD

I Vrem sa afis, am temperatura ın grade Celsius pe un LCD text

I Refresh la jumatate de secundaI Ce ne trebuie?

I Ecran LCD text, ca cel din laborator. Putem obt, ine rapid unulde pe oricare site de ocazii, pret, ∼20RON

I Un senzor de temperatura, vom alege cel mai simplu: LM335

I Este un senzor analogic

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 3/16

Termometru digital cu afis,aj LCD

I Vrem sa afis, am temperatura ın grade Celsius pe un LCD text

I Refresh la jumatate de secundaI Ce ne trebuie?

I Ecran LCD text, ca cel din laborator. Putem obt, ine rapid unulde pe oricare site de ocazii, pret, ∼20RON

I Un senzor de temperatura, vom alege cel mai simplu: LM335

I Este un senzor analogic

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 3/16

Termometru digital cu afis,aj LCD

I Vrem sa afis, am temperatura ın grade Celsius pe un LCD text

I Refresh la jumatate de secundaI Ce ne trebuie?

I Ecran LCD text, ca cel din laborator. Putem obt, ine rapid unulde pe oricare site de ocazii, pret, ∼20RON

I Un senzor de temperatura, vom alege cel mai simplu: LM335

I Este un senzor analogic

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 3/16

Termometru digital cu afis,aj LCD

I Vrem sa afis, am temperatura ın grade Celsius pe un LCD text

I Refresh la jumatate de secundaI Ce ne trebuie?

I Ecran LCD text, ca cel din laborator. Putem obt, ine rapid unulde pe oricare site de ocazii, pret, ∼20RON

I Un senzor de temperatura, vom alege cel mai simplu: LM335I Este un senzor analogic

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 3/16

Diagrama bloc - Milestone 1

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 4/16

Outline

Hardware

Software

Concluzii

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 5/16

I Gasim pe Farnell LM335Z/NOPB (cod 1564652)I Capsula este TO-92I Pret,ul este 4.32RON

I Gasim datasheet-ul la adresahttp://www.ti.com/lit/ds/symlink/lm235.pdf

I Cautam informat, ii din datasheet:

I Care este pinout-ul pentru capsula pe care am ales-o?I Cum se leaga piesa ın schema electrica?I Cum se obt, in date de la senzor?

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 6/16

I Gasim pe Farnell LM335Z/NOPB (cod 1564652)I Capsula este TO-92I Pret,ul este 4.32RON

I Gasim datasheet-ul la adresahttp://www.ti.com/lit/ds/symlink/lm235.pdf

I Cautam informat, ii din datasheet:I Care este pinout-ul pentru capsula pe care am ales-o?

I Cum se leaga piesa ın schema electrica?I Cum se obt, in date de la senzor?

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 6/16

I Gasim pe Farnell LM335Z/NOPB (cod 1564652)I Capsula este TO-92I Pret,ul este 4.32RON

I Gasim datasheet-ul la adresahttp://www.ti.com/lit/ds/symlink/lm235.pdf

I Cautam informat, ii din datasheet:I Care este pinout-ul pentru capsula pe care am ales-o?I Cum se leaga piesa ın schema electrica?

I Cum se obt, in date de la senzor?

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 6/16

I Gasim pe Farnell LM335Z/NOPB (cod 1564652)I Capsula este TO-92I Pret,ul este 4.32RON

I Gasim datasheet-ul la adresahttp://www.ti.com/lit/ds/symlink/lm235.pdf

I Cautam informat, ii din datasheet:I Care este pinout-ul pentru capsula pe care am ales-o?I Cum se leaga piesa ın schema electrica?I Cum se obt, in date de la senzor?

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 6/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Datele obt, inute din datasheet

I Schema simplificata e us,or de folositI Trebuie sa aflam ce valoare ne trebuie

pentru R1

I For optimum accuracy, R1 is picked suchthat 1 mA flows through the sensor

I I = V+−OUTPUTR1

→ R1 = V+−OUTPUTI

I Avem alimentare la 5V s, i temperaturamedie de 25

I R1 = 5V−(273.15+25)·10mV1mA ' 2018Ω

I Dintre valorile comune pentru rezistent,e,alegem 2K2

I Tensiunea pe OUTPUT este temperaturaın Kelvin ımpart, ita la 100 → pin ADC

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 7/16

Lista de piese - Milestone 3

Piesa Valoare Pret,

LCD text 20RONRezistent, a 1K Ω 0.16RONRezistent, a 10K Ω 0.24RONRezistent, a 2K Ω 0.24RONLM335 LM335A 4.32RON

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 8/16

Schema electrica - Milestone 4

I In EAGLE CAD, introducemurmatoarele componente:

I O rezistent, a:resistors/R-EU_-

/R0204/7I Ground: GNDI Conector bareta pini:

con_lstb/MA03-1I Senzor temperatura:

lm35/lm35 (gasimbiblioteca separata,cautam lm35 eagle lbr penet)

I Fizic, conectorul nostru SV1 va fi legat cu 3 fire la5V,PA0,GND

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 9/16

Outline

Hardware

Software

Concluzii

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 10/16

Considerente Software

I Trebuie sa facem o masurare de doua ori pe secunda → timercu ıntrerupere

I Trebuie sa adaptam codul de LCD text din laborator (pentruca nu avem aceeas, i pini ca placa de laborator)

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 11/16

Adaptare LCD text

// l c d . h// P i n i i de date a i LCD−u l u i#d e f i n e LcdD4 PC6#d e f i n e LcdD5 PC5#d e f i n e LcdD6 PC4#d e f i n e LcdD7 PC3

// Po r t u l pe ca r e conectam p i n i i de c o n t r o l a i LCD−u l u i#d e f i n e LcdCTRL DDR DDRA#de f i n e LcdCTRL PORT PORTA#de f i n e LcdCTRL PIN PINA

// P i n i i de c o n t r o l a i LCD−u l u i#d e f i n e LcdRS PA5#d e f i n e LcdRW PA6#d e f i n e LcdE PA7

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 12/16

Cod main

i n t main ( )

// i n i t i a l i z a r e LEDDDRD |= (1 << PD7) ;// i n i t i a l i z a r e t ime rOCR1A = 7812 ;TCCR1B = (1 << WGM12) | (5 << CS10 ) ;TIMSK1 |= (1 << OCIE1A) ;// i n i t i a l i z a r e ADCADMUX = (1 << REFS0) ;ADCSRB = (1 << ADEN) | (7 << ADPS0) ;

s e i ( ) ;

wh i l e (1 ) ;

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 13/16

Cod ISR

ISR (TIMER1 COMPA vect )

// s t a r t c o n v e r s i ePORTD |= (1 << PD7) ;ADCSRA |= (1 << ADSC) ;l o o p u n t i l b i t i s c l e a r (ADCSRA, ADSC) ;

// t e rm i n a r e c o n v e r s i ePORTD &= ˜(1 << PD7) ;

cha r s [ 1 0 ] ;// \xDF e s t e s imbo l u l pen t ru grades p r i n t f ( s , ”%7.2 f \xDF C” ,ADC ∗ 5 / 1023 .0 f ∗ 100 − 273 .15 f ) ;

LCD pr intAt (0 , s ) ;

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 14/16

Outline

Hardware

Software

Concluzii

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 15/16

Concluzii

I Variante ale codului

I while(1) cu _delay_ms (urat)I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADC

complete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16

Concluzii

I Variante ale coduluiI while(1) cu _delay_ms (urat)

I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADCcomplete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16

Concluzii

I Variante ale coduluiI while(1) cu _delay_ms (urat)I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADC

complete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16

Concluzii

I Variante ale coduluiI while(1) cu _delay_ms (urat)I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADC

complete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16

Concluzii

I Variante ale coduluiI while(1) cu _delay_ms (urat)I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADC

complete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16

Concluzii

I Variante ale coduluiI while(1) cu _delay_ms (urat)I ADC cu auto-trigger pe Timer1 compare match, ISR pe ADC

complete (expert mode)

I Hardware-ul a fost us,or de conectat

I Modificarile software au fost minime

I DISCLAIMER:Consideram acest proiect ca fiind prea simplu,dar exemplifica bine workflow-ul proiectului PM

UPB Proiectarea cu Microprocesoare Scurt exemplu de proiect 16/16