1wire Tester - Busspannung beim Messvorgang ATmega8 Assembler

OP #4861604
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
Angehängte Dateien:
OP #4872331
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
Angehängte Dateien:
OP #4872653
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
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.