Hallo allerseits! Ich möchte zwei dreistellige 7-Segmentanzeigen betreiben (10cm hoch). Allerdings befindet sich eine davon ca. 100m vom ATMega8 enfernt. die andere nur wenige Meter. Die beiden Anzeigen stellen immer exakt das gleiche dar. Wegen des Verkabelungsaufwandes werde ich die Ansteuerung glaub ich mit einem MAX7221 (oder 7219 Unterschied?) verwirklichen. sind 100m nun zu weit für den SPI-Bus? Wenn nein, eignet sich ein Netzwerkkabel (CAT7) für die Übertragung der Daten und Versorgungsspannung? Um etwaige Leitunsverluste bei der Versorgung zu umgehen, habe ich mir gedacht die Spannung bei der Quelle nach dem Gleichrichter abzugreifen, und erst bei den Displays einen 7805 setzen. Kann ich die beiden Displays parallel zum µC verbinden (sie sollen das gleiche anzeigen), oder muss ich von einen MAX7221 zum zweiten weitergehen? Im Anhang noch die Beschaltung des MAX7221, wär nett wenn mir jemand sagen könnte, ob ich die Grundlagen über das Anschließen von 7-Segmentanzeigen richtig verstanden habe!
bei 100m wirst um irgendwelche Leitungstreiber nicht umhin kommen, das einfachste werden wohl RS485-Treiber sein. Die 5V solltest du auf jeden Fall vor Ort erzeugen. Allerdings brauchst du 3 Signale, um den MAX anzusteuern, Data, clk und load, bei RS485-Treibern macht das 6 Signaladern + Masse + Vcc. Stromschnittstelle wäre auch denkbar, braucht dann 3 Adern weniger. Vielleicht die einfachste Lösung: vor Ort nochmal einen kleinen MC platzieren und nur ein UART-Signal übertragen, kommt dann mit einer Signalleitung aus. Dezentral machst du dann die UART->SPI-Wandlung.
Yep, U(S)ART vom ATTINY2313 hat sich als sehr stabil bei langen Kabeln herausgestellt, an beiden Enden gut terminieren und eine niedrige Baudrate wählen, dann sollte das entfernte Disp noch alle Daten mitbekommen. Verdrahtungsaufwand: 3 Adern (Vcc/GND/TX->RX).
Danke erstmal für eure Antworten! Also wenn ich nur ein UART-Signal übertrage brauche ich keinen Leistungstreiber? Sondern nur am anderen Ende einen kleinen µC bei der Anzeige? Meinen "Haupt-µC" verwende ich allerdings auch um Daten zu einen PC zu schicken. Dann müsste ich also einem MAX232 und dem ATTiny2313 kommunizieren. Funktioniert das? Meine Kenntnisse in diesem Bereich sind beschränkt, ich würde ehrlichgesagt eine andere Lösung vorziehen. Wenn es eine gibt natürlich.
Also wenn schon max232, dann auf beiden Seiten, ansonsten reicht auch das nackte 5V-TTL-Signal; bei geschirmter 2-adr. Leitung und guter Terminierung. Das USART im ATTINY2313 hat den Vorteil, daß es die ankommenden Signale sampled und vergleicht, bevor es die Entscheidung 1 oder 0 trifft. Dies trägt einer niedrigen Fehlerrate entscheidend bei. Sicher geht das Ganze auch ohne Controller, aber dann mit mehr Drähten und nicht so elegant. Und Dein HauptController muß nur einen Pin opfern, um die Daten zu veschicken (vornehmlich einen UART -ausgang)
Sorry, ich glaube du hast mich falsch verstanden. Ein ATMega8 verschickt daten an einen PC in geringer Entfernung. Daher der MAX232. UND weiters möchte ich Daten auf die ca.100m entfernte 7-Segmentanzeige bringen. Ich brauche das USART also für die Kommunikation zum PC und für die Kommunikation zum Display. Funktioniert das? Ich hab noch nie damit gearbeitet. daher macht mir das etwas Sorgen.
Klar Du brauchst 2 * RS232 Treiber (AVR) und 2 RS232 Empfänger (Display). MOSI --- Treiber ------------------------------ Empf. ----- MISO-Displ. CLK --- Triber ------------------------------- Empf. ----- CLK-Displ. Also 3 Leitungen, GND, RS232-MOSI, RS232-CLK
Also Deine Schaltung kann nicht funktionieren. Was sollen denn die UDNs darin, die setzen doch nur die Strombegrenzung außer Kraft. Der MAX7219 dürfte generell nicht für 100mm Anzeigen geeignet sein, da diese viel Spannung benötigen. Schau Dir mal den M5451 an, der kann an max 15V arbeiten: http://www.st.com/stonline/books/ascii/docs/10411.htm Peter
Die UDNs hab ich reingegeben, weil ich dachte der MAX7219 kann den Strom nicht liefern. Das ist also Blödsinn. Der M5451 ist dem M7219 bezüglich Funktionsprinzip, Ansteuerung etc. eigentlich ganz ähnlich bis auf die höhere Spannung , oder? Wäre euch dankbar wenn ihr mir nochmal genau erklären könnten wie ich die Sache angehen sollte. Die direkte Übertragung via SPI-Bus über 100m funktioniert also nicht. Nur das UART-Signal zu übertragen würde funktionieren. Hierfür bräuchte ich allerdings am anderen Ende auch einen µC. Ich hoffe soweit habe ich das richtig verstanden. Vielleicht hat ja jemand eine ganz andere Idee. Gibt es z.B. eine kostengünstige Lösung das SPI-Signal drahtlos zu übertragen? danke!
OK, ich hab jetzt diverse Datenblätter durchforstet, weiß aber nicht nach welchen Kriterien ich diesen Treiber auswählen muss. könnt ihr mir einen konkreten vorschlagen? Und mal grundlegend erklären was der macht und wie ich den in die schaltung integrieren muss? Bräuchte ich für die Übertragung des UART-Signal auch einen Treiber? danke
Beispiel: AM26LS32 Treiber für SCK und MOSI am Controller. AM26LS31 Receiver am 7-Segment-IC. Evtl. gibt's auch welche mit nur je 2 pro IC, wie µA9638 und Co. Macht GND+2xSCK+2xMOSI also 5 Leitungen Minimum, mit MAX7221. MAX7219 geht nicht, der geht ohne LOAD nicht, der 7221 hingegen geht mit CS=0. Alternativ mit RS485 Treiber (z.B: 75176) für den Transmitter. Als Receiver entweder einen µC der die LED gleich selbst treibt, oder einen 8-pin Tiny mit dem Analog Comparator als Receiver und Software UART. Braucht nur 3 Leitungen.
Beispiel für 8-Pin Tiny als Receiver, und wie man ohne synchronen Takt und ohne kalibierten Oszillator arbeiten kann. Wenn man beim Sender einen Timer von irgendwo zwischen 100 und 50000 Hz rumliegen hat, der noch einen PWM-Ausgang frei hat. Beispiel für 1000Hz: Puls 100µs = low, Puls 300µs = high, Puls 600µs = Übertragungsende. Aufwand Sender: 1mal pro Timer-Interrupt das OC-Register setzen. Programmieraufwand Tiny: minimal. Hardware: Sender: 75176. Empfänger: Tiny1x mit Analog-Comparator als Receiver (2 Pins), SPI Ausgang (2-3 Pins je nach MAX-Typ). Kabel: praktisch alles mit mindestens 3 Pins.
Danke! Das sieht mir nach einer passenden Lösung aus. Ich werde mich dann mal intensiv in die Materie einlesen müssen. Mit weiteren Fragen meld ich mich dann wieder ;-) Wird wahrscheinlich nich allzulange dauern. mfg
"Der M5451 ist dem M7219 bezüglich Funktionsprinzip, Ansteuerung etc. eigentlich ganz ähnlich bis auf die höhere Spannung , oder?" Der M5451 macht kein Multiplex sondern steuert jedes Segment direkt an. Für Deine 3 Digits reichen die 35 Ausgänge dicke aus. Die Ansteuerung ist auch seriell, aber sonst wenig ähnlich. Der M5451 wartet aber auf ein Startbit und dann kommen alle 35 Ausgangsbits. Du brauchst also nur 2 Signale und die kannst Du prima über 2-fach differentielle Treiber (SN75158) / Empfänger (SN75157) übertragen. Peter
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.