- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 26

Thema: Anfängerprojekt Schrittmotor steuern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Die Frequenz des Rechtecksignals.
    Wenn PWM vom Controller eine Festfrequenz nutzt kann man es nicht nutzen.
    Dann muß man einen Rechteck-Signalgenerator programmierne der bis maximal 300kHz gehen darf.

  2. #2
    Benutzer Stammmitglied Avatar von p@ty
    Registriert seit
    05.06.2011
    Ort
    Bottrop
    Beiträge
    51
    ....das ist ja gar-nicht-mal so einfach fürn ollen Mechaniker...
    Dachte ich komm´ der Sache etwas näher.
    Also keine Hardware PWM sondern einen Softwaresignalgenerator proggen?
    ...jetzt fange ich wieder an mit waitms? Könnt ihr mir bitte noch etwas auf die Sprünge helfen wie sowas in Bascom ausehen könnte?
    Bin jetzt etwas verwirrt...

    Oder muss man irgendwie den Prescale mit einer Variablen verknüpfen...

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Da ich ja kein Bascom mache,
    http://www.mikrocontroller.net/topic/152966
    Da wird ein Frequenzgenerator mit Bascom programmiert.
    Eventuell mal da im Code und in den Posts nach Hinweisen schauen.
    Ein Timerrinterrupt der nach einer der Frquenz entsprechenden Zeit einen Ausgang toggelt sollte da gehen.
    Dann bleibt zwichen den IRQs noch zeit für anderes.

  4. #4
    Benutzer Stammmitglied Avatar von p@ty
    Registriert seit
    05.06.2011
    Ort
    Bottrop
    Beiträge
    51
    Ok, danke für den Hinweis.

    An die Bascom Progger:
    Steuert jeder so "kompliziert" seinen Schrittmotor über einen Frequenzgenerator an?

    Tja, dann muss ich nochmal back to the roots und mich einarbeiten...
    Danke bis hier hin an euch beiden!

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Habe grad mal die Suche bemüht.
    Hier im Forum gabs das auch schon:
    https://www.roboternetz.de/community...hteckgenerator

    Eventuell mal einen der Poster kontaktieren.

  6. #6
    Benutzer Stammmitglied Avatar von p@ty
    Registriert seit
    05.06.2011
    Ort
    Bottrop
    Beiträge
    51
    ...ok, also ich versuche als erstes mal nur einen Takt über den Timer1 an einem Pin zu erzeugen - den maximalen Takt (oder annähernd) für den den Leadshinetreiber.

    Der Hersteller sagt ja von 0 - max. 300kHz...

    Hier mal der Code:

    Code:
    $regfile = "M168def.dat"
    $crystal = 16000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    $baud = 9600
    
    
    'Programmkonfiguration
    
    'Timer konfigurieren
    Config Timer1 = Timer
    On Timer1 Frequenzerzeugung
    Enable Timer1
    Enable Interrupts
    
    '16000000 (systemtakt ohne Prescaler) / 65535 (16Bit Timer) = 244Hz (kleinster Takt)
    
    'Port/Pin Konfiguration
    
    Config Portd.2 = Output 
    Portd.2 Alias Frequenzausgang				    
    
    
    
    'Hauptprogramm
    
    Do
    
    	!NOP	
     
    Loop
    
    End
    
    Frequenzerzeugung:
    
    	Timer1 = 55		'16000000/55=290909Hz ca.300kHz (der max. Takt für den Leadshintreiber) 
    	Toggle Frequenzausgang
    
    Return

    ....ähm, was sagt ihr?

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von p@ty Beitrag anzeigen
    ...ok, also ich versuche als erstes mal nur einen Takt über den Timer1 an einem Pin zu erzeugen - den maximalen Takt (oder annähernd) für den den Leadshinetreiber.
    ....ähm, was sagt ihr?
    Hallo p@ty,

    es gibt so viele Möglichkeiten einen Takt zu erzeugen. Dein Programm nutzt einen Interrupt um dort einen Pin zu toggeln. Damit lassen sich sicher keine 300kHz erzeugen weil Interruptausführung (mit Sichern von Registern) und Toggle Kommando zuviel Zeit beanspruchen. Es werden dann mehr Interrupts benötigt als überhaupt ausgeführt werden können. Die Timer im AVR können aber selbst HW-mäßig einen Pin toggeln.

    Ich habe Dir dazu mal einen Testgenerator für einen Mega88 angehangen, der compiliert für einen Mega168 auch dort laufen sollte. Mit max. 2550Hz ist der Generator zwar noch weit von 300kHz entfernt, sollte aber zum Probieren gut sein. Welche Frequenz brauchst Du denn effektiv bzw Dein Motor? 300Khz scheint mir für die Praxis schon recht viel. Aber mit 16MHz Systemfrequenz und Prescaler = 1 für Timer1 kommt man hier schon recht einfach auf 40kHz und bei weiteren Modifikationen auch höher - teoretisch bis 333kHz wenn man den ADC_new Wert zB. manuell auf 2047 setzt.

    Programm ist bis etwa 1,9kHz getestet. Mangels eines richtigen Schrittmotortreibers diente ein ATtiny44 mit L293D als Simulator mit einem bipolaren Schrittmotor (der bei höherer Taktfrequenz aus dem Tritt kam) aus einem Floppylaufwerk.

    Das Programm nutzt den Timer1 des Mega88 im Mode 15. Das ist Fast-PWM, bei dem der Timer immer nur bis zum OCR1A Registerwert läuft. Durch ein Poti wird der OCR1A Wert verändert und damit wird die Frequenz des Taktes beeinflußt. Im PWM Modus wird der OCR1A-Wert gepuffert und erst zu einem unkritischen Zeitpunkt effektiv,; hier am "BOTTOM" bei TCNT1 = 0. Die Ausgabe des Taktes wird durch die Timereinstellung Toggeln von OC1A bei Erreichen des OCR1A-Wertes erreicht.

    Mit zwei Tastern kann man DIR und ENABLE beeinflussen.

    Gruß
    Searcher


    Frequenzangaben zum Programm berichtigt. Hoffe sind keine weiteren Bugs drin
    Angehängte Dateien Angehängte Dateien
    Geändert von Searcher (23.10.2016 um 08:52 Uhr) Grund: Angaben zur Frequenz des Generators berichtigt.
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Schrittmotor zeitpräzise steuern
    Von Geistesblitz im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 12.07.2011, 23:07
  2. schrittmotor steuern
    Von watermelon im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 17.11.2010, 21:23
  3. Schrittmotor über Schrittmotor steuern?
    Von Tarribo im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 06.06.2010, 23:40
  4. Schrittmotor mit LPT steuern
    Von timo1105 im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 11.11.2006, 12:40
  5. Schrittmotor mit PC steuern
    Von SK112 im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 08.01.2005, 09:23

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests