mikrocontroller.net

Forum: Compiler & IDEs Schrittmotor um.Grad bewegen


Autor: Cyb3r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich programmiere in C++ und bin gerade an einer Implementierung den 
Schrittmotor um soundsoviel grad zu Bewegen. Falls abweicchung vorhanden 
von dem genauen Wert wird dies aus dem Display ausgegeben.

Step Angel - 15 Grad

Es gibt VOLLSCHRITT und HALBSCHRITT
  for(int i = 0; i < (angle / 15); i++)
    step(speed,richtung,VOLLSCHRITT);
  if(angle % 15)
  {
    // Abweichung auf dem LCD Display ausgeben
    // Nicht implementiert, mein Code war mehr als 3kb 
  }

Ich hatte per if Überprüfung und % geguckt ob der wert  (angle / 15.00)
>(angle / 15) + 0.75 liegt, dann solte noch ein Vollscghritt gemacht werden und 
falls
(angle / 15.00) <= (angle / 15) + 0.75 && (angle / 15.00) > (angle / 15) 
+ 0.25, dann sollte noch ein Halbschritt gemacht werde.

Nur mein Sourcecode mit der Überprüfung war Kompiliert ca. 3000 Byte 
größer als ohne die Überprüfung.

Hat dfür jemand eine Kompakte (kleine / Kompiliert kleine) Lösung, dass 
muss doch viel viel kleienr gehen.

Dank im Voraus
Grüße Nik

Autor: Tauwetter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wundere Dich nicht, wenn hier keiner antwortet. Niemand versteht, was Du 
willst. Vielleicht Du selbst ja auch nicht.

Man könnte vermuten, dass Du ein PC-Programm schreiben möchtest, mit dem 
eine Rakete in 15° Schritten um den Mond fliegt. Aber das ist nur eine 
Vermutung meinerseits :-)

Autor: Cyb3r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm also ich sehe alles klar.
Ich habe einen Schrittmotor !!!
Ein Schritt meines Schrittmotors entspricht 15 Grad rotation um die 
eigene Achse. Somit entspricht eine halber Schrit 7.5 Grad um die eigene 
Achse.

Nun möchte ich mir eine Funktione schreiben der man sagen kann drhe dich 
um z.B. 180 Grad und da nicht immer die genau Gradzahl erreicht werden 
kann möchte ich das ganze annäherungsweise machen, da leigt jetzt mein 
Problem.

Meine oben beschriebene überprüfung verbraucht wie gesagt ca. 3kb 
Flash-Speicher, was einfach zuviel ist.

Nun hat irgnedjemand einen anderen Lösungsvorschlag oder soetwas schon 
einmal Programmiert?

MFG (ist es jetzt versätndlich aonsonten bitte Feddback nein ist es 
nicht, dann mache ich eine Zeichnung)

Autor: Cyb3r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also annäherungsweise dann noch einen ganzen Schritt oder halben Schritt 
mehr zumachen als die for-Schleife macht.
Ist meine überprüfung verständlich?

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cyb3r schrieb:
> Hat dfür jemand eine Kompakte (kleine / Kompiliert kleine) Lösung, dass
> muss doch viel viel kleienr gehen

Ja. Keine Flieskommaberechnungen benutzen.
Drücke die Vergleiche mit Integers aus.

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.