PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit RP5 und Atmega 32



porter91
14.07.2013, 20:23
Guten Abend allerseits

Ich bín dabei meinen ersten Roboter fertigzustellen bzw. zu erweitern. Er besteht aus einem RP5 Chasis und einer selbst gebauten Steuerplatine.
Auf der Platine sind :

Atmega 32 Master
Atmega 8 Motorsteuerung
Atmega 8 Abstandssensor
Optional anschließbar:
Atmega 8 mit Display zur Datenausgabe.


Alle uC sind über I2C verbunden wobei der Master der Atmega 32 ist.
Nun mein Problem:
Nach 30 sek reagiert der Roboter nicht mehr auf Änderungen am Abstandsensor. Bei anschluss des Displays und anzeigen lassen der Daten stellte ich fest, das dort auch nach kurzer Zeit keine Daten mehr ankamen. Meine Vermutung ist das der Atmega 32 austeigt. Nur ich weiß nicht wie ich es überprüfen kann. Einen Watchdog kann ich gerade auch nicht einbauen, da ich die Spannungsversorgung über einen Lipo und eine Selbsthaltung realisiert habe und durch einen Reset den Roboter auschalten würde.

Wäre für eine Idee woran es liegen könnte sehr dankbar :p

Gruß euch
26007260082600926010260112601226013

shedepe
16.07.2013, 14:16
Oder der Atmega 8 mit dem Abstandssensor hängt sich auf, oder deine I2C Implementiert hängt sich auf..oder oder.
Ohne genauere Infos zu dem System und ohne Kommentierten Code und Anmerkungen welcher Code wo drin steckt ist da kaum was zu machen.

Warum verwendest du eigentlich so viele Mikrocontroller, das wäre doch alles noch mit einem einzigen Mega32 machbar ?

porter91
16.07.2013, 16:39
Hey

Das der Abstandssensor sich aufhängt möchte ich mal ausklammern, da er einen Watchdog hat und deshalb sich reseten müsste.
Warum so viele Atmega verwendet werden, ich wollte den I2C ausprobieren und kann so das System beliebig schnell verändern, lediglich der Motortreiber ist auf der Platine fest mit dem Mega 32 verbunden der Rest über Steckkontakte mit einander verbunden.
Um zu schauen wo es hängt werde ich einfach mal LEDS an bringen und auch einen Watchdog in den Mega 32 implementieren.
Der ganze angehängte Code ist im Mega 32 geladen.
In den anderen Steck jeweils nur der Code aus dem Rn-Wissen für den TWI Slave und´je nach dem was der uC machen soll ein paar andere Zeilen.
so ist im Abstandsmega lediglich ein ADC-init und das Schreiben des Wertes in den I2C Puffer.

Gruß Jan