Hallo Leute.
Ich arbeite daran, den ASURO fahren zu lassen. Funktionen für Odometrie, hinderniserkennung+ausweichen etc. dafür habe ich bereits erstellt, aber der testlauf scheitert gleich am Anfang - mal abgesehen davon, dass meine eigentliche Datei nicht annäherungsweise korrekt ausgeführt wird (Register werden random verändert, UART gibt Unsinn auf Terminal aus trotz korrektem Code, der letzte Wohe problemlos lief; lauf Prof angeblich unsichtbare Fragmente im Code, die durchs Kopieren gekommen seien - aber ich habe nichts aus pdfs oder anderen Quellen kopiert...wer noch eine Idee dazu hat, ich bitte darum); läuft auch bei Ausführung des Minimalprogramms nur ein Motor. Das Programm beinhaltet im Prinzip nur Deklarierungen und das Setzen der Motorbits an den entsprechendes Pins laut Stromlaufplan. PWM, UART-Kommunikation etc. habe ich alles entfernt, damit dadurch keine Register beeinflusst werden, aber trotzdem klappt es nicht.
Momentan programmieren wir an der Uni den Asuro mit Assembler, bekommen ihn dafür bereits aufgebaut zur Verfügung gestellt. Deshalb sollte auch kein mechanisches Problem/elektr. Versagen vorliegen. An einem zweiten und dritten ASURO getestet ergibt sich das selbe Resultat. Mir fällt keine fehlende Verbindung auf, alle drei entsprehen dem Schaltplan. In allen drei Fällen dreht sich immer nur der "linke" (im Plan "left"), egal ob vorwärts oder rückwärts. PWM oder auch das Zählen der S/W-Übergänge klappt auch bei diesem. Weitere Fehlersuche ist wegen der nicht funktionierenden UART-Kommunikation momentan nicht möglich.
Sicher ist die Lösung recht trivial, aber zumindest habe ich im Manual und anderen Beschreibungen nichts Konkretes gefunden, was es zu beachten gäbe. Da die entsprechenden Ports auch nichts mit Spezialregistern zu tun haben und definitiv die Ansteuerlogik stimmt, sehe ich keinen Grund, warum der zweite Motor nicht läuft.
Ich hoffe, ihr könnt mir weiterhelfen.
Geändert von xiaolian (13.05.2012 um 18:56 Uhr)
Versuch mal ein minimal Programm in C (mit original lib) zu schreiben das die Motoren testet. Dann könntest du mit mehr Sicherheit sagen ob es an den Mechanik oder Elektronik mangelt, oder doch an deine Assembler-Code.
Ohne deine Code zu sehen wird es sehr schwierig etwas zu sagen ob Bugs drin sind. Meine Magische Glaskugel ist eingepackt weil ich gerade umziehe zu eine andere Wohnung.
Lesezeichen