-
        

Ergebnis 1 bis 4 von 4

Thema: PWM Signal aus ParallelPort

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2005
    Beiträge
    7

    PWM Signal aus ParallelPort

    Anzeige

    Hallo, ich muss aus dem Parallelport ein PWM Signal rausbekommen. Es ist kein Problem den Port anzusteuern, und ich weis auch wie das Signal auszusehen hat, allerdings möchte ich das ganze mit VB machen, und der normale Microsoft Timer kann das nicht. Bei 50ms ist bei ihm schluss, und ich brauche einen Timer mit einer 0,1 ms Auslösung.

    Hat sowas schonmal jemand mit VB gemacht, das er Damit eine Fernsteuerung über den LehrerSchüler Kanal angesteuert hat, oder auf eine andere Art?

    Danke

    mike

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.09.2004
    Beiträge
    471
    Das wirst du nicht schaffen - schon gar nicht mit Visual Basic
    Für sowas ist der LPT und Windows und Visual Basic einfach viel zu langsam.
    mfg churchi

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2005
    Beiträge
    7
    Was kann ich den noch machen? Gibts da nicht irgend eine andere Möglichkeit? Ich kenn mich mit Microcontroller und Co nicht so aus. Ich will einfach nur 3 RC Funktionen mit dem Pc Steuern können, mehr nicht.

    Gibts da nicht irgendeine Karte die man am Pc ansteckt, und Servosignale Ausgibt (die kann ich extern zusammenmischen)
    Also eine Servosteuer Karte, die ich mit VB bedienen kann?

    mike

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.08.2004
    Ort
    Stuttgart
    Alter
    42
    Beiträge
    849
    Du kanst nicht direkt ein PWM-Signal mit dem LPT-Port erzeugen. Der Grund ist die nötige Frequenz:

    f = PWMFrequenz * Auflösung * 2

    also bei 2kHz PWM und einer Auflösung von 8-Bit wären dies:

    f = 2000Hz * 256 * 2 = 1024000Hz = 1,024MHz!!!

    Die 2 kommt davon weil man ja auch noch die positive und negative Flanke ausgeben muß. Also müßte dein Rechner in de rLage sein sehr genau mit dieser hohen Frequenz das zu erzeugen. Ist 100% nie möglich.

    Andere Lösung wäre beispielsweise ein externer Counter und ein Vergleicher. Ist bisschen aufwendig zu bauen. Damit kann man durch anlegen eines Vergleichswerts an den Vergleicher mit dem sehr schnell getakteten Counter ein PWM erzeugen. Uneffektiv!

    Dritte Lösung die ich dir raten würde, nimm dir einen Comtroller wie z.B. einen AVR oder eine C-Control für den Job. Nimm eben die COM-Schnittstelle und geh mit RS232 auf den Controller. Der Controller empfängt den neuen Sollwert seriell und gibt es an seinen Harware-PWM-Ausgängen heraus. Das kannst du programmieren. Normal hat er immer zwei PWM-Ausgänge manchmal auch mehr. Wenn du gar keine Ahnung hast ist wohl eine C-Control die einfachste Lösung weil es am schnellsten geht.

    Zu einer C-Control kann ich dir auch ein Beispiel sagen. Mußt es dir nur ausbauen wie du es brauchst.

    Define Ausgang1 As DA1
    Define Ausgang2 As DA2
    Define Wert As Byte

    Init:
    Ausgang1 = 0
    Ausgang2 = 0

    Schleife:
    Input Wert
    Ausgang1 = Wert
    Input Wert
    Ausgang2 = Wert
    GoTo Schleife

    Nun kann deine C-Control das PWM und du mußt nur noch per COM-Schnittstelle am PC einen binärwert frü PWM1 senden udn danach PWM2 und immer so weiter. Einfacher fallt mir ehrlich nichts ein.

    Grüße Wolfgang

Berechtigungen

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