Hallo zusammen,... Ich habe folgendes Problem, was ich seit Tagen weder ergooglen noch lösen kann und mir gehen die Ansätze aus, in welche Richtung ich weiterforschen könnte,... Also, ich habe einen ATtiny13a an einem ATeVaL 2.0 und progge den über ISP mit Atmel Studio 7,... Erste Versuche mit Ansteuerungen von LED's als Output waren problemlos umgesetzt, da ich Ingenieur bin (Maschinenbau - Vertiefung Konstruktions- und Automatisierungstechnik) und gewisse Programmierkenntnisse in C noch marginal vorhanden sind,... Problem jetzt: Ich wollte übergehen zu einem Einlesen von Daten, als Sensor habe ich die Industrieversion mit Edelstahlgehäuse des DS18B20 angeschlossen, mit 4k7 Ohm zwischen Data und Live Wire,... Da dieser jetzt aber angeblich digital arbeitet und nicht analog (war mir vorher nicht bewusst), haben alle Versuche das über den ADC zu realisieren nicht funktioniert,... Klar, ich hätte es auch über nen 328P versuchen können, aber das müsste ja auch mit dem Tiny13A irgendwie funktionieren, jetzt zu switchen und es da zu versuchen, das will ich eigentlich nicht,... Wenn ich den DS18B20 ans Labornet mit 5VDC hänge, dann habe ich 4,97VDC zwischen Data und Masse und daran ändert sich komischerweise nichts, auch wenn ich mir den Sensor dahin halte, wo die Sonne nie scheint. Hab zwar schon gedacht, dass gerade der erste der 5 Sensoren defekt ist, aber ich hoffe eher auf eigene Inkompetenz und wäre erfreut, wenn mir jemand ne Richtung weisen könnte oder auch Literatur (bin schon zig Bücher durchgegangen), auch nen Programmcode würde helfen, so komplex sollte das ja grundsätzlich nicht sein,... Vielen Dank im Voraus! :)
Ingemina schrieb: > bin schon zig Bücher durchgegangen) Lies mal das Datenblatt vom DS18B20 :) Da sollte einiges drin stehen. Ob das was man zum Sensor bedienen machen muss plus deiner Applikation den tiny13 passt, bezweifle ich stark. Aber wäre eine nette 1kByte-Challenge. mfg mf
Danke für die Antwort, Achim! Habe mir das Datenblatt leider schon ohne nennenswerten Erfolg durchgelesen, ich lerne dabei zwar die ein oder andere Sache über die Funktionsweise, aber eine konkrete Implementierung kann ich daraus leider nicht im Entferntesten ableiten,... :/ Wie ich vermute, dürfte die Umsetzung gar nicht so extrem kompliziert sein, denn alle Versuche Outputs zu generieren liefen problemlos,... Mich wundert es grundsätzlich, dass es dazu keine Quellen online gibt, denn einen Sensor auszulesen ist doch das, was quasi jeder mit dem "Arduino Sketch" permanent tut,... Aber ich möchte das halt über das Atmel Studio 7 realisieren und nicht über vorgefertigte Libraries, die alles verschleiern, was auf den µC'n intern abläuft. ^^ Wenn mir natürlich jemand sagt, dass es auf dem ATtiny13A nicht sinnvoll implementierbar ist, dann springe ich natürlich auch auf einen 328P, aber ich habe die Hoffnung noch nicht aufgegeben, dass es eine simple Lösung für den Tiny gibt, die ich selbst nicht im Stande bin zu entdecken!
:
Bearbeitet durch User
Du hast das Funktionsprinzip des Sensors glaube ich noch nicht verstanden. Er arbeitet digital, d.h. er ist programmierbar und wandelt dann die Temperatur intern um und gibt diese dann auch digital wieder aus. Das ganze tut er über den 1-Wire Bus. Das ganze lässt sich leicht mit den Prozessor-Pins lösen - ist aber aufgrund des Timings etwas prozessorlastig bzw. nicht mehr ganz so trivial umzusetzen, wenn es das nicht sein soll (du musst zwischen high & low sowie input umschalten). Es gibt zu diesem Standard-Sensor vermutlich 1000 Implementationen im Netz. Patrick O. schrieb: > vorgefertigte Libraries, die alles verschleiern, was auf den µC'n > intern abläuft. ^^ Das tun sie nicht. Man kann sich jede Arduino Lib ansehen und darf dann schockiert sehen, wie grausam manches dort implementiert ist... Patrick O. schrieb: > Wenn mir natürlich jemand sagt, dass es auf dem ATtiny13A nicht sinnvoll > implementierbar ... Die Frage ist eher, was soll der ansonsten noch machen?
Kuck dir die passende Arduino-Lib an. https://create.arduino.cc/projecthub/TheGadgetBoy/ds18b20-digital-temperature-sensor-and-arduino-9cc806 - dort unter Step 3: Libraries Sollte dir erst mal weiter helfen.
Ingemina schrieb: > Problem jetzt: Ich wollte übergehen zu einem Einlesen von Daten, als > Sensor habe ich die Industrieversion mit Edelstahlgehäuse des DS18B20 > angeschlossen, mit 4k7 Ohm zwischen Data und Live Wire,... Bevor du ans Programmieren gehst, solltest du erstmal feststellen, welche Variante von dem DS18B20 in deinem Industrieedelstahlgehäuse verbaut ist. Es gibt den DS18S20-PAR, speziell für den Parasite-Power Mode und die Standardvariante DS18B20, die sowohl direkt versorgt werden kann als auch den Parasite-Power Mode beherrscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.