PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unfassbarer Stromverbrauch Pro-Bot



Alpha_23
20.07.2009, 17:58
Hallo mal wieder ;)
ich habe ein großes und vor allem teures Problem mit meinem Pro-Bot 128.
Und zwar zieht er Batterien innerhalb von nur 2 Mins so leer das er nicht mehr in der lage ist zu fahren.
Ich bin mittlerweile mit meiner Weissheit echt am ende... ](*,)
Das selbe passiert im übrigen auch mit gesetztem Jumper und 1200mAh Akkus.
Da ja die Stromversorgung und die sache mit dem Jumper usw ziemlich gleich mit dem Asuro sind denke ich, bzw hoffe ich das hier wer is der mir helfen kann.

Also wie gesagt es geht nur ums fortbewegen, alles andere funktioniert weiter ganz gut selbst wenn die Akkus leer zu sein scheinen.

Defekte Lötstellen sind keine vorhanden und alles wurde sehr sauber von mir gelötet.
Sieht was das angeht wirklich aus wie gekauft.
Alle selbsttests klappen auch perfekt...

Habe grade vor ca. 5 Mins 4 Nagelneue "Varta Max Tech Batterien" eingelegt mit denen sich der bot auch tatsächlich nur ca 2 Mins Fortbewegen konnte jetzt geht schon nichts mehr... :-s
Also wie ihr seht nutze ich keine Supermarkt billig batterien...

Bitte helft mir so macht das wirklich keinen Spaß 5 Min fahren 12 Std Akku laden is nich schön... [-(

Besserwessi
20.07.2009, 18:50
Das sieht nach einem zu hohen Stromverbaruch auch. Das könnte irgendwo ein Kurzschluß (z.B. Lötzinn kügelschen, oder Fehler auf der Platine) sein. Alternativ könnte es auch ein defekter Motor oder ein anders defektes Teil sein. Wird es denn irgendwo warm oder heiß ?
Auch ein falsch herum eingelötete Diode kann so einen Ärger machen. Im Extremfall kann auch ein ungünstiges Programm den Stromvergraucg serh hoch treiben, z.B. duch eine sehr hohe PWM frequenz oder duch dauerendes umschalten von Motor vor / zurück oder vor / stop.

Wenn das Problem nur beim Fahren auftritt, käme vor allem der Bereich der Motortreiber in Frage.

Alpha_23
20.07.2009, 19:04
Hallo Besserwessi, erstmal danke das du mir Hilfst.
Also Warm wird nichts.
Lötreste sind auch keine da und ich denke (da es ja ein Bausatz war) kann ich Platinenfehler auch ausschliessen.
Das was mir aber eingefallen ist, ist das ich beim zusammenbau vor lauter aufregung am anfang die beiden ICs undten verkehrtrum in die halterung gesteckt habe und es erst feststellte als nichts ging. Der eine IC is der Motortreiber L293D und der andere ist mir nicht bekannt. Bezeichnung: HEF4093BP.
Kann es daran liegen?
Wobei ja eigentlich nach dem Korrekten einsetzen der Bausteine alle Tests perfekt liefen.

Und was die Programmierung angeht, bin ich noch an recht einfachen Programmen ohne heftige richtungswechsel.

Manf
20.07.2009, 20:08
Was ich mir vorstellen könnte, wenn er sonst in etwa nach Wunsch läuft ist der Fehler der in der Gebrauchsanweisung aufgeführt ist:

"Getriebe oder Motoren laufen zu streng"

Dazu gehören dann die Punkte unter

"15. Letzte Einstellarbeiten"
Die Achsen werden leicht eingefettet...
Der provisorisch befestigte Motor wird vorsichtig solange verschoben, bis er gerade ausgerichtet ist, das Motorritzel auf der gesamten Breite des
ersten Getriebezahnrades eingreift und sich Motorritzel und Getrieberad leicht drehen lassen. ...

Alpha_23
20.07.2009, 20:17
Hey Manf,
nein auch das passt nicht...
Was das getriebe angeht ist soweit auch alles Ok.

Wenns doch nur ne methode gäbe um anders festzustellen ob der verbrauch wirklich mit den motoren zusammenhängt...

Mir ist grade bei genauem betrachten noch etwas aufgefallen.
Das Lötzinn was ich verwendet habe hatte sehr viel Flußmittel eingebaut.
D.h es ist überall auf der platine noch was davon zu sehen.
Ich bekomme es nur nicht ab weil es erstarrt ist.
Kann es überhaupt daran liegen? Kriechströme?

Danke euch schonmal...

Besserwessi
20.07.2009, 20:50
Es gibt zwar ein paar Kriechströme über das Flußmittel. Allerdings sind das eher ein paar nA. Das Stört also nur bei sehr hochohmigen Schaltungen wo es auch so kleine Ströme ankommt. Hier kann man das vernachlässigen.

Die zeitweise falsch eingesteckten ICs könnten dabei beschädigt worden sein. Das HEF4093 ist ein einfaches CMOS Logic IC. Wenn das die Ursache ist, würde es warscheinlich ziehmlich heiss werden und eher ganz kaputt gehen.

Der L293 ist der Motortreiber und damit genau der Kandidat für den Defekt. Testweise könnte man es mal probieren ohne den L293D. Normalerweise sollte der Stromverbrauch dann sehr kleine bleiben.
Zum messen könnte man Akkus nehmen und mit einem Multimeter einfach an der Stelle des Jumpers messen. Wenn der Stromverbrauch dann kleine ist, bestätigt es auch nur das der Fehler irgendwo bei der Motorsteuerung oder den Motoren ist. Der nächste Test wäre dann mit dem Motortreiber, aber ohne Verbindung zu den Motoren (je 1 Kabel ab).
Wenn da noch zu viel Strom verbraucht wird, dann wird wohl der L293 Defekt sein.

Alpha_23
20.07.2009, 21:23
Habe mal mein Multimeter an stelle des Jumpers angeschlossen und follgende werte erhalten:
C-Control + 2 LED 50mA
Pro Bot mit Motoren 150-300 mA

Wenn ich mir das aber so ansehe erklärt das nicht wo der strom hingeht :(
Meine Akkus die jetzt im mom drin sind haben eine Kapazität von 850mAh
Also müsste doch ein betrieb von gut 30 Min möglich sein oder verrechne ich mich da?

Der Bot ist echt ein ding...
Bitte habt noch ein wenig gedult mit mir und macht weitere vorschläge...

Danke schonmal

ExMachina
20.07.2009, 21:42
Hallo,

ich habe auch einen Pro-Bot 128 und nutze 4x 900 mAH Akkus. Ich kann zwar nicht genau sagen wie lange die Akkus bei mir halten aber je nach Anwendung haben sie bis jetzt ca. 3-4 Stunden durchgehalten. Den Stromverbrauch kann man auch gut mit dem mitgelieferten Batteriestandüberwachungsprogramm in der IDE auslesen. Da bei dir aber schon nach ein paar Minuten schluss ist würde ich wenn noch nicht passiert mal andere Akkus testen. Sollte das auch nichts bringen tippe ich mal auf einen Defekt und dann hilft reklamieren.

Gruß
Matthias

Thomas$
20.07.2009, 21:50
ähm und da wird wirklich nichts warm nach meiner rechnung 850mAh*60/2=2550mA ist schon bissel viel mess noch mal die strom aufnahme und spannung
batterie fach in ordnung? ein akku verkehrt herum? (kling blöd aber wäre ne erklärung)

Besserwessi
20.07.2009, 21:52
Bei den 150-300 mA sollte man auf rund 3 Stunden kommen. 300 mA sind auch noch eher wenig Strom für Motoren.

Alpha_23
20.07.2009, 21:53
HI ExMachina,
also hab jetzt etliche (teure) Batterien durch und schon zig sätze akkus getestet...
Habe mir jetzt bei Pollin ein großes Batteriefach und 4 2100mAh Mignon Akkus geordert.
Mal sehen was passiert wenn ich die in den Bot haue...
Reklamieren möchte ich noch nicht.
Vlt werde ich beim großen C erst noch den Motortreiber neu ordern um zu sehen ob es daran liegt.
Wenn das nichts bringt dann weiss ich auch nicht mehr...

Und mit ein bisschen glück weiss einer der RN user doch noch ne möglichkeit wie ich weiter komme.

Bis dahin gruß und danke an alle...

Manf
21.07.2009, 06:05
Es ist ja nicht so, dass man mit 2A die Akkus in 2 min leer bekäme, rechnerisch wären das 20A. Ein Strom über 2A wird aber kaum noch fließen, die Akkus würden dann auch schon warm werden, besonders aber der Verbraucher.

Die Messung der 50mA und 300mA deutet darauf hin, dass bei normalem (bis vielleicht etwas hohem) Stromverbrauch die Versorgungsspannung zusammenbricht.

Eher ist das ein schlechter Kontakt bei der Kontaktierung der Akkus im Batteriefach oder einer entsprechenden Stelle.
Der Punkt passt dazu:

alles andere funktioniert weiter ganz gut selbst wenn die Akkus leer zu sein scheinen.

ExMachina
21.07.2009, 09:51
Am besten du checkst das Batteriefach und die Kontakte auf der Mainunit. Die zwei Stromversorgungsdrähte vom Batteriefach zur Mainunit sind bei mir auch schon 2 Mal abgerissen bzw. hatten einen schlechten Kontakt.

Gruß
Matthias

Alpha_23
21.07.2009, 17:04
Hi,
also habe jetzt das Batteriefach (nachdem mir die kabel abgerissen sind) mal neu angelötet.
Und es gibt auch eine leichte veränderung und zwar in der hinsicht das die akkus jetzt zwar ein wenig besser durchhalten aber man merkt nach wie vor das nach wenigen minuten die motorleistung spürbar abnimmt.
Nach ein wenig mehr zeit geht dann auch wieder garnichts.
Ich habe dann nochmal gefühlt und der Motortreiber ist dann etwa Handwarm.

Also mal sehen was die neuen Akkus und das neue Batteriefach bringen,
Weil wie Manf schon sagte sollte es unmöglich sein das der Bot die 2100 mAh Akkus innerhalb von ein paar mins leer zieht.

In der zwischenzeit habe ich auch nochmal das getriebe zerlegt neu gereinigt und mit Modellbau Getriebefett behandelt.
Ich werde dann gleich nochmal neue Batterien einlegen und das ACS beispiel von der Pro-Bot CD laufen lassen um mal zu sehen wie lang es diesmal gut geht...

Gruß ;)

radbruch
21.07.2009, 17:13
Habe mal mein Multimeter an stelle des Jumpers angeschlossen... Klemm das Multimeter mal direkt in ein Batteriekabel. Vielleicht kriecht schon was vor dem Jumper.

Gruß

mic

Alpha_23
22.07.2009, 23:50
Hallo Leute,
hab nach etlichen Tests neue resultate die ich überhaupt nicht verstehe...
Ich habe festgestellt das es ein Software Problem sein muss.
Wenn ich die ACS_II Demo von der CD einspiele läuft der bot sogar noch mit den vermeintlich leeren akkus perfekt...
Er ruckelt zwar etwas aber er läuft...
Benutze ich aber mein ACS Programm was sich fast nicht von der Demo unterscheidet dann blockiert teilweise mal ein Rad oder er fährt leichte Kurven und das schlimmste ist nach 2 Mins funtzt nichts mehr das heisst motoren haben keine Kraft mehr und der Bot steht wie ein Panzer.

Hier mal die beiden Codes:
ACS bsp von der CD:

Sub main()

PRO_BOT128_INIT() 'PRO-BOT128 Setup
ACS_INIT(2) 'ACS setup / sensitivity 1 To 20 / 1=near / 20 =far

AbsDelay(1000) 'Wait 1Sec.
BLL_ON() 'Back LED left "ON"
BLR_ON() 'Back LED right "ON"
ENC_LED_ON() 'Encoder IR-LEDs "ON"
DRIVE_ON() 'Motor "ON"

Do While True 'Endless Loop

'Drive behaviour
If ACS_LEFT() = 1 And ACS_RIGHT() = 1 Then Forward() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 0 Then Backward() : End If
If ACS_LEFT() = 1 And ACS_RIGHT() = 0 Then Turn_Left() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then Turn_Right() : End If

End While

End Sub


Sub Forward() 'Drive forward
FLL_OFF() 'Front LED left "OFF"
FLR_OFF() 'Front LED right "OFF"
DRIVE_FORWARD(7) 'Drive forward, speed 1 To 10 : Value = 7
DELAY_MS(150) 'Wait 150ms
End Sub

Sub Backward() 'Drive backward
FLL_ON() 'Front LED left "ON"
FLR_ON() 'Front LED right "ON"
GO_TURN(-15,0,150) 'Backward 15cm, Speed = 150
GO_TURN(0,60,150) 'Turn right, speed = 150
End Sub

Sub Turn_Left() 'Turn left
FLL_OFF() 'Front LED left "OFF"
FLR_ON() 'Front LED right "ON"
GO_TURN(0,-45,150) 'Turn left, Speed = 150
End Sub

Sub Turn_Right() 'Turn right
FLL_ON() 'Front LED left "ON"
FLR_OFF() 'Front LED right "OFF"
GO_TURN(0,45,150) 'Turn right, Speed = 150
End Sub
Und hier mein Programm:

Sub main()
PRO_BOT128_INIT()
ACS_INIT(2)
ENC_LED_ON()
DRIVE_ON()

Do While True
If ACS_LEFT() = 1 And ACS_RIGHT() = 1 Then FORWARD() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then BACKWARD() : End If
If ACS_LEFT() = 1 And ACS_RIGHT() = 0 Then RIGHT() : End If
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then LEFT() : End If
End While
End Sub


Sub FORWARD()
FLL_ON()
FLR_ON()
DRIVE_FORWARD(6)
AbsDelay(100)
End Sub


Sub BACKWARD()
BLL_ON()
BLR_ON()
GO_TURN(-15,0,150)
GO_TURN(0,70,150)
AbsDelay(100)
End Sub


Sub RIGHT()
GO_TURN(0,-50,150)
AbsDelay(100)
End Sub


Sub LEFT()
GO_TURN(0,50,150)
AbsDelay(100)
End Sub




Also jetzt brauch ich euch wieder woran kann das liegen?
Achso ganz wichtig ist noch habe das problem auch wenn ich den bot nur so fahren lasse sprich ohne ACS und ohne Odometrie also aus der richtung kann der fehler auch nicht sein...
Und die beiden die Codes unterscheiden sich so gut wie nicht wie man sieht...

Danke schonmal
Gruß

BlueNature
23.07.2009, 01:23
An deinem Code ist nichts besonderes, außer das du eben Unterprogramme umbenannt hast und PWM-Werte verändert hast.
Wenn du irgendwo einen L293D herbekommst zum testen, dann solltest ihn dringend einmal testen, für mich sieht es so aus als wenn eine Stufe in der H-Brücke des Bausteins einen Durchschuss hat.
Hast du einen Schaltplan des Aufbaus? Dann solltest dringend einmal ohne jedes "Grund-Programm" ein Testprogramm schreiben und die Signale einzeln ansteuern (ohne PWM, einfach '1'). Dabei das Amperemeter im Batteriefach bebachten auf einen auffälligen Stromanstieg.

Um sicherzugehen, kannst auch ohne Probleme die L293 herausnehmen und das Programm ablaufen lassen (Batteriespannung beobachten) und berichten was passiert.

Noch etwas obskures: Habe den Schaltplan im Web gefunden des Probot. Dort stimmt so einiges nicht wie es aussieht, soltest dies prüfen:
http://wiesolator.gotdns.org/rn/probot_problem1.png

Grüße Wolfgang

Alpha_23
23.07.2009, 02:39
Hey Wolfgang,
hab das mal getestet und in Bascom follgenden Code geschrieben:


$regfile = "m128def.dat"
$crystal = 14745600
$baud = "9600"

Config Portb.5 = Output
Config Portb.6 = Output
Config Portb.7 = Output

Do
Portb.5 = 0
Portb.6 = 1
Portb.7 = 1
Waitms 1000
Portb.5 = 0
Portb.6 = 1
Portb.7 = 0
Waitms 1000
Portb.5 = 0
Portb.6 = 0
Portb.7 = 1
Waitms 1000
Portb.5 = 0
Portb.6 = 0
Portb.7 = 0
Waitms 1000
Loop


Das ganze hab ich dann via CCPro Bootloader den man auch hier im RN findet auf den Pro Bot übertragen.
Habe dabei festgestellt das vom Stromverbrauch hier kaum ein unterschied ist ABER die Motoren drehen sehr viel Kraftvollter und was mir auch aufgefallen ist der L293 Quietscht nicht mehr wenn die Motoren laufen wobei ich davon ausgehe das das Quitschen vom Bremsen der Motoren kommt, was ja durch die PRO_BOT Lib automatisch passiert.
Wie dem auch sei habe jetzt immernoch die selben akkus drin und der bot bewegt sich noch... Sowohl mit dem kleinen Bascom Prog als auch mit dem Beispiel von der CD nur mit meinem Prog machen die Motoren schlapp... Kann es immernoch an der PWM liegen?? Meint ihr im L293 is was durchgebrannt??

Danke und Gruß

P.S. Das mit dem Schaltplan fehler ist bereits bekannt und wird dadurch behoben das man an dem einen Motor (der rechte is es glaube ich) den bzw die kabel auch vertauscht.
Conrad hat den fehler aber erkannt und malt jetzt rote Punkte für Plus auf die Motoren um den fehler beim zusammenbau zu umgehen...

021aet04
23.07.2009, 08:25
Das "Quietschen" kommt vermutlich von der PWM Frequenz. Wenn die Frequenz sich im hörbaren Bereich befinden, hört man es logischerweise. Es gibt Wenn du sehr kurze Impulse hast, dann steht der Motor, da er zu träge ist.

BlueNature
23.07.2009, 12:54
Servus,

hab mich mal hingesetzt und einen Schaltplan in korregierter Version so zu zeichen, das man es auch ordentlich lesen kann.

http://wiesolator.gotdns.org/rn/probot_problem2.png

Nun habe ich da ein paar suspekte Dinge gefunden. Warum werden die beiden H-Brücken per PWM dauernd links-rechts geschalten? Das würde ja bedeuten das der Motor nur bei ca. 50% PWM stehen bleibt (unter voller Pulsung).
Denke das könnte dein Problem erklären. Man schaltet die PWM (OC1A/OC1B) bei solch einem Baustein immer auf die Enable, die Richtung gibt man über die beiden Eingänge am Baustein vor (dort wo eben noch die PWM invertiert und nicht-invertiert anliegt).
Also im Grunde alles verdreht...

Hier nun ein Korrektur-Vorschlag:

http://wiesolator.gotdns.org/rn/probot_problem3.png

Grüße Wolfgang

Alpha_23
26.07.2009, 01:50
Hallo Leute,
also meine Akkus und die neuen Batteriefächer sind angekommen und auch schon eingebaut und aufgeladen.
Das Problem ist nur es macht absolut keinen Unterscheid! ](*,)
Langsam bin ich total am verzweifeln.
Alle aber auch ausnahmslos ALLE beispielprogramme laufen aber sobald ich nur eine zahl i-wo änder dauerts 2 mins und der bot bewegt sich nicht mehr.

Was ich damit sagen will ist, er tut so als wenn die Akkus leer sind.
Sobald ich aber wieder die beispiele in den speicher lade läuft der bot mit den vermeindlich leeren akkus ohne probleme. :-s

Jetzt fährt er schön über 3 stunden durch den raum mit dem acs beispiel ohne ermüdung.

Was kann das jetzt noch sein?
Soll ich einfach mal einen neuen L293D bestellen? :-k

Also nochmal zur erinnerung Kriechströme haben wir Ausgeschlossen.
Defekte Lötstellen auch.
Die Stromversorgung ist absolut in Ordnung und zu viel Strom ziehen tut er auch nicht.
Die Motoren verichten perfekt ihren dienst also was zum hänker fehlt?
Es kann doch nciht sein das sobald ich die Beispielprogramme verändere der Bot nicht mehr rennt...

Hoffe ihr habt noch ne idee.
Bis dahin danke euch und Gruß...

Manf
26.07.2009, 06:34
Jetzt gibt es ja eine Fallunterscheidung zwischen dem Programm bei dem er lange läuft und dem Programm bei dem er bald schlapp macht.
Man sollte dann in beiden Fällen die Stromaufnahme messen.
Wenn ein Gatter der Ansteuerung des Treibers etwas hochohmig (oder langsam) geworden ist dann könnte der Querstrom durch den Motortreiber vom PWM Wert abhängen.

ExMachina
26.07.2009, 07:48
Hi,

teste mal mein ACS Programm ob das ohne Probleme läuft oder die gleichen "Ermüdungserscheinungen" zeigt.



'************************************************* ******************************
'Projektname: Pfadfinder.cbas
'Benötigte Libs´s: IntFunc_Lib.cc
'Routinen: Pfadfinder.cbas,PRO-BOT128_Lib.cbas
'Autor: ExMachina
'Datum: 16.05.2009
'
'Funktion: PRO-BOT128 fährt umher, und weicht dabei Hindernissen über
' das ACS (Anti Collisions System) aus.
' Dabei nutzt der Roboter die Radencoder um möglichst gerade
' aus zu fahren. Die ACS Einstellungen werden über
' ACS_INIT() geändert/ 1-20 / 1 ist nah / 20 ist fern /
'************************************************* ******************************

#define BLR 16
#define BLL 17
#define FLR 18
#define FLL 19


Sub main() 'Hauptprogramm

PRO_BOT128_INIT() 'PRO BOT128 wird initialisiert
DRIVE_INIT() 'Motor wird initialisiert
LED_Init() 'LED's werden initialisiert
ACS_INIT(3) 'Anti Collision Sytem (ACS) wird initialisiert (1-20,1=geringe Messweite 20=große Messweite)
AbsDelay(1000) 'wartet 1 Sekunde

ENC_LED_ON() 'Radencoder wird initialisiert
DRIVE_ON() 'Motor wird aktiviert

Do While True

Check_Left() 'ACS check links
Check_Right() 'ACS check rechts

If ACS_LEFT() = 1 And ACS_RIGHT() = 1 Then Forward() : End If 'kein Hinderniss
If ACS_LEFT() = 0 And ACS_RIGHT() = 0 Then Backward() : End If 'Hinderniss vorn 'Endlosschleife
If ACS_LEFT() = 1 And ACS_RIGHT() = 0 Then Turn_Left() : End If 'Hindeniss rechts
If ACS_LEFT() = 0 And ACS_RIGHT() = 1 Then Turn_Right() : End If 'Hinderniss links

End While 'Ende Endlosschleife


End Sub 'Ende Hauptprogramm

Sub LED_Init()
Port_DataDirBit(FLL,PORT_OUT) 'Port PC.0 = Output
Port_DataDirBit(FLR,PORT_OUT) 'Port PC.1 = Output
Port_DataDirBit(BLL,PORT_OUT) 'Port PC.2 = Output
Port_DataDirBit(BLR,PORT_OUT) 'Port PC.3 = Output

Port_Write(2,&H0) 'alle LED's an
AbsDelay(500) 'wartet 0,5 Sekunden
Port_Write(2,&H1F) 'alle LED's aus
AbsDelay(500) 'wartet 0,5 Sekunden
Port_Write(2,&H0) 'alle LED's an
AbsDelay(500) 'wartet 0,5 Sekunden
Port_Write(2,&H1F) 'alle LED's aus
End Sub

Sub Check_Left()
ACS_LEFT() 'ACS check links
AbsDelay(5)
End Sub

Sub Check_Right()
ACS_RIGHT() 'ACS check rechts
AbsDelay(5)
End Sub

Sub Forward()
FLL_OFF() 'LED links aus
FLR_OFF() 'LED rechts aus
BLL_OFF() 'LED links aus
BLR_OFF() 'LED rechts aus
DRIVE_FORWARD(10) 'geregelte Vorwärtsfahrt (Speed 1-10)
End Sub

Sub Backward()
FLL_ON() 'LED links an 'vorne
FLR_ON() 'LED rechts an
BLL_ON() 'LED links an 'hinten
BLR_ON() 'LED rechts an
GO_TURN(0,-60,255) 'rechts Drehung (0cm,-60 Grad Clockwise,Speed 255)
End Sub

Sub Turn_Left()
FLL_OFF() 'LED links aus 'vorne
FLR_ON() 'LED rechts an
BLL_OFF() 'LED links aus 'hinten
BLR_ON() 'LED rechts an
GO_TURN(0,-45,255) 'links Drehung (0cm,-45 Grad Clockwise, Speed 255)
End Sub

Sub Turn_Right()
FLL_ON() 'LED links an 'vorne
FLR_OFF() 'LED rechts aus
BLL_ON() 'LED links an 'hinten
BLR_OFF() 'LED rechts aus
GO_TURN(0,45,255) 'rechts Drehung (0cm,45 Grad Counter Clockwise, Speed 255)
End Sub

Robotniks
26.07.2009, 09:13
Hallo zusammen,

also die Schaltung an sich mit den L239D ist schon richtig. Im Pro-Bot128 Schaltplan ist jedoch ein kleiner Fehler, aber nicht im Layout.
Siehe Appl.-Notes Texas Instrument!

Wichtig ist das ein L293 D im Sockel sitzt, da der normale L293 keine internen Dioden zur Unterdrückung der Induktionsspannung besitzt.
Aber überprüfe-, oder tausche doch mal die beiden ICs CD4093 und L293D aus. Bedenke auch das bei einen PWM Tastverhältnis von 1:1 also 50% der Stromverbrauch am größten ist! Also in der Software bis auf 50% fahren (Bremsen) und bei Stillstand des Roboters die Enable Leitung des L239D auf Low (Treiber "Aus").

Grüße Ulli

Alpha_23
26.07.2009, 23:26
Hallo Leute,
zum ersten mal hab ich gute Nachrichten.
So wie es aussieht hab ich das Problem gelöst.
Es ist mir fast zu peinlich es zu sagen aber es lag an einem Falschen Timer... ](*,)

Ich habe Damit angefangen meine Programme Modular aufzubauen das heisst ich hab immer eine Funktion hinzugefügt und dabei ist mir dann aufgefallen das die ausfälle immer dann auftretten wenn ich versucht habe die forderen LEDs wärend der fahrt blinken zu lassen. :-k
Ich tat das ganze mit follgendem Code:


void FlashF(void)
{
FLL_ON();
FLR_ON();
AbsDelay(500);
FLL_OFF();
FLR_OFF();
AbsDelay(500);
}

Als ich dann aber AbsDelay() durch DELAY_MS() ersetzt habe hat der Bot keinen fehler mehr gehabt.

Damit trifft mal wieder zu das Hardware immer nur so blöd ist wie der der sie Programmiert oder Bedient. O:)

Ich kann mir zwar absolut nicht erklären warum er die fehler gemacht hat wenn ich AbsDelay() benutzt habe aber wie gesagt nun sind die fehler weg und ich bin heilfroh.

Jetzt möchte ich euch danke sagen für eure Hilfe und schliesslich hatte es doch was gutes, der Bot hat seine erste Modifikation (die Akkus) und rennt damit stunden durch.

Also bis zum nächsten fehler.

Gruß

021aet04
26.07.2009, 23:47
So ein Fehler wird dir glaube ich nicht mehr passieren :cheesy: