Forum: Mikrocontroller und Digitale Elektronik Programmierung Atmega64 per USB Schnittstelle


von e3xtreme (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe soeben den ersten Entwurf meiner ersten AVR-Platine soweit, 
dass es bald ans anordnen auf der PCB geht.

Ich vermute mal vorsichtig, dass 1-2 (wahrscheinlich eher mehr) Fehler 
im Schaltplan vorhanden sind und hoffe auf viel konstruktive Kritik....

Besonders bei der Übertragung ATMEGA->USB-IC fehlen sicher der ein oder 
andere 470Ohm Widerstand....

Meine Frage an euch, kann das mit der Programmierung per USB überhaupt 
so funktionieren wie ich mir das vorstelle?

Der Plan war: mit serieller Drahtlos über IRDA mit PC verbunden zum 
kommunizieren, USB nur wenn er programmiert wird bzw. zum testen. Es 
sollen 4 DC Motoren mit je einer 16Bit PWM betrieben werden (mit 
Motorsteuerung natürlich), 4 Temperaturen sollen gemessen werden und 2 
Accelerometer sollen auch noch dazu (die sind mir aber auch nicht ganz 
eins)...

Es ist mein erstes AVR Projekt also bitte geduldig sein mit uns 
Unwissenden...

Vielen lieben Dank an die Community

von Bond (Gast)


Lesenswert?

Schließe, auch wenn der AD-Wandler nicht verwendet wird AVCC auch an VCC 
an.
Ein 100nF-Kerko gegen GND am Aref-Pin schadet auch nicht.

Programmieren über USB geht, wenn ein Bootlader auf dem ATMEL vor-
handen ist. Die ISP-Schnittstelle würde ich mir auf alle Fälle
auch herausziehen, irgendwie muß ja der Bootlader auch auf den
ATMEGA kommen.

von R. M. (rmax)


Lesenswert?

Erklär' mal, welche Überlegungen hinter der Verdrahtung zwischen FT232 
und ATmega stecken, denn die sieht mir alles andere als richtig aus.

Normalerweise werden RX und TX des FT232 über Kreuz mit TX und RX des 
Controllers verbunden, auf dem dann wie Bond schon schrieb ein 
Bootloader vorhanden sein muß.

Alternativ kann man den FT232 meines Wissens auch in einen 
Bit-Bang-Modus schalten und so verdrahten, daß er direkt die ISP-Pins 
(MISO, MOSI, SCK, RESET) bedient. Dann ist kein Bootloader nötig aber 
auf der PC-Seite ein Treiber und ein Brennprogramm, die diesen Modus 
unterstützen.

Beim IRDA-Chip solltest Du noch schauen, ob seine RX- und TX-Pins aus 
Sicht des Chips oder aus Sicht des UART bezeichnet sind, an den er 
angeschlossen wird. Im zweiten Fall ist die Verdrahtung richtig, im 
ersten Fall müßtest Du die beiden Leitungen kreuzen.

von e3xtreme (Gast)


Lesenswert?

Vielen Dank für die schnellen Antworten, hab Bonds Vorschläge bereits in 
die Tat umgesetzt...

Bezüglich Verdrahtung FT232, ich habe den IC als USB->Serial Converter 
gesehen und bin von den Standardprogrammierpinbelegungen für RS232 
ausgegangen. Dann bin ich drauf gekommen, dass die Pegel schon passen 
und hab mir damit die Widerstände erspart. Den Transistor ebenso, weil 
ja -12V an der seriellen +5V am AVR bedeutet, damit zieht der TXD den 
Reset auf GND und wir haben die gleiche wirkung, als wenn die serielle 
+12V ausspuckt...

aber inwiefern das Sinn mach was ich da schreib ;).... wissen nur die 
Götter

Das überkreuzen war ein (gravierender) schlampigkeitsfehler 
meinerseits...

Also hab mich beim Bit-Bang ein bisschen eingelesen und würde 
stattdessen

SCK         DSR
RESET       RI
MISO        CTS
MOSI        DCD
TXD0/PDO    RXD
RXD0/PDI    TXD

verbinden

damit sollte das einspielen des Bootloaders auch klappen oder?
Achja und der IR möchte RX-RX und TX-TX also der hat passt...

brauch ich noch wo Widerstände dazwischen? eigentlich eh nicht oder? 
haben ja alle TTL Level....

Nochmal vielen Dank, sobald ich ein OK von euch bekomm zeichne ich meine 
Schematic um...

LG

von e3xtreme (Gast)


Angehängte Dateien:

Lesenswert?

So habe mal die Motorsteuerung auch noch dazu gebastelt...

Kann mir wer kurz drüber schauen um nochmal auf Fehler hinzuweisen?
Denke Fehlerpotential haben hauptsächlich ft232r-µC verbindung und 
Motorsteuerung...
Der eine Doppeljumper soll beim ft232r im falle der programmierung auf 
DCT/CTS und im Falle normaler Verbindung auf TX/RX gejumpert werden...
Glaubt ihr geht der Bit-Bang Modus auch mit der Schaltung? Dass das 
proggn lang dauert ist mir klar...

Kann ich den PB4(OC0) auch als PWM verwenden, und wo ist der letzte PWM 
Anschluss, der sollte ja insgesamt 8 haben,oder irre ich und ist der 
doppelt belegt?

Vielen Dank ihr seid die besten

von Spess53 (Gast)


Lesenswert?

Hi

Was sollen MOSI/MISO am ISP-Steckverbinder? Beim ATMega64 werden TXD0 
und RXD0 zum Programmieren benutzt.

MfG Spess

von R. M. (rmax)


Lesenswert?

Spess53 schrieb:

> Was sollen MOSI/MISO am ISP-Steckverbinder? Beim ATMega64 werden TXD0
> und RXD0 zum Programmieren benutzt.

Schau mal, mit welchen Pins die mit MISO und MOSI bezeichneten Netze am 
ATmega64 verbunden sind...

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.