www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LM235 Beschaltung


Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Habe eine Frage zur Beschaltung des LM235.

Im Datenblatt auf Seite 5 ist eine Application abgebildet.

--> http://cache.national.com/ds/LM/LM135.pdf

Wie groß muss ich R1 wählen. Ich kann das aus dem Datenblatt nicht 
herauslesen. (zweite Application)

Schöne Grüße

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennst du das ohmsche Gesetz? Steht alles drin, 400µ bis max. 5mA...

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den kannst Du in bestimmten Grenzen selbst wählen!
Der Strom durch den Temp-Sensor darf 400µA-5mA (Seite 1) betragen und 
die Spannung an dem Sensor liegt bei 3V (bei 25°C).
Also: R=(U-3V)/I
U ist die Versorgungsspannung (V+ im Datenblatt) und I kannst Du dir 
aussuchen (s.O.)

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seite 1 oben: ...the device operates over a current range of 400 μA to 5 
mA with virtually no change in performance.
Die Gleichspannungen abhängig von Strom und Temperatur sind aus dem Bild 
"Forward Characteristics" auf Seite 5 abzulesen.

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein das war Quatsch, die Diode wird in Sperrichtung betrieben. Im 
Durchlaß hat sie auch eine Temperaturabhängigkeit, nur die ist in dem 
Bild gezeigt

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe 5V Versorgungsspannung und einen 1.2k Widerstand. Das heißt ich 
habe etwa 1.6mA. Bei einer Temperatur von geschätzten 23 Grad zeigt er 
mir 44 Grad an

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja das ganze hängt an einem PIC16F877 mit 10 Bit AD Auflösung also 
erscheint mir die Abweichung schon etwas viel

Autor: Sirko Pöhlmann (poehli)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also erst mal sollte man den Strom für T Dioden möglichst klein wählen 
um Eigenerwärmung zu vermeiden.....

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Severin Kresser wrote:

> Ich habe 5V Versorgungsspannung und einen 1.2k Widerstand. Das heißt ich
> habe etwa 1.6mA. Bei einer Temperatur von geschätzten 23 Grad zeigt er
> mir 44 Grad an

Wie kommst du rechnerisch auf diese 44°C?

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe es zuerst schon mit 600µA getestet. Kann mir also nicht vorstellen 
dass das an der Eigenerwärmung liegt

@Andreas

Naja der LM gibt pro °K 10mV Änderung aus(0°C = 273,15 K): Hier der 
Code:

0°C = 273,15 K

'Analogeingang einlesen + Ausgabe LCD

Pause 500

DEFINE OSC 4             ' Oscillator set to 4Mhz
DEFINE LCD_DREG PORTD       ' LCD Data port at Port D
DEFINE LCD_DBIT 0        ' LCD starting data bit = 4
DEFINE LCD_RSREG PORTC      ' LCD register select on port D
DEFINE LCD_RSBIT 4        ' LCD reset portD.4
DEFINE LCD_EREG PORTC         ' LCD enable on port D
DEFINE LCD_EBIT 5             ' LCD output on PortD.5
DEFINE LCD_BITS 4             ' LCD o/p is 4 bit data
DEFINE LCD_LINES 2            ' Number of lines on LCD = 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

DEFINE ADC_BITS 10              ' Set number of bits in result (here 10)
DEFINE ADC_CLOCK 3            ' Set clock Source Internal RC CLockgen
DEFINE ADC_SAMPLEUS 1000    ' Set sampling time in microseconds

Read_Write VAR PORTB.5         ' Display Read(1)/ Write(0)

Low Read_Write

TRISA  = %11111111        ' PORTA all input
ADCON1 = 0                ' PORTA all analog

Input PORTD.5          ' PORTD.5 input

ADC       VAR  WORD      ' Variable type word to store Analog input 
value
ADCB      VAR   WORD

IF PORTD.5 = 1 Then        ' Push PortD.5 to start programm

LCDOut $FE,1          ' Clear LCD
LCDOut "ADC by SK"          ' Print Message on LCD
LCDOut $FE, $C0          ' Start new line
LCDOut "Start......"       ' Print Message on second line
Pause 1000            ' 1s Pause
LCDOut $FE,1          ' Clear LCD

start:

ADCIN 1, ADC            ' Save value from AN1(analog input 1) to ADC
ADCB = (ADC - 2731)/1000      ' Convert value from ADC
LCDOut $FE,1               ' Clear LCD
LCDOut "TEMPERATUR= ",DEC ADCB    ' Print value gotten from  ADCIN1
Pause 1000              ' 0.1s pause

GoTo start              ' Move to start

EndIF

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rechnerisch komme ich eben nicht auf die 44°C

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Code geht davon aus, dass der ADC im Schritten von 1mV misst.

Nur liefert dein ADC wahrscheinlich 10bit (Wertebereich 0..1023) für den 
Spannungsbereich 0..5V, d.h. ein ADC-Schritt entspricht ca. 5mV. Somit 
entspricht der Nullwert von 2,73V einem ADC-Wert von ca. 546 
(2,73V/5mV).

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Dein Code geht davon aus, dass der ADC im Schritten von 1mV misst.
>
> Nur liefert dein ADC wahrscheinlich 10bit (Wertebereich 0..1023) für den
> Spannungsbereich 0..5V, d.h. ein ADC-Schritt entspricht ca. 5mV. Somit
> entspricht der Nullwert von 2,73V einem ADC-Wert von ca. 546
> (2,73V/5mV).


Das ein Schritt 5mV entspricht ist mir noch klar. Aber wie kommst du auf 
das Folgende??? Stehe grad etwas auf der Leitung

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nu, was sind 2.73V ausgedrückt in Schritten zu 5mV?

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK  alles klar

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmals Danke für die schnellen Antworten

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab doch noch ein Problem!

Bei ca. 3,55 V am analogen Eingang bekomme ich einen ADC Wert (10bit) 
von 46000! Wie kann das sein??? Hier müsste ich doch 727 heraus 
bekommen??

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann allenfalls sein, wenn der ADC so konfiguriert ist, dass er die 
Werte als 16bit-Wert linksbündig ausgibt. Bei AVRs geht das, vielleicht 
auch bei PICs.

Dann allerdings sollten die Bits 0..5 =0 sein, was bei 46000 nicht der 
Fall ist. Klingt also nach Programmfehler.

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!
Ich kann aber ehrlich gesagt keinen Fehler findest. Was muss man beim 
AVR machen dass er es nicht linksbündig ausgibt. Oder findest du einen 
Fehler?


'Analogeingang einlesen + Ausgabe LCD

Pause 500

DEFINE OSC 4        ' Oscillator set to 4Mhz
DEFINE LCD_DREG PORTD     ' LCD Data port at Port D
DEFINE LCD_DBIT 0    ' LCD starting data bit = 4
DEFINE LCD_RSREG PORTC    ' LCD register select on port D
DEFINE LCD_RSBIT 4    ' LCD reset portD.4
DEFINE LCD_EREG PORTC       ' LCD enable on port D
DEFINE LCD_EBIT 5           ' LCD output on PortD.5
DEFINE LCD_BITS 4           ' LCD o/p is 4 bit data
DEFINE LCD_LINES 2          ' Number of lines on LCD = 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

DEFINE ADC_BITS 10                 ' Set number of bits in result (here 
10)
DEFINE ADC_CLOCK 3            ' Set clock Source Internal RC CLockgen
DEFINE ADC_SAMPLEUS 100    ' Set sampling time in microseconds

Read_Write VAR PORTB.5              ' Display Read(1)/ Write(0)

Low Read_Write

TRISA  = %11111111             ' PORTA all input
ADCON1 = 0       ' PORTA all analog

Input PORTD.5      ' PORTD.5 input

ADC       VAR  WORD    ' Variable type word to store Analog input value
ADCB      VAR   WORD

IF PORTD.5 = 1 Then    ' Push PortD.5 to start programm

LCDOut $FE,1      ' Clear LCD
LCDOut "ADC by SK"        ' Print Message on LCD
LCDOut $FE, $C0      ' Start new line
LCDOut "Start......"     ' Print Message on second line
Pause 1000      ' 1s Pause
LCDOut $FE,1      ' Clear LCD

start:

ADCIN 1, ADC      ' Save value from AN1(analog input 1)
LCDOut $FE,1       ' Clear LCD
LCDOut "TEMP= ",DEC ADC              ' Print value gotten from  ADCIN1
Pause 1000      ' 1s pause

GoTo start      ' Move to start

EndIF

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest im Manual zu dem PIC den Part mit dem AD-Wandler studieren 
und das Bit für "right justified" in den ADCONx-Registern suchen und 
setzen.

Dann ist eine Sampling-Time von 1000 ms auch hoch - normale wird so 100 
benutzt, gerade bei diesem geringen Eingangswiderstand.

10 Bit sind übrigens 1024 Stufen (0..1023). Der größte Wert ist die 
Stufe 1023.

ADC auf mV umrechnen:

ADC * 5000/1023 - geht nicht, weil ADC*5000 wird zu groß.
Also: ADCB=ADC*5000 : ADCB=DIV32 1023

(Es geht auch rickreicher, aber da will ich jetzt nicht ziefer 
einsteigen.)

Das Programm hat kein END.
Und es läuft nur, wenn man gleich den Knopf drückt.

Äußerer Loop fehlt, oder der innere Loop ist falsch gesetzt.

Autor: Severin K. (severin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Habe jetzt das ADCON register auf Right justified und die sampling time 
auf 100. Das Programm hat jetzt auch ein END :-)
Habe die Berechnung noch weggelassen und rein den ADC WERT ausgegeben. 
Jetzt habe ich immer noch 46400 auf dem Display.
Was ist das Problem mit den Loops?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.