-         

Ergebnis 1 bis 2 von 2

Thema: Tasten am Rn-Control wie abfragen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.12.2004
    Beiträge
    11

    Tasten am Rn-Control wie abfragen

    Anzeige

    Hallo zusammen,

    bin absoluter Neueinsteiger und hab deshalb ne richtige Anfängerfrage. Habe ein RN-Control aufgebaut. Die Tastenabfrage über StartADC, GetADC usw. kapiere ich soweit und die funktioniert auch. Aber nun zu meiner Aufgabenstellung:

    Ich hab einen Schrittmotor angeschlossen (bipolar ohne RN-Motor) und dieser läuft auch einwandfrei. NUR: die Tastenabfrage über GetADC dauert einfach zu lange. Ich möchte auf eine Taste drücken und den Motor laufen lassen, bis die Taste wieder losgelassen wird. Dadurch, daß die Implementierung über GetADC gemacht wird, dauert es einfach zu lange bis ich wieder in die Routine komme um den Schrittmotor einen Schritt weiter zu bringen. Ergo -> es kommt kein Seidenweicher Lauf zusammen. Das liegt definitiv nicht an der Ansteuerung des Motors selbst. Denn wenn ich den in einer Loop ohne die Tastenabfrage drehen lasse, schnurrt er wie ein "Kätzchen".

    Ich muß also die Tastenabfrage irgendwie anders implementieren. Nur wie? Wahrscheinlich Interrupt-gesteuert, oder?

    Danke schon mal,

    Harry


    PS: Ich wollte meinen Scrhittmotorcode als Beispiel uploaden, ging aber nicht. Es haben nämlich bereits einige hier nach einem Beispiel diesbezüglich gefragt. Hab das ganze dem Frank geschickt. Der stellt das hoffentlich rein. Wenn nicht, mich anmailen.

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.989
    Blog-Einträge
    1
    Upload hat schon geklappt. Dauert nur etwas bis ich es sehe und freigeschaltet hab.
    Du findest es nun hier:
    http://www.roboternetz.de/phpBB2/dlo...gory&cat_id=30

    Um Deine Aufgabe zu erfüllen muss man mit Timer arbeiten. Eine Timerroutine muss in gewissen Abständen (zum Beispiel 10 mal pro Sekunde) aufgerufen werden. In dieser Routine wird dann ein Schritt gemacht wenn eine bestimmte Variable (nennen wir sie MotorOn) 1 enthält.

    Im Hauptprogramm musst du wie üblich Taste abfragen und nur diese Variable "MotorOn" auf 0 oder 1 setzen, dann klappts.
    Beschäftige dich mal ein wenig mit dem Timer-Interrupt. Schau dir auch mal das PC-Programm an http://www.roboternetz.de/phpBB2/dlo...le&file_id=169
    Das generiert dir ein Demo das schon fast alles enthält was du brauchst.


    Gruß Frank

Berechtigungen

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