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
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?
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.
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.
Richtig. Der Sensor nimmt ca. 650µA auf. Das sollte also gehen. Ist ein Beschleunigungssensor Bosch BMA180. Das Schaltbild kann ich erst Abend posten.
Martin Ringel schrieb: > Der Sensor nimmt ca. 650µA auf. Ok, wie sieht es mit der Pegelanpassung an den ATmega aus? 3,3V -->5V
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.
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?
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.
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
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.