-
Final bits
05/24/2017 at 18:13 • 0 commentsAfter thinking about it, I decided not to put the GPS into this project. It would add $50 to the cost and did not seem to be worth it.
I made an enclosure for the clock out of 0.030" aluminum and painted it black. The clock looks much more finished than a bare board stuck on the wall. At this point, this project is done.
-
Added user interface firmware
01/07/2017 at 16:20 • 0 commentsI put the user interface code in to allow setting the clock from the buttons. The last image shows it's about 8:55. I kind of like the look of this project, When I had the wire segment test code running, it was stepping through all of the segments, fairly quickly and it had a definite retro neon look to it. Running the clock firmware, it still looks like a neon clock, like something I saw when I was a kid.
-
Wire Guides in, New Power Supply
01/06/2017 at 18:21 • 0 commentsA friend printed the wire guides that I designed to hold the EL wire straight, and I installed them and was able to put all the wires in. It was still a fiddly process, but it was possible to do, and the results look pretty good. I installed the opto-triacs to control the wires and wrote a simple sequencing test program. All the wires light up.
I replaced the MIC4826 with a commercial inverter module designed to drive EL wire. The brightness on the wire is now acceptable and the opto-triacs switch OK at the 3KHz output frequency of the inverter. In order to make sure that the inverter always has a load on it, I put a circle of EL wire around the outside of the wire guides. This also accentuates the length difference between the hour and minute wires, making it easier to read as a clock.
My plan for timekeeping is to use the 60Hz (US) power line frequency on an interrupt for the MCU. Initially,I had a 9V feed off the input bridge rectifier, before the filter cap, that is divided down and clamped with a diode to not exceed the 3.3V power supply rail, feeding a GPIO pin with an interrupt on it. When I tested it, it turned out to be a random number source, rather than a time base. I put code into the interrupt service routine that sets another GPIO line high at entry to the ISR and low again at the exit to the ISR. The GPIO line was showing 1 to 5 pulses on the falling edge of the rectifier output, and 0 to 5 pulses on the next rising edge of the rectifier output. There should have been a single pulse on the falling edge of the rectifier output. It turns out that there is a lot of fast, high amplitude noise on the rectifier output. Some of the noise is probably from the input of the 3.3V switching regulator that powers the rest of the board. Some of the noise is probably from neighbors solar inverters and some is probably from power line communications used by the utility company. The GPIO line is supposed to have 0.4V of hysteresis which I had hoped would deal with the noise. It didn't. My solution to this is to trigger an LM555 set up as a one-shot, on the falling edge of the rectifier output. The 555 resistor and capacitor are chosen for a pulse length of about 7.8mS. The haversine signal coming out of the rectifier has a period of about 8.3mS, so the 555 will trigger once per period (120Hz). The 555 output (about 9V) is current limited and clamped to not exceed the 3.3V power supply, and fed into the GPIO input. The phase accuracy on this is going to be pretty awful, but the clock shows time in 5 minute increments, 8mS jitter is ignorable! After testing with the mods in, the time is within seconds of the expected time when run over a 24 hour period. This is as close as I can get testing with the debugger.
My plan for timekeeping is to set the clock on powerup from the on-board GPS module, then shut the GPS down and run on the powerline frequency time base. Every night at midnight, the GPS will be powered up and if a fix is availible, the on-board time will be corrected.
I wrote and module tested the UART device drivers earlier in the week. The next step is to carve up my NMEA parser code to strip out parsing for the messages that will be ignored or disabled. Having the GPS time available will be a good way to check the accuracy of my power line cleanup method.
-
Progress on several fronts
01/01/2017 at 18:58 • 0 commentsThe chip that I had hoped to use for the EL wire power supply is not going to work. It puts out about 75 VRMS as measured on an RMS meter and checking with a scope, this is correct considering the duty cycle and the wave shape (close to square wave with big dead times). Unfortunately, it is not enough.
I looked at a commercial EL wire inverter and it is putting out about 130VRMS (300VPP at 3KHz) and it is fairly sinusoidal in appearance. The voltage slew rate is high enough that it may prevent the opto-triacs from switching off as the voltage goes through 0V. It is still worth trying the commercial inverter, if it does not allow the opto-triacs to switch off, I can continue with building my own inverter.
Numerous sources say that you are not supposed to disconnect the load from an EL wire inverter while it is powered up. My solution to this is going to be to put a segment of wire on the board that is always connected, so the inverter will never be run without a load. The "always on" segment will be long enough that the smaller loads from the wire segments should be negligible.
When I designed the board, I planned to cut the EL wire to the proper length and strip both ends. The center (driven) end of the wire would have both leads soldered to pads visible on the board. The outer end would have the center conductor soldered to a pad just to keep the wire in place mechanically. After stringing a couple of wires in this way, it is a huge pain to get the lengths accurate after stripping, and the wire will not lay very straight. It looks bad. The new plan is to print some little guides that will be glued to the board and the wire will only be connected to the board at the center end. The guides will have a channel for the hour and minute wires and keep the wires straight. This cuts the number of prepared ends on the wire in half so it should be a lot less work. It should look much better as well.
I started the software development so that I could test the SPI slave interface that drives the opto-triacs. It is a 24 bit slave interface built from 6 octal D flip flops, using three configured as a shift register and 3 configured as an output latch. It works as expected. A series of switches and buttons are on the board to handle manually setting the clock and setting the time zone when the GPS sets the clock. The switches and buttons go into GPIO inputs on the LPC1114 board. I wrote and tested the code handling the switches over the weekend.
-
Experimenting with the EL Wire
12/15/2016 at 03:37 • 0 commentsI am trying to get some brightness out of the EL wire, and 140VPP is not sufficient. Tonight, I hooked a step up transformer up to the output of my old HP sine wave generator (200CD) and was curious what voltage I could get out of the transformer and how frequency dependent it was. The transformer is a mains power transformer (with the generator hooked up to the low voltage side), so it is happiest around 50 - 150Hz.
Watching the brightness of the EL wire, it appears to be mostly voltage dependent and not as much frequency dependent. With the output voltage around 400 to 450VPP and the frequency around 140 to 150Hz, the blue EL wire was visible in a brightly lit room. In a dim room, it looked great. Tomorrow, I will go see if I can find an audio transformer that will deal with higher frequencies better, so that I can try raising the frequency above 180Hz.
The photo-triacs that I am using for driving the wires will handle up to 600VPP, so 400 to 450VPP is not totally crazy.
It looks like this project is going to need a completely different high voltage supply bubble gummed in to work at all.