www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Motoransteuerung


Autor: Martin Schneider (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi

im Anhang befindet sich meine platine und das treiber - board.

Ich möchte nun ein Programm schreiben, mit welchem ich die motoren
ansteuere (es sind 2), sie liegen bei der mcu an dem PortB mit jeweils
4 Anschlüssen.

Wie müsste das Programm so ungefähr aussehen, was ist zu beachten?

Dank euch!

Autor: Stefan Kleinwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Martin,

mit .ace-Files können hier sicher die wenigsten was anfangen, Wie wäre
es mit .gif oder .pdf?

Wenn Du verrätst, welche CPU Du verwendest, helfen Dir vielleicht auch
Leute, die keine Lust haben, das zuerst aus Deinem Schaltplan zu
popeln.

Codesammlung kommt übrigens nicht von Code sammeln.

Stefan

Autor: Martin Schneider (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi

also die mcu ist AT90S2313 von Atmel.

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

was ist nun, ich dacht ihr helft mir?

Also wie soll ich das anstellen?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin

>>Also wie soll ich das anstellen?

Gifs hier reinstellen? Ganz einfach: Im Eagle => File => Export =>
Image => als Gif speichern, 150dpi Auflösung reicht meistens.

Wenn Du einen guten Tag hast, spendier der Schaltung mal noch je 100nF
an Ein- und Ausgang des 7805 und dicht an Pin 20-Vcc des AVR gegen GND,
auch 10nF von Pin 1-Reset gegen GND, sonst könnte der Controller
komische Sachen machen. ;-)

Hast Du schonmal AVR programmiert? Hast Du Dir schon unter
http://www.atmel.com/dyn/products/app_notes.asp?fa... die
App-Note 360 angesehen:
http://www.atmel.com/dyn/resources/prod_documents/... Gibt es
auch einen Beispielcode dazu:
http://www.atmel.com/dyn/resources/prod_documents/AVR360.asm Kannst Du
damit was anfangen?

Sven

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

1.also gehen die texte die du mir gegeben hast wirklich (hab sie mir
mal durch gelesen) auch für den AT90S2313? 2.jaja ich habe schon ein
wenig Erfahrung im Programmiern, was müsste ich noch verändern?.

3.Was ist eigentlich diese App-Note 360, wozu ist die da?


Außerdem die mcu macht keine komischen sachen
(schon getestet), wenn doch beim programm wird es eben noch geändert.

Autor: Martin Schneider (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hat ich vergessen siehe anhang

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

also muss ich das unbedingt mit einem timer machen?

Ich brauch eigentlich nur eine Schleife, bei der ich die Anzahl der
Durchläufe bestimmen kann, um wieviel Schritte sich der Motor bewegt.

Was muss ich da bei AVR360, wenn das auch für den AT90S2313 ist
verändern (bei dem was du mir gegeben hast)?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin

>>Was ist eigentlich diese App-Note 360, wozu ist die da?

Naja, da wird halt beschrieben, wie man Schrittmotore mit einem AVR
steuern kann.

>>Außerdem die mcu macht keine komischen sachen

Noch nicht ;-) Aber an Reset gehört auf jeden Fall ein Kondensator,
sonst kann Dir jede kleine Störung auf der Versorgungsspannung oder auf
der Reset-Leitung des ISP ein Reset auslösen.

>>also muss ich das unbedingt mit einem timer machen?

Musst Du nicht, Du kannst auch die Pausen als Schleife ausführen. Aber
das ist nicht so schön... und Du bist nicht flexibel. Was stört Dich am
Timer?

>>Ich brauch eigentlich nur eine Schleife, bei der ich die Anzahl der
Durchläufe bestimmen kann, um wieviel Schritte sich der Motor bewegt.

Und noch ein paar Schleifen, um die Pulslängen erreichen... Wenn Du das
mit Delays machst, kannst Du in der Zeit nix anderes tun (Tastendruck,
andere Motoren, event. Endlagenschalter), bei Timer schon.

>>Was muss ich da bei AVR360, wenn das auch für den AT90S2313 ist
verändern (bei dem was du mir gegeben hast)?

Die include von 8515 auf 2313 anpassen.
Den c_value entsprechend Deiner Quarzfrequenz und gewünschten
Schrittfrequenz anpassen.
Eventuell die RAM location ändern, damit das auf den 2313 passt, hängt
auch davon ab, was sosnt noch läuft.
Das Ganze für den zweiten Motor erweitern (Port, zweite RAM location =>
da steht, bei welchem Schritt er gerade ist).
Die Peripherie (Tasten) einbinden, Du willst sicher mehr als nur zwei
Motore endlos in einer Richtung laufen lassen.

Sven

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

ok mach ich doch mit dem timer, denn es ist wirklich einfacher :->
Ist bei meiner mcu bei überschreiben des R360 noch irgendetwas zu
beachten?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

ich habe mir das nochmal überlegt, ich mache das doch mit schleifen,
denn ich brauche bei der ansteuerung der motoren, die ein fahrzeug
bewegen, welche durch sensoren ausgelöst werden, nichts zu machen.

wie würde das den so ganz grob aussehen im vergleich zum timer?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

wie ist das denn nun?

Außerdem wie bringe ich dem Programm bei, die spulen nach einem
bestimmten muster laufen zu lassen, sodass es den richtig ansteuert unt
wie geht das nun mit den schleifen und der pulslänge?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

ich dachte ihr helft mir noch ein bischen :-?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

@sven was ist den nun, hilfst du mir nun noch?

Autor: Martin Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

oder könnt ihr mal den ablauf so vom inhalt her hier rein schreiben,
wenn ich das mit den schleifen mache, dann kann ich ja schon mal
programmieren und noch mal fragen stellen, wenn ich nicht weiter komme.

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.