ATMEL programmieren, z.B. Datenlogger

      ATMEL programmieren, z.B. Datenlogger

      Erste Gedanken zum Projekt mit ATmega

      Letztens schrieb ich, mir schwebt ein Datenlogger für Netzspannung vor, längerer Zeitraum.
      Da bietet sich z.B. ein ATmega8 an, ist aber für mich mehr oder minder Neuland.
      Vor Jahren kaufte ich mal das einfache Entwicklerboard im Bild, probierte es noch nicht aus.
      Es ist das hier, leider nicht mehr erhältlich, jedoch noch Anleitung mit Schaltbild verfügbar:
      pollin.de/p/atmel-evaluations-…sion-2-0-1-bausatz-810038

      Wer hat Erfahrungen auf dem Gebiet, programmierte schon selbst solche Vielbeiner?

      Ganz unbedarft bin ich nicht, lernte damals sogar etwas Maschinensprache.
      Vermutlich werde ich C nehmen, einfache Sachen schrieb ich schon damit.
      Auch scheint mit C sehr hardwarenahes Programmieren möglich zu sein, kleine Programmdatei.

      Ich liebäugele mit einem ATmega8, gängig, kostet nicht viel und hat einen AD-Wandler 10 Bit.
      10 Bit ist bekanntlich 2^10 = 1024.
      Nehme ich als kleinste Auflösung 0,25 Volt (mit Teiler zuvor), geht 0 bis 255,75 Volt.
      Das ist ein prima Bereich für Netzspannung, nominell 230 Volt.
      Der ATmega kommt natürlich nicht direkt an Netzspannung, kleiner unbelasteter Printtrafo davor.

      Der Logger soll direkt die Spannung anzeigen, wird wohl 7-Segment LED werden.
      Von Maxim und anderen Firmen gibt es den MAX7219, kann bis zu 8 Digit, 5 benötige ich.
      Der MAX7219 wird seriell gefüttert, eine Art Schieberegister mit CLK und DATA.
      Dann will ich natürlich die Einzelmesswerte speichern, S-RAM oder extern über z.B. RS232.

      Ich plane, in Einzelschritten vorzugehen, gilt für Hardware und Programmcode.
      Im ersten Schritt werde ich nur den AD-Wandler aktivieren, z.B. eine Messung pro Sekunde.
      Die Bits lege ich auf die IO-Ports, sehe mir das Bitmuster mit LEDs an, mehr noch nicht.
      In der nächsten Stufe widme ich mich der 7-Segmentanzeige, Wandlung in Seriell für MAX7219.
      Ist das was geworden, geht es weiter mit der Datenspeicherung.
      Da bin ich noch ernsthaft am überlegen, am liebsten in USB-Stick, günstige Massenware.

      Das sind erst mal so meine Ideen.
      Vermutlich werde ich mich über Wochen oder Monate immer wieder mal ein paar Stunden hinsetzen.
      Kommentare sind willkommen!
      Die dürfen auch ausschweifender sein, allgemeine Erfahrungen zum Thema ATMEL und Co.
      Wird das was mit dem Datenlogger, stelle ich den in einem eigenen Thema zwecks Nachbau vor.

      Andreas
      Bilder
      • atmel-board.jpg

        164,35 kB, 800×600, 3 mal angesehen
      Was bedeutet DL2JAS? Amateurfunk, www.dl2jas.com
      Welch Zufall, gerade habe ich für einen digital steuerbaren Equalizer mein altes Experimentierboard von Pollin entstaubt. Ich hatte mir damals noch das Erweiterungsboard von Pollin geholt. Dort sind 8 weitere LEDs, 8 Taster, ein LCD-Zeilendisplay und noch etwas anderes Gedöns drauf. Alles über Steckbrücken frei den Ports zuordenbar.

      Zum Datenlogger: Der ATMEGA8 sollte locker der Aufgabe gewachsen sein. Es wäre sogar möglich, alle drei Phasen zu überwachen, er hat genügend ADC-Eingänge.
      Ich würde relativ schnell auf ein LCD-Display zur Anzeige wechseln, es ist flexibler als 7Segment und auch sehr gut für das Debuggen zu gebrauchen.
      Ich habe mit C und mit Bascom hantiert, in C kann man die WinAVR-Suite nutzen und hat keine Beschränkung in der Größe der kompilierten Datei. Aber für einen Datenlogger dürften auch die 4k der Trialversion von Bascom reichen. Der Vorteil ist, dass es schon vorgefertigte Hochsprachenbefehle für ADC und Display gibt. Mittlerweile sind auch Beispielprogramme für die Einbindung von SD-Karten im Web verfügbar, es ist also alles da, was man für einen Datenlogger benötigt.
      In C muss man sich die Bibliotheken selber suchen und verlinken. Geht aber auch, ist nur etwas mühsamer. Dafür gibt es keine Programmbegrenzung. Ob sich die Größe stark unterscheidet, kann ich nicht sagen, aber selbst in Bascom kann man optimieren, z.B. indem man sich um den AD-Wandler selber kümmert, d.h. direkt dessen Steuerregister beschreibt und liest.


      Viele Grüße
      Christian
      **************************************************
      2 + 2 = 5 (für extrem große Werte von 2)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „chriss_69“ ()

      Auf die Idee mit drei Phasen kam ich zwischenzeitlich auch!

      Das Umschalten werde ich jedoch auf der Netzspannungsseite machen.
      Ich will möglichst keine Netzspannung am ATMEL haben, Trafo davor.
      Würde ich drei Trafos nehmen, ist das etwas mehr Materialaufwand.
      Zudem, Toleranzen beim Wickeln entfallen bei einem einzigen Trafo.

      LED ist mir eigentlich lieber wegen der Ablesbarkeit.
      Fertiges LCD-Modul hat den großen Vorteil bei der Einbindung.
      Damit ist man wesentlich flexibler, allein schon wegen der Stellen und auch Text.
      Für die Anzeige werde ich vermutlich eine Schnittstelle einplanen.

      Andreas
      Was bedeutet DL2JAS? Amateurfunk, www.dl2jas.com