-
Out of prize contention?
08/17/2015 at 20:13 • 0 commentsThis project is something I will finish as I have a real need for it. I submitted it to Hack A Day around the time I started work on the project so it would be considered as an entrant in a 3 week mini contest was being run. To enter the three week mini contest I had to mark the project as one to be considered for a price in the HackADayPrize 2015 contest.
I've been making good progress on the project in the limited time I have available to work on it. This past couple of weeks I was dealing with some computer system upgrades and administration tasks. Now it is less than an hour in which to submit a video as part of the HAD contest requirements.
I'm a maker, not a videographer.
I have one very basic video camera but there isn't enough light at my workbench for it to get a picture where you would be able to see what you are looking at. My SLR camera can record video for up to 30 seconds but there isn't enough light at the bench for it either. It was suggested to make a slideshow video with voice over. I have recently installed Lightworks on my computer but I've never used it to create or edit video. No time to figure it out in time to make a video with it.
Based on the published rules, not having a video probably puts me out of contention for this years Hack A Day Prize. In the end it doesn't really matter to me. I will be continuing work on this project prize or no prize. -
A minor problem
08/17/2015 at 16:48 • 0 commentsYesterday I needed to determine the pin out of the cable that will connect my device to the camera in order to finish the schematic for my interface board. The cable has a Nikon proprietary connector on one end and a mini USB connector on the other. Using a multimeter, the cable, a USB breakout board and a thin probe it didn't take long to determine the pin out of the cable. I used the information to complete the preliminary version of the schematic diagram (now available here in the gallery).
While I had the cable connected to the breakout board I decided to check if the camera feeds power to the accessory port even when the power switch on the camera is set to the off position. I found out that is the case and that is when I realized I have a minor problem to solve.
The other DIY GPS project for a Nikon camera made me think I would see 5 volts on the accessory connector. When I measured the voltage supplied by my camera I obtained a reading of 5.94 volts. The AVR microcontroller has a maximum supply voltage rating of 5.5V. I am still looking for a datasheet for the voltage regulator used on the GPS receiver module. It might have a maximum supply voltage rating of 5V. I need to knock at least 0.5V off the voltage supplied by the camera to avoid damaging any of the components I'm using in my project. I also need to do so while drawing the least amount of additional current from the camera battery.
I could use a simple resistor to drop the supply voltage but the varying current drawn by the GPS module would result in varying voltage to the AVR microcontroller. A resistor and zener is the next option but that means two more components to add to an already crowded board. The last option is adding a voltage regulator. The regulator must provide an output voltage high enough to satisfy the regulator on the GPS module. I will conduct some tests with a variable power supply to see if a 3.6V output will work. -
Schematic, PCB, and packaging
08/16/2015 at 16:41 • 0 commentsI used Kicad to draw up a preliminary schematic for the interface board. When I started work on the PCB layout I soon realized my original thought to use a 1" x 0.5" board was unrealistic. I am now working with a PCB board that will be the same size as the GPS receiver module (1.4" x 1"). The larger sized board has the room needed for all the parts but it is still going to be a challenge to run all the traces. I've already made some adjustments to the schematic to accommodate the initial work on the PCB layout.It was not unexpected that the schematic diagram, the PCB, and the final packaging for the project are interrelated. Changes in one of these areas can impact the other areas. As I started the board layout I had to back port some changes to the schematic diagram. I have an idea on the final packaging for the project. The placement of the USB connectors, switch, button, and LED in the project enclosure will impact the PCB layout and that may require additional minor changes to the schematic to keep everything in sync.
The completion of the PCB layout is currently held as I have not made a final selection of the USB connectors I will use. I also need to do some 3D modelling to check clearances between the project enclosure and the cameras built-in flash unit when the flash unit is in use. The 3D model may reveal the need for additional changes in parts placement on the PCB.
-
Updated project details
08/12/2015 at 16:01 • 0 commentsI have finally updated the project details section of this project with more information and a detailed background. When I originally added this project to Hack A Day I put it up quickly so the project could be considered for a 3 week long mini-contest whose entry deadline was only a few days away.
-
Parts have arrived
08/11/2015 at 21:44 • 0 commentsYesterday I received the USB breakout boards I had ordered. The end of last month I received the two cables I had ordered which will provide the connection between the GPS receiver and the camera. I now have all the components required to build a prototype. At this point the focus shifts mainly to the software.
-
Parts have been ordered
07/30/2015 at 14:47 • 0 commentsA while ago I ordered a pair of cables for this project. They have the proprietary connector on one end which will plug in to the accessory port on the camera. The other end is a standard USB connector that will plug in to my interface PCB. I bought two cable with the plans to chop the USB end off one of them so I could wire it in to my prototype. I recently discovered some USB breakout boards on eBay. I will be able to use the cables as is so I can keep both cables intact.
The breakout boards, and some USB connectors, have been ordered and have already been shipped as of this morning. Once the items arrive I will have all the parts I need to make a prototype of this project.
-
Reducing power consumption
07/15/2015 at 18:08 • 0 commentsI keep in touch with other people interested in microcontrollers via an IRC channel dedicated to the topic. A few days ago someone asked for help with a GPS related project. In talking with them I learned of the NEO-7M from Ublox. It is a fully compatible successor to the NEO-6M, uses a lot less power, and only costs a few dollars more. The typical power consumption of the 7M is about half that of the 6M. I will use the NEO-6M in the initial prototype as it is on the board I already have. I will take a closer look at the 7M for a later version of this project.
Using the NEO-7M will allow me to reduce the amount of current I need from the camera battery and offset the additional current required to power the microcontroller. I will also reduce the average amount of power used by putting the microcontroller to sleep when it isn't receiving, processing, or sending GPS data.
I will be using a µCurrent™ GOLD (created by Dave Jones of EEVblog fame) along with an oscilloscope to determine the current requirements of this project during various stages of its operation: initial satellite acquisition (after power on), satellite tracking, and when the AVR is in sleep mode.
-
The development hardware
07/14/2015 at 23:02 • 0 commentsI added two photographs to the gallery which show the portion of my workbench where I am working on the hardware for this project. The second picture with just two small boxes in it show the GPS receiver package. The square object near the top right of the picture is the heart of the GPS receiver package with its NEO-6M module in the center of the PCB. Towards the bottom left is the antenna with the black cable attached which connects it to the PCB.
The first picture is the main shows a solderless breadboard that has items on it for three different projects I have in progress. The parts relevant to this project start are the Raspberry Pi (at the top of the picture) with the black cable coming from it to a T-cobbler breakout board. Below the T-cobbler is a 74LVC245 IC which is used as a buffer between the 3.3 volt signals of the Pi and the 5V signals on the breadboard. The large IC below the buffer chip is an ATmega644 AVR microprocessor from Atmel. The blue device at the top of the picture, to the right of the Raspberry Pi, is a vacuum florescent display (VFD).
The Raspberry Pi is the software development platform for this project. I installed a GCC based cross-compiler toolchain on it that allows me to write and compile software to be run on the AVR microcontroller. I use avrdude to program the AVR microcontroller using the SPI interface of the Raspberry Pi. The VFD is serial based so it will act as the camera during early testing. I will use it to display GPS data allowing me to verify that the AVR is receiving and decoding the GPS messages from the NEO-6M.
The other items on the breaboard, not relevant to this project, are a capacitor ESR meter (down the left side) and a graphical LCD module (seen on the right side of the picture and connected to the AVR microcontroller via a multi-coloured ribbon cable).
-
Improving position accuracy
07/07/2015 at 06:10 • 0 commentsA few days ago I was thinking about the 2.5m accuracy of the GPS data when it occurred to me that I might be able to increase the accuracy of the position data. I can take advantage of the AVR micro-controller to calculate a moving average of the GPS position data. I will need to log a lot of GPS data when the receiver is in a fixed location, and also when it is being carried around by a person taking a walk, to get a true sense of how much the position information can vary and to establish limits when the location data can be averaged. If the camera is being used from a vehicle in motion it would not make sense to average the location data. The speed information in the GPS data can be used to determine when to stop averaging position data.