Also ich soll für mein Abschluss Projekt eine Blackbox für PKW's bauen. Projekt Beschreibung: Es muss ein Betriebsprogramm für den Mikrokontroller geschrieben werden, das alle Messungen vornehmen, die Daten des GPS-Moduls entgegennehmen, alle Daten speichern und die Verbindung zu einem PC aufnehmen kann. Die Software des Kontrollers ist vollständig in Assembler zu schreiben. Die Verbindung zum PC und zum GPS-Modul erfolg jeweils seriell. Auchnoch soll die Geschwindigkeit des PKW's immer auf einem LC-Display angezeigt werden. Jetzt wollte ich wissen wie ich Serielle Daten per Assembler, entgegennehme, verarbeite, speicher und wie ich sie an den Rechner sende. Arbeiten sollen wir mit AVR Studio 4 von Atmel... Ich habe bisher nur wenig erfahrung mit Atmel und habe bisher nur ein Lauflicht in Assembler hinbekommen, und weiss deshalb nicht wie ich soetwas realisieren soll...
Das ist keine Projektbeschreibung, sondern Quatsch mit Soße. Was sind "alle Messungen" ? Reifenluftzusammensetzung, Sitztemperatur oder was. Was ist "des GPS-Moduls" ? Es gibt nicht nur eines sondern viele verschiedene. Also ne genaue Hersteller- und Typangabe ist das mindeste. Was sind "alle Daten" ? Lenkzeit, welcher Radiosender, ... Was ist "seriell" ? Es gibt USB, IEEE-1394, CAN, RS-485 und noch viele andere serielle Standards. Und was ist der Sinn in der Beschränkung der Programmiersprache ? Für Assembler scheint mir das Projekt ne Nummer zu groß, es sollte schon C sein oder wenigstens Basic. Eh Du Dir in Assembler ne ordentliche Programmstruktur, Variablenkonventionen, Parameterpassing usw. ausgearbeitet hast, ist der Abgabetermin schon 10-mal vorbei. Werd Dir erstmal klar, was Du alles messen willst und dann such Dir die entsprechenden Sensoren raus. An den CAN-Bus des PKW zu gehen, kannste knicken, Du kriegst nie die Protokolle freigegeben. Und beim Speichern, welche Datenrate fällt an pro Zeiteinheit und wie lange und ob auch bei Stromausfall. Ohne ne ordentliche Projektbeschreibung kann man nicht anfangen zu programmieren. Ne ausreichende Projektbeschreibung kann durchaus 20..33% der gesamten Projektzeit ausmachen. Peter
AAAAAAALLLLLLLLSSSSSOOOOOO Die programsprache habe ich nicht gewählt sondern die Projekt juri auch die "Beschreibung" steht so wort für wort auf meinem Blatt... Messungen sind im Sinne von Geschwindigkeit, Zeit, Position, Fahrtrichtung... Und diese Daten (Messungen) werden zyklich vum GPS-Modul an den Controller gesendet und zwar seriell im normalen serielles standart wie jeder rechner beim COM-port macht... Das GPS-Modul bekommen wir vom Lehrer der unser Projekt leitet, welches dies ist weiss ich also auch noch nicht... Gespeichert werden die Daten auf einen noch nicht gewählten speicher, alles das sollen wir selbst herausfinden, wie gross, welche art usw... jedenfalls sollen die daten 1 minute gespeichert werden also muss der speicher nicht sonderlich gross sein...
Schau dir am besten mal den http://www.mikrocontroller.net/forum/read-4-354990.html thread an, der sollte dir schon mal helfen
Na das sieht nun aber völlig anders aus. Mit Messen ist also überhaupt nichts dabei, dann hats in der Spezifikation auch nichts zu suchen, ist die reine Irreführung. Die erste Beschreibung ist ja wirklich absoluter Quatsch mit Soße gewesen. Hätte ganz anders heißen müssen: Loggen Sie die Zeit- und Positionsdaten vom GPS-Modul und versuchen Sie aus jeweils 2 Logs die Geschwindigkeit und Richtung zu schätzen. Du solltest den ATMega162 nehmen, der hat 2 UARTs. Das Empfangen vom GPS-Modul sollte man puffern (FIFO im Interrupt Handler), damit kein Byte verloren geht. Senden zum PC muß man nicht puffern, da zeitlich unkritisch. Peter
jo also da gibt es wieder na angabe die basagt das ich ein atmega16 nehmen muss... jedoch weiss ich nicht wie ich das angehn soll. es ist halt kind ins wasser technik, einfach reinschmeissen und wenns schwimmen lernt ok und wenn nicht dass wars das... weil von der note dieses projektes hängt es ab ob ich zum abschluss examen zugelassen bin oder nicht ...
"jo also da gibt es wieder na angabe die basagt das ich ein atmega16 nehmen muss..." Mit nur einer UART geht es, wenn das GPS-Modul nicht initialisiert werden muß und die Baudrate zum PC die gleiche ist. Dann reicht RXD zum GPS und TXD zum PC. Ich finde sowas immer super, wenn unnütze Einschränkungen vorgegeben werden, statt den Entwickler selber das Sinnvollste raussuchen zu lassen :-( Peter
Ach komm Peter. Du hast doch sicher in deinem Fundus noch irgendwo eine Software UART. Nur so aus Neugier: Wieviel Zeit hast du denn für dieses Projekt?
>Du hast doch sicher in deinem Fundus noch irgendwo eine >Software UART. Sowas liefert Atmel mit einer (oder mehr) Application Note(s). Standar_d_-Protokoll von GPS-Geräten ist NMEA. Der Rest ist recht simpel (wie Peter schon schrieb): Entfernung zwischen zwei Logs und deren zeitlichen Abstand feststellen => Geschwindigkeit. Über den Tanges sollte man dann noch die Richtung feststellen können...(Könnte man dafür nicht sogar den Bresenham-Algorithmus missbrauchen?) Das einfachste ist, in regelmässigen Abständen (sekündlich? per Timer) die akutelle Position zu loggen. Wenn man noch einen vernünftigen Speicher benutzt (Flash-Karten sind momentan ziemlich billig), dann kann man auch Strecken aufzeichnen... Ein Problem wird es aber geben: GPS hat nur eine begrenzte Auflösung (~10m). Das kann u.a. dazu führen, dass sich das Fahrzeug angeblich bewegt, obwohl es steht...
Die meisten GPS geräte senden im 1s takt also kann man sich das mit dem timer in den meisten fällen auch sparen. Gegen die scheinbewegung kann man jedoch leider nicht viel machen, passiert besonders, wenn die empfangenen Sateligen sich ändern (also andere empfangen werden und andere nicht mehr) Ich hab mal bei mir auf dem balkon einen nachmittag geloggt und ich hab mich um ca 20 Meter im kreis bewegt
> Ich hab mal bei mir auf dem balkon einen nachmittag geloggt und ich > hab mich um ca 20 Meter im kreis bewegt Zuviel Alohol? :-)
>> Nur so aus Neugier: Wieviel Zeit hast du denn für dieses Projekt?
Bis Ende Februar ungefähr...
>> Das kann u.a. dazu führen, dass sich das Fahrzeug angeblich
bewegt, obwohl es steht...
Das ist kP da es ja "nur" ein Projekt ist... Es soll also nur in
einem Raum forgeführt werden und kommt nie in einem Auto zum einsatz...
In meiner Schule sind von 5 Projekten immer nur 1-2 brauchbar und die
anderen sind entweder zu "einfach" oder funktionieren nicht. Mit
einfach meine ich dass diese Blackbox nie in iergendeinem
Fortbewegungsmittel zum einsatz kommt, weil sie sws nur 1 minute
speichern soll. Da kommen dann Faktoren auf wie beim standzustand des
autos, da darf nichts mehr eufgezechnet werden usw...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.