Forum: Mikrocontroller und Digitale Elektronik Attiny44: DS1820 und PWM schließen sich aus


von Michael B. (sindri)


Lesenswert?

Hallo,

ich sitze gerade über einer Schaltung, die mit Hilfe eines Attiny44 aus 
deinem Dallas DS1820 die Temperatur auslesen soll und dann über den OC1A 
mit PWM eine Heizung stellen soll.

Als Library zum Ansprechen des Dallas verwende ich diese hier:

http://www.siwawi.arubi.uni-kl.de/avr_projects/tempsensor/index.html

Das funktioniert alles tadellos, bis ich für das PWM einen Teiler für 
den 16Bit Timer/Counter in TCCR1B einstelle. Lasse ich den Prescaler auf 
1, also die PWM mit Prozessortakt laufen geht der DS1820 noch auslesen, 
sobald ich aber den Prescaler höher setze, um den PWM Takt langsamer zu 
bekommen, lese ich aus dem DS1820 nur noch die default 85°C aus.

In der oben genannten Lib zur Ansteuerung des DS1820 wird kein 
Hardwaretimer verwenden, den ich dadurch beeinflussen könnte. Es werden 
dort nur avr/delay.h Verzögerer benutzt.

Ich weiss nicht mehr, wo ich noch nachsehen könnte, an was das liegt. 
Hat jemand von euch eine Idee?

Danke für eure Antworten!

Michael

von Peter D. (peda)


Lesenswert?

Michael Keller schrieb:
> Als Library zum Ansprechen des Dallas verwende ich diese hier:

Und nun?

Du mußt schon ein compilierbares Programm posten, inclusive der 
verwendeten Libs.


Peter

von Michael B. (sindri)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei eine Zip Datei mit dem Code, den verwendeten Dateien aus der 
Library und einem Schaltplan. Die Hardware kam nicht von mir, war eine 
vorgefertigte Schaltung, die ich nun selbst/anders programmieren will.

in der main.c habe ich einen Kommentar geschrieben, welches Statement 
das Auslesen der Temperatur aus dem DS1820 beeinflusst.

Ich hoffe die Information reicht. Falls nicht liefere ich noch nach, was 
gebraucht wird.

Vielen Dank !

Michael

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.