Hallo Leute, wie in meinen Betreff zu lesen ist bin ich schwerer Anfänger in der Programmierung von AVR. Momentan arbeite ich ein wenig mit den Tutorial's auf dieser Seite. Ich habe noch kein wirklichen Grundwissen in irgendeiner Sprache, außer ein bisschen Basic aus der Hauptschule ;-) Mein Vorhaben ist folgendes: Ich möchte mit den ATtiny15L, den habe ich deshalb ausgewählt wegen des geringen Stromverbrauch und weil er keine externe Beschaltung benötigt, da der AVR im Auto eingesetzt werden soll. Er soll folgende Abläufe regeln: Ich habe einen CarPC im Auto, von diesen CarPC soll er das Zündungssignal steuern und er soll eine Reihe von LED's steuern und vorallem abdimmen per PWM. Wird das Auto aufgesperrt so bekommt der AVR von dem ZV-Modul einen Plus-Impuls, daraufhin soll der AVR für 10 Minuten Strom auf Zündungsplus des CarPc geben, wird Inerhalb dieser 10 Minuten die Zündung nicht aktiviert so fällt das Zündungsplus wieder ab und der PC geht wieder in Ruhezustand. Das nächste ist, wird wenn Zündung an ist, ein Taster betätigt so bleibt die Zünspannung für 30 Minuten erhalten und nach 30 Minuten geht der PC dann aus. Wird das auto aufgesperrt (Also Impuls von der ZV) so sollen die LEDS für 10 Sekunden voll brennen und dann innerhalb von 5 sekunden abdunkeln. Ist die Zündung an sollen die LEDS direkt geschalten werden ohne Timer und abdunkeln. So jetzt frage, geht es überhaupt wenn 1 Timer läuft andere Befehle zu verarbeiten. Weil wenn ich aufsperre dann läuft der 10 Minuten Timer für den Car-PC, zeitgleich würde aber 10 Sekunden Timer für die LEDS und danach die PWM Funktion angehen. Das Wären ja mehrere Prozesse. Dann noch die Frage, als anfänger welche Programmiersprache sollte ich verwenden? Und hat vllt. irgendjemand schon mal sowas ähnliches gemacht? Vielen Dank für euere Hilfe. Gruß Freaky!
> Dann noch die Frage, als anfänger welche Programmiersprache sollte ich > verwenden? Der Tiny15L hat kein SRAM, also tun sich Hochsprachen wie BASIC oder C schwer damit. Ich programmiere den Tiny15 immer in Assembler mit AVR-Studio. ...
Servus, danke für die Info. Und wie klappt das mit der abarbeitung von 2 sachen gleichzeitig? Vielen Dank!
Reinhard Winkelmaier wrote: > Servus, > > danke für die Info. > Und wie klappt das mit der abarbeitung von 2 sachen gleichzeitig? > > Vielen Dank! Das kommt darauf an, wie Du diese Sachen programmierst, also wie Du Dein Programm organisierst. Wenn Du in einer Warteschleife auf das Eintreffen eines Impulses wartest, dann wird es schwierig, mehrere Dinge (quasi) gleichzeitig zu erledigen. Da ich kein Carmodder bin, habe ich mich mit Deiner Aufgabenstellung nicht näher beschäftigt. Daher nahm ich auch nur zur Wahl der Programmiersprache Stellung. ...
Nimm besser erst mal eine AVR CPU mit SRAM und mehr ROM (Mega 8, Mega 16, Mega 32, ...) im DIP-Gehäuse und versuche dein Programm mal in einer Hochsprache (BASIC, C, ...) hinzubekommen; wenn die CPU wirklich doch klein sein soll, dann schau mal nach Tiny 25/45/85 -> die haben SRAM und müssten auch für eine Hochsprache besser geeignet sein.
Servus, klar soweit. Aber im endeffekt kommts ja nicht auf das carmodding an, sonder es ist ja eine einfach aufgabe für einen AVR, die bestimmt überall Anwenund finden würde und net nur in meinen Auto ;) Aber wenn doch 1 Timer läuft steht der Programmablauf still oder? Die Größe des Prozessors wäre mir eigentlich egal. Hauptsächlich geht es um den Strombedarf. Und der Tiny war mir so sympatisch weil er komplett ohne beschaltung auskommt und der Strombedarf im Idle bei 1mA liegt, also kein reset schaltung oder ähnliches. Ein Tip, welche Hochspache ist leichter zu erlernen Basic oder C? Wieso benötigt denn eine Hochsprache den SRAM? Im endeffekt wird doch auch die Hochsprache in Assembler gewandelt mit den Compiler, oder? Vielen Dank!
> Aber wenn doch 1 Timer läuft steht der Programmablauf still oder? Der Timer und die CPU, die das Programm ausführt, sind zwei getrennte Einheiten auf dem Chip, d. h. Timer und Programm können parallel laufen. > Hauptsächlich geht es um den Strombedarf. Der ATtiny25/45/85, wie von Kallius vorgschlagen, braucht in aktivem Zustand (als wenn ein Programm läuft) noch deutlich weniger Strom als der ATtiny15. Da der Controller in deinem Fall aber die meiste Zeit sowieso nichts zu tun hat, kannst du ihn in den Power-Down-Modus versetzen. Dann brauchen die meisten AVRs (auch die größeren) weniger als 1 µA, d. h. du kannst so ein Teil sogar mit zwei Knopfzellen über Jahre versorgen. > Und der Tiny war mir so sympatisch weil er komplett ohne beschaltung > auskommt Das tun alle AVRs. > und der Strombedarf im Idle bei 1mA liegt, Auch im Idle braucht der ATtiny25/45/85 bei gleicher Taktfreqeuenz weniger. > also kein reset schaltung oder ähnliches. Brauchst du normalerweise bei keinem AVR. > Ein Tip, welche Hochspache ist leichter zu erlernen Basic oder C? Für die meisten wahrscheinlich Basic, zumal du das ja schon in der Schule ein wenig gelernt hast. Vorteil von C: Es ist standardisiert. Wenn du es einmal beherrschst, kannst du damit, ohne jedesmal eine neue Sprache lernen zu müssen, praktisch alle Computer programmieren, angefangen vom Mikrocontroller über PDAs, PCs und Großrechner bis hin zum Supercomputer. Aber du kannst natürlich auch mit Basic beginnen und später C (und vielleicht Assembler) lernen. > Wieso benötigt denn eine Hochsprache den SRAM? Im endeffekt wird > doch auch die Hochsprache in Assembler gewandelt mit den Compiler, > oder? Das ist richtig. Eine Hochsprache an sich braucht auch nicht grundsätzlich RAM, solange alle alle Daten, mit denen gerechnet wird, in die Prozessorregister passen (die AVRs haben immerhin 32 davon). Allerdings sind die meisten Hochsprachencompiler, darunter auch der AVR-GCC und der Bascom, darauf ausgelegt, Daten in einem RAM ablegen zu können. Deswegen werden bspw. ATtiny11, 12 und 15 vom GCC nicht unterstützt. Kluge Köpfe haben zwar auch hier schon eine Möglichkeit gefunden, diese Einschränkung zu umgehen, und auch neuere Bascom-Versionen sollen ohne RAM auskommen können, aber wirklich sinnvoll programmieren kann man damit sicher nicht. Wieso kaufst du dir nicht für's erste ein preisgünstiges AVR-Board, wie z. B. das von Pollin für 14,95, eine Hand voll AVRs in verschiedenen Größen (z. B. ein ATtiny45, ein ATmega8 und ein ATmega32, in das Pollin-Board passen unterschiedliche Typen) für zusammen ein paar Euro und fängst an, mit der Demoversion von Bascom oder WinAVR (GCC) rum zu probieren. Anfängertutorials gibt es hier auf der Webseite.
Noch zu Info: ... das von Pollin für 14,95, eine Hand voll AVRs in verschiedenen Größen (z. B. ein ATtiny45, ein ATmega8 und ein ATmega32, in das Pollin-Board passen unterschiedliche Typen) ... -> die Tinies 25/45/85 gibt es bei Pollin nicht; auf dem Board von Pollin ist auch in der Version 2 ein 8-poliger Sockel für den den Tiny 15, aber dort passt auch der Tiny 25/47/85 rein, da er die gleiche Belegung der ISP-Pins hat.
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.