Forum: Mikrocontroller und Digitale Elektronik Pollin NET-IO & 7-Segement-Anzeigen?


von Tibor S. (cc1337)


Lesenswert?

Hi,

bin jetzt auch stolzer Besitzer eines Pollin NET-IO Boards:
http://www.pollin.de/shop/downloads/D810058B.PDF

Funktioniert auf Anhieb, nun aber zur Problemstellung.

Ich möchte das Teil als Solardisplay benutzen. Schreiben der Bits 
bekomme ich per PHP oder sonstwie irgendwie hin denke ich. Aber die 
Hardwarebeene.. :)

Wie bekomme ich die 7-Segment Anzeigen damit betrieben? Brauche 
mindestens 4 Zifern.

Ich hab ja die 8 Digitalausgänge. Dachte ich arbeite mit 
Schieberegistern, habe CD4026B da:
http://www.ti.com/lit/ds/symlink/cd4026b.pdf
Und auch M74HC4094 habe ich da.

Erstere habe ich mal probeweise angeschlossen (Lose im Steckbrett ohne 
µC). Eine schöne "0" leuchtet auch auf. Aber wie erhöhe ich die Zahl? 
Dachte ich schalte dann eben den Portpin so oft ich es brauche an und 
aus. Dann Reset und von neu beim Refresh. Wollte das mal mit nem Kabel 
von 9V an CLOCK-Pin simulieren - tut sich garnix.

Aktuell habe ich am CD4026B belegt: VDD +9V, Vss GND, DisplayOn auf +9V, 
und eben das Display.

Wenn das gehen würde könnte ich ja eine Datenleitung für RESET, die 
anderen 7 für Zahlen nehmen. wäre OPTIMAL! -> Aktuelle Leistung + 
Tagesertrag gleichzeitig darstellen, z.B. 5298W & 23,5kWh :)

Oder bin ich hier ganz falsch unterwegs?

Es gibt ja auch so Webserver. Die bringen mich aber auch nicht weiter 
oder?! 
http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin

Viele Grüße,

CC1337

von Elko4 (Gast)


Lesenswert?

Hi,

falls es dir nur um die Anzeige der Information und nicht um die Größe 
der Zeichen geht, könntes du ein LCD-Display verwenden.
Damit könntest du auch mehr Information gleichzeitig darstellen als mit 
7-Segment-Anzeigen.

hier das passende Tutorial: 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD

Für die ansteuerung der 7-Segment-Anzeigen sehe ich zwei Möglichkeiten:

1. Multiplexen

http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige#Mehrere_7-Segment_Anzeigen_.28Multiplexen.29

2. Ansteuerung über ein entsprechendes IC per I2C-Bus

Beitrag "I2C Treiberbaustein für 7 segment anzeige"

Das entsprechende IC wäre das SAA1064.

MfG

von Karl H. (kbuchegg)


Lesenswert?

> Oder bin ich hier ganz falsch unterwegs?

Bist du.
Den 4026 legst du gleich wieder in die Bastelkiste zurück.

von Tibor S. (cc1337)


Lesenswert?

Hi,

danke für die schnellen Antworten.

Das AVR_NETIO Board unterstützt sogar ein LCD. Aber wie du schon richtig 
vermutet hast, ich will 2cm große Anzeigen, die auch selbst leuchten, 
verwenden.

Das mit dem Multiplexen hab ich gelesen, aber das Problem hier ist: Auf 
dem Atmega ist ja die Pollin FIrmware. Ich kann über LAN ja die 8 
Ausgänge schalten, z.B. vie PHP. Aber da komme ich glaub ich auf keine 
flimmerfreie Wiederholfrequenz :) Das gilt ja auch beim I2C Bus, der 
braucht ja auch eine recht hohe Frequenz. Über LAN die Datenbits setzen 
ist da glaub ich Käse ...
Und die 8 freien Datenleitungen reichen leider auch nicht.


Daher der Ansatz mit den Schieberegistern. Er stammt übrigens von hier: 
http://www.elo-web.de/elo/mikrocontroller-und-programmierung/bascom-avr/digitalvoltmeter-mit-attiny13

Da werden sie eben direkt in BASCOM angeseteuert..
Wenn man auch wegen der langsamen Geschwindigkeit den Hochzählvorgang 
sehen würde wäre das nicht schlimm. Update ist eh nur alle 5 Minuten.

Aber wenn es keine Möglichkeit gibt, so da ranzugehen, brauche ich wohl 
eine eigene Firmware auf dem µC. Und dann eben den I2C Controller etc.

Dann ist die Frage, wie steuere ich den Netzwerkcontroller an...

von Karl H. (kbuchegg)


Lesenswert?

Tibor Schütt schrieb:

> Aber wenn es keine Möglichkeit gibt, so da ranzugehen, brauche ich wohl
> eine eigene Firmware auf dem µC.

Die wirst du sowieso brauchen

> Und dann eben den I2C Controller etc.
>
> Dann ist die Frage, wie steuere ich den Netzwerkcontroller an...

Es gibt auch mehr oder weniger fertige alternative Firmware für das 
Teil. Dort kann man sich das klauen.

von Jens (Gast)


Lesenswert?

CD4511

Bit 0-3 an die Datenleitungen
Bit 4-7 jeweils an einen LE

JJ

von Jens (Gast)


Lesenswert?


von Detlef _. (detlef_a)


Lesenswert?

Ulrich Radigs webserver läuft wunderbar auf dem AVR Netio. Das benutze 
ich immer, wenn ich übers web was schalten will.

Cheers
Detlef

von B. Spitzer (Gast)


Lesenswert?

Tibor Schütt schrieb:
> Das gilt ja auch beim I2C Bus, der braucht ja auch eine recht hohe Frequenz.

Nö. I2C funktioniert sogar mit Schaltern, die von Hand geschaltet 
werden.
Du kannst für die Anwendung nur das Multiplexing per Software vergessen, 
weil sonst dein PHP-Skript nur am rumrödeln ist.
Entweder den angesprochenen Anzeigentreiber SAA1064 nutzen (der macht 
das Multiplexing intern, treibt aber nur 10mA, das wird für die meisten 
7-Segment-Anzeigen zu wenig sein), oder I2C-Portexpander (reizvoll wären 
4 8-Bit Expander, dann kannst Du jede Ziffer einzeln ändern) oder doch 
die Schieberegister-Story, dann aber bitte eines mit Ausgangslatch (z.B. 
74xx591) damit es beim schieben nicht flackert.
Alternativ gibt es auch I2C-Bausteine mit integrierten LED-Treibern 
(konfigurierbare Stromquellen, teils mit Dimmfunktion). Die bekommt man 
aber nicht an jeder Ecke.
Vielleicht ist hier ja was passendes dabei: 
http://ics.nxp.com/products/led.drivers/   oder 
http://www.ti.com/product/tlc59116

tschuessle
Bernhard

von Tibor S. (cc1337)


Lesenswert?

Hi,

das war ja jetzt viel Input :)

Kleines Update meinerseits:

Mit einem BCD-to-7-segment Converter habe ich mit PHP und original 
Atmega32 nun zumindest 2 Zahlen am Laufen: Jeweils 4 Dtaenleitungen / 
zahl, BCD eben... "n00bstyle" - aber ein Anfang :)

Außerdem habe ich jetzt den angesprochenen SAA1064 sowie ein paar 4511er 
geordert.

Parallel dazu habe ich mit einem Atmega32 versucht, einen Webserver, 
genauer NETIO+ 
(http://bascom-forum.de/showthread.php?1282-Die-Versionen) zum laufen zu 
bringen. Da ich das Pollin Evaluationsboard habe muss ich per PonyProg 
flashen, Bascom geht nicht. Deshalb musste ich die Fuses manuell setzen, 
und seitdem mag er den Atmga32 nicht mehr erkennen. Ich habe die Fuses 
im Ponyprog wie folgt gesetzt:

1. Aus dem Programmcode "$prog &HFF , &HFF , &HD3 , &H00" die Low und 
High Fusebits extrahiert: FF und D3 (pos. 2 und 3)
2. http://www.engbedded.com/fusecalc/ benutzt, um sie "lesbar" zu machen
3. In Ponyprog gesetzt

Was kann da schief gelaufen sein? Hab auch mal nen gescheiten Programmer 
geordert, der auch in Bascom geht. Da hab ich bisher nur nen 
selbstgelöteten für den Attiny13/25 :)
Und nen neuen Mega32 / 644...

Ich möchte mich an dieser Stelle schonmal sehr für eure Hilfe bedanken, 
wieder viel dazu gelernt. Noch vor einem Monat hatte ich keinen 
Schimmer, wo ich anfangen soll :)

Viele Grüße,

CC1337

von Jens (Gast)


Lesenswert?

...ich bin gespannt wie es wird. Lass mal ein Bildchen sehen wenn du 
soweit bist!

JJ

von Jens (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.