Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Aeronautica Comunicatii Constructii Electronica Navigatie Pompieri
Tehnica mecanica

Electronica


Index » inginerie » Electronica
Sa seze un subsistem de masurare a temperaturii


Sa seze un subsistem de masurare a temperaturii


TEMA    PROIECTULUI

Sa se proiecteze un subsistem de masurare a temperaturii avand urmatoarele caracteristici generale :

Intervalul de temperatura 0.500C



Rezolutie     8 biti

Precizie    1% cap de scara 1 bit

Domeniul de temperatura

al functionarii aparatului 0.40C

Traductor    RTD din platina

cu rezistenta nominala

la 0C de 100Ω

Microcontroler AT89 C51

Sursa de alimentare circuit integrat monolitic

Transmisia rezultatelor sau masuratorilor este data prin intermediul interfetei seriale RS 232C catre un sistem central de calcul (PC).

CONTINUTUL    PROIECTULUI

Dependenta R(T) a traductorului de temperatura

T(C)

R(Ω)

T(C)

R(Ω)

Pentru conversia temperatura-tensiune se foloseste un generator de curent constant, care furnizeaza un curent de 1 mA.

La bornele traductorului se culege o tensiune, care va corespunde intervalului de masurare, intre 100 si 280,93 mV.

Deoarece caracteristica R(C) a traductorului este neliniara, este necesara liniarizarea acesteia. Se procedeaza la liniarizarea caracteristicii, deoarece tensiunea rezultata in urma masuratorilor va fi aplicata unui    convertor analog-numeric (CAN).

Liniarizarea caracteristicii traductorului

Liniarizarea caracteristicii traductorului se realizeaza cu ajutorul unui amplificator operational montat in schema de redresare monoalternanta.

Atunci cand vI > 0 , dioda D1 este blocata, iar D2 este deschisa, tensiunea de la iesire este data de relatia care caracterizeaza functionarea unui amplificator inversor:

vo = - (R2/R1) vI

Atunci cand vI < 0 , D1 este deschisa, iar D2 blocata, astfel incat tensiunea de iesire vo este nula.

Tensiunea de shiftare vsh permite functionarea amplificatorului de la un prag de tensiune.

ΔV = m1· Δt ΔVlin = 1· Δt

ΔVlin = x · ΔV = x · m1· Δt

x · m1 = 1 , deci x = m1-1

Procesul de liniarizare se face cu erori importante, de aceea se cauta obtinerea unei liniarizari cu erori cat mai mici.

Etapa I

C

Neliniar

Liniar

Diferenta

Valoare maxima

m = (280,93 - 100) / 500 = 0,362 Ω/C

Etapa II

Se alege primul punct de frangere la 240C --- 190,46 Ω.

C

Neliniar

Liniar

Diferenta

C

Neliniar

Liniar

Diferenta

Valoare maxima

m = (190,46 - 100) / 240 = 0,377 Ω/C

= 0,82 / (190,46 - 100) = 0,9%

mn = (280,93 - 190,46) / 260 = 0,348 Ω/C

n = 0,97 / (280,93 - 190,46) = 1,1%

Etapa III

Se aleg doua puncte de frangere la 120C si la 360C.

C

Neliniar

Liniar

Diferenta

C

Neliniar

Liniar

Diferenta

C

Neliniar

Liniar

Diferenta

C

Neliniar

Liniar

Diferenta

m (Ω/C)

Erorile sunt acceptabile.

Amplificarile corespunzatoare sunt:

A1 = 2,60

A2 = 2,70

A3 = 2,80

A4 = 2,93

Convertorul analog - numeric

Este folosit ADC 10061 , care are urmatoarele caracteristici:

Timpul de conversie in 10 biti 600ns

Rata de esantionare    800kHz

Erori totale    1 LSB

Acest convertor utilizeaza conversia multistep. Intrarea analogica este esantionata si retinuta cu un circuit de esantionare intern. Pot fi digitizate semnale ale caror frecvente sunt de la 0 la 200kHz.

Pentru a fi usor de interfatat cu un microprocesor ADC 10061 a fost proiectat ca o locatie de memorie sau port IN / OUT fara a mai fi nevoie de o interfata logica.

Conversia este initializata prin punerea la nivelul logic "0" a pinilor S/H si RD. dupa 850ns (adica dupa punerea pinilor la "0" logic),    INI va fi "0" , indicand ca s-a terminat conversia. Dupa alte 20ns "data" apare la iesirile TRI-STATE si sunt utilizabile.

Numai dupa ce INI devine "0" logic, putem fi siguri ca datele furnizate apartin conversiei anterioare. Intrarea analogica este protejata fata de eventuale tensiuni mai mari decat cele pe care le poate suporta la intrare.

Interfata dintre portul serial al microcontrolerului

si unitatea centrala de calcul

Intre portul serial si calculator este necesar un protocol de transmisie a datelor si de un "translator" de protocol.

Translatorul de protocol este realizat cu un circuit MAX 232. Intarzierea de propagare la transmisie este de 1,3μs (tipic) din "high" in    "low" si 1,5μs (tipic) din "low" in "high". In consecinta, pentru transmisia protocolului care contine 11 biti, la o frecventa de ceas de 12kHz, va fi necesar un timp cuprins in intervalul 13μs .15μs.

PROGRAME

com1.h :

extern double buffer

extern double * buffer_in ;

extern double * buffer_out ;

void init_com1 (void) ;

void write_com1 (int caracter) ;

int read_com1 (void) ;

void interrupt new_int och ( ) ;

com1.c :

# include "com1.h"

double buffer [100] ;

volatile double * buffer_in = buffer ;

volatile double * buffer_out = buffer ;

void init_com1 (void)

Rutina de citire a caracterului de la port

int read_com1 (void)

return (-AX)

Rutina de scriere

void write_com1 (int caracter)

asm

mov dx , 0x3fd

not_empty

asm

{

int al , dx

test al , 0x20

jz not_empty

mov ax , caracter

mov dx , 0x3f8

out dx , al

Programul rezident in memoria ROM

ORG #0X07H

JNP FIRST

FIRST SETB SCON 6

SETB SCON 5

SETB SCON 2

MOV TMOD , 0X01H

SETB TCON 4

SETB TCON 0

SETB IPO

SETB IE7

SETB IE0

MOV PCON , 0X01H

MOV TH1 , 0XFDH

SET PSW3

Rutina de intrerupere

ORG #0X03H

JMP #0X50H

MOV R1 , 0X30H

MOV R1 , P1

MOV P3.1 , R1

JB SCON2

CLR P3.5

CLR P3.7

JMP FIRST





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate