Saturday, February 06, 2016

Arduino serial video/tv out "graphics card"...

* The problem:

The YR-901 that I bough some time ago is not working correctly, that is; it always in TX mode. I suspect some dust on the control circuit, the processing logic dead or some supply line issue. In any case if not able to fix, the idea is to place another RTTY decoder inside, keeping the same housing.


* The solution:

As for replacement decoder was thinking in an Arduino with video out instead of the standard LCD found in most schematics.

While it's strait forward to create video out on the Arduino I suspect that RTTY decoding and at the same time doing video processing would cause timing issues for the small processor so the solution would be to create an "offload" video card to the decoding Arduino board. The data between the two would be shared by serial port, any character arriving via serial port would be transformed in "video".

Easier to do than said :) and after some coding here it is:

...except for the first line which is hard coded every other char was sent by serial term software connected to the Arduino... The screen is one of those small rear camera for the cards, was initially to be used with the Raspberry PI for an SDR receiver but now it's for this application.

Another output with different font (4x6):


...it's not so "clean"/readable so I chose the initial 6x8 font.

The schematic for the video out...two resistors!:


The library (arduino-tvout) with some graphics possible from the examples:

... I might include it latter on the code...as a screen saver feature...
The connection schematic as on the lib example:

Library code from here:

And my own code for this application:

--------
#include
#include
// #include "schematic.h"
#include "TVOlogo.h"

TVout TV;

// serial receive
String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete
// end serial receive

// serial events
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    TV.print(inChar);
    if (inChar == '\n') { TV.println("\n");  stringComplete = true;  };
    if (inChar == '\r') { TV.println("\n");  stringComplete = true;  };
  }
}

void setup() {
  Serial.begin(9600);
  inputString.reserve(20);
  TV.begin(PAL,120,96);
  TV.select_font(font6x8); // 19 chars by line
//  TV.select_font(font4x6); // more space but less font resolution
  TV.clear_screen();
  TV.println("- CT2GQV RTTY/CW - \n");
  // TV.delay(4000);
} // end setup

void loop() {
 if (stringComplete) {
    inputString = "";
    stringComplete = false;
 }
} // end loop
--------

It was basically some stitch and glue between a serialevent example and the "demopal" tvout lib example.

That's it!... still need to "build" the RTTY decoder part.

Have a nice weekend!

Sunday, January 31, 2016

Magic eye 6E2 tube/valve kit


Since I really like tubes/valves, bulb's, crt's, led's and similar light/electron emitting devices and looking for sometime to experiment with magic eyes, finally spotted one in kit form and within budged! After a month it arrived and costed less than 6 Eur, shipping included...

It arrived well packed along with the local bank publicity... I suppose...

The tube was a little dirty on the glass, my guess, it was made to be cheap and not to be beautiful like we see on some other tubes.

Connected the wires and started testing the heather, since this, besides the glass envelope, is the most fragile part...it was in good shape and didn't burned during power on! So far so good!



Now the plates power under normal light conditions, it worked! First time!



All the glory under low illumination:


Power supply using a 230 to 12 and 12 to 230-0-230 transformers as isolation, I had my share of electric shocks so I like to avoid them whenever possible:


A simple 7805 is providing the heater voltage.

And the schematic:

I didn't tried yet to bias with low voltage on the diode to see if would be simple to transform the circuit in a s-meter indicator from an agc voltage...


Have a nice week!

Sunday, January 24, 2016

Light house bulb

Got this bulb around 1991/92, when a local book store went out of business,
 I was bought along with a simple book on electronic/light sensitive devices and other I can't remember. Since it was on sale, the price if I remember correctly was something like 100 Portuguese "Escudos" (or less), that is now a days 0.5 Eur, priceless! I just can't find the correct reference, in any case, it's an Osram brand 220V 300W

According to the store owner it was the lamp sold as spare for one of the city lighthouses. Peniche has a main light house, two at the harbor entrance and a small pilot light on the north side. The lamp is "only" 300 Watt's, so I suspect being true the story, it would be for the small pilot light marke "L Fl R 7s" on the map. Translated from "nautical": Long Flash Red with 7s off period:



The last time I power it on was when mains was still 220 V, now with 234 V and the age of the lamp don't know if will risk it again (maybe in series with another lamp). I couldn't find the matching ceramic bulb holder, I know I have it somewhere....

Look at he size against the Hameg scope.:


And the Sailor receiver:


Still didn't found a good use for it but I really like the unusual size!

Have a nice week!

Sunday, January 17, 2016

Trimble OCXO 65256

Got this unit some time ago during a search on a popular bid site, it's a 10Mhz OCXO (oven controlled crystal oscillator):


Do I need one, NO, in any case it would be good to have one case needed. The idea is to zero beat it against a well know reference source (either GPS or WWV - http://www.nist.gov/pml/div688/grp40/wwv.cfm) and then use it as reference for a frequency counter.

After initial power on, this was the waveform on the output:


Don't know how precise is the scope or the real frequency on power on without a control loop, so at least looks around 600Hz difference between the two equipment's. Open circuit output Vpp is 300mV.

Model/Part Number is Trimble 65256 , there's also a reference TPN 57964-05 (Trimble Part/Number ?) my guess this will be the main board or secondary reference.  I've found no datasheet on the module so went for the 5V recommended  by the seller for power supply (se my previous post on running two LM7805 to power the "beast"). I didn't measured the current consumption, my guess is that will be close to 1A, at least for initial heating.
I've seen other similar modules (not the exact reference) running on 12V, thinking back, that might be a better idea,

Temporary power supply diagram using two LM7805:



The pin-out and size compare against a standard 9V battery:



Still need to implement the control circuit using VREF and VFC, for now it's free running.

Have a nice week!


More current from 78xx regulators

Yesterday I needed a little more current from a LM7805 series regulator. This was because I had no heat sink available and it was going in thermal shutdown without giving me time to test the application (more on this application on a future post).

I looked for a 2n3055 or 2n2955 to extend the output current, had none! Bad luck! (that I could find anyhow)

Thinking a little bit, I tough in paralleling, found some circuits which didn't appeal to me, so resorted to the datasheet to find the best way.
By the way, used this document for reference: http://www.harrisonelectronics.co.uk/datasheets/78M05.pdf

Here' the resulting circuit (with my adaptation):

I didn't placed the caps, was just a quick test. The resulting quick deployment:


Diodes were 1N4007 but any of one from the 4000 series will do.
It worked fine, anyhow I should place 3 instead of 2 since their still getting hot to fast (heath sink's are on my to do shopping list!..), well it gave me time to test and that is enough.

Another possibility if a 2N3055 or 2N2955 is available (circuit is for 2955):



Have a nice day!

Sunday, December 13, 2015

New control and audio boards for the Trevo transceiver.

Decided to place the control board and the audio sub-system on new boards. This way will have a more standard fitting by means of header pins.
In the mean time I added a tone decoder (LM567), and sound card isolation on the audio board. On the control board I added the code for PTT and redesigned the input pins for the band and mode buttons.

I will for sure use almost, if not all, of the Arduino Uno imputs and outputs.

Here's the audio part (top) and the control board (bottom) with the PTT button for testing:



And the underside of the control board with the Uno:

The rotary encoder and the "IF" shit are in place on the board for troubleshooting, will be removed in the end. Still need to connect the output buffers for band-pass filters relay control


Have a nice week!

Sunday, November 15, 2015

Weather station with Arduino, DTH11 and MPL3115A2 Barometric pressure sensor

Nothing special here, I had the sensors laying around and a spare box and Arduino nano module so I just "glued" everything together. In the future I will proably put some remote sensors...if I have time and patience for it.

The finished product (with printed paper graphics glued on the plastic panel):


..This type of LCD is not the greatest of all, just used it because bought two out of curiosity, next time will stick with a classic one.


The internals:

..nothing special, there's a small hole near the humidity detector (blue module near the back panel) for faster response to temperature change.

View from the back, power is by USB directly on the Arduino nano module. The back of the Nokia LCD is visible on the back of the front panel:




Part of the code, just for future reference:
 -------------
 #include
#include
// Nokia 5110 libs
#include
#include
// alti/pressure sensor
#include
#include


 // DHT11 sensor
#define DHTPIN A1     // pin analog 1
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);

const int SENSORADDRESS = 0x60;

Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12); // arduino
Adafruit_MPL3115A2 baro = Adafruit_MPL3115A2();

  // readh dht11 variables
  float hum = dht.readHumidity();
  // Read temperature as Celsius
  float temp = dht.readTemperature();
  // read addfruit variables
  float pascals = baro.getPressure();
  float mb = pascals/100;
  // clear last data on display and display new data
  display.clearDisplay();
  display.print("--------------");
  //display.print("--- Sensor ---");
  display.print("Humi. "); display.print(hum); display.println(" %");
  display.print("Temp. "); display.print(temp); display.println(" C"); // dth not so accurate
  display.print("mB. "); display.println(mb);
  display.print("--------------");
 -------------



Have a nice week!