Forum: Mikrocontroller und Digitale Elektronik unzureichende Schaltung: FT232RL Breakout-Board?


von Martin R. (martin84)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir das FT232RL-Breakout-Board von Sparkfun zugelegt.

http://www.sparkfun.com/products/718

Ich habe es nun in einer eigenen Schaltung im Einsatz zum Einlesen von 
Messdaten.

Mein Problem ist, die Kommunikation zum PC. Es funktioniert zwar, ich 
kann die Messdaten einlesen, aber ich habe immer Startschwierigkeiten 
mit der Kommunikation. Erst beim 2. oder 3. Anlauf werden Daten 
gesendet.

Ziehe ich den USB-Stecker vom Notebook und verbinde ihn wieder neu, dann 
funktioniert es wieder.

Meine Vermutung wäre, dass die Reset-Beschaltung des FT232 fehlt, aber 
auf dem Breakout-Board ist keine Vorgesehen.

Für meine Schaltung verwende ich zur Zeit lediglich die 
Versorgungsspannungen +5V und +3V3, sowie Rx und Tx (gekreuzt zum 
Atmega).

Im Anhang habe ich den Schaltplan des Breakout-Boards. Was haltet ihr 
von dem Board?? Kann ich es so für meine Schaltungen verwenden oder 
benötige ich eine zusätzliche Beschaltung, wie z.B. den Reset??

Gruß Martin

von ... (Gast)


Lesenswert?

Martin Ringel schrieb:
> Kann ich es so für meine Schaltungen verwenden oder
> benötige ich eine zusätzliche Beschaltung, wie z.B. den Reset??

Normalerweise nicht. Das Datenblatt sagt:
"Active low reset pin. This can be used by an external device to reset 
the FT232R. If not required can be left unconnected, or pulled up to 
VCC."

Martin Ringel schrieb:
> Für meine Schaltung verwende ich zur Zeit lediglich die
> Versorgungsspannungen +5V und +3V3, sowie Rx und Tx (gekreuzt zum
> Atmega).

Wie ist denn VCCIO beschaltet?
Mit welcher Versorgungsspannung arbeitet dein Atmega?

von Martin R. (martin84)


Lesenswert?

VCCIO ist mittels Jumper auf +5V (Vcc) geschaltet. Der Atmega läuft 
ebenfalls mit +5V.

Die +3V3 benötige ich nur für den Sensor.

von ... (Gast)


Lesenswert?

Martin Ringel schrieb:
> Die +3V3 benötige ich nur für den Sensor.

Und den versorgst du mit den 3,3V aus dem FT232? Wieviel Strom nimmt 
denn dein Sensor auf?
Poste doch mal das komplette Schaltbild.

von Martin R. (martin84)


Lesenswert?

Richtig. Der Sensor nimmt ca. 650µA auf. Das sollte also gehen. Ist ein 
Beschleunigungssensor Bosch BMA180.

Das Schaltbild kann ich erst Abend posten.

von ... (Gast)


Lesenswert?

Martin Ringel schrieb:
> Der Sensor nimmt ca. 650µA auf.

Ok, wie sieht es mit der Pegelanpassung an den ATmega aus? 3,3V -->5V

von Martin R. (martin84)


Lesenswert?

Für die Pegelanpassung nutze ich von 5V auf 3,3V jeweils Spannungsteiler 
und für 3,3V auf 5V im Moment gar nichts, da der Atmega88 die 3,3V ja 
noch als High erkennen sollte!?

Ich habe aber am Wochenende vor die Pegelwandlung von 3,3 nach 5V über 
einen 74HCT125 zu machen.

von Martin R. (martin84)


Lesenswert?

Also ich habe es jetzt noch einmal ausprobiert und festgestellt, dass 
die Kommunikation mit dem PC sofort funktioniert, wenn das Board kurz 
von der Versorgungsspannung getrennt wird.

Um das lästige Ab- und Anstecken zu vermeiden, müsste ich wahrscheinlich 
einen "Reset"-Taster einbauen, der die Versorgungsspannung unterbricht.

Wie habt ihr das gelöst?

von ... (Gast)


Lesenswert?

Martin Ringel schrieb:
> dass
>
> die Kommunikation mit dem PC sofort funktioniert, wenn das Board kurz
>
> von der Versorgungsspannung getrennt wird

Da dein ATmega ja von den 5V USB versorgt wird und der Sensor von den 
5V/3,3V USB, wird dein ATmega und der Sensor auch resettet. Ich denke 
nicht, das der FT an deinem Problem beteiligt ist. Der Fehler dürfte in 
deinem Programm oder in der angeschlossenen Hardware liegen.

von Martin R. (martin84)


Lesenswert?

Erst mal danke "...",

ganz recht, das Problem sitzt wie immer 50cm davor;-) Es lag an mir, ich 
sende dem Controller als erstes ein "Start"-Zeichen und dann beginnt er, 
in einer Endlosschleife, die Daten vom Sensor auszulesen und dem PC zu 
senden. Beende ich den Terminal bzw. LabView und starte es neu, dann 
befindet er sich aber noch in dieser Endlosschleife und ich sende ihm 
mittendrin ein neues "Start"-Zeichen. Das bringt ihn wahrscheinlich 
durcheinander und es kommt nur Mist an.
Ich müsste also entweder beim Beenden des LabView-Programms ein Zeichen 
senden, das einen I/O am Atmega schaltet, der mir mit einer geeigneten 
Beschaltung die beiden Versorgungen trennt oder ich baue einen 
"Reset"-Taster ein, der das übernimmt.

Fürs erste werde ich den Taster verwenden.

Gruß Martin

von Ralf (Gast)


Lesenswert?

> Ich müsste also entweder ... oder...
Die weder-noch-Variante wäre einfach ein bisschen Arbeit vom Controller 
auf das LV-Programm auszulagern:
Anstatt beim Startzeichen in einer Endlosschleife zu senden reduzierst 
es auf vielleicht 10x oder gar nur 1x auslesen.
Das hat den Vorteil, dass du auch andere "Kommandos" definieren kannst.

Ralf

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.