2k Flash für Projekt ausreichend?

#3270995
Lesenswert?

Hallo,

ich will mit einem Attiny 2313 eine Temperaturregelung für einen Lüfter 
aufbauen. Leider kann ich nicht abschätzen ob die 2k Flash des Attiny 
2313 für das Programm ausreichen. Da ich momentan den Schaltplan 
erstelle wäre es gut, wenn mir jemand anhand seiner Erfahrungen sagen 
könnte, ob der Flash für die folgenden Funktionen ausreicht oder ob ich 
auf einen anderen Controller umsteigen muss. Natürlich hängt das auch 
vom Programmierstil ab. Aber den kann man bei Bedarf ja verbessern.

Hier die Funktionen:

- Kommunikation mit übergeordnetem Controller über SPI
- Temperaturmessung mit DS1820 über 1Wire
- Lüfterdrehzahlregelung (PID-Regler) mit Hardware-PWM
- Messung der Lüfterdrehzahl (vermutlich mit INT0-Interrupt)

- Nur während der Entwicklung und dem Debuggen: Datenausgabe über UART

Können die 2k hierfür reichen?

Danke
matt
#3271090
Lesenswert?

Hallo 4toTakoe,

wie kommst du darauf, dass der Aufwand übertrieben ist?
Was könnte man deiner Meinung nach vereinfachen?

zu 1) Da die Regelung ein Subsystem eines größeren Systems ist, kann ich 
auf die SPI-Kommunikation nicht verzichten.

zu 2) Eine Temperaturmessung muss natürlich stattfinden.

zu 3) Der eigentliche Regler, der wird benötigt.

zu 4) Kontrolle ob sich der Lüfter tatsächlich dreht. (Die Info könnte 
man eventuell auch von dem Temperaturverlauf ableiten, aber einen 
digitalen Eingang habe ich gerade noch übrig ;-) ).

Danke schonmal!
#3271195
Lesenswert?

Für das Debuggen will ich diverse Ausgaben über den UART erstellen.
Ich habe gemerkt, dass die Ausgabe von Strings recht viel Data Memory 
benötigt.

Da ich in der Regel die einzelnen Module des Programms einzeln debugge 
bin ich auf die Idee gekommen verschiedene Debug-Modes zu definieren.
1
/* DEBUG-MODE
2
 * ==================
3
 * 0: keine DEBUG-Funktionen
4
 * 1: SPI-Debug
5
 * 2: Temperatur-Debug
6
 * 3: Regler-Debug
7
 */
8
#define DEBUG_MODE  0

Gibt es für den gcc Kompiler Befehle mit denen ihm zum Beispiel sowas 
gesagt werden kann:

Wenn DEBUG_MODE == 1, dann kompiliere die nächste Zeile, ansonsten 
betrachte die folgende Zeile als Kommentar.

Gibt es sowas? Unter welchen Stichwort findet man da was?

Danke
Gast #3271216
Lesenswert?

Matt B. schrieb:
> Da ich in der Regel die einzelnen Module des Programms einzeln debugge
> bin ich auf die Idee gekommen verschiedene Debug-Modes zu definieren.

Mach doch nicht solche Umstände.
Nimm einen ATmega88, der keine Tricksereien braucht. Oder die 
pinkompatiblen ..48/168/328. Die haben beim DIL-Gehäuse nur 8 Pins mehr 
und noch einen ADC, falls dieser sich als zweckmäßig erweisen sollte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren