Forum: Mikrocontroller und Digitale Elektronik Hz ausgeben an LED's beim ICP Verfahren


von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend,
ich bin dabei mir die Frequenz eines inputs mittels LED's anzuzeugen.
Jedoch habe ich das Problem das bei jedem neuen Takt alle vier LED's 
leuchten.
Der Takt kommt an ICP an des ist eine steigende Flanke mit 5V eines 
Zündsignals.
Zur Zeit takte ich von Hand mit einem Kabel.


Leider konnte ich trotz diverser Drehzahlmesser Foreneinträge seit 4 
Tagen das Problem nicht lösen.

µc atmega 16

von Hubert G. (hubertg)


Lesenswert?

if(Erg>1){
    PORTA|=(1<<PA0);
    }

  if(Erg>5){
    PORTA|=(1<<PA1);
    }
  if(Erg>8){
    PORTA|=(1<<PA2);
    }

  if(Erg>10){
    PORTA|=(1<<PA3);
    }
Wenn das Ergebnis >10 ist werden immer alle LED leuchten.
Wie wäre es so?
     if(Erg<2){
    PORTA|=(1<<PA0);
    }

  if(Erg>1 && <5){
    PORTA|=(1<<PA1);
    }
usw.

von Andreas (Gast)


Lesenswert?

Das löst aber nicht mein Problem, oder?

Bei ausreichend langsamer manuellen Taktung leuchten trotzdem alle 
LED's.

Ich werde es aber später mal ausprobieren.

von Udo S. (urschmitt)


Lesenswert?

Andreas schrieb:
> LED's

Kannst du mir mal erklären, warum du bei der Pluralbildung einen 
Apostroph benutzt?

von spontan (Gast)


Lesenswert?

Wie sieht denn Deine "manuelle" Taktung aus?

Wird wohl sauber prellen, oder?

von Andreas (Gast)


Lesenswert?

@ Udo:
Lieber Udo ich bitte dich deine Deutschstunden in den dafür vorgesehenen 
Forum zu posten, hier geht es um Mikrokontroller.

P.s. als Engländer mit 1/2 Jahren deutsch, denke ich darf ich solche 
Fehler machen.

@spontan:
ich berühre ICP mit einem Kabel welches mit 5V verbudnen ist.

von Karl H. (kbuchegg)


Lesenswert?

Abgesehen davon, lass mich dir ebenfalls predigen, was ich vielen 
anderen auch schon gepredigt habe.

Eine LED als Anzeigeinstrument ist zwar ein nicht zu unteschätzendes 
Hilfsmittel. Wenn es aber um Zahlenwerte geht ist eine LCD oder eine 
UART durch nichts zu schlagen.
Ausser man steht natürlich auf Ratespielchen, was gewisse Zahlenwerte 
angeht und ist Masochist genug um immer alles indirekt erraten zu 
wollen. Das geht zwar, aber ist sehr mühsam und man muss schon eine 
gehörige Portion Übung haben um sich entsprechend aussagekräftige Tests 
auszudenken, die einem dann auch ermöglichen das festzustellen, was man 
wissen möchte.
Um wieviel einfacher ist es doch, wenn man ein Ausgabegerät hat, auf dem 
die interessierende Zahl ganz einfach im Klartext drauf steht. Speziell 
für Anfänger ist das ein nicht zu unterschätzender Vorteil.

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:

> ich berühre ICP mit einem Kabel welches mit 5V verbudnen ist.

Also ist 'sauber prellen' noch eine haltlose Untertreibung.
'Prellt wie Sau' wäre der Sache angemessener.


Wieso hast du eigentlich keine Pullups am Port eingeschaltet?

von Andreas (Gast)


Lesenswert?

Ok das klingt logisch, jedoch wird die fertige anwendung auch mit LEDs 
betrieben.

Zu Testzwecken werde ich dann wohl mal es mit UART versuchen.

Danke

von Hubert G. (hubertg)


Lesenswert?

Andreas schrieb:
> Das löst aber nicht mein Problem, oder?
>
> Bei ausreichend langsamer manuellen Taktung leuchten trotzdem alle
> LED's.

Bist du sicher das deine Eingabe nicht prellt?
Probier mal einen Taktgenerator, einfacher Multivibrator genügt schon.

von Udo S. (urschmitt)


Lesenswert?

Andreas schrieb:
> P.s. als Engländer mit 1/2 Jahren deutsch, denke ich darf ich solche
> Fehler machen.

Sorry, dann kann ich nur sagen, dein Deutsch ist besser als mein 
Englisch und als das Deutsch von mindestens 30% der hier postenden.
Trotzdem kann man immer dazulernen.

Zum Thema. Das wesentliche wurde genannt,

Andreas schrieb:
> Zu Testzwecken werde ich dann wohl mal es mit UART versuchen.

das nützt dir gar nichts wenn du nicht die Ursache beseitigst, und die 
ist dein Prellen. Also Hardwareentprellung oder Softwareentprellung, je 
nachdem was dir genehmer ist.
Und wenn schon manuell (zu Testzwecken), dann lass den Mist mit kabel 
von Hand an einen Kontakt halten, damit erzeugst du Impulse im 
Tausenderpack. Nimm wenigstens einen ordentlichen Taster/Schalter

von Andreas (Gast)


Lesenswert?

Ok werde heute einen entprellten Schalter kaufen und es danach nochmal 
versuchen. Weil ich gerade dabei bin werden ich mich dann auch nochmal 
an die software entprellung versuchen.

@ Udo.
danke, und du hast recht man sollte immer dazulernen.


Ich bedanke mich schonmal für eure hilfreichen Tips und werde über das 
Ergebnis morgen berichten.

von Udo S. (urschmitt)


Lesenswert?

Andreas schrieb:
> Ok werde heute einen entprellten Schalter kaufen und es danach nochmal
> versuchen.

Auch damit hast du noch prellen. Wenn dir zum Testen das softwareseitige 
Entprellen zu aufwändig ist, dann mach wenigstens ein RC Glied an den 
Schalter.
Siehe auch:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten

von Karl H. (kbuchegg)


Lesenswert?

Udo Schmitt schrieb:
> Andreas schrieb:
>> Ok werde heute einen entprellten Schalter kaufen und es danach nochmal
>> versuchen.
>
> Auch damit hast du noch prellen. Wenn dir zum Testen das softwareseitige
> Entprellen zu aufwändig ist, dann mach wenigstens ein RC Glied an den
> Schalter.
> Siehe auch:
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten

Ich würde mir für sowas eine reproduzierbare Frequenz machen.
Entweder mit einem 555 oder aber mit einem Phototransistor+Widerstand 
und einer stink normalen Glühbirne. Oder einem zweiten µC der die 
Frequenz erzeugt.

Reproduzierbar deswegen, damit man gesicherte Zahlenwerte hat die man 
vorab kennt.
Mit einem Taster 10Hz reproduzierbar zu erzeugen (oder noch höher) ist 
schon sehr sportlich.

von Andreas (Gast)


Lesenswert?

Geht das hier für steigende flanken als entprellung?

     VCC
               +
               |                           VCC
           +---+                            +
           |   |                            |
         | o   |                           .-.
     T |=|>   --- C                        | | R
         | o  ---                          | |
           |   |                           '-'
           +---+-----> µC Pin               |
               |                        +---+-----> µC Pin
              .-.      (positive        |   |
              | | R     Flanke        | o  --- C    (negative
              | |       aktiv)    T |=|>   ---       Flanke
              '-'                     | o   |        aktiv)
               |                        |   |
              ===                      === ===
              GND                      GND GND

von Andreas (Gast)


Lesenswert?

P.s.:
Ich komme "leider" aus der reinen analogtechnik, dennoch möchte ich auf 
software entprellung versuchen. Hast du/ihr da eine guten webseite?

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:
> P.s.:
> Ich komme "leider" aus der reinen analogtechnik, dennoch möchte ich auf
> software entprellung versuchen. Hast du/ihr da eine guten webseite?

Was genau möchtest du eigentlich machen?

Wenn du eine Frequenz mittels Input Capture messen möchtest, dann kannst 
du nur mit Hardware-Entprellung arbeiten.

Willst du Taster auswerten, dann ist Software-Entprellung das Mittel der 
Wahl. Siehe Entprellung

Aber beides zusammen ergibt keinen Sinn. Denn wozu möchte man mittels 
Input Cpature die Frequenz ermitteln, mit der ein Benutzer eine Taste 
möglichst schnell drücken kann?

von Andreas (Gast)


Lesenswert?

Der Taster wird später durch ein lagerrückmeldungssignal ersetzt, das 
muss ich von 24V runterregeln und wird verarbeitet und der µc gibt dann 
entsprechende steuerbefehle mittels PID glied.

von Karl H. (kbuchegg)


Lesenswert?

Andreas schrieb:
> Der Taster wird später durch ein lagerrückmeldungssignal ersetzt, das
> muss ich von 24V runterregeln und wird verarbeitet und der µc gibt dann
> entsprechende steuerbefehle mittels PID glied.

Dann würde ich vorschlagen, da sorgst für eine entsprechend adequate 
Simulation dieses "Signals" die sich dann auch im entsprechenden 
Frequenzbereich bewegt.

Ein Taster ist das nun mal nicht.
Natürlich kann und soll man "Eingaben", die man zur Zeit noch nicht hat, 
durch etwas anderes ersetzen, welches die noch fehlende Hardware 
simuliert, damit man mal mit den ersten Programmentwicklungen anfangen 
kann.
Aber das sollte dann doch auch ein möglichst vollwertiger Ersatz sein, 
der nicht seine eigenen Probleme mit sich bringt. Wenn man 80% seiner 
Entwicklungszeit damit verbringt, diesen Simualtions-Ersatz zum laufen 
zu kriegen anstatt sich um das eigentliche Problem zu kümmern, dann ist 
irgendetwas grundlegend schief gegangen und dein Kunde wird dir diese 
Zeit nicht bezahlen.
Hast du dir schon mal an einem Oszi angesehen, was da passiert, wenn du 
mit einem Draht an die Versorgungsspannung tippst? Da passiert alles 
mögliche, nur eines ganz sicher nicht: eine ordentliche Schaltflanke.

Wenn du eine Eingabe simulierst, dann muss das auch zielgerichtet 
passieren. "Signal" pauschal mit "Taster" zu übersetzen, ist ganz sicher 
der falsche Weg.

von Andreas (Gast)


Lesenswert?

Ja ich glaube da habt ihr recht.
Jedoch ist das projekt nicht für einen Kunden, sondern für ein provates 
Projekt.
Ich möchte mich aber auch mit eintprellung von tastern beschäftigen da 
ich das in zukunft auch benotigen werde.

Aber ja ich werde mir das Signal mit dem Oszi anschauen und mir dann 
einen entsprechenden Siganlgenerator bauen.

Nochmals danke

p.s. Keine Erfahrung bei der man etwas lernt ist verschwendete Zeit. Nur 
durch das genaue erkunden von Teilaspekten (projekten) kann man das 
gesammte potenzial erfahren.

von Andreas (Gast)


Lesenswert?

Hallo die Herren,
der Taster (siehe letztes Post) steigende Falnke, funktioniert sehr 
gute.

Ich werde nun das Steuersignal anschließen und dann weiter berichten.

Grüße

A.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.