ATmega64 programmieren

Hallo zusammen,

wir stehen gerade vor der Entscheidung ein Projekt mit einem ATmega64 zu starten. Die Hardware steht aber die Software noch überhaupt nicht.
Nun stehen wir vor der Frage, ob wir hierfür einen Externen Entwickler einschalten, oder ob wir uns in die Thematik selber einlernen.

Im Studium hat man zwar mal ein bisschen programmiert, aber das ist alles schon soo lange her…

Kurz zum Projekt wir haben:

  • Mehrere analoge Ein- und Ausgänge
  • 2 Kommunikationsschnittstellen via Modbus
  • PID Regler

Ist es möglich sich in einem Zeitrahmen von max 6 Monaten dies anzueignen?
Wenn man davon ausgeht, das keine µC Kenntnisse vorhanden sind und die C-Programmierung auch noch in den Kinder-Schuhen steckt?
Gibt es spezielle Schulungen für diesen Prozessortyp? Bietet die Atmel vielleicht solche an? Beim Selbststudium mittels Internet und Bücher ist der Zeitaufwand für den Start zu groß.

Internette Grüße
Vincenzo Nuzzi

Hallo Vincenzo,

Ist es möglich sich in einem Zeitrahmen von max 6 Monaten dies
anzueignen?
Wenn man davon ausgeht, das keine µC Kenntnisse vorhanden sind
und die C-Programmierung auch noch in den Kinder-Schuhen
steckt?

Nein, das kannst du vergessen in 6 Monaten C zu lernen, sich das ganze Wissen über den µC anzueignen und dann noch schnell ein stabiles Produkt zu entwickeln.

MfG Peter(TOO)

Vielen Danke für die schnelle Antwort…

das habe ich mir auch fast so gedacht, wollte es aber von jemandem hören der Ahnung davon hat :smile:

Hallo Fragewurm,

das habe ich mir auch fast so gedacht, wollte es aber von
jemandem hören der Ahnung davon hat :smile:

Ich würde es mir knapp zutrauen, 6 Monate, neue Programmiersprache und neuer µC.

Aber bei mir stehen da über 30 Jahre Berufserfahrung, diverse Assembler, diverse Programmiersprachen und jede Menge unterschiedliche µC dahinter.

MfG Peter(TOO)

Sowohl als auch
Hallo,

Nun stehen wir vor der Frage, ob wir hierfür einen Externen
Entwickler einschalten, oder ob wir uns in die Thematik selber
einlernen.

wenn das Projekt nicht unwichtig ist, und der Externe nach 6 Monaten wieder gehen soll, dann sollte sich einer von Euch parallel einarbeiten, damit er es weiterpflegen und notfalls auf eine geänderte Plattform portieren kann.

Gruß
achim

Hallo Achim,

so haben wir es uns auch angedacht. Wenn es sehr einfach wäre, hätten wir uns den Externen sparen können, weil sich ja sowieso einer von uns da einlernen müsste.
War uns aber irgendwie von vorneherein klar das dem nicht so ist…

Wie sieht es mit dem einlernen aus, hat vielleicht jemand einen Tip, wie das am einfachsten geht? Ich weiß das es für den Arduino sehr viel Informationen gibt und der Einstieg sehr einfach gehalten ist, aber bringt er mir auch was wenn ich einen reinen ATmega programmieren will. Soweit ich gehört hab, sind beim Arduino schon sehr viele „wichtige“ funktionen vorgegeben die man für eine „standard“ Programmierung benötigt?
Gibt es für die STK-boards ähnliche Einstiegsmöglichkeiten? Bei Pollin gibt es auch ein ATMEL Evaluationsboard, reicht das auch?

Sorry für die vielen Fragen…:smile:
Internette Grüße
Vincenzo

Hallo Vincenzo,

Wie sieht es mit dem einlernen aus, hat vielleicht jemand
einen Tip, wie das am einfachsten geht? Ich weiß das es für
den Arduino sehr viel Informationen gibt und der Einstieg sehr
einfach gehalten ist, aber bringt er mir auch was wenn ich
einen reinen ATmega programmieren will. Soweit ich gehört hab,
sind beim Arduino schon sehr viele „wichtige“ funktionen
vorgegeben die man für eine „standard“ Programmierung
benötigt?

Der Arduino hat ein einfaches Betriebssystem, welches einfache grundlegende Funktionen zur Verfügung stellt.

Das ist dann in etwa so, wie Mac und PC, mittlerweile verwenden beide die selbe CPU aber unterschiedliche Betriebssysteme.

Gibt es für die STK-boards ähnliche Einstiegsmöglichkeiten?
Bei Pollin gibt es auch ein ATMEL Evaluationsboard, reicht das
auch?

Die grundsätzliche Frage ist, ob im Gerät später fertige Arduinos verbaut werden sollen oder ob da eine eigene Hardware rein kommt?

Bei µCs ist es so, dass man aus Kostengründen denjenigen wählt, welcher am wenigsten, für das Projekt, überflüssige Funktionen enthält. Dies ist auch der Grund wieso jeder Hersteller -zig Varianten anbietet.

Der andere Grund sich für einen bestimmten µC zu entscheiden ist der Entwickler. Jeder µC hat seine bestimmten Tücken, bzw. man muss wissen wie man bestimmte Funktionen einsetzen kann/muss. Manchmal liegt es nur daran, dass beim Initialisieren eines Bausteins eine bestimmte Reihenfolge eingehalten werden muss, wenn nicht, sucht man vielleicht tagelang den Fehler. Das steht zwar alles in den Handbüchern, aber heute sind das bei einem µC locker um die 2’000 Seiten und da muss man die passende Seite erst mal finden (manchmal ist das auch nur eine Fussnote).

Welches Evaluationsboard man nimmt ist eigentlich egal. Das Teil hilft nur insoweit, dass man etwas hat, was von Anfang an funktioniert und darauf kann man dann aufbauen. Machst man die Hardware auch selber, weiss man nicht ob der Fehler in der Software oder der Hardware zu suchen ist. Zudem hat so ein Evaluationsboard mindestens schon Möglichkeiten ein Programm zu laden.

Der µC ist vergleichbar mit einem Wasserkocher.
Heisses Wasser machen alle, manche schneller und manche langsamer, alle machen eine unterschiedliche Menge an heissem Wasser und der Schalter befindet sich auch an unterschiedlichen Orten. Und manche Hersteller mag man lieber als andere.

MfG Peter(TOO)

Hallo Peter,

erstmal vielen Dank für deine Antworten…Hab von dir jetzt schon zu vielen Themen sehr gute Antworten bekommen.

Da das „Hauptprogramm“ bei diesem Projekt eh von einem Externen durchgeführt wird. Werden wir hier auch nichts großes Ändern.
Mögliche Änderungen wären z.B.
Standard: 0-10V Ausgang = Tempgeregelt …
Neu: 0-10V Ausgang = Steuerung über externes 0-10V Signal.
Wobei an der Hardware nichts verändert wird. Somit werde ich auch
nicht wirklich mit den prozessortechnischen Abläufen in Konflikt kommen.

Es wird definitiv kein Arduino verbaut. Der Prozessor steht als ATmega64A fest. Mein Gedankengang war einfach, das beim Arduino dann genau wie bei unserem Projekt die prozessortechnischen Abläufe schon vorgegeben sind und ich nur einzelne Parameter ändere, ich somit einen leichteren Einstieg habe.
Außerdem könnte ich mein Wissen dann auch einfacher mit kleinen Projekten privat nutzen, ohne noch ne Hardware dazuentwickeln zu müssen :wink:
Es wäre halt weniger von Vorteil, wenn ich mir das Wissen, welches ich mir über einen Arduino aneigne nicht auf das laufende Projekt übertragen könnte.

Internette Grüße
Vincenzo