Wenn die Motoren dranhängen sind sie auch deutlich zu schnell und zum Glück hällt das Metallgetriebe es kurzzeitig aus, bis ich den Schalter erwischen kann.
Was meinst Du mit falsch eingestellt?
PS: Verbunden sind
RN-Control [PortC PIN 7] (PC6) mit dem RN-VN2 [PIN 2] - Motor 1 IN 1
RN-Control [PortC PIN 8] (PC7) mit dem RN-VN2 [PIN 1] - Motor 1 IN 2
RN-Control [PortB PIN 1] (PB0) mit dem RN-VN2 [PIN 3] - Motor 2 IN 1
RN-Control [PortB PIN 2] (PB1) mit dem RN-VN2 [PIN 4] - Motor 2 IN 2
RN-Control [PortD PIN 5] (PD4) mit dem RN-VN2 [PIN 6] - PWM Motor 1
RN-Control [PortD PIN 6] (PD5) mit dem RN-VN2 [PIN 8] - PWM Motor 2
Am RN-Control und am RN-VN2 liegen jeweils 12V vom Labornetzteil und PORTC 5V/GND auf RN-VN2
Ich habe die Bascom Testdatei "mcontroltestmega32.BAS" unverändert von der CD geladen.
Ergebnis nach dem Drücken des Tasters 2 geht die Spannung (gemessen mit Voltmeter auf Motor1) bis 12,34V hoch und wieder runter bis sie auf 12,08V bleibt. 12,08V ist bei dem Test auch die Spannung an beiden Platinen.Code:'################################################### 'rncontroltest.BAS 'für 'RoboterNetz Board RN-Control ab Version 1.1 '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 Batteriespannung() Declare Sub Motortest() Declare Sub Lauflicht() Declare Sub Showporta() Declare Sub Showdigitalporta() Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 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.4 *****" Print "Das neue Experimentier- und Roboterboard" Print "Weitere passende Zusatzboards bei www.robotikhardware.de" Print Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 Call Batteriespannung 'Taste 1 Zeigt Bateriespannung über RS232 an Case 2 Call Motortest 'Taste 2 Motoren beschleunigen und abbremsen Case 3 Call Lauflicht 'Einige male Lauflicht über LED´s anzeigen. Am I2C-Port darf in diesem Moment nichts angeschlossen sein Case 4 Call Showporta 'Zeigt Messwerte an allen Port A PIN´s Case 5 Call Showdigitalporta 'Zeigt digitalen I/O Zustand von PA0 bis PA5 an 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) ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws If Ws < 500 Then Select Case Ws Case 400 To 450 Tastenabfrage = 1 Ton = 550 Case 330 To 380 Tastenabfrage = 2 Ton = 500 Case 260 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 90 To 130 Tastenabfrage = 5 Ton = 350 ' Case Else ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws End Select Sound Portd.7 , 400 , Ton 'BEEP End If ' If Ws < 1023 Then ' Select Case Ws ' Case 895 To 910 ' Tastenabfrage = 1 ' Ton = 550 ' Case 870 To 894 ' Tastenabfrage = 2 ' Ton = 500 ' Case 650 To 690 ' Tastenabfrage = 3 ' Ton = 450 ' Case 450 To 480 ' Tastenabfrage = 4 ' Ton = 400 ' Case 220 To 280 ' Tastenabfrage = 5 ' Ton = 350 ' End Select ' Sound Portd.7 , 400 , Ton 'BEEP ' End If End Function 'Diese Unterfunktion zeigt Batteriespannung an Sub Batteriespannung() Local W As Word Start Adc W = Getadc(6) Volt = W * Ref Volt = Volt * 5.2941 Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt" End Sub '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 Do Pwm1a = I Pwm1b = I Waitms 40 I = I - 5 Loop Until I < 1 Pwm1a = 0 'Linker Motor aus Pwm1b = 0 'rechter Motor aus End Sub 'Einige male Lauflicht über LED´s anzeigen. Am I2C-Port darf in diesem Moment nichts angeschlossen sein Sub Lauflicht() Config Portc = Output Portd = 0 For N = 1 To 10 For I = 0 To 7 Portc.i = 0 Waitms 100 Portc.i = 1 Next I Next N Config Portc = Input End Sub 'Zeigt Die Analogen Messwerte An Port A An Sub Showporta() Local Ws As Word Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerständ ein,bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelte Messwerte an Port A:" For I = 0 To 7 ' Alle Eingäne inkl.messen Start Adc Ws = Getadc(i) Volt = Ws * Ref Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt" Next I End Sub 'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An Sub Showdigitalporta() Local Zustand As String * 6 Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerständ ein,bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelter I/O Zustand Port A:" For I = 0 To 5 ' Alle Eingäne inkl.messen If Pina.i = 1 Then Zustand = "High" Else Zustand = "Low" End If Print "Pin " ; I ; " I/O Zustand= " ; Pina.i ; " " ; Zustand Next I End Sub
Der L293D vom RN-Control ist entfernt.
Fusebits: http://img16.imageshack.us/img16/5749/fuseru.jpg
Aber irgendetwas stimmt da nicht.







Zitieren


Lesezeichen