Hallo zusammen, ich bräuchte mal einen Denkanstoß in die hoffentlich richtige Richtung. Ich möchte mir für meine CNC-Fräse eine Positionsanzeige der X-, Y- und Z-Achse bauen. Das Ganze soll mit 7-Segment-Anzeigen realisiert werden, da die Anzeige auch auf 2 Meter gut abzulesen sein soll. Nun mein Problem: Ich brauche pro Achse 8 Dezimalstellen. 3 X 8 = 24 7-Seg.-Anzeigen 7 x 24 = 168 einzelne Ausgänge am µC. Lösung: Schieberegister und für jede 7-Seg.-Anzeige einen Transistor, der selbige ansteuert, wenn sie aktualisiert/angezeigt werden soll. Soweit so gut. Damit kann ich die Anzahl der Ausgänge schon mal reduzieren. Mit dieser Lösung bräuchte ich pro Achse 1 Schieberegister und 7 Transistoren. Macht 10 Ausgänge pro Achse - in Summe 30. Macht es nun Sinn oder funktioniert das überhaupt, dass ich die Ansteuerung der Transistoren ebenfalls über ein Schieberegister laufen lasse? Getreu dem Spruch: "Kann man so machen... Ist dann aber sche...!" Somit bräuchte ich ja nur noch 4 Schieberegister zu je 3 Anschlüssen und käme mit nem kleineren µC hin. Bleibt nur die Frage nach der Aktualisierungsgeschwindigkeit. Wenns flackert siehts doof aus... Meinungen? Vorschläge?
Vergiss das Gebastel, billiger als die Anzeigen alleine: https://www.ebay.de/itm/MAX7219-8-Digit-LED-Display-7-Segment-Digital-Tube-For-Arduino-Raspberry-Pi/272384086860 (du hast ja nicht geschreiben, wie gross die Ziffern sein sollen).
Was du suchst ist Multiplexen: https://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige
Hallo Ich würde immer 8 zusammenfassen. Also 3x8 und jede Anzeige über ein Schieberegister 4094 ansteuern. Macht dann 24 4094 und 9 Leitungen am Controller. Wenn du die Anzeige mit 5V betreibst, brauchst du auch keine Widerstände. Passen alle unter die Segmentanzeige. Steuere damit auch 8 Anzeigen. Die Geschwindigkeit ist sehr schnell bei der Anzeige. Da brauchst du dir keine Gedanken machen.
Hallo, > Dominik H. schrieb: > Ich möchte mir für meine CNC-Fräse eine Positionsanzeige der X-, Y- und > Z-Achse bauen. > Das Ganze soll mit 7-Segment-Anzeigen realisiert werden, da die Anzeige > auch auf 2 Meter gut abzulesen sein soll. Das ist kein wirklicher Grund. Was willst du dafür ausgeben. Falls es richtig LowCost sein soll, dann nimm die fertigen Module, die dir Laberkopp oben zeigt. Alternativ sind auch schöne große LCD-Panels mit ordentlicher Hintergrundbeleuchtung ein Option z.B. 4x20 Zeichen. Dann reicht ein ganz kleiner uC für den 8 Bit-Datenbus und ca. 3 Steuerleitungen. Große Panels sind allerdings nicht ganz billig. https://www.reichelt.de/LCD-Module-DIP-Anschluss/EA-DIP203B-4/3/index.html?ACTION=3&GROUPID=3009&ARTICLE=129612&START=0&OFFSET=16& oder noch besser richtig schön groß: https://www.reichelt.de/LCD-Module-DIP-Anschluss/EA-DIP203B-6/3/index.html?ACTION=3&GROUPID=3009&ARTICLE=129614&START=0&OFFSET=16& > Meinungen? Vorschläge? Stichworte: Multiplexen wurde schon genannt. http://lednique.com/display-technology/7-segment-display-basics/ Allerdings sollte man das nicht übertreiben, wenn die Segmente hell leuchten sollen. Die Pulsströme müßten sonst sehr groß werden. Dass es BCD to 7-Segment-Decoder gibt ist dir bekannt? Da brauchst du nur noch 4 Steuerleitungen, die du auch per Schieberegister ansteuern kannst. Gruß Öletronika
Dominik H. schrieb: > Nun mein Problem: > Ich brauche pro Achse 8 Dezimalstellen. > > 3 X 8 = 24 7-Seg.-Anzeigen Und der ganzzahlige Anteil wird nicht angezeigt ? > Lösung: Schieberegister und für jede 7-Seg.-Anzeige einen Transistor, > der selbige ansteuert, wenn sie aktualisiert/angezeigt werden soll. Hmmm, das ist nur eine mögliche Lösung aber bestimmt nicht die Beste. > Meinungen? Vorschläge? Nimm doch 3 * MAX7219, dann brauchst du nur 2 Data Leitungen plus 1 Steuerleitung, ergibt 3 Leitungen insgesamt (und das für beliebig viele Anzeigen). Dann kannst du auch die Helligkeit einstellen.
Dominik H. schrieb: > Das Ganze soll mit 7-Segment-Anzeigen realisiert werden, da die Anzeige > auch auf 2 Meter gut abzulesen sein soll. Da reichen Anzeigen mit 13-14 mm Ziffernhöhe. Die einfachste Ansteuerung ist seriell mit Schieberegistern; ohne Flackern, ohne pulsierende Ströme bei der Spannungsversorgung, wenige Pins zu Ansteuerung, kaskadierbar und auch in größerer Entfernung vom µC betreibbar. Beispiel für sechs Stellen: http://mino-elektronik.de/7-Segment-Variationen/LCD.htm#led1 Eine Alternative wäre ein TFT mit 4,3" oder 5,7" mit RS232-Ansteuerung.
Da die Anzeige schön hell werden soll würde auch ich jeder Anzeige ein Schieberegister spendieren. Ich benutze dazu gerne den 75HC595 mit 10mA LED-Strom. Falls es besonders große Anzeigen sind, die mehr als 4V oder 10mA brauchen, dann nimm welche mit gemeinsamer Anode und Schieberegister vom Typ TPIC6B595. Der hat die Transistoren schon integriert, sie vertragen 150mA.
Alternativer Vorschlag: Nimm ein 2.8-Zoll Nextion-Display mit vorgeschaltetem Arduino. Da kannst du noch zusätzliche Text/Statusanzeigen unterbringen oder z.B. für die Koordinaten unterschiedliche Farben verwenden usw. Nextions haben einen eigenen Controller und kommunizieren per RS232 auf Kommando-Basis, entlasten damit den steuernden Controller extrem. Und bereits mit an Bord: Ein Touchscreen (und entsprechende Button-Objekte in der Firmware), kann man nutzen, muss man nicht ... aber der Appetit kommt bekanntlich beim Essen ... :-) Beispiele: https://www.youtube.com/watch?v=A4_mC6n_ajc https://www.youtube.com/watch?v=wr8Tif5CjHs
:
Bearbeitet durch User
Dominik H. schrieb: > Ich möchte mir für meine CNC-Fräse eine Positionsanzeige der X-, Y- und > Z-Achse bauen. > Ich brauche pro Achse 8 Dezimalstellen. > 3 X 8 = 24 7-Seg.-Anzeigen > 7 x 24 = 168 einzelne Ausgänge am µC. Das erscheint mir auf so vielen Ebenen falsch. Warum soll eigentlich ein µC die Anzeigen steuern? Sind doch am Ende nur Zähler. Und wieso eigentlich ein µC für alle drei Achsen? Die Achsen sind doch unabhängig. Last not least gibt es für genau diesen Anwendungsfall fertige IC wie den bereits angesprochenen MAX7219. Oder wenn man statisch ansteuern will, TPIC6B595. Das eigentliche Problem bei dieser Aufgabenstellung ist ja wohl die Positionserfassung selber. Denn es versteht sich von selbst, daß man die reale Position des Werkzeugs erfassen und nicht nur die Sollposition anzeigen will. Bei 8 Stellen wird man nicht mehr als 3 vor dem Komma brauchen (dann geht es bis 999mm = knapp 1m). Das LSD ist dann 10µm. Ich frage mich, wie du das messen willst.
Michael B. schrieb: > Vergiss das Gebastel, billiger als die Anzeigen alleine: > > Ebay-Artikel Nr. 272384086860 Bei den Preisen ist selbst das Nachdenken, wie man es anders machen kann, Verschwendung. Ebenfalls die Überlegung, ob man 8 Stellen braucht. Axel S. schrieb: > Das eigentliche Problem bei dieser Aufgabenstellung ist ja wohl die > Positionserfassung selber. Ich hab das mal mit nem billigen digitalen Messschieber gemacht. Die haben eine digitale Schnittstelle, mit der man den Messwert auslesen kann. Den dann passend bearbeiten und an der richtigen Stelle andübeln. Dazu noch ein kleiner µC und eine USB Wandwarze und fertig ist eine Positionsanzeige für ganz kleines Geld. MfG Klaus
Frank E. schrieb: > Nimm ein 2.8-Zoll Es geht hier nicht um eine Großbildleinwand in der Puppenstube, sondern um eine Anzeige, die sich aus Entfernung ablesen läßt. Axel S. schrieb: > Das erscheint mir auf so vielen Ebenen falsch. Warum soll eigentlich ein > µC die Anzeigen steuern? Sind doch am Ende nur Zähler. Und wieso > eigentlich ein µC für alle drei Achsen? Die Achsen sind doch > unabhängig. Last not least gibt es für genau diesen Anwendungsfall > fertige IC wie den bereits angesprochenen MAX7219. Oder wenn man > statisch ansteuern will, TPIC6B595. Das erscheint mir auf so vielen Ebenen falsch. Ohne µC würden ja noch extra Zähler gebraucht. Wie sollen denn Max oder TPIC ohne µC angesteuert werden? Warum denn mehrere µCs, wenn einer schon reicht? Axel S. schrieb: > Das eigentliche Problem bei dieser Aufgabenstellung ist ja wohl die > Positionserfassung selber. Denn es versteht sich von selbst, daß man die > reale Position des Werkzeugs erfassen und nicht nur die Sollposition > anzeigen will. Bei 8 Stellen wird man nicht mehr als 3 vor dem Komma > brauchen (dann geht es bis 999mm = knapp 1m). Das LSD ist dann 10µm. Ich > frage mich, wie du das messen willst. Folgt man meinem o.g. Link, dann kommt nach der 6-stell. Anzeige eine Schaltung mit einem AVR, die die Ist-Position per Quadraturdekoder anzeigen kann. Das reicht für 999.999 mm mit 1 µ Auflösung. Bei negativen Wegen muß die oberste Stelle entfallen und es werden -99.999 mm angezeigt. Die Eagle .brd-Datei ist dabei; ebenso das Programm inkl. Quadraturdekoder. Die Schaltung müßte man 3 x für X, Y und Z-Achse aufbauen. Fertig!
Klaus schrieb: > Ich hab das mal mit nem billigen digitalen Messschieber gemacht. > ... > und fertig ist eine Positionsanzeige für ganz kleines Geld. Noch ein Spielzeug für die Puppenstube.
m.n. schrieb: > Noch ein Spielzeug für die Puppenstube. Das kann so sein, ist aber besser als alles hier sonst erwähnte. Das wird nämlich nie fertig. Da könnte man die Anzeige auch malen, ausdrucken und zusammen mit dem nicht funktionierenden Schaltplan an die Wand kleben. MfG Klaus
m.n. schrieb: > ebenso das Programm inkl. > Quadraturdekoder. Die Schaltung müßte man 3 x für X, Y und Z-Achse > aufbauen. Was bei allen bisherigen Antworten nicht berücksichtigt ist: er hat eine CNC-Maschine, also ist da bereits eine Positionserfassung eingebaut. Wie die aufgebaut ist und wie man da etwas "abzapfen" kann fragt hier niemand. An jede Achse zusätzlich zum vorhandenen Encoder oder Glasmassstab noch einen weiteren für die Anzeige einzubauen hat auch seine massiven Tücken, denn so ohne weiteres stimmt ein daran angeschlossener Zähler mit der für das Fräsen erfassten Position nicht überein, damit wäre die Anzeige weitgehend sinnlos. Ein Konzept mit Encoder, Zähler und Anzeige wäre nur sinnvoll, wenn der TO in Wirklichkeit garkeine CNC-Steuerung hat. Da weiss ja niemand was genaues. Georg
georg schrieb: > Was bei allen bisherigen Antworten nicht berücksichtigt ist: er hat eine > CNC-Maschine, also ist da bereits eine Positionserfassung eingebaut. Wie > die aufgebaut ist und wie man da etwas "abzapfen" kann fragt hier > niemand. Das wird der TO vielleicht selber wissen, denn der gewählte Betreff heißt "7-Segment-Anzeigen ansteuern". georg schrieb: > Da weiss ja niemand was Genaues. Dieses Forum lebt doch von Überraschungen ;-)
Dominik H. schrieb: > 3 X 8 = 24 7-Seg.-Anzeigen Ich hab das mal für 7 3-stellige Anzeigen aufgebaut, d.h. 21 mal 74HC595 + 8*470R Widerstandsnetzwerk. Als µC ein ATtiny261. Der 74HC595 hat ein freundlicheres Pinout (7 Ausgänge auf einer Seite) als der 74HC4094. Das Layout ist sehr einfach, man routet ein Digit und kopiert es entsprechend oft und dann nur noch verbinden. In Altium kann man das schön mit "copy Room" machen. Die Displays habe ich auf der Unterseite plaziert.
Peter D. schrieb: > Der 74HC595 hat ein > freundlicheres Pinout (7 Ausgänge auf einer Seite) als der 74HC4094. Bei Anzeigen >= 13 mm ist es 'freundlicher' je vier Pins zu der einen und je vier Pins zu der anderen Seite zu verdrahten: http://mino-elektronik.de/bilder/Digit_6/Digit6-HEF4094_2_1_1.jpg ;-)
... und auch mit HC4094 und Widerständen: http://mino-elektronik.de/bilder/Digit_6/Digit6-74HC4094_1_1_1.jpg
Peter D. schrieb: > Ich hab das mal für 7 3-stellige Anzeigen aufgebaut, d.h. 21 mal 74HC595 > + 8*470R Widerstandsnetzwerk. Da solche Aufgaben immer wieder kommen, habe ich MAX7219 in China gekauft: 30x DIP-24 und 50x SO-24. Auch fertige Module mit 8x 10mm Zeichen. So habe ich dieses Problem für die nächsten 10 Jahre mit Garantie gelöst.
:
Bearbeitet durch User
Maxim B. schrieb: > Da solche Aufgaben immer wieder kommen, habe ich MAX7219 in China > gekauft Natürlich, der wurde ja auch dafür gebaut, wenn man mit dem geringen mittleren Strom und der resultierenden Helligkeit auskommt.
Michael B. schrieb: > Maxim B. schrieb: >> Da solche Aufgaben immer wieder kommen, habe ich MAX7219 in China >> gekauft > > Natürlich, der wurde ja auch dafür gebaut, > wenn man mit dem geringen mittleren Strom und der resultierenden > Helligkeit auskommt. Für heutigen LED reicht das. Auch wenn alle 8 Zeichen benutzt, 40/8=5 mA ! In Praxis muß man Strom eher reduzieren, das ist auch sehr leicht: nur 1x Widerstand.
Danke für die Antworten... Ich werds sehr wahrscheinlich mit dem MAX7219 machen. Scheint mir die geeignetste Lösung zu sein. Die Idee mit dem Touch Display ist auch nicht schlecht, allerdings bei Öl, Fett, Staub und Metallspänen wage ich die Lebensdauerprognose: nicht lange... Zur CNC: Die Maschine steht. Komplett. Die Position kommmt vom Steuerungsprogramm Mach3 über Modbus an den AVR. Ich brauche eine zusätzliche Positionsanzeige, da der Bildschirm je nach Blickwinkel nicht mehr einsehbar ist. Somit ist eine separate Anzeige für alle 3 Achsen notwendig. Bei den Dezimalstellen hab ich mich etwas verwirrend ausgedrückt. Ich brauche 4 Vorkommma- und 4 Nachkommastellen. Also 8 Ziffern insgesamt. Zur Frage warum ich nicht selbst auf solche Bauteile wie den MAX7219 komme... Ich komme aus der Industrieautomation und kann mit Grundkenntnissen der Elektronik dienen. Viel mehr aber leider nicht.
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.