-
        
+ Antworten
Ergebnis 1 bis 8 von 8

Thema: 90S2313 Prototobed

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    52
    Beiträge
    1.305
    Blog-Einträge
    1

    90S2313 Prototobed

    Passend zum L297/298 Kompletttreiber gibts natürlich auch einen programmierbaren Controller .
    Dieser verfügt auch über eine RS232 mit der angesteuert werden kann. .

    Darwin

    Das File habe ich in den Download-Bereich verschoben
    http://www.roboternetz.de/phpBB2/dlo...le&file_id=163

    DEMO für Schrittmotoransteuerung:
    Das Proggi läuft 10 verschiedene zufällige Positionen an, verharrt dann
    an dieser kurz und läuft die komplette Strecke zurück. Dort "zittert der Motor kurz (Positio = 0) und das ganze Spiel geht von vorne Los.

    Geschrieben für Bascom und AT90S2313 (8MHz) mit L297-298_4A-Driver.zip
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=2777

    Das Proggie eignet sich auch gut gür einen Dauertest

    Bascom Source:

    Code:
    '*******************************************************************************
    ' "Protobed-AT90S2313" mit
    ' "2A Stepper Motor Controller / Driver (Platine L297-L298_V1.35) an Port B
    '*******************************************************************************
    
    $regfile = "2313def.dat"
    $crystal = 8000000
    
    
    Config Portb = Output
    
    ' Hier Anpassung vornehmen:
    ' Schritt an den verwendeten Motor anpassen
    Const M_schritt = 1.8                             ' Winkel für einen Schritt
    '               =======
    Const M_pusdauer = 5000                          ' Drehgeschindigkeit
    
    
    Const M_completeturn = 360 / M_schritt
    
    ' Alias für die Ports
    M_cw Alias Portb.0                                ' Richtung: 1 = CW - 0 = CCW
    M_clk Alias Portb.1                               ' Schritt (Negativer Puls)
    M_halfstep Alias Portb.2                          ' Schritt: 0=voll; 1=halb
    M_noreset Alias Portb.3                           ' 0 für Reset
    M_enable Alias Portb.4                            ' 1 für Enable, 0 für Disable
    M_cyl Alias Portb.5                               ' Rückmeldung 1 Zyklus
    
    
    Dim X As Integer
    Dim Y As Integer
    
    Dim Spd As Long
    Dim Awayfromhome As Integer
    Dim Homehelp As Integer
    
    Dim Rndwert As Long
    Dim Rndrichtung As Long
    
    
    ' Ports schalten
    Reset M_halfstep
    Set M_noreset
    Set M_cw
    Reset M_cyl
    Set M_clk
    Set M_enable
    
    
    
    
    ' MAIN() ***********************************************************************
    
    Print "Motor mit " ; M_completeturn ;
    Print " Schritten für eine Umdrehung (" ;
    Print M_schritt ; "°/Schritt)."
    Print
    
    Wait 1
    Gosub Startup
    Wait 1
    Gosub Indicate
    Waitms 250
    Gosub Indicate
    Wait 3
    
    Do
       Gosub Zufall
       Wait 1
       Gosub Heimatposition
       Wait 1
       Gosub Indicate
       Wait 3
    
    
    Loop
    
    End                                               'end program
    
    
    
    ' SUBs *************************************************************************
    
     Zufall:
    
       Awayfromhome = 0
    
       For X = 1 To 10
    
          Rndrichtung = Rnd(1000)
          Rndwert = Rnd(m_completeturn)
    
          If Rndrichtung > 500 Then
             Print "Pos: " ; Awayfromhome ; " + " ; Rndwert
             Awayfromhome = Awayfromhome + Rndwert
             Set M_cw
          Else
             Print "Pos: " ; Awayfromhome ; " - " ; Rndwert
             Awayfromhome = Awayfromhome - Rndwert
             Reset M_cw
          End If
    
          For Y = 1 To Rndwert
             Pulseout Portb , 1 , M_pusdauer
          Next Y
    
          Print "- Awayfromhome = " ; Awayfromhome
          Waitms 250
    
    
       Next X
    Return
    
    
    End                                               'end program
    
    Heimatposition:
    
       If Awayfromhome > 0 Then
          Reset M_cw
          Do
             Pulseout Portb , 1 , M_pusdauer
             Awayfromhome = Awayfromhome - 1
          Loop Until Awayfromhome = 0
    
       Else
          Set M_cw
          Do
             Pulseout Portb , 1 , M_pusdauer
             Awayfromhome = Awayfromhome + 1
          Loop Until Awayfromhome = 0
       End If
    
    
    Return
    
    Startup:
       ' Ganze Umdrehung
       Set M_cw                                       ' Clockwise
       For X = 1 To M_completeturn
          Pulseout Portb , 1 , M_pusdauer
       Next X
       ' Ganze Umdrehung
       Reset M_cw                                     ' Counter Clockwise
       For X = 1 To M_completeturn
          Pulseout Portb , 1 , M_pusdauer
       Next X
    
    
       Pulseout Portb , 3 , 100000                    'RESET
       Awayfromhome = 0
    
    Return
    
    Indicate:
    
       Reset M_cw                                     ' Clockwise
       For Y = 1 To 5
       Pulseout Portb , 1 , M_pusdauer
       Next Y
    
    For X = 1 To 5
       Set M_cw
                                             ' Clockwise
       For Y = 1 To 10
          Pulseout Portb , 1 , M_pusdauer
       Next Y
    
       Reset M_cw                                     ' Counter Clockwise
       For Y = 1 To 10
          Pulseout Portb , 1 , M_pusdauer
       Next Y
    
    Next X
    
       Set M_cw                                       ' Clockwise
       For Y = 1 To 5
       Pulseout Portb , 1 , M_pusdauer
       Next Y
    Return
    
    
    End                                               'end program[/color][/size]
    Viel Spaß beim Spielen.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    52
    Beiträge
    1.305
    Blog-Einträge
    1
    Hat schon jemand das Teil nachgebaut?
    Ich würde mich über Resonaz freuen.
    Darwin.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Ferdinand
    Registriert seit
    10.09.2004
    Ort
    Stuttgart
    Alter
    36
    Beiträge
    191
    Hi

    ist das ein Schrittmotoren tester wo man heraus finden kann wie die spulen im motor ligen

    ich habe nemlich 2 Schrittmotoren wo ich aus einem druker von pihlips habe und weis nicht wie rum ich die 2 bis 4 spulen anschlisen muss man kan auch keine numer oder type erkenen

    ist das so ein projekt oder kanst du mir da helfen.

    Danke

    by Ferdinand
    habe schreiben erst heute gelernt.

    bin legasteniger.

    by Ferdinand.

  4. #4
    Gast
    Also dies ist erst mal ein Programm,
    welches mit Bascom für einen Atmel geschrieben wurde.
    Die benötigten Platinen kannst Du evt. noch im Download Bereich finden.

    Es gibt hier in den Foren genügend Hilfe zum Thema Schrittmotoren

    http://www.roboternetz.de/phpBB2/viewforum.php?f=2
    http://www.roboternetz.de/schrittmotoren.html

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2005
    Beiträge
    24
    Hallo darwin.nuernberg,,
    ich versuche den controller nachzubauen ,,, bin Anfänger
    aber ich glaube mit diesen Controller komme ich klar.

    Ich komme aber mit der bestückung nicht klar ,
    kannst du veileicht eine Liste veröffenlichen...

    Vielen Dank und einen netten Gruß
    Aegis

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    52
    Beiträge
    1.305
    Blog-Einträge
    1
    Eine Liste für die Bestückung?
    Bestückungsplan ist doch dabei!
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  7. #7
    Gast
    Bin auch gerade mit dem Nachbau beschäftigt, jedoch ist mir nicht klar was für Daten der Quarz haben soll, 8Mhz. Was für einen Wert sollen die Folienkondensatoren C23 & C24 haben?

    Danke

    Lorenz

  8. #8
    Gast
    B1 ist auch nicht klar
    Ansonsten SUPER ARBEIT !

+ Antworten

Berechtigungen

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