Hallo, bin gerade dabei mir einen Bordcomputer zu bauen, leider bin ich ein "Neuling" im Bereich AVR und programmieren.Ich habe auch fast alle Beiträge zu diesem Thema gelesen aber meine Fragen,die sich mir stellten, blieb immer unbeantwortet. Da ich "noch" keine Anhnung habe vom programmieren habe lautet meine Frage: Wie fange ich überhaupt an? Was muss ich alles beachten? Gut einiges habe ich schon Erfahren, deshalb habe ich mir auch schon einen, denke ich passenden AVr besorgt, den Atmega8. Als Programmiersprache dacht ich an Assembler, hat man mir übrigens auch in diesem Forum empfohlen. Weiterhin sind die Daten der Sensoren auch bekannt. Gibt es vielleicht in diesem Forum Mitglieder die auch interesse daran hätten sich so etwas zubauen? Man könnte sich "zusammen" tun und gemeinsamm daran arbeiten. Vielleichtist es auch möglich das die, die Ihr "Bordcomputerprojekt" schon erfolgreich beendet haben mir/uns Ratschläge, Tips und Erfahrungen bezüglich Harwareanbindung und Programmierung geben könnten? By Lars
Hallo Lars, Ich kann Dir nur empfehlen: Programiere in C. Assembler ist eigentlich nicht mehr notwendig, der compiler ist gut genug. Und für C gibt es viele lehrbücher. Grüße Mark,
Das sehe ich anders. Ich würde dir Assembler empfehlen. Im Forum wimmelt es von Leuten die in C oder Basic programmieren und dann sofort scheitern, wenn es keine fertige Funktion für irgend etwas gibt. Um zu verstehen was dein MC macht, gibt nur Assembler. C kannst du dann später mal lernen. Schau dir mal das an : http://www.avr-asm-tutorial.net/ Bzgl. Bordcomputer: Hängt vom Fahrzeugtyp ab. Habe mal sowas für nen Käfer gebaut, alles analog, sehr einfach zu realisieren. Brauchst dich nur ein wenig mit den AD Wandlern im AVR zu beschäftigen. Wenn du ein modernen Wagen hast und du die Daten vom CAN oder LIN -Bus abnehmen willst, wirds schon sehr aufwändig.
Hallo Lars Einen "Bordcomputer" zum Anfang halte ich für übertrieben. Ist zwar eine schöne Aufgabe, aber da kannst du schnell die Lust verlieren, wenn man nicht weiter kommt. Da tuen sich dann "Probleme" auf, die du wahrscheinlich als Anfänger nicht lösen kannst. Fange langsam an und freue dich über Fortschritte. Ich habe mit einem Lauflicht angefangen, ist glaube ich normal. Hier ein paar Vorschläge zum beginnen: Lauflicht, später wechselne Richtungen über Tasten, Geschwindigkeit änderbar Eine einfache "Ampelsteuerung", nachher mit Tasten für die Fußgänger Ausgabe von Impulsen auf einem Pin, später dann verschiedene Bit Muster Ansprechen von I2C Bausteinen oder ein DS1820 Ansprechen der seriellen Schnittstellen usw. Mit Assembler und als Anfänger kannst du dir dabei schon die Zähne ausbeissen. Will dich aber nicht schocken, fang einfach an und bleib daran. Programmieren ist meiner Meinung nach 80 % nachdenken über die Aufgabe, 10 % Code eintippen und 10 % ,oder auch mal mehr, Fehler suchen. Assembler, Basic oder C ist halt Geschmackssache. Ich schreibe viel in Basic und wenig in C. In Assembler gar nichts mehr. MFG Dieter
Hallo, ich schliesse mich Dieter an. Klein anfangen, nur wenn du die Einfachen Aufgaben ervolgreich abgeschlossen und auch alles verstanden hast,kannst du dich an grössere Sachen heranwaagen. Was die Programmiersprache angeht ist Geschmacksache,ich bevorzuge Assembler. Gruss. Vitali.
Hallo, erstmal danke für eure Antworten. Natürlich möchte ich Schritt für Schritt lernen wie man programmiert, es ist mir auch bewusst das alles seine Zeit braucht. Doch kennt ihr das nicht auch, ihr seht etwas und es lässt euch nicht mehr los!Tja, das ist für mich das Projekt mit dem Bordcomputer. @Michael, also wie ich etwas machen möchte weis ich schon, nur fehlt mir das programiertechnische Wissen und Erfahrung um zu beurteilen ob es machbar ist und wie ich es umsetze. Die Signale liegen bei der Drehzahl ( konstante Pulsweite, somit veränderliche Pulspausenzeit) und Geschwindigkeit ( feste Anzahl von Pulsen pro Ritzelumdrehung) in digitaler Form vor, nur Wasser und Öltemp sind analoge Werte. Wäre toll wenn du mir weiter helfen könntest. Nnatürlich gilt das auch für alle anderen die mir dabei helfen wollen. Lars
Hallo Lars, such dir erstmal die wichtigsten Daten zusammen. 1. Was für ein Display möchtest du verwenden. Besorg dir das passende Datenblatt. Beachte ( du hast wohl ein Motorad ? ) dass z.B. manche LCD Displays bei Temperaturen unter -5Grad nicht funktionieren und eventuell auch dauerhaft kaputt gehen. 2. Überlege dir, wo du die Zündsignale abnimmst, ich habe die damals mit einem Optokoppler von der Zündspule abgegriffen. 3. Für Wasser und Öltemperaturgeber musst du die Kennlinien beschaffen, d.h. Zusammenhang von Widerstand und Temperatur. Wenn du all die Informationen hast, gehts ans programmieren. Gruss Michael
Ich täte an deiner Stelle, alle Funktionen die der BC haben soll, einzeln erstellen und durchsimulieren. z.B. Wasser und Öl durch Potis simulieren, Werte in Strings umwandeln und über die RS232 auf den PC ausgeben. Man lernt irrsinnig viel und hat doch alles unter Kontrolle. Dann kannst du dich mit Timern spielen.... Versuche alles ohne Druck zu erlernen, ansonsten verlierst du die Freude. Solche Projekte, auch wenn sie anfangs nicht groß erscheinen, mutieren meistens irgendwohin,vor allem wenn du noch nicht mal weisst ob ASM oder C.(ich arbeite mit Codevision AVR >> sehr guter C-Compiler) Gut Ding braucht Weile und Wille. Vertrau auf die Leute im Forum, da sind schon sehr erfahrene dabei! Max
Hi, was für ein Auto hast du denn? Ich baue gerade sowas für einen VW Beetle Jahrgang 2001. Meine Daten erhalte ich vom OBD-Stecker, die Kommunikation regelt ein ELM323 ( http://www.elmelectronics.com ). Alle Autos, die diesen Standard unterstützen, sollten damit ebenfalls funktionieren. Zur Ansteuerung des Displays und der Tasten nehme ich einen MEGA128. Das ist vielleicht ein wenig übertrieben, aber ich kann in dem Teil dann die ganzen Fehlercodes im Klartext speichern. Wenn ich einen externen eprom nehmen würde, wäre es im endeffekt ähnlich teuer und einiges komplizierter. Das Teil ist noch nicht fertig, funktioniert aber schon teilweise (Display, Kommunikation mit ELM323-dank diesem Forum ;-), Tastaturabfrage Matrixtastatur). Das Projekt werde ich, wenn es fertig ist, als Open Source anbieten. Wird aber sicherlich noch einen Monat dauern. Gruß Sebezahn
Hallo, also wie Michael schon richtig tippte handelt es sich um mein Projekt um einen Bordcomputer für mein Motorrad. Michael, kannst Du mir ein Display empfehlen? Die Idee mit dem einzeln simulieren von Max klingt gut, da kann man noch alle Fehler finden und korigieren. Tja, wie schon gesagt, die techn. Daten habe ich schon und als Controller den Atmega8. An welche Pins würdet ihr denn ein 4*20 LCD, eine Drehzlimpuls, Geschwindigkeitsimpuls, Öldruckkontrolle, Wasser und Öltemp legen, Uhr, Infrarot-Empänger? Wenn der Controller von der Spannungsversorgung getrennt wird, verliert er dann alle gesammelten Daten ( Kilomterstände etc.)oder etwa auch das Programm? wenn das so ist wie verhindere ich das? Lars
An deinen Fragen merkt mann das Du wirklich von 0 auf 100 möchtest. Und sie gehören zu den Fragen auf die du selbst eine Antwort finden solltest indem du dich etwas mit der Materie (z.B. Datenblatt, Bücher usw.) befasst. Du kannst nicht erwarten das man Dir das ganze Projeckt vorkaut. Ich will Dich ja nicht entmutigen, aber weisst Du was du noch alles vor Dir hast wenn Du noch nichtmal weist, das das Programm in einem Flash-Speicher abgelegt wird und dieser seine daten nicht verliert und das sich Variablen zur bearbeitung im RAM befinden und in den EEPROM gespeichert werden müssen um sie dauerhaft zu erhalten? Gute Güte, bring erstmal eine LED zum leuchten bevor nen Bordcomputer baust. Meine Meinung. Gruss!
@Marcus Kempf, klar kann und möchte ich auch nicht mir von anderen mein Projekt erstellen lassen. Da könnte ich es auch gleich kaufen und mir eine Menge Zeit und Arbeit sparen.Allerdings haben andere wesentlich mehr Erfahrung gesammelt als ich und ich denke sie können mich mit ihren Beiträgen davor bewahren mein Projekt zu umständlich oder falsch anzufangen. Ist daran etwas falsch? Meiner Meinung nach nicht, aber es gibt natürlich auch andere Meinungen dazu, die man auch akzeptieren muss. Mir ist auch klar das man ohne Grundlagen (Led blinken etc.) nicht weit kommt. Diese Grundlagen werde ich so bald mein ISP funktioniert auch alle ab arbeiten. Dabei wird einiges etwas transparenter für mich und einige Fragen hätte ich im nachhinein betrachtet, vorher vielleicht garnicht stellen müssen.... Ich habe mir schon gem. Datenblatt einige Pins ausgesucht um bestimmte Signal damit auszuwerten. Die Frage die ich oben stellte basiert also auf der Grundlage zu "überprüfen" ob die von mir gewähleten Pins dazu taugen oder ob es einen besseren Weg gibt. Dennoch danke ich dir für deine Erklärung mit dem RAm und EEprom. Lars
geht das mit den variablen im eeprom speichern nur bei den megas, oder könnte das auch ein 1200 oder 2313? wenn ja, wie geht sowas (in bascom)?
hi! guck dir mal die bascom hilfe an. z.b. unter 'readeeprom' dort ist das genau beschrieben. um eine bytevariable dauerhaft zu erhalten, musst du sie z.b. so definieren: dim b as eram byte MFG Nik
ist das interne eeprom eigentlich ein verschleissteil? also übersteht es nur eine bestimmte anzahl von lese-schreib-zyklen, oder ist es ewig haltbar?
Ist ein Verschleissteil. Siehe Datenblatt 1.Seite hier ein 4433 256 Bytes of In-System Programmable EEPROM Endurance: 100,000 Write/Erase Cycles Ist bei den anderen aber auch nicht viel anderes. MFG Dieter
Hi Lars, dieser Link dürfte für dich interessant sein. http://wwwneu.dlr.de/~kunze/Bewerbung/abs.pdf
Hallo Heinrich, danke für den Link. Ist wie Du schon oben geschrieben hast ist er interessant für mich. Wenn du noch was interessantes finden solltes sag kurz bescheid. Lars
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.