-         

Ergebnis 1 bis 10 von 10

Thema: Anfänger benötigt Hilfe :D

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10

    Anfänger benötigt Hilfe :D

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Alle zusammen es geht um folgendes. Ich habe mir das RN Control 1.4 bestellt ... Es läuft auch wunderbar aber ich habe ehrlich gesagt nicht so viel erfahrung mit basecom und stehe jetzt vor dem Problem, dass ich die Motoren nicht richtig nasteuern kann.. Ich versuche die ganze zeit es hinzubekommen das sie kurz beschleunigen und dann nach ca.2sek wieder langsam abbremsen (wie in dem Demo Programm) aber ich weiß nicht wie bis jetzt habe ich es so versucht :
    Do

    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down

    Pwm1a = 300

    Waitms 20000

    Timer1 = 1


    Loop

    Aber es funtioniert nicht richtig entweder der Motor dreht garnicht oder andauernt Danke im voraus für die Hilfe

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Punkt 1 ist schon mal: Config wird nur 1x gemacht. Also vor das Do.
    Punkt 2: Waitms 20000 sind keine 2 Sekunden.
    Punkt 3: Zum Abbremsen der Motoren müsstest du PWM1A schrittweise zum jeweiligen Wert rauf/runterzählen (je nach dem, ob die Motoren bei 0 oder 65535 stehen bleiben).
    Also ne Zählschleife, da ne Variable runterzählen und die dann auf PWM1A zuweisen.

    Was hast du dann da noch mit Timer1 = 1 vor?
    #ifndef MfG
    #define MfG

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    ich dachte das er dadurch den timer aktiviert weiel wenn ich das nicht mahce meint Bascom variable not dimensioned oder soo ??! ich sag doch ich hab noch kein erfahrung darum frag ich ja hir .. Trotzdem müsste es ja gehn auch wenn 20000 ms keine 2sec. sund oder ???

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    [quote="CANDA"]ich dachte das er dadurch den timer aktiviert weiel wenn ich das nicht mahce meint Bascom variable not dimensioned oder soo ??! ich sag doch ich hab noch kein erfahrung darum frag ich ja hir .. Trotzdem müsste es ja gehn auch wenn 20000 ms keine 2sec. sund oder ??? Nette antwort aber wie soll ich das machen mit derr variable und denn daén pwm darauf zuweisenh (ANFÄNGER)

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Timer Einschalten ist "Enable".
    Bei 20000 statt 2000 fährt er halt 10x so lange.

    Zum Gasgeben wär z.B. sowas hier brauchbar; Timer-Configs & Co müssen noch rein.
    (Kann sein, dass der Code so nicht kompilierbar ist bzw. noch ein paar Syntaxfehler drin sind; Bascom ist schon länger her)
    Code:
    DIM Speed as Word
    
    ...
    
    Do
    For Speed = 0 To 10000
    PWM1A = Speed
    Waitms 1
    Next
    
    Wait 10
    
    For Speed = 0 To 10000
    PWM1A = 10000 - Speed
    Waitms 1
    Next
    
    Wait 5
    
    Loop
    Hier sollte der Motor (sofern er bei 0 ganz steht) innerhalb von 10 Sekunden hochdrehen, dann 10 Sekunden da bleiben und dann wieder 10 sek. lang runterdrehen, wo er dann 5 Sekunden stehenbleibt.
    #ifndef MfG
    #define MfG

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    Danke aber er dreht die ganze zeit voll egal an welche schraubklemme ich ihn anschließe .. Hast du ne ahnung warum ???

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Glaub im Programm fehlt noch, dass der jeweilige PWM-Pin (PWM1A bzw. OCR1A) auf Output gesetzt wird.
    Config PortX.Y = Output (X und Y entsprechend anpassen)
    #ifndef MfG
    #define MfG

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    jaa ich hab es jetz so gemacht aber jetzt passiert garnix mehr nur auf einem port läuft er dauerhaft :
    Config Pind.5 = Output wird für PWM Motor 1 benutzt
    Config Pinc.6 = Output wird vom Motortreiber für Motor 1 Kanal 1...
    Config Pinc.7 = Output wird vom Motortreiber für Motor 1 Kanal 2...
    Portc.6 = 1 richtung von Motor 1 Kanal 1
    Portc.7 = 0 richtung von Motor 1 Kanal 2

    DIM Speed as Word


    Do
    For Speed = 0 To 10000
    PWM1A = Speed
    Waitms 1
    Next

    Wait 10

    For Speed = 0 To 10000
    PWM1A = 10000 - Speed
    Waitms 1
    Next

    Wait 5

    Loop

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    Moin nur mal ne frage nebenbei hast du ne ahnung warum das prog. nicht geht hab ich ausm internet :
    '################################################# ##
    '# servo.bas #
    '################################################# ##
    '#Dieses Programm demonstriert die Verwendung #
    '#eines Servos mit dem Controllerboard RN-Control #
    '################################################# ##

    $regfile = "m16def.dat" ' Bestimmung des Prozessors
    $crystal = 16000000 ' Quarzfrequenz
    $baud = 9600 ' RS232-Uebertragungsrate
    $hwstack = 32
    $framesize = 32
    $swstack = 32

    Print "**** Servo mit RN-Control *****"

    Config Servos = 1 , Servo1 = Porta.6 , Reload = 10
    ' Der Servo wird am Port A Pin 6 angeschlossen
    Config Pina.6 = Output
    Dim I As Integer

    Enable Interrupts
    Do
    Servo(1) = 0
    waitms 1000
    Servo(1) = 200
    waitms 1000
    Servo(1) = 100
    waitms 1000
    Loop

    Ich weis passt nicht zum tehma aber wollte kein neues aufmachen

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    14.02.2010
    Beiträge
    10
    Okee ich habs raus mit dem PWm danke noch mal ... ich hab aber ein ganz anderes problem wie soll ich die motoren rückwerts laufen lassen in der beschreibung steht nur:
    Erste Richtung:
    PC6=0
    PC7=1
    Zweite Richtung
    PC6=1
    PC7=0
    Ber das bestimmt ja nur aus welchem Port Plus kommt und wechselt nich die Polarität also wenn ich das eine kabel an masse habe wie beschreiben und das andere im Port denn klappts nicht ... Habt ihr ne ahnung wie das gehen soll ???

Berechtigungen

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