{ // schreibe SKIP ROM wr_byte(0x33); // lese byte ein ds1820 for (i=0;i<8;i++) { read_rom[i] = rd_byte(); printf ("\n %x ", read_rom[i]); } } else { // LED auf HIGH DDRB|=(1<<PB0); PORTB
sollte. Ich habe ein Bild angehängt, wo eigentlich gezeigt werden sollte wie der Befehl 0x33 zum DS1820 gesendet wird, mir fällt selber auf, dass ich zwar eine 0 sehe aber keine 1. Oder liegt es am Oszilloskop? (Ich habe mal mit den werten von Klaus seinem Anhang verglichen, bzw. vergleichen wollen)
Frank, Ja, der Fehler ist bei mir wie in der Fehlerbeschreibung vorhanden. (Bei angeschlossenem DS1820 ist der zuvor gespeicherte Korrekturwert nach Reset nicht mehr vorhanden). Gruß Burkhard
: > Ja, der Fehler ist bei mir wie in der Fehlerbeschreibung vorhanden. > (Bei angeschlossenem DS1820 ist der zuvor gespeicherte Korrekturwert > nach Reset nicht mehr vorhanden). Hm... Kannst Du ein UART-Protokoll hier dazu anhängen?
.. Projekt ist in Bascom (PC) ... Projekt ist nicht für einen µC, sondern für den PC 1-Wire. (C) DS1820, DS18B20 in C (A) Mehrere DS1820/DS18B20 auslesen (C) Mehrere DS1820/DS18B20/DS18S20/DS1822 über einen Webserver auslesbar (C) Bibliothek für OneWire und DS18x20 Akkulader. (A) Bleiakku-Lader 12/24V
1 2 3 4 D D IC1 IC5 EA DIP162 1 DS1820 C S1 V 2 1 2 DQ GND D SW1A G S D E V V V R R E D D D D D D D D A C 3 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 GND GND R3 VCC VCC 10R 3 2 0 1 1 1 1 6 5 4 3 C H G F E D C B A IC4 C IC6 Q Q Q Q Q Q Q Q74HC164 1 DS1820 VCC 7 14 GND VCC VCC C GND L L V 2 R1 VCC VCC C C B A DQ 2k2 9 8 2 1 D IC3 G J1 J2 1 PB5/RST VCC 8 VCC 1WIRE 2 PB3 PB2 7 3 GND LCD-RS 3 PB4 PB1 6 LCD-CK 4 5 LCD-E J1X2 J1X2 GND GND PB0 ATTINY12 IC7
Hallo zusammen, ich hab zu dem Thema im Board schon einige Sachen gefunden, aber irgendwie werd ich nicht schlau daraus. Ich wäre euch sehr dankbar, wenn einer mal die grundlegendsden Schritte mit möglichst umfangreicher Dokumentation, damit ich das hoffentlich auch noch irgendwann begreife. Danke schonmal, Gruß Sanun.
ablegen, das auch einen Stromausfall "überleben" wird. Meine Schaltung besitzt allerdings einen DS1820 und im Datasheet ist von 2 User Bytes die Rede (siehe Scratchpad-Aufbau). Eines der beiden Bytes (Byte 2 oder Byte 3) könnte ich doch für solche Zwecke hernehmen oder? z.B. ich speichere dort 0x34
Treiber, einen Bootloader, einen CAN Treiber und eventl. noch einen Treiber für ADC, IO und den DS1820(1 Wire) enthalten. In meinem Fall steht das Haus bereits und die EIB Bus Leitungen (2 x 2 x 0,8mm²) sind an allen möglichen Stellen vorhanden. Die Lichtsteuerung erfolgt derzeit per Steuerleitungen
Treiber, einen Bootloader, einen CAN Treiber > und eventl. noch einen Treiber für ADC, IO und den DS1820(1 Wire) > enthalten. Gut, das ist halt eure Design-Entscheidung, aber ich frage mich immer wieder (auch bei anderen Projekten, wie HAP und ISysBus): Warum tut ihr euch das an? Denkt doch mal fünf
;DS1820PC.inc ; ; Include-File f r das Auslesen des DS 1820 ; ; aber an PORT C ! ! ! ; UP fuer Zeitschleife von 10 usec -- __10usec movwf _time10us ; Zeit = 'W' * 10 usec __10usec1 nop nop nop nop nop nop
;Originalprogramm für 2313 @ 8MHz zur ansteuerung eines ds18s20-temp-sensors (bzw ds1820) ;anschluss des ds18s20an pind0 ;an den ds1820 müss noch ein pull-up widerstand von 4,7kohm nach +5V ; angeschlossen werden .include "C:\8515def.inc" .def befehl = r0 ;enthält den auszugebenden 8bit-befehl
txt2lcd ;out portb, temp2l ; ldi temp, 0b11110000 ; brcc c2 ;sbis PIND, PD6 ; Vergleichen, ob der DS1820 den Bus auf 0 setzt, ; ldi temp, 0b00001111 ; und dann die Leds auf Port B einschalten ; c2: ; out portb, temp ; ============================= ; Warteschleifen-Generator ; 1000 Zyklen: ; ----------
Dim Ar(9) As Byte Dim Temperatur As Integer Dim Celsius As Single Dim T1 As Integer Dim Temper As Integer Dim Vorkomma As Integer Dim Zehner As Integer Dim Einer As Integer Dim H As Single Dim Vork As Single Dim Nachkomma As Integer Dim C As Single Dim Cc As Integer Sub Temp() Nochmal: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 1000 1wreset 1wwrite &HCC 1wwrite &HBE Ar(1) = 1wread(9) Waitms 1000 If Ar(9) = Crc8(ar(1) , 8) Then Temperatur = Makeint(ar(1) , Ar(2)) Celsius = Temperatur / 16 Call Temp_splitter(celsius) Else Goto Nochmal End If End Sub Sub Temp_splitter(byval Temperatur2 As Single) C =
helfen können. Zunächst zur Hardware: Die Schaltung wurde 2003 entwickelt. Mittlerweile ist der DS1820 nicht mehr in der Produktion. Als Ersatz dürfte sich der DS18S20 anbieten, der weitgehend kompatibel ist. Ungeeignet ist hingegen der DS18B20, da er einen anderen Aufbau des Temperatur-Registers besitzt
alle Leitungen nach +5V und GND gehen und an den nichts angeschlossen ist. Ein Stecker DHT2 und DS1820 für den dasselbe gilt. Ein Baustein DS1307 der alleine in weiter Flur hockt, ohne Verbindungen zum Rest der Welt, und das alles bloss weil der Schaltplanersteller zu faul ist Linien zu zeichen. Im
Leitungen nach > +5V und GND gehen und an den nichts angeschlossen ist. Ein Stecker DHT2 > und DS1820 für den dasselbe gilt. Ein Baustein DS1307 der alleine in > weiter Flur hockt, ohne Verbindungen zum Rest der Welt, und das alles > bloss weil der Schaltplanersteller zu faul ist Linien zu zeichen
dringend Hilfe!!! Ich programmiere gerade einen ATmega8 mit C und will eine Temperatur mit dem DS1820 einlesen und sie auf einem LCD anzeigen! Da man das Rad nicht neu erfinden sollte, kann mir bestimmt einer helfen oder einen fertigen Quelltext zukommen lassen. Bin für jde Hilfe sehr dankbar. Mfg
Nabend ich versuche mich z.z. an den DS1820. Anbei ein Code Ausschnit. Ich habe den Code noch nicht getestet bin mir also nicht zu 100% sicher ob er funktioniert. Ich will nun den Temperaturwert an meine Funktion PI Regler schicken.
hier ein Grundgerüst für ein LPC1768-board. Das Programm liest von einer sd-Karte alle Dateien aus und spielt die MP3-Dateien in der FAT-Reihenfolge ab. Anschließend wird die Temperatur gemessen und als Graph angezeigt. Ist alles noch im Aufbau. Nächste Schritte wären das Touch, Ethernet und IR-Fernbedienung. Es soll alles Modulweise programmiert werden. Für Unterstützung wäre ich dankbar. Das Board gibt es für unglaubliche 30€ mit TFT über China-ebay. Hinweisen möchte ich auf meine Macros zum Setzen der Ports. das vereinfacht den Zugriff auf ARM ganz erheblich: //aus LPC176x.h #define pinSET(
Hallo, ich wollte mal meine neue Platine vorstellen. Und bin natürlich für sachdienliche Hinweise im Hinblick auf Fehler dankbar :-) Es wäre nett, wenn jemand einen Kommentar zur Anbindung von - RS232 - SD-Karte - AVREF machen könnte. ERC und DRC scheinen ok zu sein. Besten Dank, Pete
> 20 bis 130°C arbeiten. Warum 130C? Wenn du mit 125 zufriden waerst dann koenntest du einen DS1820 als Fuehler nehmen fuer den es fertige Libaries gibt, der bereits kalibrierst ist und der auch von einem Anfaenger handlebar ist. Alles darueber hinaus (NTC, diode, PT100) ist fuer dich zu kompliziert
schrieb im Beitrag #6015807: > Warum 130C? Wenn du mit 125 zufriden waerst dann koenntest du einen > DS1820 als Fuehler nehmen fuer den es fertige Libaries gibt, der bereits > kalibrierst ist und der auch von einem Anfaenger handlebar ist. Alles > darueber hinaus (NTC, diode, PT100) ist fuer dich zu kompliziert
interessant aus, was da alles drauf ist. Für mich sind vor allem das BTM222, der FT232RL, der DS1820 und der Beschleunigungssensor (würde ich aber am Kable anschließen, weil das ganze Teil zu bewegen ist doof) interessant. Das Problem ist aber, dass das alles SMD ist. Meine Frage ist jetzt, ob
Hab mir deine HP mal angeguckt und deinen Schaltplan. Wie ich oben schon geschrieben habe, ist der DS1820 noch interessant für das Board. Wenn ich das nicht in SMD machen sollte, kann ich ja auch die in der TO92-Ausführung nehmen. Zu den 7-Segment Dingern: Ich habe lieber mein LCD drauf (mag die 7-Segment
merkt man, dass das glcd nicht dazu gehört. Auf der homepage des deutschen resellers gehört ein ds1820 mit dazu. Das glcd kostet anscheinend von 16$-25€. Bei microe gibt es allerdings viel mehr zubehör.
Hallo Florian, ich habe grad mal nach DS1820 gesucht und Deinen Beitrag gefunden. Mir geht es eigentlich um die Ansteuerung des Sensors. Kannst Du mal das komplette Projekt mit allen Hilfsdateien *.c *.h reinstellen, ich kenne sonst nur die Routinen
Problem? [c] #define F_CPU 4000000UL #include <avr/interrupt.h> #include "delay.h" #include "DS1820.h" #include "Uhr.h" /*unsigned short int C_Halbe=0; unsigned short int C_Einer=0; unsigned short int C_Zehner=0; unsigned short int VZ=0;*/ short volatile unsigned int DCF77flag; volatile
= Ausgabe DDRC|=0xfc; //PORT C = Ausgabe Anode DDRB&=0xf0; //Port B = 3 Taster, DS1820 als Eingabe DDRD&=0x00; //Port D = Eingabe //--------------- Timer 0 ------------------------------------ // 1ms-Interrupt @ 3.999.968HZ // 3999968/256= 15.624,875Hz=> Prescaler=256
beeinflussen auf die richtigen Werte abgleicht um damit dann eine Temperatur auf 1°C genau zu messen. ds1820 und gut ists, zu einem Bruchteil der Kosten für die Potis.
Karl Heinz schrieb im Beitrag #4141840: > ds1820 und gut ists, zu einem Bruchteil der Kosten für die Potis. Ja, man kann mit PT-Widerständen sehr präzise messen, bis in den Millikelvinbereich hinein. Dafür benötigt man aber einen gewissen Schaltungsaufwand
DallasTemperature.h> #define DHTPIN 10 // what digital pin we're connected to OneWire ds(2); //pin für ds1820 #define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 // to 3.3V instead of 5V! //
und der rs232 werte empfangen kann. bei mir läuft im moment die dcf77 uhr und temperatur mit einem ds1820 auf mein lcd, so diese sachen möchte ich mit visual basic einbinden. in einem selbstgestalltenem grafick. mfg
Aber ich hab später an dem Bus bis zu 6 Devices hängen. Einen Counter und 5 DS1820. Dort steht ja "//Commands for only one device on bus (Not tested)". Ich nutze die 1-Wire Kernmodule unter Linux um die Sensoren einzulesen. 1w-gpio 1w-therm 1w-ds2423
Ein DS1820 in einem mit feinem Sand gefülltem und mit Silikon vergossenem kleinen Reagenzglas leistet mir mit der entsprechenden Elektronik dahinter seit Jahre gute Dienst. Pimmelschilz
Platinen·klugscheissender Rahul, manchmal auch fies··22 Antworten
Keine Angst, das ist es. Habe damit schon viele Sachen (elektronik)abgedichtet,unter anderem eine DS1820 mit Platine.Diese Arbeitet schon 2 Jahre im Freiem ohne Probleme. Mike
Hallo, habe das Gleiche auch mal gebaut. ATTiny13 mit DS1820 Temperatorsensor und ein MOSFET... Kann man alles in SMD schön auf eine kleine Platine pappen...