Hallo Leute. Bin neu hier und erstaunt, wie schnell bei euch Antworten geschrieben und weitergeholfen wird. Da kann sich manch anderes Forum was abgucken! Also zu meinem kleinen Problem. Ich habe eine Waage, die eine serielle Schnittstelle zum Übertragen der Messwerte hat. Jetzt will ich die Messwerte an den µC schicken, der berechnet daraus gewisse Zahlen, und diese sollen in einem vorgefertigtem Messprotokoll (kann einfach sein, zb. Gewicht1: 2400g Absatz Gewicht2:2300g, usw.) eingetragen werden. Sind alle Messungen vorgenommen, will ich den µC einfach mittels serielle Schnittstelle an einen Drucker hängen und dieses Messprotokoll einfach per Tastendruck (das ganze ohne Computer) ausdrucken. JEtzt meine Frage: Gibts da ne Microcontroller dafür? Ist es sehr schwirieg das Messprotokoll in den µC zu bekommen und wie schwer ist es mit dem Drucker? Ich danke euch im Voraus für eure Antworten! Ps: Ich programmiere im µ Vision (C)! MfG, Michael
Also wenn ein Nadeldrucker Okay ist ist das ganze relativ leicht zumachen, du müßtest aber eventuell je nach Umfang der Messung ein Externes EEPRom anhängen um die Daten zu speichern bis sie gedruckt werden.
Hallo, ausdrucken ist auf eigentlich jedem Drucker recht problemlos, der entweder eine serielle oder eine parallele Schnittstelle hat und kein GDI-Drucker ist (die haben sozusagen nichts drin und wollen die fertigen Druckdaten von Rechner bekommen. Eine Beschreibung des Kommandosatzens ist hilfreich, wenn er z.B. ESC/P kann (Epson Standard) findet man alles nötige sicher im Netz oder in einem alten Druckerhandbuch (Epson LX400 usw.). Die meisten dieser Drucker (Star, Citizen, Philips,...) lassen sich auf ESC/P einstellen. HP (HP500 usw.) können PCL (HP-Standard), da findet mach auch die nötigen Unterlagen. Ist für einen AVR kein Problem, 2k Flash reichen da immer. Was die Datenmege angeht, siehe voriges Posting von Läubi. Gruß aus Berlin Michael
Du schreibst du programmierst in uVision, also ist die Wahl des MC schon getroffen. Aber mehr als ein bischen Datenempfang auf der seriellen Schnittstelle sowie deine Berechnungen sowie Ausgabe auf den Drucker steckt ja nicht drin. Wenn du dein Anliegen konkreter formulieren könntest, dann kann dir geholfen werden. Woran arbeitest du nun oder was ist die Frage ? UART ? Rechnen ? Ausgabe auf den Drucker ?
µ Vision heißt vermutlich 8051. Eines der Flagschiffe der 8051-er ist der AT89C51RE2 (128kB Flash, 8kB SRAM). Auf jeden Fall sollte es einer mit Bootloader sein, damit man ihn bequem programmieren kann. Ob Du den großen wirklich brauchts, hängt davon ab, wieviel Daten Du speichern willst, ehe Du druckst. Der Drucker sollte noch nen LPT-Anschluß haben, da kann man dann pures ASCII ausgeben. USB ist zu kompliziert, es gibt kaum MCs mit USB-Master. Peter
Wenn Du die Daten mit minimalem Puffer über LPT direkt an den Drucker gibst (LPT ist einiges schneller als COM), dann brauchst Du keine großen Datenmengen zwischenzuspeichern. Über PCL (HP-Format) geht das mit sehr vielen Druckern problemlos!
Hallo. Also erstmal DANKE für eure schnellen Antworten! Ich arbeite an einer Diplomarbeit. Es sollen über die Waage etwa 5 Werte eingegeben werden und daraus werden etwa 7-8 Werte berechnet. Diese Sollen dann auf ein Blatt Papier, wenns geht mit Tabelle, Schriftkopf usw.. Dann werden wieder Messwerte gemessen und das Spiel geht von vorne los nur mit anderen Zahlen. In der Schule arbeiten wir mit dem Philips 89C51RD2 und µVision. Also kann ich diesen µC verwenden? Wie mach ich das mit der Messtabelle in die die Werte gespeichert und dannn ausgedruckt werden? Danke! Michael
http://www.mehto.roboterbastler.de/?Projekte:Drucker_ansteuern Sieht sehr nett aus, werd ich wohl auch mal nachbauen ;)
Das ganze steht und fällt mit dem einzusetzenden Drucker. USB-Drucker kannste ziemlich knicken, weil Du dann nen kompletten Treiber in Deinen µC schreiben mußt und das ist nicht ganz ohne. HP-Drucker mit Parallelportschnittstelle also LPT sind da ne andere Sache. Die sind meist DOS-Kompatibel, bedeutet er hat seinen Zeichensatz eingebaut, meist Times und da kannste über ASCII die Kiste direkt ansteuern.
Also, der Controller ist OK. Das Wesentliche ist zunächst die Aufgabe
mal genau zu formulieren. Welche Informationen kommen über die serielle
Schnittstelle ? was soll mit den Werten passieren ? dann wird gedruckt.
Einen Link zum Drucken hast du bereits, ich empfehle dir ebenso die
parallele Schnittstelle zu verwenden, USB kannst du erst einmal
vergessen.
Bitte strukturiere mal dein Vorhaben und lass mal erkennen wo dein
Wissensstand ist.
>>> Wie mach ich das mit der Messtabelle in die die Werte gespeichert
und dannn ausgedruckt werden? <<<
Beschreibe wie du es gerne machen möchtest, insgesamt gibst du noch zu
wenig Informationen.
Wie kann ich eine fertige Tabelle in den µC laden und dann Messwerte, welche über die Schnittstelle kommen, in die zb. 1 Zeile Spalte 2 einfügen?
So ganz einfach machst du es einem nicht gerade. Also, in ASM: Tabelle1: DB 'Eine Zeile deiner Tabelle' In C: const char Tabelle[] = "Eine weitere Zeile deiner Tabelle"; Nun nen Pointer drauf, ausgeben sowie den Meßwert einfügen. Das ist nicht die Antwort die du hören wolltest ? Dann beschreibe bitte konkret ein Beispiel. Mir ist das immer noch zu wenig. Einen Versuch hast du noch. Mich würde interessieren: Datenformat deiner Meßwerte ? Baudrate ? Einheit etc. Dann könnte man die Schnittstelle beschreiben. Tabelle ? gib doch einfach ne Beispieltabelle. Drucker ? parallele Schnittstelle ? ASCII ?
Hallo. Eigentlich schon... Baudrate dachte ich an 9600, Einheit werden Gramm sein. Datenformat weis ich noch nicht genau, da ich erst übermorgen die Waage bekomme. Aber ich weis das es sich um eine RS-232 SS bei der Waage handelt. Drucker ist egal....für irgendeinen billigen von ebay (hp 710C oder so) Ascii zeichen. Im Anhang ist ein Screenshot der Tabelle die am µC gespeichert und in die die Waerte eingetragen werden sollen. LG, Michael
Du möchtest also die "Tabelle" wie in Deiner .JPG Datei erkennbar ausdrucken und gleichzeitig die Messwerte von der Waage da reinschreiben ? Also nicht nur ASCII- oder ECS-Zeichen drucken, sondern vollgraphische Daten, eben die "Tabelle". ==> Einfache Antwort bzgl. 8051 oder sonstigen Einfach-uP: Vergiss' es ! Etwas ausführlichere Antwort: Der ROM (Flash-) und/oder RAM Speicherbereich eines solchen uP reicht nicht aus, um die Tabelle darin "als Bild" zu halten (ROM) bzw. irgendwie aufzubauen (RAM). Auch ist die Ansteuerung im Grafikmodus, z.B. über PCL5 ziemlich aufwendig (Pixel-zeilenweise)und man muß sämtliche verwendete Zeichensätze (Schriften) im ROM haben und selbst per Software erzeugen. Mit der Farbe deines Beispielblatts will ich micht garnicht befassen... Rat: Einen (alten) PC hernehmen, das dann dort in einer höheren Programmiersprache schreiben. Die "Tabelle" mögichst als gängige Grafikdatei (.BMP) vorgeben ; Programm liese direkt aus dieser Datei, füllt die Messwerte rein, fertig.
Das was Klaus hier darlegt ist im Prinzip korrekt, auf Farbe und Grafik solltest du verzichten. Der Rest ist allerding kein Problem. Sämtliche Texte sowie das Einfügen der entsprechenden Meßwerte geht in Ordnung. Baudrate ist absolut easy, du solltest deine Waage zuvor mit einem Terminal Programm wie z.B. TeraTerm einmal "abhören". Auf diese Art und Weise kann man sehr schnell herausfinden was diese aussendet. Im Prinzip braucht es dann für den Anfang einen Ablaufplan und los gehts. Wenn also die genannten Dinge für dich kein KO. Kriterium sind dann laß von dir hören. Wir können dann mal ein Beispiel für die Tabelle entwerfen.
Hallo, wenn man unbedingt wollte, kann man es machen... Tabelle passend zerlegen, nur Druckerfonts benutzen, keine Bildchen. Texte im Flash, Im Loop Text raus, Anzahl Punkte im Loop. Tabelle so aufbauen, das sie zur Druckerauflösung in x/y passt und auch mit Schleifen und mit wenigen identischen Flash-Daten ausgeben. An den richtigen Stellen die Werte senden. Beachten und berechen, das zwischenText- und Grafikmode nicht beliebig gewechselt werden kann usw. usw. Erinnert mich an C64-Zeiten. ;-) Naja, reizvoll, aber ob ich es heute nochmal so machen würde???? Gruß aus Berlin Michael
Danke für eure Antworten! Mal gucken ob ich es mitn alten PC mache oder ob ich doch auf meinen Jocker greife. Ist zwar ein bisschen "fad" weils so einfach ist aber...... Laptop oder PC mit LAbView oben.....Tabelle als Bild einfügen, grafische Programmierelemente drüberschieben usw. Wenn die MEssung fertig ist einfach auf drucken gehn..... ALso DANKE nochmal für eure Hilfe! Tschau, Michael
Man kann sich doch einfach entsprechende Vordrucke in Farbe drucken lassen und dann haut der 8051 nur die Zahlen an die entsprechenden Stellen. Peter
uVision für arm holen, arm-board von olimex oder wem auf immer mit linux-image+usb-host und fertig??? ist aber sicher aufwendiger wenn man dazu nicht schon ein fertiges projekt hat... usb-drucker unter linux können richtig böse sein... aber was machbar sein sollte wär aufbereitung als postscript und das dann an z.b nen hp-laser per paralleler schicken ;) dann host sogar grafik ;) 73
schlafdefizit ist böse.. vorletzte zeile sollte lauten: dann hast du sogar grafik ;) sry, 73
Mein Problem ist die Aufgabenstellung an sich... Du sollst 5 Werte von einer Waage seriell einlesen, daraus 7-8 Werte machen und diese dann (als Tabelle) auf einem Drucker ausgeben. Wenn ich ehrlich bin klingt das für mich nach einer Übungsaufgabe und nicht nach einer Diplomarbeit. Aber vielleicht ist es auch nur ein Teilbereich der Diplomarbeit. Das Schwierigste ist - wie es sich immer mehr rausstellt - wohl eher die ansprechende Ausgabe der Daten, nicht die Umwandlung. Über einen PC sollte das auch kein Problem sein, da muß man sich noch nicht mal große Gedanken über die Druckersprache machen. Man kann sowas bestimmt auch mit einem einfachen uC machen indem man z.B. die gesamte Datenstrom für die Grafik aus einem externen SPI- oder I2C-EEPORM ausliest und an den Drucker sendet - allerdings würde ich diesen Aufwand nicht treiben wenn es nicht gefordert ist.
wenn du mit postscript nur linien zeichnest und keine grafiken verwendest dürfte das damit und dem richtigen drucker(laser.. aber nicht die billigen 100e dinger) nicht allzuviel arbeit sein.. reine ASCII-Art sachen sind auch nicht das problem aber alles andere ist für nen uC meinermeinung nach einfach zuviel.. vor allem wenn man nicht einen ARM und entsprechende tools hat... bei PS und ascii könnte man schon am pc die routinen testen... alles andere ist dann von der hardware abhängig (daten im eeprom,...) und damit schon komplizierter zum debuggen.... 73
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.