-
90S2313 Prototobed
Passend zum L297/298 Kompletttreiber gibts natürlich auch einen programmierbaren Controller O:) .
Dieser verfügt auch über eine RS232 mit der angesteuert werden kann. 8-[ .
Darwin
Das File habe ich in den Download-Bereich verschoben
https://www.roboternetz.de/phpBB2/dl...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
https://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.
-
:?: Hat schon jemand das Teil nachgebaut?
Ich würde mich über Resonaz freuen.
Darwin.
-
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
-
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
https://www.roboternetz.de/phpBB2/viewforum.php?f=2
https://www.roboternetz.de/schrittmotoren.html
-
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
-
Eine Liste für die Bestückung?
Bestückungsplan ist doch dabei!
-
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
-
B1 ist auch nicht klar
Ansonsten SUPER ARBEIT !