Forum: Platinen Mikrocontroller über USB programmieren


von Bmaze (Gast)


Lesenswert?

Ich möchte gerne ein Mikrocontroller über USB programmieren.
Dieses Programm auf dem Microcontroller soll durch einen Taster über den 
USB Port ausgegeben werden.
Oder ich würde das Programm auf einen Eprom brennen.
Damit soll der USB Port auch als Ausgang dienen, nämlich nach dem 
betätigen der Taster soll das Programm über USB an einem anderen Gerät 
weitergeleitet werden.Auf der Platinen sollten einige Taster, die 
Stromversorgung und der USB Port sollte der gleiche wie am PC sein , d.h 
der Flache Stecker.
Somit sollte diese Board nur zur Programmierung an dem PC angeschlossen 
sein, d.h nach der Programmierung sollte es mobil sein. Entweder durch 
Batterien oder separate Stromversorgung.
Welche Platinen sind für mich als Einsteiger zu empfehlen? Am besten mit
Linux und Windows bequem zu programmieren

Vielen Dank im voraus
Bmaze

von Gast (Gast)


Lesenswert?

Um welchen Microcontroller handelt es sich eigentlich?

So wie ich das verstanden hab willst du ein Programmiergerät welches 
über USB angeschlossen wird an den PC!?


Wenn du von einem AVR redest:

Da kannst du den von Atmel AVRISP Programmer(?) nehmen oder den USBASP 
nachbauen/kaufen.

Wenn dus in deinem Gerät haben willst baust du es halt gleich mit ins 
Gehäuse ein und verbindest die ISP Schnittstelle fest mit dem 
Programmer.

von Ronny (Gast)


Lesenswert?

Um einen Mikrocontroller über die UART (RS232) oder USB zu programmieren 
braucht es einen Bootloader. Das ist ein kleines Programm welches die 
eigentliche Firmware/Anwendung des Mikrocontrollers über eine meist 
serielle Kommunikationsschnittstelle laden kann.

Alternativ braucht es bei den meisten Mikrocontrollern ein spezielles 
und oft auch recht teures Programmiergerät um eine Software ohne 
Bootloader hinein zu bekommen.

Mehr kann ich dir ohne zu Wissen, um welchen Mikrocontroller es genau 
geht nicht sagen. Einige Controller besitzen bereits in Hardware einen 
Bootloader (z.B Infineon XC167 oder einige ARM-basierte Chips), andere 
müssen über ein Programmiergerät erst mit einem Bootloader bespielt 
werden (z.B. AtmegaXXX). Und wieder andere können garnicht ohne 
Programmiergerät mit Software bespielt werden.

Gruss,

Ronny

von Bmaze (Gast)


Lesenswert?

Ich denke ich nehme den AVR Microcontroller von Atmel.
Da ich gerade in die Micrcontrollerwelt eingestiegen bin hoffe ich, dass 
die Programmierung nicht zuaufwendig ist.
Ich habe gedacht ich könnte das Programm in einem Eprom brennnen.
Leider weiß ich nicht wo ich die Hardware bekomme als Kit.
Die Platine mit Eprom oder Microcontroller, Taster, Spannungsversorung, 
USB-Schnitstelle als Ein und Ausgang, Programm und Unterlagen.
Gruß
bmaze

von Christian R. (supachris)


Lesenswert?

Für einen mit deinem Kenntnisstand ist das nicht machbar.

Kauf dir ein AVR USB ISP Programmierer und programmiere die 
Ziel-Controller direkt vom PC aus.

Alles andere wird sehr aufwendig und teuer.

von Peter (Gast)


Lesenswert?

Programmieren wollte ich schon über den Pc.
Nur das Programm auf dem Microcontroller wollte ich über ein Taster zum 
USB Port senden

von Christian R. (supachris)


Lesenswert?

Wozu denn? Um viele gleiche Gerät in schwer zugänglicher Umgebung zu 
programmieren, oder nur so? Und wie so dann per USB? Sinnvoller wäre 
dann gleich an die ISP oder JTAG Schnittstelle. Mit "programmieren" 
meinte ich das Programm in den µC schreiben.

von Peter (Gast)


Lesenswert?

ich möchte  ein Befehl auf ein Speichermedium speichern und
per Tastsendruck zum USP Port übertragen und dann zum Drucker
senden. Somit kann ich bestimmte Testseiten ausdrucken, die ich nicht 
über das Bedienfeld drucken kann.Da ich den Befehl zum Drucker als 
Prescribe versende, ist ein Druckertreiber nicht notwendig.Vielleicht 
kennt ja jemand so ein Bauteil als Bausatz.

von Klaus R. (klaus2)


Lesenswert?

...also direkt mit dem uC einen usb Drucker betreiben?! Oder wie?

Übrigens: "...ein spezielles und oft auch recht teures 
Programmiergerät..." - lustig, wenn ich da so an die gängigen rs232 ISP 
Programmer denke :)

Klaus.

von Peter (Gast)


Lesenswert?

wenn es möglich ist wollte ich ein Prescribe Befehl auf den uC ein 
programmieren und dann per Tasten druck soll der Befehl zum USP Port vom 
Drucker gesendet werden.
Mit diesem Befehl kann man nur eine bestimmte Seite aus Drucker 
bekommen.
Man kann kein Text oder Graphiken durcken sondern nur interne 
Informationen des Druckers.

von Ronny (Gast)


Lesenswert?

> Übrigens: "...ein spezielles und oft auch recht teures
> Programmiergerät..." - lustig, wenn ich da so an die gängigen rs232 ISP
> Programmer denke :)

Jap, für viel Controller existieren Selbstbau-Programmer die man <10€ 
aufbauen kann. Mal ganz davon abgesehen dass diese Nachbauten eine 
beliebte Fehlerquelle darstellen, gibt es auch etliche COntroller wo 
keine einfachen Programmer zum nachbau verfügbar sind oder wo man einen 
programmierten Controller für den Nachbau benötigt...

Gruß,

Ronny

von Klaus R. (klaus2)


Lesenswert?

@Peter: ...und wie sieht das Protokoll aus, bzw. was genau ist dein 
Problem? Den mysthischen PRESCRIBE Befehl zu versenden? Oder hast du 
absolut keinen Schimmer, wie man den uC programmiert?

Klaus.

von Klaus R. (klaus2)


Lesenswert?

BTW: prescribe geht (scheinbar) auch über die Konsole, zumindest bei 
Kyocera.

Klaus.

von Christian R. (supachris)


Lesenswert?

Jetzt auf einmal Drucker? Jetzt haben wir ja zwei völlig verschiedene 
Aufgabenstellungen. Für deine Drucker-Ansteuerung benötigst du ebenfalls 
einen USB Host oder on the go Controller, mitsamt USB Stack. Das macht 
man nicht mal so nebenbei im Bastelkeller mit so wenig Ahnung.

von Peter (Gast)


Lesenswert?

Prescribe ist die "Programmier-" oder "Drucker-sprache" von einem
bestimmten Hersteller.Wenn ich den Befehle an den Drucker sende, dann
umgehe ich jeglichen Treiber,
Gibt es nicht irgendwelche Boards in dem man ein Speichermedium
installiern (CF Karte usw) und dan den Inhalt des Speichermedium per USB
versenden.

von Klaus R. (klaus2)


Lesenswert?

Nein.

Und was ist mit der Konsolen Lösung? Hast du da überhaupt mal weiter 
geforscht???

Klaus.

von Christian R. (supachris)


Lesenswert?

Peter wrote:
> Prescribe ist die "Programmier-" oder "Drucker-sprache" von einem
> bestimmten Hersteller.Wenn ich den Befehle an den Drucker sende, dann
> umgehe ich jeglichen Treiber,
> Gibt es nicht irgendwelche Boards in dem man ein Speichermedium
> installiern (CF Karte usw) und dan den Inhalt des Speichermedium per USB
> versenden.

DU willst es nicht verstehen, oder? Ohne Treiber ist der USB Drucker 
lediglich ein völlig unbekanntes USB-Gerät. Bei Windows ist halt ein 
generischer Treiber eingebaut, der das USB-Printer Protokoll spricht. 
Und man kann nicht einfach was an "USB senden", USB ist ein 
bidirektioneller Bus, mit Protokoll und viel "Intelligenz" auf der 
Host-Seite.

Frag doch mal beim verrückten Igor aus der Slowakei an :)

von Peter (Gast)


Lesenswert?

>Und was ist mit der Konsolen Lösung? Hast du da überhaupt mal weiter
geforscht???
!!!Was meinst du mit der Konsolen lösung!!!

von Peter (Gast)


Lesenswert?

Wenn es per USB nicht geht

Ist es möglich den Befehl über ein Adapterkabel vom seriellen Anschluß 
des Microcontroller zum USB Anschluß vom Drucker zu übertragen.
Ich würde das Board dafür nehmen

http://shop.embedded-projects.net/product_info.php?info=p17_EP9302-ARM-Linux-Entwicklungsplatine--CS-E9302-.htmhttp

von Christian R. (supachris)


Lesenswert?

Ja, wenn du den USB Host Controller auf dem Board entsprechend 
programmierst, dass er mit deinem Drucker sprechen kann, dann ja.

von Peter (Gast)


Lesenswert?

Ist es den aufwendig den den USB Host Controller auf dem Board zu
programmieren
Kann mir da jemand auch Unterlagen empfehlen

von Christian R. (supachris)


Lesenswert?

Für jemanden mit deinem Kentnisstand unmöglich. Sorry, klingt hart, ist 
aber so. Es sei denn, du fummelst dort ein Linux drauf und schaust, ob 
es einen USB-Printer-Treiber gibt. Auch das ist dann noch schwer genug.

von Peter (Gast)


Lesenswert?

ist es einfacher wenn ich ein Microcontroller mit einem seriellen 
Anschluß zu einer parallelen
Schnittstelle(LPT1) eines Druckers über ein Adapterkabel anschließe.
Um per Tasten druck den Prescribe Befehl vom Microcontroller zum Drucker 
verschicke.
Hast du da eine Idee welches Bauteil ich nehmen könnte als Einsteiger

von Christian R. (supachris)


Lesenswert?

Hm, was denn jetzt? hat der Drucker auch eine normale parallele 
Schnittstelle? Das machts dann einfacher. Aber ein "Bauteil" gibts da 
trotzdem nicht. Du brauchst dann immer noch einen µC, der halt die 
Leitungen des LPT bedient. Das ist aber auf jeden Fall einfacher als 
USB, vieeeel einfacher. Musst dich halt in die Spezifikation von EPP/ECP 
einlesen, und das emulieren. Aber da du ja nicht mal µC programmieren 
kannst, fang lieber mit etwas kleinerem an. Kauf dir ein µC Board und 
versuch erst mal, paar LED blinken zu lassen. Dann sehen wir weiter.

von Master S. (snowman)


Lesenswert?

seh ich das richtig: Peter will eine taste, die -wenn gedrückt- den uC 
vom PC aus wia USB programmiert(1), dann soll der uC ebenfalls einen 
drucker ansteuern können ebenfalls über USB(2) um ein paar testseiten zu 
drucken. richtig?

naja, für (1) gibts wesentlich besere lösungen, nämlich dass der PC den 
uC einfach über gängige mittel programmiert und nicht dass der uC sich 
selbst daten vom PC holt und sich brennt. und für (2) sind solche 
kentnisse erforderlich, die auch diverse uC-kracks hier nicht haben - 
und ohne spezifische geräte-informationen sowieso nie.

entweder hat Peter null ahnung und das wird sich auch weiterhin nicht 
ändern (anhand der verständniss-kurve, die er in seinen threads beweist) 
oder er trollt sich - ich vermute schwer, dass er nicht null ahnung hat 
;)

-> don't feed

von Klaus R. (klaus2)


Lesenswert?

Der hat schlichtweg einen an der Mappe...

Klaus.

von Christian R. (supachris)


Lesenswert?

Nun ja, ich glaub ihm schwebt genau das vor, was snowman schreibt. Das 
macht man aber nicht mal eben so als Bastler ohne Ahnung, haben wir 
schon ausführlich dargelegt, aber er glaubts ja nicht.

von Peter (Gast)


Lesenswert?

ich bin der festen überzeugung das es geht,
ich habe gerade mit einem  usb Stick den  Prescrebe Befehl zum Drucker 
übertragen.es geht doch ohne PC
ich werde es trozdem versuchen mit diesem Board
http://shop.embedded-projects.net/product_info.php?info=p66_AT91SAM9260-ARM-Entwicklungsplatine--SAM9-L9260-.html

von Master S. (snowman)


Lesenswert?

@Peter: kannst du davon ein video auf youtube stellen? irgend ne alte 
digitalkamera mit videofunktion wirste wohl noch haben.

von Christian R. (supachris)


Lesenswert?

Was für ein Drucker ist das denn? Hat der einen USB-Host, also kann der 
direkt von Speicher-Medien drucken? So ein Multi-Supi-All-in-One Gerät? 
Dann mach´s doch über den USB Stick, wo ist denn jetzt noch das Problem?

von Peter (Gast)


Lesenswert?

Man kann direkt vom Drucker auf Speichermedium zugreifen.

Ich habe da ein Board gefunden was hält ihr con diesem Board
https://www.distrelec.com/ishopWebFront/search/luceneSearch.do;jsessionid=CE5CA06AB4D4A944D2EC6E2CB79F2D6F.chdist53?dispatch=find&showImage=on&artnrPhrase=+%09++64+50+86&typePhrase=&keywordPhrase=&vendorPhrase=&catalog=01
damit ich den Befehl zum LPT1 versende

von Christian R. (supachris)


Lesenswert?

Daten zum LPT schicken geht so ziemlich mit jedem µC, der die 
entsprechende Anzahl I/O Leitungen hat. Du kannst dir also was 
aussuchen.

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.