PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bipolar mit Visual Basic 5.0 steuern?



K Z
05.12.2004, 15:04
Hi Forum!

theoretisch bin ich soweit die Bipolar's an meinen PC anzuschliessen. Nun fehlt mir aber das Wesentliche. Und zwar das Programm, mit dem ich es steuern kann. Habe seit Freitag Google gequält, um irgendeinen Beispiel für Bipolare zu finden. Leider erfolglos. Hier im Forum habe ich auch gesucht. Auch erfolglos. Also, entweder bin ich was das Suchen betrift 'ne Null, oder es gibt wirklich nichts.

Einige Entwürfe habe ich schon begehen, aber nicht der Rede wert. Da ich ein beginner bin, wird es wohl sein.

Da wollte ich fragen, ob jemand hier 'nen Program hat und es mir zur "Inspiration" vielleicht zur verfügung stellt. Das wäre ja wirklich nett.


Mit freundlichen Grüssen

K Z

Bomberman
06.12.2004, 07:13
Hallo K Z,

Tip: verwende einen Treiberbaustein, der mit PWM gefüttert wird und den Moter selbständig ansteuert, dann sparst Du Dir den Huddel mit der Schritttabelle. Zudem mußt Du ja ohnehin irgendwie die Leistung für den Motor bereitstellen.

Ciao

Patrick

K Z
12.12.2004, 15:08
Hi Forum und Patrick.

Tja, so gut bin ich noch nicht, damit ich die Treiber ausschlachte und die Gedärme dann irgendwohin transplantiere. Ich habe mich halt bissl konzentriert und eine Menge von VB5 gelernt und das ist das Resultat:
Ich habe ein funktionierendes Programm geschaffen! =D>
(und jetzt fühle ich mich beinahe wie ein Gott O:) )

Es geht nur um eine Simulation meiner Vorstellung, wie PWM funktioniert. Da ich ein beginner bin, was das VB5 betrift (und nicht nur das, aber eigentlich all dieses Zeug rum drum), ist ja klar, dass ich mindestens ein Haufen Fehler getan habe. Deswegen wäre ich sehr froh, wenn sich jemand dieses Code mal anschauen würde und mir ohne Gnade sagen wird, ob ich diese Code als PWM benutzen kann, oder ob ich total daneben bin. Es ist noch nicht vollkommen, aber bevor ich weitermache, wollte ich nur wissen das ich auf dem richtigen Weg bin.

So, nun zur Erläuterung:
in meinem Projekt geht es mir darum, in einem bestimmten Interval (Zeitspanne) bestimmt viele Schritte zu machen. Und dass sich das ganze nach ablauf dieses Intervals wiederholt. Als PWM-Detail sind die einzelnen Schritte mit Farbe unterschieden.

Womit ich mir aber nicht so sicher bin, ist dieses CLOCK Pin => kann ich es mit: "Pin high, Wartezeit 1ms, Pin low, Wartezeit für nächsten Puls" anschprechen oder genügt nur "Pin high, Wartezeit für nächsten Puls"? (wenn ich die kürzere Variante nehme, wie wird sich dieser Pin dann auschalten?)

und hier kommt mein Baby => (gehen sie mit ihm bitte vorsichtig um 8-[ )



Dim a As Long, b As Long, c As Long, d As Long, e As Long, f As Long, Pulses

Private Sub Command1_Click()
Timer1.Interval = Val(Text2.Text) ' Set interval.
End Sub

Private Sub Command2_Click()
Unload Form1
End
End Sub

Private Sub Form_Load()
Text2.Text = 0
Text1.Text = 0
a = RGB(255, 255, 255) ' White Wait = Interval / 10
b = RGB(255, 0, 0) ' Red Enable Pin ON
c = RGB(0, 0, 255) ' Blue Set direction CW or CCW
d = RGB(255, 0, 255) ' Lila Pulse => ON, wait 1, Pulse OFF, wait 3
e = RGB(255, 255, 0) ' Yellow Enable OFF
f = RGB(0, 0, 0) ' Black Wait = Interval - (suma time a - e)
End Sub

Private Sub Picture1_Click()

End Sub

Private Sub Text1_Change()
' future Restriction = just whole numbers > 0, max Value 25
If Text1.Text > 0 Then Text2.Enabled = True
End Sub

Private Sub Text2_Change()
' future Restriction = just numbers > 0,
' if "," instead "." then MsgBox with Warning,
' max lenght = 7
If Text2.Text > 0 Then Command1.Enabled = True
End Sub

Private Sub Timer1_Timer()

If Picture1.BackColor = c Then
For Pulses = 0 To Val(Text1.Text) Step 1
Timer1.Interval = Val(Text2.Text) * Val(Text1.Text)
Exit For
Pulses = Val(Text1.Text)
Next Pulses
Else
Timer1.Interval = Val(Text2.Text)
End If

If Picture1.BackColor = a Then
Picture1.BackColor = b
ElseIf Picture1.BackColor = b Then
Picture1.BackColor = c
ElseIf Picture1.BackColor = c Then
Picture1.BackColor = d
ElseIf Picture1.BackColor = d Then
Picture1.BackColor = e
ElseIf Picture1.BackColor = e Then
Picture1.BackColor = f
Else
Picture1.BackColor = a
Timer1.Interval = Val(Text2.Text) / 2
End If
End Sub


Also leute, ich bin dankbar für jede Anregung und (konstruktive) Kritik.

Mit freundlichen Grüsen

K Z

K Z
12.12.2004, 15:25
Ups,
und noch 'ne kleine Ergänzung:
arbeite mit kleinen Bipolar Steppern aus den FDD's und mit der Schaltung L298/L297 nach den Super Schaltplan https://www.roboternetz.de/bilder/schaltungstep298.gif

KZ

Bomberman
13.12.2004, 11:43
Hallo K Z,

bin kein VB-Profi - soviel mal vorweg.
Allerdings kann ich Dir sagen wie ein PWM-Signal aussieht, bzw was der L297 an seinem Clock-Eingang erwartet.
Du kannst den Clock-Eingang mit einem ganz gewöhnlichen Rechtecksignal beschalten, das heißt, nach einer Highphase kommt direkt eine Lowphase. Die Zeiten sind egal, weil der L297 nur auf den Flankenwechsel reagiert (weiß nicht genau welcher).
PWM hingegen hat eine gewisse Periodendauer, die je nach Anwendung festgelegt ist. Innerhalb dieser Zeitspanne wird eine Periode des Signals untergebracht.Das einzige was da verändert wird ist nur das Verhältnis der High-Zeit zur Low-Zeit.
Die Frage nach der Richtigkeit Deines Quelltextes solltest Du hier im Forum unter einer anderen Rubrik stellen - da gibt es welche für Programmierungen.

Ciao

Patrick

K Z
14.12.2004, 06:28
Hallo Patrick,

Danke für die Ergänzungen.

Das Ding mit dem Signal, habe ich auch inzwischen in dem Datasheet zur L297 gefunden. Jetzt bloss wie wird das ganze programmiert? Werde mich hier umsehen, wohin ich meine Fragen so richten kann.

Nochmals danke

Mit freundlichen Grüssen

KZ

ÜBRIGENS, HABE GERADE FESTGESTELLT, DASS ICH NICHT MEHR "NEU HIER" BIN SONDERN, DASS ICH "ÖFFTERS HIER" BIN. WAS FÜR EIN FORTSCHRITT. :D

Target3001! User
17.12.2004, 18:08
https://www.roboternetz.de/bilder/schaltungstep298.gif

KZ

Sorry für Off-Topic, mit welchen Programm hast du deinen Schaltplan erstellt? Sieht besser aus als Target3001!

K Z
18.12.2004, 03:04
Hi Target3001! User!

Das habe ich nicht gezeichnet, so wie es ist habe ich es auf der angegebenen Adresse gefunden. Frag die Administratoren, die müssten etwas davon wissen.

Gruss

KZ

BlueNature
18.12.2004, 03:31
Hallo Target3001! User,

das ist ganz normales Eagle 4.xx. Kannst dir das kostenlos als Demosoftware bei CAD-Soft herunterladen (Lizenzbestimmungen beachten, nicht kommerziell!). Sind so ca. 24MB. Ist nur die Layout-Funktion auf 100x80mm begrenzt, aber Schaltpläne gehen in beliebiger Grösse.

Grüsse Wolfgang

K Z
18.12.2004, 15:34
Hallo Forum!

Ich versuche jetzt ein Programm in VB5 zu schreiben, mit dem ich (über die Schaltung L297/L298, die hier im Forum gepostet ist https://www.roboternetz.de/bilder/schaltungstep298.gif ) Schritte für einen bipolaren Schrittmotor (400 steps pro Sekunde) per RS232 (Windows 98 ) steuern kann.

Diese "Angelegenheit" hat mir BlueNature in Software Forum geholfen teilweise zu klären. Leider ist er jetzt wahrscheinlich irgendwo anderes beschäftigt.

Was mich bissl vewirt, sind die 400 steps pro Sekunde die ich einhalten muss um gewünschte Kraft herauzuholen. Als Standard habe ich die Werte aus der Schaltung für RC-glied übernommen. Für R3 22k und C3 3,3nF (Tantal). Also T ergibt dann 0,000050094 was nach meiner Forschung 0,05ms sind (oder nicht?). Das sind cca 20kHz aber auch 20000 Schritte pro Sekunde. Was ja viel mehr ist, als ich will. Muss ich also die RC-Werte so wählen, das ich dann 2,5 ms kriege (1000/400), also 400 Hz? Wird es dann nicht irgendwie Laut? Leider kenne ich nicht die Werte der Frequenzen, die ein menschliches Ohr hört.

Oder kann ich es mit bestehenden RC-Werten durchziehen aber die High und Low Phase immer nach 2,5 ms einschalten, damit ich die gewünschten 400 Schritte pro Sekunde erreiche?

Also, habe ich das alles, nach meiner oben beschriebener Theorie, falsch verstanden und es ist überhaupt nicht so?

Ich bin wirklich dankbar für jede Ergänzung und Anregung

Mit freundlichen Grüssen

KZ

Edit

WOW WOW WOW bin jetzt Fleißiges Mitglied. Hier geht es wirklich schnell. Habe ich es mir aber verdient? That's the question ....

/Edit