- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Timer und/oder Interrupt

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Danke, Richard.
    Als Erstes, Deine Hinwei zum Timer werde ich morgen an der Schaltung
    ausprobieren. Ich weiss, dass mein Programmierstil warscheinlich nicht
    der Beste ist, ich brauch jedoch alsbald die Funktion.
    Zu Deiner letzten Nachricht: Ich betreibe ein Kabel mit DS18S20 in
    ca. 100m Tiefe und ein Messkabel mit 11 DS18S20 in jeweils 10m
    Entfernung. Daher wollte ich die DS18S20 als 1wir-Bus betreiben.
    Während das problemlos als Test funktionierte, konnten 100m nicht
    mehr überbrückt werden - auch mit quarzgesteuerten Mega8 nicht!
    Mir blieb daher nichts übrig, als pro Messsonde noch einen Attiny mit
    einzubauen und die Signale der DS18S20 zwischenzuspeichern und
    langsam mit einem selbstgestrickten Protokoll nach oben zu schieben.
    Diese AtinYs, welche die Signale der DS18S20 aufnehmen laufen
    OHNE Quarz! Da alle Byte übertrage und erst in der Hauptschaltung
    einen Prüfsummencheck durchführe, weiss ich, dass die Daten nicht
    nur korrekt übertragen, sondern von den freilaufenden Atinys auch
    korrekt erfasst werden. Das Problem mit der UART beim Freilaufen
    kenne ich jedoch auch. VG Micha
    einem Messpunkt

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von hardware.bas
    Zu Deiner letzten Nachricht: Ich betreibe ein Kabel mit DS18S20 in
    ca. 100m Tiefe und ein Messkabel mit 11 DS18S20 in jeweils 10m
    Entfernung. Daher wollte ich die DS18S20 als 1wir-Bus betreiben.
    Während das problemlos als Test funktionierte, konnten 100m nicht
    mehr überbrückt werden - auch mit quarzgesteuerten Mega8 nicht!
    OK, Ich habe einmal gelesen das man mittels Kabel einen Kapazitiven Füllstands Sensor bauen kann weil Wasser ein anderes Dielektrikum als Luft hat. Das könnte natürlich dazu führen das der Sensor die Kabelkapazität nicht mehr sauber treiben kann. Ob da ein abgeschirmtes Kabel hilft?

    Gruß Richard

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von hardware.bas
    Das Problem mit der UART beim Freilaufen
    kenne ich jedoch auch. VG Micha
    einem Messpunkt
    Habe gerade in einem anderen Thread etwas gefunden was Dir helfen könnte!

    Schaue Dir einmal in der Bascom Hilfe den
    $TIMEOUT Befehl an.

    Gruß Richard

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Hallo, Richard,
    bin noch nicht zu meiner Schaltung gekommen, da ich noch
    Schneeschippen muss.
    Den Test mit dem Kabel habe ich übrigens im Trockenen gemacht
    und es ist 4 adrige-Datenleitung mit Schirm.
    VG Micha

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Nun zum Stand der Dinge; obwohl ich mich jetzt durch diesen Problem-
    lösungsversuch etwas tiefer mit den Timerm beschäftigt habe, Timer1
    ist hierbei interessant, ist es leider keine Lösung.
    ERSTENS: Der Timer1 liess sich problemlos starten, teilen und voreinstellen,
    auch der Überlaufinterrupt funktioniert, auch ist eine Unteroutine zuordbar.
    ZWEITENS: Das Problem ist, ich kann mit einer Unterroutine nichts
    anfangen, da das Programm immer wieder an die Stelle springt, aus der
    ich eigentlich mit dem Interrupt wegkommen will. Statt Goto ..... will
    der Compiler immer Return haben. Was ich brauche, ist folgendes.
    Die Interruptunteroutine muss mit GOTO+Ziel verlassen werden können
    und alle in der "alten", also durch die Timerfunktion verlassene For/Next-
    Schleifen müssen ignoriert werden. Wie schon erwähnt, wenn der
    Aufhänger im Fehlerfall auftritt, befindet sich das Programm in einer
    Gosub-Routine, welche aus GOTO und For/Next-Schleifen besteht.
    Der Timerinterrupt (der funktioniert auch) muss den Programmablauf
    dort herausbringen, auch aus o.g. Schleifen, da nicht nur durch
    Ausbleiben von Daten, sondern auch von Datenteilen Aufhänger
    passieren. VG Micha

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    PROBLEM GELOESST! OHNE INTERRUPT!
    - Starten und Rücksetzen des TIMER1
    - In der Abfrageschleife eine IF TIMER < Wert Then Goto Anfang
    - Rücksetzen und Ausschalten des TIMER1
    Funktioniert... mit guten bewährten Befehlen aus der HC-Ära.
    Vielen Dank und viele Grüsse. Micha

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen