i'm trying to take some sensor data via xbee to a mini breakout board and there to a server, i'm using a level converter (https://www.sparkfun.com/products/12009 SparkFun Logic Level Converter - Bi-Directional - BOB-12009 - SparkFun Electronics) to connect the edison with the xbee but using the oscilloscope i found the edison can't make the signal go low when all is connected.
someone have had a similar problem and have a solution to it
well after reading the schematic of the shield (https://www.arduino.cc/en/uploads/Main/arduino_WirelessShield_Proto_v3-schematic.pdf https://www.arduino.cc/en/uploads/Main/arduino_WirelessShield_Proto_v3-schematic.pdf) i finally desist to connect direct to the xbee through the JP3 and JP4 pins, instead i use the same pins that use the arduino D0(RX) and D1(TX) and connect the 3.3V and the 5V to the shield and works perfect.
thanks a lot Mike-SYR
Could you explain us how you found out that the Edison was not making the signal go low? Show us some of the oscilloscope readings, they might be helpful, and if you have access to a logic analyzer, it would be even better. Anyhow, always remember that on UART, Edison needs the new line and carriage return signals, otherwise the serial port won't work as expected. Are you sending the new line and carriage return signals from your Xbee?
Intel_Peter sorry but i don't have i logic analyzer but a take some screenshots to the oscilloscope:
this one is the signal after the level converter, the signal is clear an works fine
this other is when the xbee is conected to the level converter, the signal is there but the lows only get to 3.04V, hopes this images make clear the question
Don't worry that'll do it ;).
So, the first image is a measurement right after the exit of the Xbee, right? And the second one is the signal after the level translator, right? Or am I confused?
If I got it right, then the second signal looks totally weird, according to the picture, the maximum value of the measurement is 3.4v and the minimum is 3.04v, that would make a 0.36v of difference and it never reaches 0v, all that when it should vary between 1.8v and 0v. This doesn't seem right, is this measurement with the Edison connected to it? If so, could you measure it again without the Edison?
If the same behavior appears, then my guess is that there might be something wrong with the level translator either a misconfiguration or bad functioning.
However I would find it even weirder if this behavior is only present when the Edison is connected. And if so, could you show us a diagram of how everything is connected?
hi Intel_Peter , you are getting it wrong, both images are with the edison connected and at the exit of the level converter, but the first one is without the xbee connected and the second one is with it connected, that's what gets me mad , i know the xbee works fine i tested it with an arduino uno a works fine
I see, I misplaced them. Could you show us how the Edison+Level Translator+Xbee and Arduino+Level Translator+Xbee are connected?
Also, can you measure the Xbee's output and then can you measure the Xbee+Arduino's output?
I would like to check what the Xbee's signals look like when it is not connected to anything, that might give us a clue of what could be wrong.
hi rigth now i can give you the connection, the arduino+xbee is very straigthforward i'm using a shield (https://www.arduino.cc/en/Main/ArduinoWirelessProtoShield Arduino - ArduinoWirelessProtoShield ) so no much connetion is needed, in the Edison+Level convertor+Xbee this image show the connection, in case you are wondering the signals showed before are from the HV2 pin in the level converter
later i edit to add the Xbee and the Xbee+Arduino outputs
1) Can you post links to the data sheets for both parts (level shifter, xbee)?
2) Does your system consist of already assembled boards, plugged into one another (so in theory, all the I/O has been worked out already), or is there some custom wiring that you were forced to implement? Perhaps there's another part of the circuit that's affecting that signal. A misplaced/miswired pull-up resistor?
edit: OK, I went over the thread again LOL
Clearly the level shifter is just some FETs on a board. And easily miswired (no offense). I'll have to look further into this.
the level converter is linked in the question, but here are the datasheet of the NMOS: http://cdn.sparkfun.com/datasheets/BreakoutBoards/BSS138.pdf http://cdn.sparkfun.com/datasheets/BreakoutBoards/BSS138.pdf
the Xbee is mounted in the shield (https://www.arduino.cc/en/Main/ArduinoWirelessProtoShield Arduino - ArduinoWirelessProtoShield ) but with the edison i connect it from the side pins not the arduino compatible pins
well i0'm back with the more screenshots of the signals, they go in this order: first is pin2 (DOUT)the Xbee+Arduino, second is pin3 (DIN) of the Xbee+Arduino, third is J18-13 (RX) in Xbee+Level converter (LC)+Edison, fourth is J19-8 (TX) in Xbee+LC+Edison with the Xbee connected and the fifth is J19-8 (TX) in LC+Edison without the Xbee
so from this i can say the only that doesn't work is send fron the edison to the xbee because when i was taking the 3rd photo in the edison i could read the data recieved without problem
Looking back, in your reply # 2, with the 2 photos, can you recreate that set-up?
Particularly the first pic - where (if I understand correctly) you've disconnected the level shifter from the Xbee. So, in addition to scoping the output of the level shifter (which you've already captured), now also look at the Xbee's pin, which you are hoping is an RXD (input) and measure this voltage. I suspect it will be a high voltage (3V or so) rather than floating/low voltage.
OK, just to clarify - just because the voltage measured is "high" (3V) doesn't mean a miswire - it would have to be a "hard" 3V (like a short ) to cause trouble. You can figure this out by putting, say, a 1Kohm or 470ohm resistor from that "high" to its ground and re-measuring the voltage. If the voltage barely drops , then you have a pretty good "short". That would cause the problem you are seeing.