- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Tachosimulator

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155

    Tachosimulator

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich will mit einem Mega32 einen Tacho programmieren bzw.
    simulieren. Für die Zählung der Impulse will ich einen
    (Fahrrad-)Tachogeber von Sigma verwenden. Das ist eine
    Reed-Relais / Magnet-Kombination mit 2 Drähten (offen/geschlossen).

    Mein Problem ist nun: wie schließe ich das Ding am Mega32 an?
    Ein Kabel an GND, das andere direkt an einen Port-Pin? Oder
    muß da sonst noch was hin (Widerstand, 5V) oder so?

    2. Problem:

    Wenn ich den Mega32 nun einsetzen will, um ein Tachosignal zu
    generieren (also praktisch als Ersatz des Tachogebers von oben),
    wie muß ich denn einen Port-Pin beschalten, damit sich das Signal
    analog dem o.g. Geber verhält?

    Danke: - Reinhard -

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Den Kontakt kannst du einfach an Masse und Eingang des M32 anschliessen. Den Pin dan als Eingang einstellen und den internen Pullup aktivieren. Dann brauchst du extern kein Widerstand und 5V mehr.

    Das zweite Problem versteh ich allerdings nicht. Soll das Signal vom Reedkontakt einfach nur durch den M32 geleitet werden?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    Hallo Marco78,

    danke für Deine Antwort. Dann ist das erste Problem ja einfach
    zu lösen.

    Zum 2. Problem: ich will mit einem Mega32 praktisch den Geber
    simulieren und mit einem anderen die Tachoanzeige. Also Mega32 (Tachogeber) -> Mega32 (Tachoanzeige).

    Mein Problem ist dabei, wie erzeuge ich das "offen/geschlossen"
    Signal? Ich könnte ein Relais nehmen, aber es müßte doch auch
    einfacher gehen? Port-Pin auf Masse ziehen oder so ...

    - Reinhard -

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Und dafür ein M32? Ich geh mal davon aus, das du die so rumliegen hast und nicht extra dafür bestellst. Das würde auch ein kleiner Tiny schaffen und der wäre günstiger. Aber unabhänig welchen µC du nimmst, das Problem lässt sich bei allen gleich lösen.

    Offen/geschlossen ist ja nur an/aus. An Reedkontakt liegt an einem der beiden Anschlüsse ein Potential an das zum anderen Anschluss geleitet wird, wenn der Magnet den Kontakt schliesst.
    Da ein zweiter M32 das Signal auswerten soll und kein Fahrradtacho ist das eigentlich nicht so das Problem. Du musst nur den Ausgang des M32 (Tachogeber) immer ein- und ausschalten. Der andere M32 (Tachoanzeige) reagiert dann dadrauf.
    Es ist ja unerheblich, wie lange der Kontakt geschlossen ist, sondern nur interessant, wie oft der Kontakt pro Zeit geschlossen wird.
    Allerdings sollte der Kontakt so lange geschlossen bleiben, das die Tachoanzeige im Programmablauf genug Zeit hat das Signal auch abzufragen.

    Wenn die Tachoanzeige durch ein IC angesteuert wird, muss eigentlich nix weiter beachtet werden (außer das ein Signal lange genug anliegt. Lange genug ist aber im Millisekundenbereich.)
    Wird die Tachoanzeige durch den Reedkontakt angesteuert muss der Eingang entprellt werden.
    Der Schalter schlieest sich nicht nur einmal pro Schaltvorgang sondern mehrmals. Schaltet man z.B. ein normalen Lichtschalter, passiert das gleiche. Man kann es aber nur mit den Augen nicht erkennen, aber der Schalter schliesst und öffnet beim Betätigen mehrmals. Die Tachoanzeige würde dann eine um das vielfache und nicht gleichbleibende Geschwindigkeit anzeigen.
    In Bascom gibt es ein Befehl zum entprellen. (DEBOUNCE) Oder man wartet eine kurze Zeit, bevor der Kontakt nochmal abgefragt wird. Man kann das ganze auch Schaltungstechnisch entprellen.

    Wenn der Tachogeber ein anderer M32 ist ist entprellen nicht notwendig. Du schaltest einen Ausgang einfach für eine gewise Zeit an, wartest eine gewisse Zeit, schaltest ihn wieder aus und wieder eine gewisse Zeit warten. Und dann wieder von vorne.

    Ich hoffe ich konnte es halbwegs verständlich erklären. Womit programmierst du denn? Und was wird die maximal zu erwartende Geschwindigkeit sein? Und die max. Impulse pro Sekunde?

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    Hallo Marco78,

    >> Und dafür ein M32?

    nein, nicht nur einen M32, sondern gleich 'ne ganze RN-Control ...

    >> Offen/geschlossen ist ja nur an/aus. An Reedkontakt liegt an
    >> einem der beiden Anschlüsse ein Potential an das zum anderen
    >> Anschluss geleitet wird, wenn der Magnet den Kontakt schliesst.

    Ok, soweit ist das klar. Ich soll also die beiden GND's der Megas
    verbinden und den Portpin des tachogebenden Mega wie beschalten?
    Pulldown nach Masse, oder wie?

    Programmieren tu ich übrigens mit Bascom. Entprellen beim normalen
    Tachogeber mit Debounce ist auch soweit klar. Die Programmierung
    an sich ist bei mir nicht das Problem, sondern die Bauteilseite ...

    Damit das vielleicht etwas klarer wird: ich will mit einer RN-Control
    einen Bordcomputer bauen. U.a. mit einer Tachoanzeige und dem
    besagten Geber von Sigma. Max. Geschwindigkeit wird 100 km/h
    sein. Das wären dann max. 18-20 Impulse/Sekunde.

    Die andere RN-Control will ich mometan nur dazu nutzen, mir
    variable Geschwindigkeiten zu generieren. Ich stelle also bspw.
    Reifenumfang x und Geschwindigkeit y ein und das Ding generiert
    mir ein passendes Tachosignal, welches der Bordcomputer aus-
    werten soll. Ich will so vermeiden, das ich mir ein Rad an den Tisch
    schrauben muss ... .

    - Reinhard -

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.11.2004
    Ort
    Kiel
    Alter
    41
    Beiträge
    177
    Benutz docvh als "Testgenrator" Das Tachosignal eines Luefters.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Das der zweite M32 erstmal nur für Testzwecke ist hab ich mir schon fast gedacht

    nein, nicht nur einen M32, sondern gleich 'ne ganze RN-Control ...
    Na, du musst es ja Dicke haben

    Die Massen der beiden RN-Controls müssen auf jeden Fall verbunden werden. Das hast du richtig erkannt.
    Und dann wird einfach ein Ausgang und ein Eingang verbunden.
    Ein Widerstand dazwischen ist eigentlich nicht nötig, da die Eingänge hochohmig sind. Aber 1kOhm schadet der Funktion auch nicht.

    Am Eingang (Bordcomputer) musst du nur den Pullup aktivieren. Pulldowm gibt es bei AVRs meiner Meinung auch nicht.
    So ist der Eingang immer auf High, bis er vom anderen M32 (Simulator) auf Masse gezogen wird.
    Da am Ausgang brauchst du auch keinen externen Pullup- oder Pulldownwiderstand. Der M32 hat genug 'Kraft' um den Eingang am Boradcomputer auf Masse zu ziehen.

    Ok, wenn du auch Bascom nimmst und DEBOUNCE kennst sollte es dann mit nem Rad keine Probleme geben. Und 20 Impulse pro Sekunde sind locker möglich. Das würde der M32 ja sogar noch mit 1MHz intern schaffen (die Genauigkeit ist dann ne andere Sache).

    Also einfach die Massen der beiden RNs verbinden (wird ja wahrscheinlich der Fall sein weil du bestimmt nur eine Spannungsversorgung hast) und den Ausgang am Simulator direkt an den Eingang des Bordcomputers, wo der Pullup aktiviert ist.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Zitat Zitat von Laeubi
    Benutz docvh als "Testgenrator" Das Tachosignal eines Luefters.
    Ich dachte immer, das Tachosignal wäre eine analoge Spannung und nicht digitale Impulse?!

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.04.2004
    Ort
    Gronau
    Beiträge
    155
    Hallo Marco,

    >> Ich dachte immer, das Tachosignal wäre eine analoge
    >> Spannung und nicht digitale Impulse?!

    ich glaube, die meisten Tachogeber (im Fahrradbereich) sind heute
    digital, bestehen also aus Reed-Kontakt und Magnet.

    Nochmal zu meinen Problemchen: bevor ich die beiden Megas
    verbinde, habe ich mal einen richtigen Tacho an den "Mega-
    Simulator" gehängt. Ein Kabel an GND, ein Kabel auf Port A.0.
    Den Pin dann auf Output und einfach 10x / Sekunde Pin = 1
    und nach Waitms 10 wieder Pin = 0.

    Der Tacho macht dann einen Reset, Display wird
    gelöscht/leer. Ich dachte schon, das Ding ist defekt ...

    Wieder abgeklemmt und 10k zwischen Port und
    Tacho. Dann wird nur irgendein Wert angezeigt und
    die Anzeige geht wieder auf Null.

    Mein Problem ist also immer noch: wie simuliere
    ich mit GND und einem Port-Pin die Zustände
    offen/geschlossen?

    Danke für Eure Geduld: - Reinhard -

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Zitat Zitat von Marco78
    Zitat Zitat von Laeubi
    Benutz docvh als "Testgenrator" Das Tachosignal eines Luefters.
    Ich dachte immer, das Tachosignal wäre eine analoge Spannung und nicht digitale Impulse?!
    Hier ging es um die Lüfter und nicht um Fahrradtachos.

    Wenn du den Mega am Tacho anklemmst glaube ich dir, das der Tacho da nicht mitspielt.
    Erstmal sind 5V sicherlich zu viel für so n Tacho und dann ist immer noch die Frage ob + oder Masse geschaltet wird.

    Ich glaube die siehst da ein Problem, wo keines ist bei deiner Schaltung.

    die beiden RNs flashen, nebeneinander legen und mit Spannung versorgen. den einen Ausgang auf den anderen Eingang und das war's.

    Du musst ja nicht Zustände wie offen/geschlossen für den Bordcomputer darstellen, sondern High oder Low. Das ist das gleiche als wenn du nur n normalen Taster anklemmen würdest.
    Und der Simulator macht ja auch nix anderes als High oder Low auszugeben.

    Also, der Bordcomputer (besser gesagt die Firmware dazu) reagiert wenn der Eingang (pullup aktiviert) auf 0 ist.
    Es werden die Nullen pro Sekunde gezählt und dann die Geschwindigkeit in Anhänigkeit des Radumfangs berechnet.
    Wenn dein reedkontakt dran ist, wird der Eingang ja auch auf Masse gezogen. Radumfang 2m, ein Impuls pro Sekunde = 2m/s.

    Aber jetzt kommt erstmal nur der Simulator dran.
    Der macht nix anderes als den Ausgang immer von High auf Low zu schalten. Die Schaltgeschwindigkeit legst du ja mit deiner Software fest.
    Wenn der Ausgang auf H ist, ist der Eingang am Bordcomputer auch auf H. Es pasiert nichts. Es wird nix gezählt.
    Jetzt schaltet der Simulator für eine kurze Zeit auf L. Der Bordcomputer bekommt die 0 am Eingang, die du dann pro Zeit zählen lässt.
    Nichts anderes als wenn der Reedkontakt angeschlossen wäre.

    Probier es einfach aus. Programmier beide Boards und verbinde sie wie beschrieben. Die beiden Massen zusammen und den Ausgang auf den Eingang.

    Wenn dann alles so läuft wie du es dir vorgestellt hast musst du den Eingang nur noch entprellen und kannst dein Rad anschliessen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test