Der Zug der Zeit (eine Uhr)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Michael schrieb:

      Ich würde eher versuchen, die Versorgung des Controllers zu puffern.
      Wenn das Licht selbst flackert wäre das nicht so schlimm wie ein Verlust der Position.
      Die 5V puffern ist vom Platz her bisschen schwierig. Der Waggon ist schon gut beladen, da noch weitere Elkos drauf packen wird langsam kritisch. Leider kann man die Leds nicht vom Kontroller abkoppeln. Leds und max7219 sind eine Einheit, wenn der max wegen Spannungsmangel aussteigt, müsste man ihn resetten (sollte ich vielleicht vorsichtshalber sowieso öfters machen).
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      Leds und max7219 sind eine Einheit,
      ah, ok.
      Ich hätte halt versucht, den Controller am Leben zu erhalten. Das ginge in dem Fall nur mit einer Trennung, also hier mit einer extra 5V Aufbereitung.

      tschoeatsch schrieb:

      müsste man ihn resetten (sollte ich vielleicht vorsichtshalber sowieso öfters machen).
      Werden die Max7219 nicht sowieso jedesmal neu befüllt? Ich sehe da keinen Reset im Datenblatt.
    • Ich weiß jetzt ehrlich gesagt nicht, wie der max ab Start konfiguriert ist. In meiner init max Routine wird auf Matrixverwendung geschaltet und die Helligkeit auf einen relativ niedrigen Wert eingestellt, das meine ich hier mit reset vom max.

      Den Kontroller am Leben zu halten ist schon wichtig. Doch wichtiger ist aus meiner Sicht das Erkennen, 'wo steht der Zug'. Das muss bei Programmstart klappen und eben auch, wenn der Kontroller mal wegen Unterversorgung einen reset macht.
      Meine Kombination Laser-Transistor-Kodierstreifen 'prellt' beim Übergang der Streifen, sodass ich keinen intx verwenden kann. Ich hab' aber den timer2 frei, mit dem will ich die Erkennung 'linkes Ende', 'rechtes Ende', 'mitten im Gleis' realisieren.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      auf Matrixverwendung geschaltet und die Helligkeit auf einen relativ niedrigen Wert eingestellt, das meine ich hier mit reset vom max.
      ok, dann vergiss mein Gerede ;)


      tschoeatsch schrieb:

      Meine Kombination Laser-Transistor-Kodierstreifen 'prellt' beim Übergang der Streifen,
      Die Geschwindigkeit des Zuges wird sich sicher nicht großartig ändern, so dass du eine minimale Zeit hast, in der ein Impuls anliegt.
      Kommen die Pulse schneller, dann kannst du sie verwerfen (aka Debounce)
      Da Debounce aber das Programm anhält, musst du dir eine eigene Routine basteln.
      Ich löse so was über eine Hilfsvariable, die befüllt wird, wenn der Pegel am Eingang gleich dem vorherigen ist.
      Ist ein bestimmter Wert, z.B. 200 Schleifendurchläufe in etwa 10ms erreicht, dann erst wird der neue Wert des Eingangs auch übernommen.
      Das verzögert zwar die Eingangserkennung um die Debounce-Zeit, hält aber das Programm nicht an.
      Brauchst du in deiner Anwendung überhaupt den 2. Laser? Die Richtung kennst du doch über die Vorgabe deiner H-Brücke?
    • Michael schrieb:

      Brauchst du in deiner Anwendung überhaupt den 2. Laser? Die Richtung kennst du doch über die Vorgabe deiner H-Brücke?
      Der ist nicht mehr da, das ist mir auch schon aufgefallen, aber erst, als ich beide Laser auf die kurze Brennweite umgefummelt hatte ||
      Was ich brauche, ist ein flag, was den Übergang der Streifen signalisiert, um den Inhalt des Displays neu zu befüllen. Dann möchte ich aber noch wissen, wo der Zug steht, ob er nicht schon an einem Ende ist, weil er z.B. wegen einem unvorhergesehenen reset, mitten im Gleis losgefahren ist. Dazu hab' ich mir folgendes gedacht:
      Am linken Gleisende ist ein stück des Kodierstreifens nur weiß, am rechten Gleisende nur schwarz. Wechselt sich beim Fahren das Signal vom Lasersensor (Fototransistor) ab, bin ich mitten im Gleis, hab' ich als Signal nur 0, dann bin ich im weißen Bereich, also links, ist das Signal nur 1, dann bin ich wohl im schwarzen Bereich, also rechts.
      Der code dazu schaut so aus (noch nicht probiert)

      BASCOM-Quellcode

      1. Timer2_isr:
      2. If Laser_sensor = 1 Then 'auf schwarzem Feld
      3. Streifen_da = 1 'Übergang von weiß auf schwarz erkannt, flag als Flankenerkennung, wird hier nur gesetzt
      4. If Strichzaehler > 128 And < 255 Then 'war vorher schon auf schwarzem Feld
      5. Incr Strichzaehler
      6. Linkes_ende = 0 'kann nicht linkes Gleisende sein
      7. If Strichzaehler = 255 Then Rechtes_ende = 1 'lange genug auf schwarzen Feld, rechtes Gleisende erreicht
      8. Else
      9. Strichzaehler = 129 'war vorher auf weißem Feld
      10. End If
      11. Else 'auf weißem Feld
      12. If Strichzaehler > 0 And < 127 Then 'war vorher schon auf weißem Feld
      13. Decr Strichzaehler
      14. Rechtes_ende = 0 'kann nicht rechtes Gleisende sein
      15. If Strichzaehler = 0 Then Linkes_ende = 1 'lange genug auf weißem Feld, linkes Gleisende erreicht
      16. Else
      17. Strichzaehler = 126 'war vorher auf schwerzem Feld
      18. End If
      19. End If
      20. Return
      Alles anzeigen
      Jetzt muss ich halt die Aufrufgeschwindigkeit so anpassen, dass möglichst schnell die Entscheidung 'ich bin am Gleisende' erkannt wird, aber halt eine leicht zuckelige Fahrt mitten drin auch als 'mitten drin' erkannt wird.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • ceperiga schrieb:

      Für undefinierte Zustände (Controllerreset, ungewollter Neustart) solltest Du eventuell eine Referentfahrt vorsehen, also das langsame fahren zu einem definierten (End)punkt. Damit wäre der Controller dann in der Lage definiert neu zu beginnen.
      Das hab' ich scheints jetzt im Griff. Ich kann mit jeder Zugstellung auf dem Gleis Strom einschalten und der Zug fährt in eine definierte Stellung. Links oder rechts ist dabei zufällig, aber das Programm weiß es zumindest. Auch die Strichabtastung geht jetzt recht gut, ich hab' mal ein Filmchen gedreht, der Text steht wie eine eins a_22_9ac28a82 .


      Wen es interessiert, hier ist der Testcode zum Film. Die ganze Satzbauerei ist im code schon drin, wird aber noch nicht verwendet. Das Gleis ist noch zu kurz.
      Dateien
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • ichbinsmoin schrieb:

      Dann wäre es der Weltöffentlichkeit zugänglich
      Ist es doch durch dieses Forum auch. Wir sind doch hier im world wide web :D
      Und ob die ganze Welt nach Hamburg geht a_27_b277ca12
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      Meine Kombination Laser-Transistor-Kodierstreifen 'prellt' beim Übergang der Streifen, sodass ich keinen intx verwenden kann. Ich hab' aber den timer2 frei, mit dem will ich die Erkennung 'linkes Ende', 'rechtes Ende', 'mitten im Gleis' realisieren.


      Hallo tschoeatsch,

      Könntest du nicht ein Ultraschall Entfernungssensor z.b. HC-SR04 nutzen?

      Mit diese Module beschäftige ich mich schon ein paar Monate im Anwendungsbereiche: Hinderniserkennung, Entfernungsmessung, Füllstandanzeiger.
      Schallausbreidung war für mich auch Neuland. Ist aber erstaunlich wie man mit mechanischen Fertigkeiten den Schall/Echo richten kann. Diese Fertigkeiten sind dir wohl in die Wiege gelegt wurden.
      Als Anregung solltest du diese Variante mal testen. (Modul ab 1,20 €)
      Ich könnte mir Vorstellen wenn Module am Ende des Tunnels angebracht(Tunnel ist dann ein „Tonwegrichter“ nun könnte die Gleislänge außerhalb schon ein paar Meter sein) ohne Kegelschallwirkung.
      Auch mit Hülsen/Rohr auf Sender und oder Empfänger kann Richtung und Empfindlichkeit sehr gut ans Projekt angepasst werden. Die Feinheiten macht dann die Software. Kalibrierwert auf Projekt einstellen und das war es.
      Behauptung liegt im aktuellem Projekt, dass deiner Positionserkennung ähnlich ist.
      Ist zwar kein Zug. Nur ein altes Sortierförderband mit ehemalige Lichtschranken.
      Positionserkennung min 0,7 mm bis 2 Meter Echo sehr genau. Also ohne viele „Kontaktstreifen“ sind viel, viel mehr Positionen auswertbar.
      Ab 2 bis 4 Meter könnten es mit diesen Modulen schon >1,4 mm werden.
      Schon erkannt, mit ein nichtmetallischen Tunnel wird der Schall ohne große Verluste als Echo zurückgegeben. Wie erwähnt Software kann auch dynamisch eine Kalibrierung erstellen. Somit können auch üble Schallwellen ignoriert werden. Diese Software Funktion hat aber bis dato nicht eingreifen müssen. Bin immer noch begeistert, dass man Ultraschallpegel eine „schmale“ Richtung vergeben kann.
      Diese Ultraschallhardware ist natürlich nichts für die, die es sehr schnell mögen(mit 16 MHz Takt) sollte schon 2ms für Auswertungen eingeplant werden, auch bedingt durch die Naturgesetze. Diese sind noch immer nicht bereit sich an die menschlichen Wahnvorstellungen anzupassen.

      Mit freundlichen Grüßen
    • tschoeatsch schrieb:

      hier sind es halt dann nur 40 Besucher, die sich über den kostenlosen Eintritt freuen
      Und das ist gut so. Im Wunderland (H0 1:87) würden sie dir noch halb Erlangen aufs Brett
      nageln. Und dazu noch eine Feuerwehr (Car-Fahrsystem) die eine brennende Fabrik retten soll.

      Ich habe mich heute mal in N - Foren rumgetrieben und nach Kontaktproblemen gesucht.
      Es scheint da ein gängiges Thema zu sein. Da ist Sauberkeit von Schiene, Rad und
      Schleifern oberstes Gebot.Also doch recht wartungsintensiv.
      Vielleicht sollte man, wenn es ans Gehäuse geht, das als Art Vitrine herrichten. Alle Seiten zu
      und die Front aus (Plexi)Glas.

      Detlef
      Leichtsinn ist kein Mut, Vorsicht keine Feigheit.
    • @fredred Ist ja schön, dass du mir Tipps gibst, aber mit Ultraschall will ich hier wirklich nicht arbeiten. Das sprengt jetzt meinen Ehrgeiz und Strahlen bündeln, die ich nicht sehen oder schmecken kann, kann ich sowieso nicht. Meinen laser kann ich sehen, da hat das Bündeln geklappt. Ich weiß auch, wo der hin strahlt und von wo Reflexionen zu erwarten sind, deswegen funktioniert das ja schon. Und vergleiche mal die Größen von dem Laser + Transistor mit den Ultraschallentfernungsmessern, hier habe hier einen Maßstab von 1:160! Außerdem ist mit ein Signal 'jetzt ist der Zug auf einer neuen Spalte' lieber, als wenn ich ständig Entfernungen messen müsste und dann noch vergleichen, ob das jetzt einer neuen Spalte entspricht.


      Dekaman schrieb:

      Vielleicht sollte man, wenn es ans Gehäuse geht, das als Art Vitrine herrichten. Alle Seiten zu
      und die Front aus (Plexi)Glas.
      5 seitig abgeschlossen ist es ja schon vorgesehen. Ohne Glasfront könnte man natürlich leichter mal über die Gleise wischen.

      Dekaman schrieb:

      Ich habe mich heute mal in N - Foren rumgetrieben und nach Kontaktproblemen gesucht.
      Es scheint da ein gängiges Thema zu sein.
      Ist eigentlich klas, je kleiner die Spur, umso schlechter der Kontakt. Ich bin ja froh, nicht mit Spur Z zu arbeiten :rolleyes:
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Dekaman schrieb:

      @tschoeatsch,

      //www.youtube.com/watch?v=8n42kGTYbWY
      Da ist dein Massstab 1:160 ja noch Grobmotorik

      Detlef
      Das stimmt. Der Zug im Buch läuft aber auch nicht auf einer klassischen Schiene. Der hängt am 'Seil' und wird über 'optisch eine Schiene Ähnelndem' gezerrt.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      Und vergleiche mal die Größen von dem Laser + Transistor mit den Ultraschallentfernungsmessern, hier habe hier einen Maßstab von 1:160! Außerdem ist mit ein Signal 'jetzt ist der Zug auf einer neuen Spalte' lieber, als wenn ich ständig Entfernungen messen müsste und dann noch vergleichen, ob das jetzt einer neuen Spalte entspricht.
      Verstehe ich nicht. Wo ist das Problem der Größe wenn Erkennung völlig im Außenbereich liegt.

      tschoeatsch schrieb:

      Außerdem ist mit ein Signal 'jetzt ist der Zug auf einer neuen Spalte' lieber, als wenn ich ständig Entfernungen messen müsste und dann noch vergleichen, ob das jetzt einer neuen Spalte entspricht.
      War doch nur ein Vorschlag. Somit werde ich nicht Nachfragen was diese Bemerkung "ständig Entfernungen messen müsste" soll. Wird doch auch nur bei Veränderung der Position nach Vorgabe aktiviert. Deine Laservariante macht dies wohl nicht.
      Egal.
    • fredred schrieb:

      Deine Laservariante macht dies wohl nicht.
      Meine Laservariante setzt ein flag 'neue Position erreicht'. Ist eine einfache Sache, oder?

      fredred schrieb:

      Wo ist das Problem der Größe wenn Erkennung völlig im Außenbereich liegt.
      Wenn du von außerhalb die Entfernung vom Zug misst, dann musst du dem Zug auch mitteilen, wo er ist. Denn der Zug steuert die Anzeige in Abhängigkeit seiner Position. Es wird ja noch komplizierter.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • fredred schrieb:

      Wo ist das Problem der Größe wenn Erkennung völlig im Außenbereich liegt.
      Das "erkannte " muss aber der Controller wissen.

      fredred schrieb:

      diese Bemerkung "ständig Entfernungen messen müsste"
      Der Ultraschall Sensor bzw. Empfänger müsste dann auf den "Elektrowagen", damit der Controller
      berechnen kann, wo er gerade steht.

      Detlef

      wieder zu langsam :S
      Leichtsinn ist kein Mut, Vorsicht keine Feigheit.