www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eigenprojekt für eine Geschwindigkeitsanzeige


Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für mein Hobby ist die Geschwindigkeit des Bowlingballes wichtig.
Ich brauch einen Denkanstoß für die Auswertung der Geschwindigkeit.
Der Ball soll durch zwei Lichtschranken (bereits vorhanden mit 
potentialfreien Kontakten) rollen. Die Zeitdifferenz will ich mir in 
"km/h" auf einer großen LED Anzeige ausgeben lassen.
Leider habe ich gerade keine Idee wie ich die Auswertung machen könnte. 
Vielleicht habt Ihr eine Idee die mir weiterhelfen könnte.

Gruß Fips83

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>mit potentialfreien Kontakten

Relais?

So wird das aber nix...

Autor: Neutrinos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn v=s/t ist, kannst Du doch die Zeit zwischen dem Durchlaufen der 1.
und der 2. Schranke messen. Die Strecke s kennst Du ja. Dann noch 
Meter/Sekunde in Kilometer pro Stunde umrechnen.

MfG Paul

Autor: chris (guest) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Minimaler Fehler:
Da die Kugel langsamer wird, ist es nicht exakt die Geschwindigkeit:
v = s/t
aber sicher ist die Abweichung für die Messung egal -
quasi:
  Haarspalterei

(aber falls zur Zeitmessung eine GPS-Uhr o.s. verwendet wird, ;-)

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthias L.: Warum nicht? wegen der Reaktionszeit von Relais?
ich könnte ja vielleicht schon von den Treibertransistoren oder dem OPV 
(im Empfänger) weggehen. In einem anderen Projekt hatte ich mal die 
Reaktionszeit gemessen. Die war µS Bereich (vor dem Relais).

@ Neutrinos: Danke schonmal. Da es für mich heit schon reichlich spät 
ist werde ich mir den Link demnächst mal anschauen

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(Ich bin hier zum erstenmal im Forum und hab noch kleine Probleme mit 
dem Antworten und so, sorry)

@ Paul: Ja das ist mir schon klar. Mir fehlt aber die Idee für eine 
Schaltung die das auswerten kann und mit einem Signal auf eine Anzeige 
bringt.

Würd mich noch auf weiter Ideen freuen

Gruß Fips83

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>a die Kugel langsamer wird, is

Hm, wenn sich die Lichtschranken in gleicher Höhe befinden und die Kugel 
nciht springt, kann aus der (unterschiedlichen) Zeit die die Kugel die 
erste und zweite Lichtschranke unterbricht, diese Differenz 
herausgerechnet werden.

Ob das allerdings nötig ist, ist fraglich..

Aber akademisch gesehen, könnte man ja mal eine Formel aufstellen.

**stift rauskram**

Was für Lichtschranken hast du denn? Also was für ein Typ ist das?

>egen der Reaktionszeit von Relais?

Ja. Ich würde eine mit open-collektor/pushpull Ausgang nehmen.
Oder evtl eine Laserlichtschranke selbstbauen..
Wegen der Strahldivergenz, falls das ein Problem bei "normalen" LS sein 
sollte.

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für euer interresse

Also vorweg. Wir hatten früher auf unserer Bahn eine 
Geschwindigkeitsanzeige mit 2 Lichtschranken. Die waren ziemlich weit am 
Ende der Bahn angebracht.
der Abstand beider LS betrug ca. 30 cm und die Geschwindikeit wurde in 
km/h auf dem Monitor vorn ausgegeben. Da die komplette Anlage erneuert 
wurde ist diese Messung nicht mehr vorhanden.
Für meinen Verein und mich war diese Anzeige aber wichtig. Es geht 
hierbei um Reaktiv Bowling (also Bogenlauf des Balles wie die Profies 
;-)), deswegen ist die Anzeige wichtig.
In dem Bereich springt auch der Ball nicht mehr. Das der Ball dabei 
langsamer wird kann man nicht verhindern, also muss man damit leben.
Deswegen denk ich mal, wird auch soweit hinten gemessen.

Die Lichtschranke ist ein Bausatz von Conrad

http://www2.produktinfo.conrad.com/datenblaetter/1...

Die Idee ist mir heut erst gekommen. Mit Berechnungen etc. werd ich mich 
morgen mal beschäftigen.

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Schaltung sollte ich noch sagen, dass der C8 bereits gegen 0,1 µF 
getauscht wurde. Die Schaltung war im vorher gehenden Projekt zu 
langsam, sodas der Ball durch lief und das Relais nicht anzog.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm.. was mich an der Lichtschranke stört:

Der Sender ist gepulst, um Tageslicht auszublenden.
Der Empfänger verstärkt diese Pulsung und steuert damit (getaktet) das 
Relais an. Damit das nicht flattert, ist D1 und C8 da.

Du müsstest mal die Reaktionszeit der Lichtschranke messen, wenn die 
klein ist, gegen die Zeit des Balles durch die LS (war ja scheinbar so, 
wegen schon eingesetzt) dann kannst die verwenden. Würde aber dann das 
Relais weglassen und das Signal mittels eines Schmitttriggers direkt vom 
Knoten D1&C8 abgreifen.

PS: Die Berechnung wäre sehr kompliziert:

                  108'000'000
v [0,01km/h] = -----------------    ;-)
                  t [µsek]

Die Zeit kann der 16bit Timer ermitteln.

Läüft der Timer mit 16MHz kann er erst Geschwindigkeiten größer 
16,48km/h messen, er sollte demzufolge "künstlich" erweitert werden.
uint32_t  Zeit_in_us;
uint16_t  Variable_erw;

//--- Überlauf Timer 16bit ----
ISR ( Timer Overflow)
{
   Variable_erw++;
}
//--- LS Anfang: pos Flanke----
ISR ( INT0)
{
    TCNT = 0;
    Variable_erw = 0;
    Start_Timer mit F_CPU;
}
//--- LS Ende: pos Flanke ----
ISR ( ICP )
{
   Zeit_in_us = ( (uint32_t)Variable<<16) | (ICP);
   Stopp_Timer;
}

void main (void)
{
   uint16_t  speed;
   init_alles;
   while (1)
   {
     if (Zeit_in_us == 0) Zeit_in_us = 0xFFFFFFFF;  // Schutz: div durch 0
     speed = 108000000 / Zeit_in_us;                // ergibt geschw in 0,01 km/h
     Anzeige (speed);                               // mit dezimalpunkt dazwischen
   }
}

Sollte als Ansatz gehen...

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So die Reaktionszeit habe ich gemessen. Die Differenz zw. Empfängerdiode 
und Transistor (von LOW auf HIGH-Pegel) beträgt ca. 20 ms.
Eventuell entsteht nochmal eine Versuchsschaltung um zu sehen ob die LS 
schnell genug sind.

Ich hätte vielleicht noch sagen sollen, dass ich der Programmierung 
nicht mächtig bin und auch keine Mittel dafür habe, sorry.

Ich habe mir jetzt folgendes überlegt. Ich könnte beide LS auf ein RS 
-FF
setzten. Die erste LS zum Setzten und die zweite zum Rücksetzten.
Der Puls aus dem FlipFlop lässt sich doch bestimmt einfach 
weiterverarbeiten. Gibt es vielleicht einen IC, der mir das auf eine LED 
Anzeige bringen kann, oder vielleicht digital Umsetzten kann?

Als Anzeige habe ich im Conrad 10 cm große 7-Segmentanzeigen gefunden. 
Die währen ideal.

Gruß Fips83

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nochmal...

Als Abstand zw. beiden LS hab ich jetzt 40 cm festgelegt.
Die auszuwertende Impulszeit liegt zw. 97 ms und 41 ms.
Das ist eine Ballgeschwindigkeit von 15 bis 35 km/h.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich könnte dir da ja anbieten, dich zu unterstützen.
Platinen kann ich zuhause ätzen, Programmierumgebung/tools, Oszi..
allles vorhanden..
mir mangelts nur bischen an Zeit..
Wie das angezeigt wird, da ist alles möglich...



also 20ms sind meinermeinung nach ziemlich viel.
Wenn die natürlich bei beiden LS kosntant ist, dann mag das wohl gehen..

Ob das Signal über das FF geht, oder beide einzeln per µC ausgewertet 
werden, spielt erstmal keine ROlle.

Bauteilmäßig wäre es einfach, beide LS direkt an den µC zu führen...

PS: Ich würde die LS eher weiter zusammenlegen. (somit fällt das Bremsen 
der Kugel weniger ins Gewicht)
Weil mit einem Quartz und dem µC können wir auf Mikrosekunden genau 
messen...

Entscheidend ist aber, dass die LS schnell genug sind, deshalb meine 
erste Idee mit dem Laser..

Autor: Hauke Sattler (hauke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde auch sagen das eine Auswertung und Darstellung über einen µC 
erheblich einfacher wird.
Das Programm ist nicht kritisch, da könnte man evt. sogar Baskom nehmen. 
(Ich progge aber lieber in ASM).
Wenn man das über Logic Gatter machen würde brächte man Zähler, HEX->BCD 
Wandler, Siebensegmenttreiber, einstellbare Taktgeber und jede Menge 
Steuerungslogic. Zu Deutsch das würde ein ziemliches Chipgrab werden 
(vom Routing mal ganz abgesehen).
Mit nen µC wird das erheblich einfacher. Einen ATMega16, evt. einen 
Eingangsbaustein für die Lichtschranken und ein paar Leistungstreiber 
für die Anzeige. Dazu evt. noch nen Quarz und das übliche Hühnerfutter 
(R&C) Der Mega16 ist nen Brot und Butter Chip den es auch in DIP gibt 
(sprich einfach zu löten). Der hat dann auch genug IO-Pins frei um eine 
3,5stellige LED Anzeige direkt anzusteuern (ganz ohne Multiplexing).

Das Programm selber ist auch recht einfach. entweder durch Polling (der 
AVR hat ja sonst nix zu tuen) oder mit dem ICP Interrupt wird nen Zähler 
abgefragt (für jede LS einmal). Die beiden Werte werden voneinander 
abgezogen. Die Differenz kann man dann umrechenen und in 7-Segment-Code 
umwandeln oder direkt mit einer Look-Up-Table umwandeln.

Programmieraufwand evt. 1 Stunde, das wars.

cu
Hauke

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>es auch in DIP gibt

Nix wird. Alles SMD ;-)

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@fips,

leider hast du keine erfahrungen mit controllern, das ist in diesem fall 
nachteilhaft.

die idee mit dem flip flop ist ja niht schlecht, dennoch gibt es eine 
ganze menge kleine fallen, wie das prellen der relais, die 
unterschiedlichen signalverarbeitungszeiten der lichtschranken  usw...

es gibt ganz schöne schaltungen für frequenzzähler, auch diskret. die 
umgekehrte variante eines frequenzzählers könnte man im groben als 
periodendauermessung bezeichnen.

die periodendauer, würde der zeit die der ball zwischen den beiden 
lichtschranken ist, entsprechen.

natürlich müsstest du auch in erwägung ziehen was passieren soll, wenn 
mal eine lichtschranke aussetzt usw...

als nächstes kommt dann noch die umrechnung.. auch ein punkt der ohne 
controller aufwändig ist...


gruß,
m.

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch kein Forum mit so fleisigen Leuten erlebt, Danke.

Nun, Ausfall der LS ist nicht wichtig. Es soll vorerst eine 
Einzelanfertigung zum Training werden und warscheinlich auch bleiben.
Daher währe auch ein Batteriebetrieb interresant. Die Relais werden dann 
eh durch Widerstände ersetzt (falls notwendig, weiß ich jetzt noch 
nicht).

@ Matthias L. Ich liebe SMD ;-) genau das richtige für Bastler (kleiner 
Spass).
Dein Angebot ist durchaus interressant. Dazu noch 3 Fragen.

1. Welche Ausgänge würde mir diese Schaltung dann bieten (wegen der 
Anzeigen)?

2. Was würde das mich kosten?

3. Kannst du mir ne größere Stadt in deiner nähe sagen? Vielleicht 
wohnst du ja gleich um die Ecke ;-)

Ich werd bei der nächsten Gelegenheit nochmal die Ls auf der Bahn testen 
ob sie schnell genug sind.
Dann sehe ich weiter. Der vorherige Einsatz war nur für den 
Ballrücklauf. Da ist die Geschwindigkeit wahrscheinlich nicht so hoch.

Gruß Fips83

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1.)
Alle die du willst, wenn das vorher besprochen wurde (und sinnvoll sind)
Man könnte die Elektronik direkt auf die Unterseite der Platine machen. 
Auf Oberseite wären dann "deine" Anzeigen.

2.)
Wenn ichs als Hobby nebenbei baue, dann (fast) nur die Unkosten, also so 
dass ich nicht schlecht komme. Wird dann aber nicht zwingend übermorgen 
fertig.

3.)
Leipzig, ICQ 254-269-548


>Bastler (kleiner Spass).

Ich baue grundsätzlich NUR SMD, es sei denn es geht (aus irgendwelchen 
Gründen) nicht anders.

Weil Elektronik muss klein sein.

Autor: Sven R (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi fips,

schreib doch einfach mal von wo du kommst. vielleicht findet sich jemand 
in deiner nähe. bei mir mangelt es auch bissel an der zeit sonst könnt 
ich dir auch helfen. leider kann ich aber nur nen dip proggen. aber wenn 
es wegen paar cm net ankommt.

sven

Autor: Chrisi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eines sollte nicht unerwähnt bleiben: Wenn die Reaktionszeit beider 
Lichtschranken gleich ist, dann hebt sich der Fehler wieder auf.

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Saalfeld, Bautzen währe evtl. auch möglich.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bautzen

??
Redest du etwa von der FunBowl??


Klingt doch super..

Ich bin aus dem Kaff südlich, wo der Schnaps herkommt.
Sitz also an der Quelle.

Technische Gespräche können dann am WE persönlich geführt werden..

Autor: fips83 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Städtchen mit dem Hexenmeister der Oberlausitz;-)
Wie klein doch die Welt ist.

Nun ja, ich fahre erst am 31.8. in die Heimat und bin das halbe WE da.
Für weiteres prasse.felix "at" gmx.de

Gruß Fips83

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.