Hallo

Das sieht doch ganz gut aus. Die Spannung an C1 ist gut und die Summe der Spannungen von R9+R10+Diode. Spannung an R10 und C2 ist gleich und das Verhältnis R9 zu R10 ist gleich dem Verhältniss der Spannungen 1,2 zu 1 (2,55/1,2=2,125) Gut gemessen, auch mit Zittern ;) C2 sollte richtig gepolt sein, sonst wäre er schon explodiert ;) War das alles mit oder ohne Motorplatine gemessen?

Zur Motorplatine gehen zwei Flachbandkabel: CON2/4 sind die Sensoren (Linien- und Odometrie-Fototransistoren und die jeweiligen LEDs dazu), über CON1/3 gehen die Motorsteuerungen Enable und die PWMs, ebenso auch Vcc und GND. Ich vermute, dein Problem kommt wieder wenn du CON1 und CON3 verbindest. Wenn das so wäre, dann könntest du die ICs der Motorplatine ziehen. Wenn der Fehler dann immer noch auftritt hast du vielleicht einen Kurzschluß auf der Motorplatine, ansonsten ist vielleicht ein IC defekt. Der nächste Test wäre dann mit ICs, aber ohne Motoren...

Zum Programm: Grundsätzliches Problem wäre hier z.b. eine geringe Fahrgeschwindigkeit oder Stillstand über längere Zeit bei der beide Motoren quasi unter voller Bestromung laufen (PWM 50:50!) und die dadurch den Zusammenbruch der Bordspannung verursachen würden. Das würde sich speziell bei Batterien bemerkbar machen. (Das ist der übelste Fehler der Probot-Motoransteuerung, aber dies nur so nebenbei angemerkt ;)

Das erscheint mir sehr wahrscheinlich, jedesmal wenn die Spannung einbricht startet der Kontroller neu. Das Blinken der FrontLED könnte dabei folgende Ursache haben: Die LED ist zwischen Vcc und Kontrollerpin geschaltet. Dieser Pin wird in PRO_BOT128_INIT() ziemlich am Anfang auf Ausgang programmiert und ist dann sofort low. Erst einige Zeilen später geht der Pegel bei LINE_LED_OFF() auf high. Da es eine sehr helle LED mit 220er Vorwiderstand ist könnte man das möglicherweise sehen. Dann setzt dein Programm die beiden hinteren LEDs, DRIVE_ON() bestromt die Motoren mit PWM50:50 (halbe Zeit Vollgas rechts, halbe Zeit Vollgas links bedeutet Motor steht!), die Spannung bricht ein, Neustart.

Allerdings kann ich das Piepsen damit nicht erklären. Und auch nicht, warum es früher funktionierte. Dann wären wir wieder bei einer schlechten Spannungsversorgung. Du solltest also auch mal mit Motorplatine an C1 messen wenn sich die Motoren nicht drehen:

Code:
// Test mit stehenden Motoren

void main(void)
{

    PRO_BOT128_INIT();    //PRO-BOT128 Setup

    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                    //Endless Loop
     {
     } while (1);

}
Noch ein anderer Ansatz: Für DRIVE_FORWARD() werden die ODO-Sensoren ausgewertet. Ich habe allerdings keine Ahnung wie sich hier eine Störung auswirken würde. Ein erster Test wäre vielleicht das Kabel zwischen CON2 und CON4 zu entfernen. Das könnte ein Probot-Benutzer mit C-Control mal testen und rückmelden. Denn ich rate mehr als dass ich etwas weiß.

Ähm, ich habe mir nun auch die Lib aus den Beispielprogrammen von der Probot-HP runtergeladen. Speziell für drive_forward() finde ich das Einschalten der ODO-LEDs nicht (muss man eben selbst dran denken), ebenso vermisse ich den else-Zweig, wenn die Funktion beendet werden soll. Das die Motoren im Stillstand noch bis drive_off() weiterbestromt werden hatte ich, glaube ich, schon erwähnt. Was für ein Mist. Ich weiß nicht, ob ich mir den Rest auch noch antun soll...

Gruß

mic

P.S. zu: "..aber die beiden LED's Blinken konstant.." Sollten die nach BLL_ON(); und BLR_ON(); nicht dauerhaft leuchten? Zeig uns doch mal ein Video damit wir das (speziell das Timeing) auch mal sehen können.

[Edit]"Müsste ich einfach neue Batterien hinein legen, oder wie?" Ich dachte, du hast schon welche besorgt. Das wäre mein allererster Verdacht gewesen.