Forum: Mikrocontroller und Digitale Elektronik USB-Steuerung mit ATMega8


von Henry Knoll (Gast)


Angehängte Dateien:

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 ...

von Rene K. (draconix)


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.

von Ronny (Gast)


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.

von Henry Knoll (Gast)


Lesenswert?

thx für eure schnelle antwort :)

Ich werd den Plan morgen mal überarbeiten.

In diesem Sinne
gn8

von Markus (Gast)


Angehängte Dateien:

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

von Henry Knoll (Gast)


Angehängte Dateien:

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

von Markus (Gast)


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

von ... .. (docean) Benutzerseite


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

von Karl H. (kbuchegg)


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.

von Peter F. (frooot)


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

von Markus (Gast)


Lesenswert?

Hallo,

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

Gruß Markus

von Markus (Gast)


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

von ... .. (docean) Benutzerseite


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...

von Markus (Gast)


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

von spess53 (Gast)


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

von ... .. (docean) Benutzerseite


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...

von Hc Z. (mizch)


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.

von spess53 (Gast)


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

von Henry Knoll (Gast)


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 ?

von Henry Knoll (Gast)


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.

von Markus (Gast)


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

von Henry Knoll (Gast)


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 ;)

von Markus (Gast)


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

von Henry Knoll (Gast)


Lesenswert?

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

mfg
Henry

von Markus (Gast)


Lesenswert?

Jo Henry super.
Endlich einer der helfen WILL.

Gruß Markus

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.