www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB-Steuerung mit ATMega8


Autor: Henry Knoll (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

da ich noch ein bisschen grün hinter den Ohren bin im Bereich 
Mikrocontroller & Co. ;) hab ich mal ne Frage.

Ich will eine kleine kleine Steuerung per USB bauen. Diese soll später 
mal ein LCD oder ähnliches ansteuern. Dafür habe ich selber eine kleine 
Schaltung entwickelt. Da das meine erste eigene Schaltung ist, wäre es 
cool wenn jemand mal drüber guckt ob ich irgendwo ein grobes Faul 
begangen hab oder ähnliches. Ich bin offen für konstruktive Vorschläge 
und Kritiken.

mfg
Henry


PS: die ISP kommt später mal noch rein ...

Autor: Rene K. (draconix)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das deine erste Schaltung ist, stellt sich mir die Frage ob du dir 
überhaupt zutraust einen FT232RL zu verlöten?! Ich meine, sowas stellt 
sogar mitunter einen alten Hasen vor Herrausforderungen :D

Soweit sieht es aber ganz gut aus, wobei noch ein 100nf zwischen VCC und 
GND bei AT8 fehlt.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Bitte keine Leitungen quer durch Symbole ziehen. Du kannst dem
  Signal auch einen Namen geben, Leitungen mit identischen Namen
  sind beim Adler verbunden

- Genauso bei Gnd und Vcc, gib den Signalen Namen und zieh die
  Verbindungen nicht quer durch den Plan. Macht alles gleich viieel
  übersichtlicher.

- In die USB Datenleitungen könnte man noch einen Ferrit setzen.
  Geht aber auch s0

- Hab ich die 100nF für den AVR übersehen? Falls nicht, gehören an
  jedes vcc/Gnd Pinpaar jeweils einmal 100nF

- Deine USB-Pins scheinen mir komisch nummeriert. Könnte trotzdem 
stimmen,
  würd ich aber nochmal prüfen.

Autor: Henry Knoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
thx für eure schnelle antwort :)

Ich werd den Plan morgen mal überarbeiten.

In diesem Sinne
gn8

Autor: Markus (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Henry Knoll schrieb:
> Hallo allerseits,
>
> da ich noch ein bisschen grün hinter den Ohren bin im Bereich
> Mikrocontroller & Co. ;) hab ich mal ne Frage.
>
> Ich will eine kleine kleine Steuerung per USB bauen. Diese soll später
> mal ein LCD oder ähnliches ansteuern. Dafür habe ich selber eine kleine
> Schaltung entwickelt. Da das meine erste eigene Schaltung ist, wäre es
> cool wenn jemand mal drüber guckt ob ich irgendwo ein grobes Faul
> begangen hab oder ähnliches. Ich bin offen für konstruktive Vorschläge
> und Kritiken.
>
> mfg
> Henry
>
>
> PS: die ISP kommt später mal noch rein ...

Hey Henry,

so einen Schaltplan wie du hast brauche ich...
Habe ein GLCD 128x64 mit KS108b zuhause.
Habe gleichen Schaltplan, aber mit max232.
Will das Display per USB von einer Dreambox DM800 ansteuern.
Wäre toll wenn ich von dir noch mehr Infos bekäme.
Bin ein Laie auf dem Gebiet Microelektronik.

Vielleich hat jemand Interesse mir beim Assemblen,programmiern eines 
Atmega 8.???

Habe da schon eine fertiges Projekt für AVR Studio, müsste aber noch um 
Infos erweitert werden. Aber keine Ahnung.

Gruß Markus

Autor: Henry Knoll (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So ich hab die Schaltung nochmal überarbeitet.
Leider kann ich sie durch meine Arbeit und bevorstehenden Umzug nich 
testen ... :/ Aber vielleicht hilft sie ja jemanden weiter.

@Rene: Jetz weiß ich was du meinst ;)

@Markus:
Also wie gesagt, die Schaltung soll einmal als USB-Steuerung für ein 
kleines LCD bzw. paar Motoren mit entsprechenden Treiber dienen. Der 
FT232 ist eigentlich ziemlich gut dokumentiert aber fürn Anfang würd ich 
dirn son fertiges Entwicklungsboard empfehlen. Ich das Olimex-Board aus 
dem Shop von dieser Seite und bin ganz zufrieden. Assembler ist fürn 
Anfang ein bissl zu schwierig (zumindest meiner meinung nach). Ich 
arbeite jetz schon ein Stück mit BASCOM und ich muss sagen, es ist 
unkompliziert und funktioniert ... ;)
Ich habe grad einmal das Datenblatt zu deinem Kontroller überflogen. Das 
ist ja schon ein ganz schöner Klopper... da wirste wohl ein bissl zeit 
investieren müssen

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henry

Danke für deine Info!
Aber jetzt nochmal zu meinem Anliegen.
Ich will gerne ein ext. gcd mit KS108 Controller ansteuern.
Habe ja den Schaltplan und auch das Bascom Project für den MegA16 als 
.bin und .obj.

Kann ich so ein Board wo du oben beschrieben hast fertig kaufen?
Und kann mir jemand an dem Project weiterhelfen mit Bascom.
Würde die .bin Datei und alles andere zukommen lassen.

Hintergrund: Ich will keinen so dicken Klopper sondern eine kleine 
Platine.
Die nicht seriell sondern über USB angesteuert wird.

Wenn ich jemand die Daten aus Bascom zukommen lasse, würde es sich 
verstehen was ich will.
Z.B. Senderfortschritt, Lautstärke, Sendernamen, etc. im Display.
Das ist schon feritg geschrieben. Aber wie sieht es mit erweitern aus???
Wie Bootinfo, mp3-Player,Menü Struktur, etc.

Danke und eine BITTE um Eure Hilfe.

Gruß Markus

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henry Knoll schrieb:
> So ich hab die Schaltung nochmal überarbeitet.

Ich würde mit internem Quarz arbeiten, wenn man nicht gerade sehr 
schnelle UART machts geht das ohne Probleme

die ISP Leitungen fehlen noch am ATMega, genauso anschließen wie am 
Stecker

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... ... schrieb:
> Henry Knoll schrieb:
>> So ich hab die Schaltung nochmal überarbeitet.
>
> Ich würde mit internem Quarz arbeiten, wenn man nicht gerade sehr
> schnelle UART machts geht das ohne Probleme

Es gibt dabei nur ein Problem:
Kein Mega hat einen internen Quarz.
Das was du meinst, sind RC-Schwingkreise und dementsprechend ungenau 
sind die auch.
Jemanden der serielle Datenübertragung machen will den internen 
Oszillator als Ersatz für einen Baudratenquarz anzupreisen, grenzt schon 
beinahe an böswilliges Verhalten.

Autor: Peter Frosch (frooot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs damit:
http://www.harbaum.org/till/lcd2usb/index.shtml

Da wird USB per Software implementiert.

Hier gibts noch mehr: http://www.obdev.at/products/vusb/prjdisplay.html

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

war da jetzt für mich auch ne Lösung???

Gruß Markus

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henry

Wenn ich deine Schaltung nehme...
Dann könnte ich doch mit vorhandenem Bascom Project weitermachen.
Mann kann die Bascom mit AVR Studio öffnen und auf anderen Controller 
assembln.

Ich habe mich mit Bascom noch nicht auseinandergesetzt, werde es aber 
jetzt mal tun.
Vorgesehen war bei meiner Schaltung ein mega16.
Bei deinem Mega8 müsste ich ja nur die Ausgabe auf Mega8 stellen.

Wie schaut es mit 20poligen GLCD mit KS108 aus?
Lässt sich das GLCD über deine Platine ansteuern?

Gruß Markus

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Jemanden der serielle Datenübertragung machen will den internen
> Oszillator als Ersatz für einen Baudratenquarz anzupreisen, grenzt schon
> beinahe an böswilliges Verhalten.

nö solange man bei 9600 bleibt alles kein Problem...und er interne 
Schwingkreis mit 8MHz läuft...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe eine .bas von einem Projekt bekommen.
Die Daten was das Display anzeigen soll sind mit Bascom geschrieben.
Ich kenn mich aber mit Bascom nicht aus.

Bin auch nicht soo der Englisch Leser und Schreiber.

Kann mir jemand mit einer .bas weiterhelfen?

Gruß Markus

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>nö solange man bei 9600 bleibt alles kein Problem...und er interne
>Schwingkreis mit 8MHz läuft...

Was hat der Fehler mit der Baudrate zu tun? Die einzige Möglichkeit die 
Fehlertoleranz zu erhöhen ist die Reduzierung der Bitzahl.

MfG Spess

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>nö solange man bei 9600 bleibt alles kein Problem...und er interne
>>Schwingkreis mit 8MHz läuft...
>
> Was hat der Fehler mit der Baudrate zu tun? Die einzige Möglichkeit die
> Fehlertoleranz zu erhöhen ist die Reduzierung der Bitzahl.
>
> MfG Spess

Ok stimmt nicht ganz... laut Datenblatt hat man mit 9600 immer(bei allen 
erwähnten Frequenzen) eine Möglichkeit 0,2% oder kleiner Fehler zu 
erreichen, selbst wenn da noch der Jitter vom Schwingkreis hinzukommt 
bringt das den FTDI nicht aus dem Tritt...

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblätter mögen nicht nur gelesen, sondern auch verstanden sein.  Die 
genannte Abweichung stellt sich bei genau 8MHz von einem stabilen 
Oszillator ein.  Mit dem internen 8-MHz-RC-Oszillator hast Du aber weder 
genau 8 MHz noch einen besonders stabilen Oszillator.  Es geht trotzdem 
meistens, mehr lässt sich aber nicht sagen.  Und was mit 0,2% anzuführen 
ist vollkommen daneben.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ok stimmt nicht ganz... laut Datenblatt hat man mit 9600 immer(bei allen
>erwähnten Frequenzen) eine Möglichkeit 0,2% oder kleiner Fehler zu
>erreichen, selbst wenn da noch der Jitter vom Schwingkreis hinzukommt
>bringt das den FTDI nicht aus dem Tritt...

Von mir aus kannst du bei deinem Wunschdenken bleiben.

Lt.Atmel (AppNote AVR053):

The accuracy of the factory calibration is within +/-3 or +/-10% (refer 
to the datasheet).

MfG Spess

Autor: Henry Knoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 2 Links von Peter sind auch nicht schlecht...

@Markus:
Also ich versuche dein Problem mal zusammenzufassen.
Du willst:
- die OSD-Einblendungen, das Menü und den Boot-Screen deiner D-Box auf 
dem Display auszugeben, welches per USB an der Box angeschlossen ist.

Du hast:
- das Display samt Controller
- nen Schaltplan für ne Ansteurung mit einem ATMega16 über die 
RS232-Schnittstelle der Box
- scheinbar auch schon entsprechenden compilierten Code für den 
Controller (die .bin und .obj-Datein)
- das entsprechende Plugin für die D-Box um erstmal die Grundinformation 
wie Lautstärke, Sender ... über die RS232-Schnittstelle auszugeben.

Hab ich das soweit richtig verstanden ?

Autor: Henry Knoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus:

Vom Prinzip her kannst du deine Schaltung lassen.
Wenn du den MAX232 durch den FT232 ersetzt kannst du den COntroller per 
USB ansprechen. Allerdings musst du dann auch die entsprechende SOftware 
in der D-Box ändern, damit deine Daten nicht über die 
RS232-Schnittstelle ausgegeben werden sondern über USB.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Henry,

genau richtig erkannt.

Habe deine Schaltung, aber nur mit max232.
Habe auch die .bas mit den Infos für sendungsfortschritt, Uhrzeit, 
Sendernamen.
Möchte die Kernel Command line statt auf serial auf USB Ausgabe stellen.
Mir fehlen aber noch Daten wie mp3 player, boot info menü struktur.

Ich will im Display eben mein OSD auch im ext. Display haben.
Eben so wie es im Display der Dreambox auch einblendet wird.

Und da brauch ich hilfe was die Bascom anbelangt.

Wäre ja super wenn ich statt den max232 nur den FT232 reinbauen könnte.
Oder ich nehme eben nur deine Schaltung.

Bitte um Hilfe.

Gruß Markus

Autor: Henry Knoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Markus,

Der Tausch des max232 durch den FT232 sollte eigentlich kein Problem 
sein.
Kannst ja den Part aus meiner Schaltung übernehmen (In der Doku zu dem 
Teil is eigentlich alles gut erklärt sogar mit Beschaltungsbeispielen ). 
Der FT232 is aber echt ein Winzling, dass könnte beim aufbau ein bissl 
tricky werden ... .
Ansonsten würd ich sag nimm ruhig deine Schaltung, weil ich nicht weiß 
ob der ATMega8 genug Anschlüsse hat für den K108 hat.

Aber wie man die Kernel Command Line bzw. die Menüführung umleitet weiß 
ich leider nicht ;)

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Henry,

die Kernel Command line lässt sich im Bios umstellen.
Ich hab auch gesehen, das man USB auch eistellen kann.

Nun bräuchte ich nur jemand der an Bascom weiterproggen kann.
So das mehr Infos auf dem Display erscheinen.
Wie gesagt: Sendungsfortschritt, Sendernamen,Aktuelle Sendung und 
Uhrzeit, sowie Lautsprecher Symbol (Leiste) funktionieren.

Aber es gibt ja noch mehr wie z.B. mp3 Player, movie player, Menü der 
Dreambox, etc,

Bei den Playern sollten auch die Infos ausgeben werden, wie Track, 
Fortschritt, Name, usw.

Ich kann ja mal das .bas Project etc. zukommen lassen.
Hier meine mail cosmicbase@arcor.de

Werde dann antworten und das Paket in Anhang schmeissen.

Gruß Markus

Autor: Henry Knoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey Markus,
hab dir mal ne E-Mail geschrieben. Aber wie gesagt versprechen kann ich 
nichts ... ;)

mfg
Henry

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo Henry super.
Endlich einer der helfen WILL.

Gruß Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.