Good bye 2012

last post before the new year. 2012 has been a difficult year an all fronts!
I didn't even reach half of the number of posts I wanted to do, also didn't finish any project. We (family) haven't been very healthy and the world seems to constantly turn against us...
I have 5 posts that have never left the "draft" state, including two from 2011!!

I hope 2013 will be a better year.
I do know were I want to go and do, so here's a list:
  • Finish software for most of the Atmel ATTiny projects, become proficient in AVR assembler in linux / gcc;
  • Build a new grow box where I can grow more vegetables;
  • Start learning radio and working in VHF,UHF and microwave;
  • Bike more (practically stopped this year);
I hope you have a great year.


It works! Opentherm Interface V2

We're Back after a very long break!

Last January I presented a schematic for a second version of Alex's JeeTherm to Opentherm interface.

Well Alex finally had the time to test it and it works.... almost :-)
The first part of the board related to the physical interface actually works (!) i.e. sending and receiving the bits and packets to the boiler. This part was done with good old technology and using an operational amplifier as an active load.

The second part of the board was designed to power the remote controller from the loop power supply. This one we knew it would be trickier.
Placing the small supercap (0.1F) as load of the regulator was a good idea as the regulator is output short circuit protected so charging current is maintained within reasonable levels. Our fear was that due to the big charge current for some time on power up, the boiler would give up communicating (part of Opentherm interface, in case a boiler is connected to a plain old thermostat).
The key problem was that the display, the backlight (even when disabled) and the Jeenode take too much current for the system to be reliably powered...
We will have to arrange a winter sunday meet to fully debug these problems...



And now for something completely different, not only do I take an enormous amount of time to do something, I also overrun myself with different projects...

After a year or so of designing PCBs and sending them for fabrication, I finally decided to go for the big one and design a full Eurocard (160x100mm) computer. I have enough confidence on my EDA package (gEDA) and myself to design it, and the prices are also relatively low for a double sided board so I'm jumping to it.

When I dismantled the breadboard mini85 I promised to do a PCB version (this was in 2008!), so here I am back on it 4 years and 2 kids later!
The idea is about the same, build a minimally usable CP/M system on a eurocard, with standard TTL logic circuits, minimum I/O, a switching power supply for the computer and the drive, which is a 3.5inch floppy on top using the high density (1.44Mb).

I've been scaling down from the initial idea of having 512k of SRAM and a paging arrangement and a 8256AH as a UART and parallel port (like my 68k project... that, by the way, is also on hold...), and slowly going back to the simple original Mini85.

I even had a port for system configuration and dip switches, but this version (below) no longer has a MMU.

I think that I am finally setting for a 8085 at 8Mhz connected to a upd765 and a software UART with SID, SOD and RST5.5 lines, memory will probably be 64K SRAM (w/ 32K paged in/out) and a 32k ROM. An ON/OFF switch, a RESET, a TRAP and a RST7.5 interrupt push switches.


FireFly Jam Jar (2)

After a mostly uneventful February, except for the smell of winter we had with week below -5C and snow (2 hours, but just enough to spread havoc in the Dutch transport system), I finally decided to post something.
My FireFly hardware is finished, including the bricolage of painting the glass. I mixed a part of pebeo vitrea 160 frosted medium with yellow colour of the same line. The LEDs are in yellow and orange so a similar colour to enhance the effect seemed appropriate. I used a sponge to enhance the frosted glass, I didn't want Luísa to see the electronics inside (it kind loses the magic). This is how it looks after baking.

On the top I placed one of my solarbotics SCC3733, I opened two holes in the top and fixed the solar panel with two part epoxy glue, I then scraped the epoxy until I found the contacts and connected the board.

It doesn't really look that good, the photo is over exposed and you can't really see the mess I've made... not only the two components were not thoroughly mixed, there are lots of air bubbles in the resin.

Finally I also glued the board to the top of the jar.

You can just see the drill under the board and the wire connecting the solar panel to the battery charger. The jumper powers just the circuit but leaves the battery charger charging.

Now it is just software, the current code is running from the Reindeer Christmas Ball so battery runs out... fast...
I just checked my first post on this project was here, 5 months ago... I'm very slow... very very slow...
The idea of having it with the solar panel is to teach Luísa that the "FireFlies" need to be fed (i.e. put on the sun)... the solar panel is also a way to turn it on/off.


OpenTherm v2 First Prototype

I finaly built a prototype of the opentherm interface (version 2) for Alex to test, since he dosen't have all the tools to test it I'm hoping that at least the physical interface works, the other features are powered through the interface and using a supercapacitor to hold the power during radio transmission.

The board has a JeeNode interface so Alex doesn't have to change much, there are two extra jumpers, one connects the opentherm rectified voltage to the PWR input of the jeenode, and the other connects the 3.3V output of the jeenode to a supercap. It is still a bit oversized but... Well it is a prototype... The OpAmp is the LM358 (dual version of the quad LM324), works from 3V to 33V and it is relatively low power. The specification of Opentherm states a open voltage of 40V so I had to protect the OpAmp with a parallel Zener (seen in the picture).

A lot has to be done on the jeenode side, but it is mostly software regarding the power saving modes and saving enough power before the short bursts of radio transmission. The schematics of this circuit is based on the published before, but I'll hold the final one until Alex gives me feedback.


OpenTherm Interface V2

As I mentioned when the boards arrived, I'm planning a new board/circuit but I just briefly mentioned it.
Alex pointed out that in the OpenTherm specification it is stated that a master unit, i.e. your thermostat in the living room or a controller (in Alex's case), could be powered by the interface (use google to find the specification).

In the OpenTherm specification the boiler is slave (although providing the current loop) and the master is the remote control unit. He asked me if it could be done, and looking at the first schematic I drafted a battle plan:
  1. get rid of the dissipative receiver resistor;
  2. get rid of the dissipative transmission resistor;
  3. get rid of the optocouplers, (isolation is good and desired but CTR isn't very good for cheap opto's... hence more current).
  4. with whatever power is available, use a LDO and power something.
  5. Design a current loop transmitter (4-17mA)for testing that works at 40V.
  6. Design a two level shunt regulator for transmitting from master to slave.
  7. Design a minimal loss current loop receiver with output to 3.3V logic systems.
The mains issues were, the maximum loop voltage of 40V and the low voltage LDO and digital signals (3.3V)... and size since Alex want's a "shield" for his JeeNode. There aren't many IC's that work at 40V...

I have planed a tribute post to Jim Williams and Bob Pease playing around analog computers, but time hasn't allowed it... so this short one goes to them and to Bob Widlar.

First I had to design the current loop transmitter to test the system, the input had to be 40V so that under lower load the output voltage was close to that (part of the OpenTherm specification). I remembered the LM10 (designed by Widlar) had an interesting feature in it's datasheet, it is the only OpAmp I know that has been specified for shunt operation (Dear TI that page says "all national products now are belong to us" in front of the datasheet is .... lame).
It also had a application schematic for a current controller, I modified that schematic to allow a push-button (4-20mA) switch (for those not able to find the LM10 check here for an alternative way to generate the current loop, replace DAC with voltage generator).

Then was the master transmitter, basically a shunt regulator with two levels, inactive 7V and active 15V. I used two diodes in series as the reference to the minimum voltage for the regulator, there's a hell of thermal drift but I don't expect the temperature to move outside the range 16C-40C with a corresponding error of 120mV and respective change of about 600mV, therefore negligible. Also I added the push-button to change from one state to the other. I thought of using the same LM10 but unfortunately the LM10 is too slow even for the 2kHz output waveform (it is 1kHz manchester encoded), so the next big thing in single supply opamps capable of 30V operation is the quad LM324, I've used the double LM358. They have their problems in precision and audio circuits but they're good enough and fast enough for the job.

Finally I designed the receiver, the current loop receiver was a nice exercise. I used a simple linear converter to adapt the current levels at the current sense resistor to voltages of less than 0,7V (4-9mA) for the low level and greater than 2,0V for the high level (20mA). One interesting point one is that even single supply amps can work with negative voltages as long as the output is within specification and the voltage at the pin is not negative.

And that's it, I just need to wire a small pref board and send it to be tested.


New Boards arrived!

This time is the PCB of the Opentherm Interface (v1.0) for Alex and his JeeNode and my Jam Jar Firefly simulator.

The round ones are the JamJarFirely and the rectangular is the JeeNode interface. We've sent them to be produced by Lean, there were some delays but eventually we got them.

Alex mentioned that the Opentherm interface mentions having a loop powered Master and Alex wanted to try and do it with JeeNode. I thought about a version two.
I think that I have the hardware ready but surely a lot has to be done in the jeenode side in terms of software, there are only about 25mW available permanently (about 5V@5mA).
This is my first attempt, I've still just tested it on the breadboard but I think it will work. Here is my initial schematic, the LED on the input is a receive indicator and correct polarity indicator (lights dimly when correctly connected and blinks when receiving).

The rest of the circuit is a programmable shunt regulator with two voltages (the transmitter 7V and 16V since the loop is a current source) and a current to voltage converter (receiver).