Impulsfrequenz von einem signalkabele mit microcontroller abfragen?



  • Hallo Leute,

    nehme an hier im Assambler Forum sind auch paar elektronik freaks.

    Folgendes: Ich hab zwei signalkabel welche eine Impuls abgeben, wobei die Impulse die geschwindigkeit und drehzahl meines motorrad bedeuten.

    A. Geschwindigkeit 72 impulste (takte) pro radumdrehung
    B. Drehzahl 2 Impulste (takt) pro Kurbelwellen umdrehung

    A. Impulsflanke 5V, B. Impulsfanke 10V

    Diese Beiden Leitungen will ich nun an einem Microchip anschließen, un die Impulsfrequenz abfragen. Will den chip mit C Programmieren.

    1. Was für ein Chip würded ihr empfehlen? (am best. mit RS232 schnittselle)

    2. Wie müsste der Schaltplam aussehen das ich die Leitungn an den chip anschliesen kann?

    Es so später ne schnittstelle zwischen Motorrad und PC/Laptop oder PDA werden.



  • BorisDieKlinge schrieb:

    1. Was für ein Chip würded ihr empfehlen? (am best. mit RS232 schnittselle)

    ist fast egal. I/Os und rs232 haben fast alle. sehr beliebt für sowas sind z.b. AVRs oder ATMegas. wenn du die impulse nur zählen willst, einfach 'nen eingang mit hoher geschwindigkeit pollen oder einen interrupt auslösen lassen und bei jedem impuls eine variable hochzählen.

    BorisDieKlinge schrieb:

    2. Wie müsste der Schaltplam aussehen das ich die Leitungn an den chip anschliesen kann?

    viele controller haben zwar 5V-tolerante eingänge aber für die 10V brauchste mindestens einen spannungsteiler um den pegel runterzudrücken. wenn du an die rs2322 einen PC anschliessen willst, dann noch 'nen MAX232 oder was ähnliches.
    🙂



  • naja will die impulsie nich unbeding zählen, anhand der dauer zwischen zwei impulsfanken kann ich ja die momentane frequenz errechnen denk ich?? mir hat jemand gesagt das ich das mit nem timer auf dem controller machen soll welche mir nen best. insterval vua interupt die impulsfrequenz lierft.. vll. meintest du das? naja hab nochabsolut keine ahung.. achja und der ATMEGA8 soll gut sein?

    Den chip betreib ich ja mit 3,3V d.h. ich müsste die beiden anderen leitungen via spannungsteile auf 3,3V drücken?

    werden die kabel dann einfach nan nen I/O angeschlossen und ein timer drauf gelegT?

    und den max232 brauch ich für die RS232 schnittestelle?

    würde es auch mit USB gehen irgendwie.. wird sicher kompliziert sein oder? muss ich ja aum pc noch nen treiber programmieren?



  • BorisDieKlinge schrieb:

    naja will die impulsie nich unbeding zählen, anhand der dauer zwischen zwei impulsfanken kann ich ja die momentane frequenz errechnen denk ich?? mir hat jemand gesagt das ich das mit nem timer auf dem controller machen soll welche mir nen best.

    ach so. naja, das kannste mit 'nem capture/compare input machen, oder mit 'nem einfachen timer und pollen des eingangs oder per interrupts. wenn du interrupts benutzt, dann musste noch bei jedem interrupt auf die andere flanke umschalten.

    BorisDieKlinge schrieb:

    Den chip betreib ich ja mit 3,3V d.h. ich müsste die beiden anderen leitungen via spannungsteile auf 3,3V drücken?

    ja, die 5V könnte er noch verkraften, aber die 10V würden den input-pin wahrscheinlich killen.

    BorisDieKlinge schrieb:

    werden die kabel dann einfach nan nen I/O angeschlossen und ein timer drauf gelegT?

    genau. über spannungsteiler oder was vergleichbarem. siehe oben^^

    BorisDieKlinge schrieb:

    und den max232 brauch ich für die RS232 schnittestelle?

    ja. aus dem PC kommen auf der RS232 -15...+15 volt raus und ähnliches braucht er auch eingangsseitig.

    BorisDieKlinge schrieb:

    würde es auch mit USB gehen irgendwie.. wird sicher kompliziert sein oder?

    ist nicht ganz ohne, aber es gibt auch fertige chips dafür: http://www.ftdichip.com/Products/FT232BM.htm
    🙂



  • danke schonmal, aber wenn ich das ding an ne PDA hängen will wirds problematisch, die haben ja keine RS232!?

    Die kommunikation zwischen PC und Microchip via COM port wird auch net so einfach sein zwecks handshake und so oder? Damit die geschichte bspw. verbindungorientiert läuft, muss man eigene handshake varianten coden nehm ich an



  • BorisDieKlinge schrieb:

    danke schonmal, aber wenn ich das ding an ne PDA hängen will wirds problematisch, die haben ja keine RS232!?

    ne, aber andere schnittstellen wie CF oder SDIO z.b. und dafür gibt's adapter für RS232 usw. kannst ja auch drahtlos kommunizieren über bluetooth oder infrarot. dem ambitionierten bastler sind keine grenzen gesetzt.

    BorisDieKlinge schrieb:

    Die kommunikation zwischen PC und Microchip via COM port wird auch net so einfach sein zwecks handshake und so oder?

    nee, flusskontrolle brauchste nur, wenn einer die daten nicht schnell genug verarbeiten kann. oft geht's ganz ohne, also einfach nur RXD, TXD und masse anschliessen. auf einem uC läuft das meistens so, dass ein byte in ein senderegister geschrieben wird und das wird gleich rausgeschickt. ob es weg ist, kannste an einem bit eines steuerregisters abfragen. beim empfang genau so, also wenn ein byte da ist, wird ein bit in einem steuerregister gesetzt. natürlich geht das auch interruptgesteuert, so dass du software-FIFOs dranhängen kannst und senden/empfang gehen automatisch. das hauptprogramm schiebt dann bytes in den sende-FIFO und saugt sich die bytes aus dem empfangs-FIFO.

    BorisDieKlinge schrieb:

    Damit die geschichte bspw. verbindungorientiert läuft, muss man eigene handshake varianten coden nehm ich an

    auch nicht. RS232 ist kein bus sondern meistens point-to-point. verbindungsorientiert ist da gar nichts.
    🙂



  • ok danke schonmal.. jetzt brauch ich nur noch ein ISP -board aber da muss ich wieder geld reinstecken.. jetzt mal schaun..



  • BorisDieKlinge schrieb:

    aber da muss ich wieder geld reinstecken

    das zeug ist voll billig: http://www.myavr.de/
    (da gibt's auch welche mit usb drauf)
    🙂



  • das wird ja immer besser.. echt mal interessant;) danke

    noch ne frage zu spannungsteiler (welche ich benörige, um die 5V bzw. 10V impulse auf 3,3 voll zu trimmen:

    bei 10V ist das widerstandsverhältnis zwischen R1 und R2 um auf 3,3V zu kommen ja 1:3. Aber ich kann ja nun beliebige widerstandskombinationen verwenden um auf das verhältnis zu kommen.. da steh ich jetz aufm schlauch



  • BorisDieKlinge schrieb:

    bei 10V ist das widerstandsverhältnis zwischen R1 und R2 um auf 3,3V zu kommen ja 1:3. Aber ich kann ja nun beliebige widerstandskombinationen verwenden um auf das verhältnis zu kommen.

    1:2 würde ich sagen, 3.3V und 6.6V, ne? du könntest 10K und 4.7K nehmen. wenn deine signalquelle zu schwachbrüstig ist dann eben 100K und 47K usw.
    🙂



  • ja 1:2 meinte ich sorry.. schwachbrüstig bedeutet wen ndas signal zuwenig strom liefet?



  • BorisDieKlinge schrieb:

    schwachbrüstig bedeutet wen ndas signal zuwenig strom liefet?

    naja, wir wollen ja keine rückwirkungen haben. nicht dass mit einem mal dein echter tacho nur noch unsinn anzeigt.
    übrigens: wenn der bock zum tüv muss, würde ich lles erstmal abbauen und die bullerei sollte davon besser auch nichts sehen.
    🙂



  • hehe.. ja ahb ich mir auch schon gedacht... muss mir noch überlegen wie ich das ding am besteh zwischen kabel und tacho zwischenschleife;)



  • BorisDieKlinge schrieb:

    hehe.. ja ahb ich mir auch schon gedacht... muss mir noch überlegen wie ich das ding am besteh zwischen kabel und tacho zwischenschleife

    am besten kontaktlos. dann sollte der tüv nichts zum meckern haben.
    🙂


Log in to reply