-         
+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Bipolar mit Visual Basic 5.0 steuern?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22

    Bipolar mit Visual Basic 5.0 steuern?

    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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    15.10.2004
    Ort
    Pfalz
    Beiträge
    83
    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
    HAVE A NICE DAY

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22
    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 )

    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 )

    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

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22
    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 http://www.roboternetz.de/bilder/schaltungstep298.gif

    KZ

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.10.2004
    Ort
    Pfalz
    Beiträge
    83
    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
    HAVE A NICE DAY

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22
    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.

  7. #7
    Target3001! User
    Gast
    Zitat Zitat von K Z
    http://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!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22
    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

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    41
    Beiträge
    849
    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

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    04.12.2004
    Ort
    Prague
    Beiträge
    22
    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 http://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

+ Antworten

Berechtigungen

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