PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inbetriebnahme RN-Control - Stromaufnahme und Testprogramm



snipor
30.06.2007, 13:32
Hallo,

ich habe mein RN-Control fertig aufgebaut. Jedoch liegt die Stromaufnahme nur bei 10-40mA!. Der 7805 bleibt auch Kalt. Ob ich einen Mega 16 oder 32 verwende ist egal, auch andere Quarze ändern nichts am Stromverbrauch.
Ich habe keinen Bausatz verwendet, sondern habe es aus eigenen Teilen aufgebaut.
Ich habe jedoch noch ein anderes Problem
Die µC lassen sich problemlos via ISP programmieren. Jedoch funktioniert das standard Basic Testprogramm von der CD bzw das Board nicht richtig, denn ich kann nur Daten ans Terminalprogramm senden, wenn RS 232 Kabel und ISP Kabel angeschlossen sind.
Außerdem funktioniert Taste 1 also die Batteriespannung nicht, hier ertönt nur der Lautsprecher.

Kann mir jemand helfen?

Vielen Dank

snipor
02.07.2007, 15:14
Kann mir niemand helfen?
Vor allem für die Sache mit der Batteriespannung bräuchte ich Hilfe.
Danke

Xtreme
02.07.2007, 15:28
Was denn nun, Spannung oder Strom?!?!?!?
Da kann dir leider niemand helfen, da der (die) Fehler überall sein könnten, v.a. beim Eigenbau.
Ich kann nur soviel sagen: Der Spannungsregler muss nicht unbedingt heiß werden, bzw. bei 40mA wird er nicht heiß.
Wenn du das Board auf ner Lochraster aufgebaut hast (was ich übrigens beeindruckend finde), dann zerleg es nochmal und fang von vorne an.
Den Fehler zu finden kann sehr lange dauern, aber du kannst ja mal alle Dioden und Elkos etc auf richtigie Polung untersuchen und schaun ob alle Widerstände da sind wo sie auch hin sollen...

snipor
02.07.2007, 19:37
Hallo,

danke für deine Antwort. Leider ist wohl ein Missverständnis aufgetreten, ich habe nur die Bauteile von mir verwendet, die Platine ist jedoch von Robotikhardware. Ich wollte damit eigentlich sagen, dass ich keinen vorprogrammierten Controller habe.
Die Hardware ist soweit in ich das beurteilen kann in Ordnung, jedenfalls funktioniert alles bis auf die Anzeige der Batteriespannung durch das Testprogramm über Rs232. Wenn ich Taste 1 drücke kommt nur der Ton sonst nichts. Tasten 4 und 5 funktionieren, es kommen also Daten über die serielle Schnittstelle. Aber eben nicht bei Taste 1.

Pascal
02.07.2007, 19:43
Hellsehen kann hier leider niemand. Du müsstest schon einen Schaltplan(oder einen Link darauf) und die software posten. Ansonsten kann man wirklich nur raten und dir nicht ernsthaft helfen.

snipor
02.07.2007, 20:17
Tut mir Leid, ich dachte die Schaltung und das Testprogramm wären bekannt.

https://www.roboternetz.de/wissen/images/c/c6/Rncontrol1.4schaltplan.g


'################################################# ##
'rncontroltest.BAS
'für
'RoboterNetz Board RN-CONTROL ab Version 1.1
'Das neue preiswerte Controllerboard zum Experimentieren

' Achtung:
' Diese Demo ist mit Bascom Compiler 1.11.7.7 getestet

'
'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 LEDs anzeigen. Am I2C-Bus
' darf in diesem Moment nichts angeschlossen sein
' Taste 4: Zeigt analoge Messwerte an allen Port A PINs über RS232 an
''Taste 5: Zeigt digitalen I/O Zustand von PA0 bis PA5 an


' Sehr 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
'################################################# ######


Declare Sub Batteriespannung()
Declare Sub Motortest()
Declare Sub Lauflicht()
Declare Sub Showporta()
Declare Sub Showdigitalporta()
Declare Function Tastenabfrage() As Byte


$regfile = "m32def.dat"
' bei Mega 16 $regfile = "m16def.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 LEDs anzeigen.
'Am I2C-Port darf in diesem Moment nichts angeschlossen sein
Case 4
Call Showporta 'Zeigt Messwerte an allen Port A PINs
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


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 LEDs 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ände ein, bis auf Batteriespannungsmessungsport
Porta.i = 1
Next I

Print
Print "Ermittelte Messwerte an Port A:"
For I = 0 To 7 ' Alle Eingänge 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ände ein, bis auf Batteriespannungsmessungsport
Porta.i = 1
Next I

Print
Print "Ermittelter I/O Zustand Port A:"
For I = 0 To 5 ' Alle Eingänge 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