-         

Ergebnis 1 bis 5 von 5

Thema: Hilfe bei Code

  1. #1

    Hilfe bei Code

    Anzeige

    Hi Leute
    Ich besitze ein RNControl1.4 board. Dafür habe ich mir eine erweiterungsplatine für den HIGH Power Motortreiber gekauft um 2 zusätzliche Motoren anzusteuern.
    Um Jetzt die Platine anzusprechen habe ich den V+ Pol mit dem Positiven Pol des Netzteiles Vrbunden. Auf dem PIN PWm hab ich den 7Pin des C-Portes angeschlossen. AUF dem Pin DIR den 8 Pin und GND habe ich mit dem 9 Pin verbunden sowie auch mit dem negativen Pol des Netzteiles.
    http://www.robotikhardware.de/download/rncontrol14.pdf
    http://www.robotikhardware.de/downlo...eiber18V15.pdf
    Das ist jetzt noch der Code den ich am Mikrokntroller gespeichert habe:
    Code:
    '###################################################
    'rncontroltest.BAS
    'für
    'RoboterNetz Board RN-Control 1.4
    'Das neue preiswerte Controllerboard zum experimentieren
    '
    'Aufgabe:
    ' Dieses Testprogramm testet gleich mehrere Eigenschaften auf dem Board
    ' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet
    ' Taste 1: Zeigt Batteriespannung über RS232 an
    ' Taste 2: Angeschlossene Motoren beschleunigen und abbremsen
    ' Taste 3: Einige male Lauflicht über LED´s anzeigen. Am I2C-Bus
    ' darf in diesem Moment nichts angeschlossen sein
    ' Taste 4: Zeigt analoge Messwerte an allen Port A PIN´s über RS232 an
    ''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an
    ' Ser gut kann man aus dem Demo auch entnehmen wie Sound ausgegeben wird,
    ' wie Tasten abgefragt werden und wie Subroutinen und Funktionen angelegt werden
    'Autor: Frank
    'Weitere Beispiele und Beschreibung der Hardware
    'unter http://www.Roboternetz.de oder robotikhardware.de
    '#######################################################
    
    Declare Sub Motortest()
    
    Declare Sub Motorboard
    
    Declare Function Tastenabfrage() As Byte
    $regfile = "m32def.dat"
    Dim I As Integer
    Dim N As Integer
    DIM Ton As Integer
    $crystal = 16000000 'Quarzfrequenz
    $baud = 9600
    Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung
    Config Pina.7 = Input 'Für Tastenabfrage
    Porta.7 = 1 'Pullup Widerstand ein
    Const Ref = 5 / 1023 'Für Batteriespannungsberechnung
    Dim Taste As Byte
    Dim Volt As Single
    ' Für Motorentest
    'Ports für linken Motor
    Config Pinc.6 = Output 'Linker Motor Kanal 1
    Config Pinc.7 = Output 'Linker Motor Kanal 2
    Config Pind.4 = Output 'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output 'Rechter Motor Kanal 1
    Config Pinb.1 = Output 'Rechter Motor Kanal 2
    Config Pind.5 = Output 'Rechter Motor PWM
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02 'Prescaler = 8
    I = 0
    Sound Portd.7 , 400 , 450 'BEEP
    Sound Portd.7 , 400 , 250 'BEEP
    Sound Portd.7 , 400 , 450 'BEEP
    Print
    Print "**** RN-Control 1.1 *****"
    Print "Das neue Experimentier- und Roboterboard"
    Print
    Do
    Taste = Tastenabfrage()
    If Taste <> 0 Then
    Select Case Taste
    Case 2
    Call Motortest                                              'Taste 2 Motoren beschleunigen und abbremsen
                                                  'Einige male Lauflicht über LED´s  anzeigen. Am I2C-Port darf in diesem Moment nichts angeschlossen sein
    Case 4
    Call Motorboard
    
    End Select
    Sound Portd.7 , 400 , 500 'BEEP
    End If
    Waitms 100
    Loop
    End
    'Diese Unterfunktion fragt die Tastatur am analogen Port ab
    Function Tastenabfrage() As Byte
    Local Ws As Word
    Tastenabfrage = 0
    Ton = 600
    Start Adc
    Ws = Getadc(7)
    If Ws < 1010 Then
    Select Case Ws
    Case 410 To 450
    Tastenabfrage = 1
    Ton = 550
    Case 340 To 380
    Tastenabfrage = 2
    Ton = 500
    Case 265 To 305
    Tastenabfrage = 3
    Ton = 450
    Case 180 To 220
    Tastenabfrage = 4
    Ton = 400
    Case 100 To 130
    Tastenabfrage = 5
    Ton = 350
    End Select
    Sound Portd.7 , 400 , Ton 'BEEP
    End If
    End Function
    
    'Testet Motoren und Geschwindigkeitsreglung
    Sub Motortest()
    'Linker Motor ein
    Portc.6 = 1 'bestimmt Richtung
    Portc.7 = 0 'bestimmt Richtung
    Portd.4 = 1 'Linker Motor EIN
    'Rechter Motor ein
    Portb.0 = 1 'bestimmt Richtung rechter Motor
    Portb.1 = 0 'bestimmt Richtung rechter Motor
    Portd.5 = 1 'rechter Motor EIN
    I = 0
    Do
    Pwm1a = I
    Pwm1b = I
    Waitms 40
    I = I + 5
    Loop Until I > 1023
    Wait 1
    
    
    End Sub




    'Nebencode
    Code:
    $regfile = "m32def.dat"                                     '
    $framesize = 40
    $swstack = 40
    $hwstack = 40
    $crystal = 16000000
    
                                             'Quarzfrequenz
    Config Pinc.7 = Output
    Motorboard_richtung Alias Portc.0
    
    Config Pinc.6 = Output
    Motorboard_pwm Alias Portc.4
    
    Dim Compare As Word
    Dim B As Word
    Dim Down As Word
    Pwm = 40
    
    ' Für Motorboardtest
    
    
                                                                   'Ports für linken Motor
    Config Pinc.7 = Output                                      'PWM-Signal
    Config Pinc.6 = Output                                      'DIR-Pin
    
    
    
    
    Dim Motorboard As Word
    
    Sub Motorboard()
    'Linker Motor ein
    Portc.6 = 1                                                 'bestimmt Richtung
    Portc.7 = 0                                                 'bestimmt Richtung
    Portc.4 = 1                                                 'Linker Motor EIN
    
    I = 0
    Do
    Pwm1a = I
    Pwm1b = I
    Waitms 40
    I = I + 5
    Loop Until I > 1023
    End Sub
    
    
    
    
    
    Dim P As Word
    
    Dim Count As Integer
    Count = 1
    Do
    For P = 1 To 1023
    Dim Led_rot As Integer
    Toggle Led_rot
    Waitms 25
    Next P
    Wait 2
    Dim Led_gruen As Integer
    Toggle Led_gruen
    Toggle Motorboard_richtung
    Loop
    Bitte um Hilfe


    Lg Andy

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Und was ist jetzt die Frage bzw. das Problem?
    #ifndef MfG
    #define MfG

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.190
    Das es wahrscheinlich nicht funktioniert.
    Auf dem PIN PWm hab ich den 7Pin des C-Portes angeschlossen. AUF dem Pin DIR den 8 Pin
    im Code:
    Config Pinc.7 = Output 'Linker Motor Kanal 2
    Config Pind.4 = Output 'Linker Motor PWM
    Ich kann zwar kein Bascom aber das ist irgend wie nicht schlüssig.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Das ist das Beispielprogramm was am RN-Control bei der Auslieferung oben ist. Damit kann er auch nichts anfangen.

    @Andreasmüller
    Hast du dich jetzt endlich mal mit den Grundlagen beschäftigt? Z.b. eine LED blinken lassen oder solche kleinen Sachen.


    PS. Es gibt [code] Tags!!!!!
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Hubert.G
    Das es wahrscheinlich nicht funktioniert.
    Auf dem PIN PWm hab ich den 7Pin des C-Portes angeschlossen. AUF dem Pin DIR den 8 Pin
    im Code:
    Config Pinc.7 = Output 'Linker Motor Kanal 2
    Config Pind.4 = Output 'Linker Motor PWM
    Ich kann zwar kein Bascom aber das ist irgend wie nicht schlüssig.
    Richtig, hatte ich ja schon bemerkt.PWM gehört auf Pin D.4 (Motor 1)
    Der Richtungspin (Dir) der Motorsteuerung muss auf Pin C.7.. aber
    erkläre das einmal jemanden der absolut NULL Grundlagen Wissen
    hat. Er kann halt Geistig nicht nachvollziehen was da genau wie abläuft
    und dann ist es sehr schwer zu verstehen.

    Klein Anfangen und z.B. eine LED Blinken lassen, zuerst nur ein/aus
    schalten, später in einer Schleife, noch später mit einem Timer,
    noch später........Erst einmal schauen was passiert wie/warum
    und was passiert wenn etwas geändert wird und warum passiert es!

    Jeder ist ähnlich angefangen zu lernen und verstehen. Jeder hat
    dafür mehr oder weniger (Jahre) gebraucht, einfach so ist noch
    kein "Meister vom Himmel" gefallen.

    Übrigens, der Poster hatte erwähnt das er mehrere Motoren steuern
    wollte, das geht natürlich nur mit mehren Motorsteuerungen UND
    nicht mit jedem Board. Pro Motor muss es einen eigenen PWM
    Ausgang geben.......

    Wie auch immer, wenn der Motortreiber !richtig! angeschlossen wird,
    funktioniert das ganze auch tadellos.

    Gruß Richard

Berechtigungen

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