-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: schrittmotor mit atmega16

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2008
    Beiträge
    16

    schrittmotor mit atmega16

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich brauche hilfe beim programmieren von zwei Schrittmotoren mit atmega16. ich habe einen easydriver v3 und weiss auch wie dieser angeschlossen werden muss. und jetzt zum eigentlichen problem: die zwei Schrittmotoren müssen nacheinander angesteuert werden. Der motor soll hochlaufen und immer schneller werden. ist die gewünschte drehzahl erreicht soll der motor wieder langsamer werden bis zum stillstand. dann wird die drehrichtung geändert. ist der motor fertig soll dies das programm auch anzeigen. dann wird der zweite motor angesteuert mit der gleichen aufgabe wie motor 1. wenn es möglich ist auch beide motoren gleichzeitig.

    danke im voraus.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    06.07.2007
    Alter
    30
    Beiträge
    81
    Hallo,

    wäre vllt interessant wenn du mal Programmiersprache etc. angibst!

    MFG Mixer

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2008
    Beiträge
    16
    ehm ja sry

    wollte das ganze im Bascom programmieren

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    06.07.2007
    Alter
    30
    Beiträge
    81
    Da kann ich dir leider weniger helfen, programmiere eigentlich nur in Assembler.

    Das Hoch- und Runterlaufen kannst du evtl. mit einem Timer machen, wenn du ihn vorlädst! Denk der 16-Bit-Timer 1 vom Mega16 sollte da helfen!
    MFG Mixer

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2008
    Beiträge
    16
    danke ich werde das mal versuchen obs klappt aber wenn du noch mehr tipps hast immer her damit

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Den Easydriver kenne ich nicht.

    Das prinzipielle Vorgehen wäre dieses:
    Du nimmst 2 Timer:

    Der erste ist der 16-Bit-Timer, wie von Mixxer vorgeschlagen, der den Motor direkt ansteuert, also seine Drehzahl regelt.

    Der zweite ist ein anderer, beliebiger Timer, der die Geschwindigkeit mit der Zeit verändert, indem er den vorzuladenden Timerwert für den ersten verändert.

    Wenn Dein Easydriver den Schrittmotor aber schon korrekt bedient, so dass Du nur noch einen Wert vorgeben musst, dann reicht ein einzelner Timer.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2008
    Beiträge
    16
    ich habe keine ahnung wie man diesen timer programmiert und wie das mit dem timer gehen soll

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    06.07.2007
    Alter
    30
    Beiträge
    81
    solltest du Englisch können dann schau mal in s Datenblatt da stehen ein paar Seiten pro Timer drin, wenn nicht dann schau mal andere Projekte an wo ein Timer verwendet wird!
    Oder in n Bascom-Tutorial, wenn s sowas gibt!
    MFG Mixer

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2008
    Beiträge
    16
    kann mir keiner ein beispielprogramm schicken. habe schon vieles versucht und weiß nicht mehr weiter -.-

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    41
    Beiträge
    142
    Hi tohr,
    schau dir mal unter der Bascom Hilfe das Timer Beispiel an.

    du musst den Timer konfigurieren

    Config Timer1 = Timer , Prescale = 1024
    enable interrupts
    enable timer1
    Prescale gibt den Teiler an. Taktfrequenz / 1024
    Schau dir im Controler Datenblatt die Timer an es gibt 8 und 16 Bit.
    Ein Timer Zählt immer hoch bis 265 (Timer 0 8 bit) oder 65536 (Timer 1 16bit)


    Jetzt musst du noch eine Sprungmarke setzten (isr)
    on timer1 timer_isr

    timer_isr:

    hier kannst du eine Anweisung bei Überlauf eintragen.
    Es dürfen hier keine großen Operationen erfolgen.
    Du kannst den Timer hier auch vorladen. So das er nicht bei 0 anfängt zu zählen
    timer1 = 5000
    So bekommst du auch deine verschiedenen Zeiten hin.


    Ich weiss nicht wie du deine Schrittmotoren ansteuerst.
    Ich würde es mit Takt Richtung machen. Da gibt es ein Ic für und nen Verstärker.

    Ich hoffe ich konnte helfen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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