Saturday, January 12, 2013

Manufacturing rc2usb Module

Photo Etching method was available, so this is how it happened:


Print out a stencil for the pcb.


Expose the pcb with the stencil to the UV light.


Etch it in acid.


Clean thoroughly!


Plate it and clean thoroughly again.


Cut and drill.

Congratulations, it's a circuit board. Now all it takes now is a bag of components and some soldering.


All done! Both chips respond back, which means the board is now ready for the software development part.

Thursday, January 3, 2013

Designing rc2usb Module

Studying the solutions out there, for connecting an RC controller to the computer, a design for an RC receiver was devised.

A custom board, based on the ATmega328 (because most of the reference material is based on Arduino, they are really cheap right now and I already have a programmer for Atmel chips). With the newly released FT230X for serial over USB (because, let's try something new).

As such it should be able to read up to 8 channels from the RC receiver, with two connectors for servo testing. One with pass trough from channel 8 to manually control the servo, and one wired to the micro controller which will periodically  turn it left and right (useful to quickly test a servo with no RC controller or power supply for it near by).


FT230X part of the schematic


ATmega328 part of the schematic:


PCB design of the rc2usb board.

Well, this is the theory any way! Will it work as designed? only time will tell.

P. S. There is a tiny mistake on the schematics: capacitors C9 & C10 should be 47pF not 100nF. Damn you Copy & Paste!

Saturday, December 1, 2012

RC Receiver Data Transmission

It's getting cold outside, so connecting the real RC transmitter to a flying simulator would be awesome!

Actually, it is so awesome, there are a number of projects like that already on the internet. Like RCArduino (reading RC controller with an Arduino), or PPM RC to USB (reading RC controller's PPM signal).

But here, something different is required, something that reads the RC receivers signal to the servo, converts it to an 8bit value, and sends it over the USB port. That way, any receiver could be connected and any channel read.

So, step one, check how the signal of a RC receiver looks like:


It looks like a standard servo PWM signal (1ms for far left, 1.5ms for center and 2ms for far right), with no delay between switching from one channel to the next.

Sunday, November 11, 2012

Upgrading the Camera Stand Again

Fixed the right camera hanging to the side by cutting and bending the holding plate with the screw. Just 2.5° difference, but it makes all the difference. Still slightly rotated, but around the center, which is less of a distortion.

(Do not look at the picture without 3D glasses!)


But why stop there. Since this will be on a plane someday, let's fixate the camera so it wont rotate around the mounting screw.


And for convenience, a small cut out to the holding plate, so that the camera latch can open and expose the battery and memory card (screwing and unscrewing the camera to the stand over and over again becomes old really fast).



Saturday, November 3, 2012

Rolling


Finally, standing on wheels!

Trimmed away decorative plastic from the landing gear. Saved about 35 grams.

Sunday, October 21, 2012

360° Panorama Coordinate Systems

Unwrapped pictures from the 360° panorama lens, treated with b-splines, looked pretty. But they weren't right.

How do we know? We checked:


And for that a 360° panoramic calibration checker board was created.


Confused yet? Pay attention to the height of the squares. Still confused?


Unwrapping the picture with Polar to Cartesian transformation, we can see that the squares aren't square. In fact they get less and less square.


It turns out that the correct transformation would be from Log-Polar to Cartesian coordinate system. And even then with a calibration parameter for the lens, since the real world is not perfect and the log base != e.


So we get, what the camera sees.


What we want to see.


What math sees.