Forum: Mikrocontroller und Digitale Elektronik Eingang von Sensorsignalen


von Ingemina (Gast)


Lesenswert?

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! :)

von Achim M. (minifloat)


Lesenswert?

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

von Patrick O. (ingemina)


Lesenswert?

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
von Erwin (Gast)


Lesenswert?

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?

von jo (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.