PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XBee Adapter Board von Sparkfun?



spelli2001
14.07.2012, 10:25
Hallo,

arbeite erfolgreich mit XBee Modulen und dem Adapter Board (5V) von Sparkfun:

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

Mein Atmega16 läuft mit 5 Volt. Die XBee Module mit 3,3 Volt.

Nun möchte ich aufgrund Bauhöhe usw. ein XBee modul direkt auf eine Platine verlöten. Dazu möchte ich das Adapterboard nachbauen bzw. deren Schaltplan benutzen.
Freundlicherweise stellt Sparkfun die Daten bereit. Allerding werde ich aus der Diode D1 nicht schlau? Was ist das für eine Diode und wie genau werden die DIN DOUT Pegel damit gewandelt? Bzw. wird DOUT ja gar nicht gewandelt!?

Ich möchte halt mit genau den wenigen Bauteilen das XBee Modul an 5 Volt halt nur ohne das Adapterboard verbauen...

Vielen Dank,
Christoph

Valen
14.07.2012, 12:09
Die Diode mit Kathode zu den 5v Atmega TX Pin sperrt die Strom das normaler weise die 3,3v Din von den XBee zerstören wurde. (früher oder später jedenfalls) Weil 5v höher ist als 3,3v. Damit den XBee Din Pin nicht schwebt muss es mit eine externe oder interne (im Xbee) Pull-up Widerstand an den Anode zu 3,3v gezogen werden.

Nun, wan die TX pin hoch ist (5v), bleibt den XBee Din Pin auch hoch (3.3v). Aber wann den TX niedrig gemacht wird (0v) fliest den Strom von den Pull-up Widerstand durch den Diode zu den TX Pin von den Atmega. Nun ist die Spannung am XBee Din Pin gleich an die Abfall-spannung über die Diode (Ich vermute das ist eine einfache Silizium signal-Diode, ungefähr 0,6 bis 0,7 volt). Das is klein genug damit die XBee das richtig erkennt. (Laut den Xbee Datenblatt soll es weniger sein als 0,35xVcc --> 0,35x3,3v=1,15v)

Die Dout von den XBee auf 3.3v reichst für den Atmega RX pin als High erkannt zu werden. Irgend wo in den Atmega Anleitung/Datenblatt steht das es mindestens höher sein soll als eine bestimmte Fraktion von den Atmega Vcc Spannung. (Fur den Atmega8 ist Vinput,high mindestend 0,6xVcc --> 0,6x5v=3v)

Kampi
14.07.2012, 14:00
Hey,

nimm einfach einen Low-Drop Spannungsregler für das XBee Modul. So schaffst du es mit 1 Kondensator und 1 IC 3,3V zu machen.
Der Regler braucht auch nur für 50mA ausgelegt zu sein. Mehr braucht das Modul nicht.
Für die Richtung Tx Mikrocontroller -> Rx Funkmodul kannst du einen Spannungsteiler aus 2x10k nehmen. Dadurch wird der 5V Pegel vom Mikrocontroller auf 2,5V runtergeteilt.
Die Richtung Rx Funkmodul -> Tx Mikrocontroller kannst du direkt verbinden. Der Atmel erkennt die Pegel einwandfrei.
Dasselbe Prinzip nutze ich für ein XBee und es klappt wunderbar.
Aber ich würde dir raten das XBee Steckbar auf die Platine unterbringen und nicht verlöten (kleiner Tipp, da ich mir bereits ein Xbee falsch eingestellt habe und dann nimmer drauf kam).

Valen
14.07.2012, 17:28
..Für die Richtung Tx Mikrocontroller -> Rx Funkmodul kannst du einen Spannungsteiler aus 2x10k nehmen. Dadurch wird der 5V Pegel vom Mikrocontroller auf 2,5V runtergeteilt. ...Nur ein Diode, oder 2 Widerstanden. Welcher wurde die einfachste Lösung sein?

Kampi
14.07.2012, 17:49
Nur ein Diode, oder 2 Widerstanden. Welcher wurde die einfachste Lösung sein?

Wenn du die Diode nimmst, darfst du aber NIEMALS den Pull-up intern vergessen. Von daher sind die zwei Widerstände meiner Meinung nach die elegantere Methode.

Valen
14.07.2012, 18:06
Ok, in diesem Fall du hast recht. Mann kann die Din Pull-up ausschalten mit das PR Kommando. Ein Bug das ein falscher Bitmaske eingibt das Bit 7 löscht und Kommunikation Fehler werden eintreten. Dann wird es schwer das wieder zu erstellen.

Lösung: Kein Bugs machen! ;)

Kampi
14.07.2012, 18:08
Ok, in diesem Fall du hast recht. Mann kann die Din Pull-up ausschalten mit das PR Kommando. Ein Bug das ein falscher Bitmaske eingibt das Bit 7 löscht und Kommunikation Fehler werden eintreten. Dann wird es schwer das wieder zu erstellen.

Lösung: Kein Bugs machen! ;)

Ich finde bei sowas eine Hardwarelösung immer sicherer :)
Klar Software spart Platz....aber was sind schon zwei Widerstände ^.^?

spelli2001
14.07.2012, 23:27
Hallo!

Danke für die Tipps!

Also das Modul soll schon gesteckt werden - umso schneller ist es umprogrammiert!

Danke und Gruß
spelli

spelli2001
19.07.2012, 14:27
Hallo,

eine kurze frage zum Spannugnsteiler 2x10K:




Tx von AVR⎪------(10K)------(10K)------⎪GND


Rx von XBee 3,3V



So richtig?

Danke!

P.S.: Könnt ihr mir einen entsprechenden Low-Drop-Spannungsregler bei reichelt (SMD) empfehlen?

Danke!

Kampi
19.07.2012, 14:44
Ja die Schaltung ist richtig.
Der hier sollte es tun:

www.reichelt.de/ICs-TLC-TSA-/TS-5204-CX33/3//index.html?ACTION=3&GROUPID=5480&ARTICLE=115980&SHOW=1&START=0&OFFSET=16&