Showing posts with label analog devices. Show all posts
Showing posts with label analog devices. Show all posts

Thursday, December 11, 2014

Visible Light Communication Chronicles Part VI

I have finally finished a working prototype of my VLC system and it works like a charm ;) This prototype has a maximum bandwidth of 1 Mbps and works to a distance of roughly over 2 meters using a collimated light source. After several design iterations i have used newer components like the S1223 30MHz photodetector from Hamamatsu and operational amplifiers from Analog Devices. Analog Devices has some great tools and application notes that simplify designing. The picture below shows the finished prototype of the VLC receiver. The micro-controller interface uses a Cortex-M4 micro-controller from Freescale - The Teensy 3.1 development board from PJRC. The circuit is basically a photodiode transimpedance amplifier using the AD8651 followed by a AD8561 high speed comparator for wave shaping.

Going forward with this project i shall be increasing the bandwidth and experimenting with smaller form factors, controllers, PDs, to facilitate audio, video and data streaming applications...



The final specifications had the feedback resistor with a value of 68 K, feedback capacitor of 2.4 pF for an output voltage swing of 3.3V. The PD was reverse biased by 5V resulting in a capacitance of 20pF. The AD8651 has a Gain Bandwidth Product of 50 MHz and powered by a 3.3V single supply. For the select Rf the 45-degree phase margin bandwidth turned out to be 1.82 MHz and the Cf with a value of 1.2 pF. Since the desired value of Cf was greater than the value of Cf that produces 45 degree PM the circuit was deemed stable. The dynamic range turned out to be 91 dB with total RTO noise of 96 uVolt rms. Since the slew rate of the AD8651 is 41 V/us, the output voltage max swing was chosen as 3.3V which when plugged into 2πfv for f = 1MHz gives approx. 20 V/us, which is less than the max specification


Output signal from the receiver. The transmitter is a single white LED driven by a 1 MHz clock signal.

Below are some graphs i plotted in Matlab to visualize component selection based on the CN0272 circuit note by Analog Devices




Feedback resistor value effect on bandwidth.



Sunday, October 5, 2014

Visible Light Communication Chronicles - Part V - The Boards

The boards are here !! The images shown below are the VLC RX and TX boards i designed as shields for the Arduino UNO. An array of 12 LEDs forms the transmitter, a TEMD6200FX photodiode on the RX board, an Analog Devices XRAD8051 transimpedance amplifier followed by a SY8890 limiting amplifier. The wires on the TX board are test points i added at every stage of the output blocks. The FTDI is an alternative interface to connect the boards on USB-UART to a cellphone over OTG. The control path signalling is implemented using the NRF24L01+ RF module.

Time to solder all them components and get 'em boards runnin' (strong southern accent :P)









Sunday, December 1, 2013

An ADXL345 Breakout

I once purchased an Analog Devices ADXL 345 breakout board only to find out that it is incompatible with my breadboard. By that i mean it would fit in such a way that it was impossible to connect wires to one side of it and you had to connect them from below the device which was a messy job. The pic below shows the breakout board i got. (this is the pic after i modified it). As you can see it spans the entire row leaving no room on one side for connections. It made me want to get a larger breadboard, which, for reasons, was out of stock for months from a local dealer.


Another shot of the pins


As it can be seen, the solution was quiet simple. As i was going to use the device in I2C mode, I nuked the INT1, INT2, SD0, VC, CS pins. The board had by default the CS line conencted to Vcc that makes it use the I2C bus instead of the SPI and mounted the breakout on the power rail section of the breadboard as shown. I had to bend the GND pin 90 degrees to ensure a proper fit.


The bridge between the power rails is where the breakout goes into.


The GND connects to the opposite power rail or the Arduino header.

So, in case you happen to purchase this crappy breakout and do not have one of the large bread boards, this is the way to get things running. In other words, have a good look at the breakout, do not purchase it..

Here is a rough sketch in Arduino to interface with this breakout.