mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 80535, µVision, Drehwinkelgeber


Autor: Steffen S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servuzz,

folgendes:

Für eine Studienarbeit soll ich den 80535 Mikroprozessor mit Keil
"µVision2" programmieren. Angesteuert soll ein Drehwinkelgeber
werden, der mehrere Winkel nacheinander abfährt.
Eine Hilfestellung oder zumindest mal ein Programmansatz wären eine
riesen Hilfe, da ich ehrlich gesagt vor nem sehr steilen Berg steh!!!

in völliger Niedergeschlagenheit,

Greedz,
        Steffen

Autor: Thomas Zepf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Etwas mehr hättest du schon schreiben können ...
Was für ein Geber? Wie fährt ein Winkelgeber die Winkel ab????

Thomas

Autor: Steffen S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ne Scheibe mit einer Skala von 0 bis 250°, die über n Riemen von nem
Schrittmotor gesteuert werden kann.
Das eigentliche Problem ist (so hoff ich) nicht die Hardware, sondern
eher das Programm zur Realisierung in µVision2.

Der Drehwinkelgeber wird über ein vorhandenes Experimentierboard mit
drei Drucktaster angesteuert.
Als Programmablauf wäre denkbar das P1 eine universelle Resetfunktion
besitzt.
P2 einfach eine bestimmte Winkelfolge anfährt, und jeden angefahrenen
Winkel für 2-3 Sekunden hält.
P3 analog zu P2 eine andere Winkelabfolge
*???*
Sei nicht zu hart*gg*
*???*
DeN SiE WiSsEn NiChT wAs sIe TuN!!!

Greedz,
       Steffen

Autor: Thomas Zepf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt wird die Sache schon klarer.

Ich würde das wie folgt machen:
1 UP um einen einen Schritt rechts oder links zu fahren
1 UP um den Drehgeber auszulesen

Die prinzipielle Abfolge (ohne die Tastenabfrage) sieht dann in C für
einen Schritt etwa so aus:

void Rotate(bit Dir)
{
  ...
}

UINT8 GetAngle(void)
{
  ...
  return angle;
}

void main (void)
{
  UINT8 curAngle;
  UINT8 angle = 200; //Position = 200

  while(1)
  {
     curAngle=GetAngle();
     if (curAngle == angle)
        continue;      //nichts zu tun; zurück nach while(1)
     if (curAngle < angle)
        Step(0);
     else
        Step(1);
   }
}

Wie die Unterprogramme aussehen müssen hängt von deiner
Hardware ab.

Thomas

Autor: Steffen S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst ma danke das d dir die Mühe gemacht hast.

Angesteuert soll nur der Motor des Drehwinkelgebers werden, und zwar
mit den drei Drucktastern der Europlatine 535. (Kennst des Platte???)

Drehrichtung (für Richtungsänderungen der Winkelabfolge) wird mit einem
Relais realisiert.

Aber auf alle Fälle guck ich mal ob ich mit deinem Ansatz was zu Stande
bringe.

Greedz,
      Steffen

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.