Ian, thanks for the kind comments, and the tips on the Diolan bootloader and the JTR-Honken USB stack. I'll surely look into those!
Arakis, I'm curious why you recommend optocouplers to drive the relays? Don't you consider mechanical relays themselves to be sufficient isolation from the AC mains, or is there another reason? These relays are being driven by DIP MOSFETS that are socketed next to the RJ-11 connector.
I had a heck of a time soldering the 0.5mm connector for the ADH8066 onto the prototype board! I made the mistake of using a solder with a water washable flux. While it's easy to clean, that solder does not 'wet' as readily as the rosin core variety, and I had a hard time soldering all the pins, and then removing the excess solder where bridging occurred.
I've still got a little bit more hardware troubleshooting to do, and then I've got to complete the code for this project. Once that is done, I'll post the design files!
I thought I'd share my latest project with everyone, a Cellular Remote Control. This project is intended to allow me to remotely activate two AC outlets that will be used with an aircraft engine pre-heater. During cold weather, air-cooled aircraft engines should be "pre-heated" to help with starting, and to reduce engine wear during the start phase. Each cylinder on the engine is fitted with a resistive "band heater", and the oil sump is fitted with a "pad heater" totaling about 750 watts. There is also a small ceramic heater inside the airplane used to warm the cabin. I don't like to leave the heaters on continuously, but rather switch them on the night before I plan to fly. I've been remotely controlling these heaters for several years with a ham radio based controller, but thought I'd update the design, and add a few features!
[attachment=0]
This project is based on the PIC 18F2550. I chose this PIC because it is USB-capable, and I plan to use a USB bootloader for easy firmware updates. The project also utilizes the ADH8066 Quad-Band GSM Cellular Module for all communications. The module is activated on a cellular network by installing a "SIM" card into the holder on top of the module. I use a "pre-paid" cellular account from T-Mobile with this module, and so far it has worked flawlessly. In addition to the remote switching function, this project also has an on-board temperature sensor that will allow me to remotely monitor the temperature in my hangar, and to automatically notify me when the temperature goes below, or above, certain preset limits.
The AC relays for my project are separate from the board shown above. I wanted to keep all the AC connections isolated from the low voltage circuits for safety reasons. There is a RJ-45 connector on the board that will drive the external relay board. I'll post a picture of that when I have it completed!
I came across this site recently, and figured it would be of interest to a lot of folks here on DP. Even if you never intend to build one, this project gives you a lot of insight into the inner workings of GPS receivers.
Sorry for the late reply as I've been extremely busy with other projects, and I'm preparing for a 3 week trip to Asia!
Anyway, I did update the design of my GLCD clock with a USB capable PIC, the 18F2550. I just need to finish up the new layout, and send it off to Seeed. I'll be away between Thanksgiving and Christmas, but I will get the board done before I leave, and I expect they'll be just arriving when I return!
I'll post the new files in a couple of days for you to look at. Again, I'll have extra boards, so you don't need to have any made, I'll send you one!
To update you on this project, I just finished populating the PCB, and so far all my hardware tests are looking good! I've got some test firmware running to exercise the display, and to check the analog inputs. One concern I had during the design was switching noise that might be generated by the on-board switching regulator, but early tests with an oscilloscope, and an analysis of the A/D converter readings leads me to believe this will not be an issue. I went with the switching regulator because the board can be powered at up to about 30V, and that was too much (power dissipation!) for the more familiar linear regulators I normally use!
[attachment=0]
Next up will be writing the final firmware, and incorporating any necessary calibration correction code to ensure accurate readings! I'm still missing one op-amp for the hall effect current sensing, but I should still be able to proceed with the firmware while I await its arrival!
Once this project is more or less 'complete', I'll post the Eagle schematic and board files as well as the firmware.
I've been meaning to post the Eagle schematic and board files for this project for a while now, but never got around to it. An email from a forum member (thanks Karel!) interested in this project prompted me to revisit this thread and upload these files!
Schematic: [attachment=1]
Board: [attachment=0]
I still need to round up the command protocol description, and a copy of the firmware, which I'll do shortly.
I've got an 18F2550 project that yearns for a bootloader! I'm thinking that the bootloader that has been used on a number of DP projects will fit the bill nicely. To integrate such a bootloader into my project, are these the steps I'd take?
1. Program my board with the bootloader .hex file using ICSP. 2. Relocate the start of my program to the "application memory" area pointed to by the bootloader, and recompile. 3. Use the bootloader to install my application firmware. 4. Test
If this is basically the roadmap, a couple of questions come up. It's not clear to me from browsing the bootloader source exactly where in memory the bootloader jumps to run the application program. IOW, how far must my application code be offset in order to accommodate the bootloader? Are there any other changes necessary to my application code?
When I eventually get this to work, are there tools available to "merge" two hex files into one to allow combining the bootloader and the application into one .hex file?
It appears that the PC side uses 'fw_update.exe' to manage the bootloading process. Is there a GUI available to do this, or is it strictly command line?
I'll post the schematic and board files as soon as I've had a chance to check the functionality of the board. The design was done in Eagle, so it should be readily readable for anyone that is interested!
Here is a picture of the airplane this project is being designed to support. The GPU power supply will allow the avionics to be run on the ground for general testing, and database updating. The GPU will also power the electrically operated flap and landing gear systems while they undergo periodic testing. The airplane in question is a Beechcraft A36 Bonanza.
I just got the prototype boards back for my latest project, a DC power supply monitor with GLCD display! This power supply monitor is intended to measure the voltage and current of a DC power supply, and continuously display these values on a 128X64 pixel LED backlit GLCD display. A PIC 16F876A micro will be the "brains" of this project. Some unique features of the design include a switch mode power supply for inputs up to 30V, and an on-board 4.096V reference.
This project will be used with a commercially available power supply made by the Astron Corp. that is used as a ground power supply (GPU) for a general aviation aircraft. The power supply is used to operate the airplanes electrical system when the plane is on the ground undergoing tests. Monitoring system voltage and supplied current is important in this application.
The power supply voltage is scaled for the A/D input by a solder-selectable jumper (12V or 24V), while current is measured by an off-board Honeywell hall effect sensor.
I've got most of the firmware written for this project using a hand-wired prototype as a test-bed, so now it's time to build the real thing, and see how it works! I'll post some assembly pictures, and pictures of the power supply monitor in operation once I have it complete.
[quote author="phirephly"]Yep. Stupidly simple fix. Stacked 10nF caps on top of every 100nF cap, and then went against the datasheet and put 10nF caps between the thermocouple leads and Vcc and GND (conveniently all right next to each other on the SO08 package). Bam. Spot on on everything.
It does low pass filtering inside the chip my ass. Thanks for the help guys.[/quote]
Hi,
Did you ever contact Maxim about this issue and get their input? I'm about to implement this IC in a new design, and I'd be curious to hear what they have to say!
Well, I guess "great minds think alike", as I did consider a USB capable PIC for this project. My initial thought was that the 18F2550 didn't have enough I/O capability (and the 18F4550 would be way overkill!), but on second thought it may, so I'll have to take another look! One possibility would be to eliminate the pushbuttons, removing 'local' control, and making the project 'USB only' for setting? Worth considering, but that would surely be a last resort! One think I know I can get rid of is the 'Power' LED - it's really not necessary! Anyway, I'll look at a USB version over the weekend, and see what I come up with, so stay tuned!!
Thanks for notifying me that you sent a PM, otherwise I would not have known to check! I'm actually surprised that the forum software doesn't generate an email when new mail shows up in your Inbox. I wonder if there is a way to turn that on?
Edit: I just checked the User Control Panel, and it was set to notify me when a private message is received, but I don't think I ever saw anything??? Is this feature working for other users?
I've had a slight direction change on this project. Everything is working well, but I've found that the 'GPS sync' feature is pretty much overkill, and the required GPS module is relatively expensive. Today, I wrote a small Windows utility to sync the GLCD clock to my PC. Since the clock sits on my desk anyway, this seems like a logical way to periodically update the time for continued accuracy. Even if it's used away from a PC, bringing it over to the desk for updating is not a big deal.
Anyway, I'm going to make a new PCB with a header that mates to this USB-to-serial cable http://http://www.sparkfun.com/products/9718. I probably won't do an initial prototype again using DorkBotPDX (because the changes are minor!), but rather I'll go directly to Seeed's Fusion PCB service. I'd like at least a couple of boards for myself, and that means I'll have a few extras if anyone wants one!
No, I have no objections whatsoever! In fact, I still have two of the DorkbotPDX prototype boards on my bench, and you are welcome to one if you'd like. It is a fully functional board with just a few minor issues, such as the missing pull-up (which can be added easily!).
If you PM me your address I'll send you the board.
I am using Eagle v5.11. I just uploaded the .sch and .brd files again to the original post from last week. Can you download them again, and see if you get the same error?
These files are the latest versions, and include all the fixes required from the 1st prototype, including the addition of the pull-up resistor.
Thanks for the interest in this project! It was always my intent to release the schematic and board files for my GLCD clock for anyone that wants to build one for themselves! I only waited until I had resolved a couple of minor issues with the PCB design before doing so!
Attached are the schematic and board files:
[attachment=1] [attachment=0]
The firmware is a little bit trickier. I use the CCS 'C' compiler, and my GLCD routines are based on a heavily modified version of the GLCD driver provided with the CCS compiler (I added a number of large fonts, and the routines to display them). I'm currently looking into what I can, and cannot, share with the group. At the very least, I'll post the .hex file for the firmware and help anyone that wants to develop their own firmware. I think I'll be able to post enough of the code to make it really easy to duplicate without running afoul of the CCS licensing agreement!