Forum: Projekte & Code 1wire Tester - Busspannung beim Messvorgang ATmega8 Assembler


von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Durch den erhöten Strombedarf beim Messvorgang mancher OW-Slaves z.B. 
DS18s20, DS1820 kann die Busspannung unter Umständen empfindlich 
zusammenbrechen (lange Leitungen, viele Sensoren).

Sinkt die Busspannung unter einen kritischen Wert, dann kann der Slave 
nicht mehr korrekt arbeiten und er antwortet mit einem Fehler z.B. 85 
Grad.

Dieser Slave erkennt das "CONVERT T" Comand und misst ca. 900ms lang die 
Busspannung und zeigt das Messergebnis graphisch dar.

Je mehr Balken leuchten... um so stabiler ist die Busspannung.

Balken-9: 5,0V
Balken-8: 4,9V
Balken-7: 4,8V
Balken-6: 4,7V
Balken-5: 4,6V
Balken-4: 4,5V
Balken-3: 4,4V
Balken-2: 4,3V
Balken-1: 4,2V
Balken-0: 4,1V

LED-grün: Reset-Presence erkannt
LED-gelb: Messung der Busspannung
LED-rot:  Error

Hinweis:

Der ATmega8 wird mit 4MHz getaktet

Der µC kann ggf. auch ohne Quarz betrieben werden. Ist die Abweichung 
des Taktes zu groß, dann wir z.B. Reset-Presence nicht erkannt.


Bernhard

: Bearbeitet durch User
von Jörn P. (jonnyp)


Lesenswert?

Prima, das ist bestimmt sehr hilfreich für Leute die kein Scope zur 
verfügung haben ;-)

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Wer möchte, kann sich die Busspannung auch etwas genauer
anzeigen lassen, dazu die LED-7Segment Version mit CA56.

Nach Programmstart wird das Jahr "2017" angezeigt und anschließend 
permanent die Busspannung bis ein Reset-Presence-Impuls (RP) emfangen 
wird.

Solange kein RP erkannt wurde, arbeitet diese Schaltung als ganz 
normaler Spannungsmesser ^^

Wurde ein Rom-Skip (0xCC) und ein "CONVERT_T" empfangen (0x44) dann 
startet die eigentliche Messung der Busspannung (ca.1s lang).

Die in dieser Zeit gemessene minimale Spannung steht dann im Display.

Wurde wärend des Messvorganges eine 1wire-Aktivität registriert,
dann erscheint im Display "Err".

Während der Messung erfeut uns das Display mit 4 Punkten "...." .

Der µC arbeitet mit 4MHz, 1MHz ist problemlos möglich, da dieser 
"stiller" Slave nicht antworten muss, er besitzt keine ROM-ID.


Bernhard

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

...Update Bargraph Variante, 1wire-Routinen stark vereinfacht ;-)

Die Schwellwerte der einzelnen Balken lassen sich einfacher anpassen.

Solange kein RP erkannt wurde, arbeitet diese Schaltung als 
Spannungstester.

Die LED-Pins lassen sich bei Beadarf anpassen.

LED-grün: Reset Presence Impuls erkannt
LED-gelb: Messung der Busspannung
LED-rot:  Error, der Messvorgang wurde gestört durch Busaktivitäten

Bernhard

: Bearbeitet durch User
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.