- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 6 von 6

Thema: Impulse oder Flanken zählen //Wie geht das???

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2007
    Ort
    Leichlingen
    Alter
    41
    Beiträge
    29

    Impulse oder Flanken zählen //Wie geht das???

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo zusammen...

    Sitze gerade vor einem kleinen Problem... Ich würde gerne die Impule eines GP1A030 auswerten bzw. zählen und auf meinem Display ausgeben. Bin leider neu auf dem Gebiet und kenn mich mit C noch nicht so gut an. Arbeite mit dem C Compiler und bräuchte am besten einen groben Quellcode um weiter zu kommen.

    Dank im Vorraus

    ...STS-Team
    (Signatur entfernt - war zu groß - admin)

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Nachdem du allgemein gefragt hast kann ich auch nur allgemein antworten.
    Die Impulsleitung auf z.B. INT0 legen, ISR bei steigender Flanke einstellen, in der ISR ein Register hochzählen und dieses entsprechend auswerten.
    Hubert

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.03.2007
    Ort
    Leichlingen
    Alter
    41
    Beiträge
    29
    Okay... Habe ein ATMega128Funkboard von robotikhardware.de. Wie genau geht das mit den INT Ports??? Kann es sein dass dort nur noch INT6/7 auf dem JOY Port frei sind???

    MfG

    ...STS-Team
    (Signatur entfernt - war zu groß - admin)

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Es sieht so aus als wären nur mehr diese beiden INT frei, es sei denn du brauchst eine der anderen Funktionen nicht.
    Du musst die entsprechenden Bits im EICRB und EIMSK laut Datenblatt External Interrupts setzen und unter ISR(INT7_vect) die entsprechenden Programmzeilen einfügen.
    Hubert

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    11.03.2005
    Beiträge
    25
    Hallo, gugst Du hier:

    https://www.roboternetz.de/phpBB2/dl...le&file_id=264


    Das Programm arbeitet als sogenannter Event Counter oder auch Impulszähler und zählt alle fallenden Flanken. (geht auch mit steigenden Flanken, siehe Prescaler im Datenblatt des AVR)
    Über einen anderen PIN hier PORTD, PD3 lässt sich die Zählrichtung (UP-/DOWN- COUNTER) bestimmen.

    Hardwareempfehlung:
    Ein ATMEGA BOARD natürlich. Diese Sourcen sind für ein ATMEGA128 geschrieben.
    RN-KEYLCD von Vorteil, alternativ RS232 verbindung mit RS232 Terminal Programm.
    I2C-Verbindung vom AVR-Hauptboard zum RN-KEYLCD-BOARD

    Das Programm arbeitet in der Haptschleife so:
    Der Cursor wird auf dem LCD immer auf Position 1,1 gesetzt und nach einer kurzen Wartezeit wird der Zählerwert angezeigt.
    Da der Zählerwert über den Interrupt-Timer hochgezählt wird, verrechnet sich der Zähler auch nicht durch die Wartezeit in der Haupschleife )
    Der Zähler wird immer so vorgesetzt, dass er immer nur einen Impuls braucht, damit er in die Interrupt-Routine geht.


    mfg

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    11.03.2005
    Beiträge
    25
    Hallo, gugst Du hier:

    https://www.roboternetz.de/phpBB2/dl...le&file_id=264


    Das Programm arbeitet als sogenannter Event Counter oder auch Impulszähler und zählt alle fallenden Flanken. (geht auch mit steigenden Flanken, siehe Prescaler im Datenblatt des AVR)
    Über einen anderen PIN hier PORTD, PD3 lässt sich die Zählrichtung (UP-/DOWN- COUNTER) bestimmen.

    Hardwareempfehlung:
    Ein ATMEGA BOARD natürlich. Diese Sourcen sind für ein ATMEGA128 geschrieben.
    RN-KEYLCD von Vorteil, alternativ RS232 verbindung mit RS232 Terminal Programm.
    I2C-Verbindung vom AVR-Hauptboard zum RN-KEYLCD-BOARD

    Das Programm arbeitet in der Haptschleife so:
    Der Cursor wird auf dem LCD immer auf Position 1,1 gesetzt und nach einer kurzen Wartezeit wird der Zählerwert angezeigt.
    Da der Zählerwert über den Interrupt-Timer hochgezählt wird, verrechnet sich der Zähler auch nicht durch die Wartezeit in der Haupschleife )
    Der Zähler wird immer so vorgesetzt, dass er immer nur einen Impuls braucht, damit er in die Interrupt-Routine geht.


    mfg

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress