Jump to content
greeeg

GPS logger for a local Beagle club

Recommended Posts

Awesome work as always.

 

What are you using the Smoothieboard for? The mill or the laser? I've recently switched my laser over to one and started contributing to the software. Nothing much so far - just added TTL laser control for now. I'm hoping to add PPI (pulsed cutting) later to help with making mylar solder stencils.

 

Coding for the NXP LPC1769 isn't as nice as any of TI offerings so far. Believe it or not I miss CCS!

Ohh cool, My smoothie board has been making the rounds through some of my machines. It's typically on either my custom openbuilds vslot based delta 3d printer (still very much a work in progress) Or my homemade reprap (the first thing I built with my purchased 3d printer)

 

My CNC mill predates the smoothie board, it's running from a tinyG controller. Which seems to work quite well, I'm not sure if the onboard drivers struggle sometimes. I've occasionally either missed steps or the steppers have stalled, basically ruining the entire job. (I suspect this might be more of a mechanical issue than electronics)

 

My laser is still using the included driver board and the slightly dodgy corel+plugin software. I'm planning to upgrade the whole gantry at the same time as the control board to give a larger work area. But as you can imagine, that's quite a big job.

 

 

True - but they're good value if you know in advance that the electronics are junk. And for most of us on here it's something we'd be comfortable fixing - and probably enjoy it too.

This is quite true, I have enjoyed fixing the electronics.

 

@greeeg    I have really enjoyed your project as it progressed from concept to reality.  Good stuff.

Thanks, It's been a fun project.

 

Still a bit of work required on the software front, I want to have the device directly log into a format supported by google maps .kml. That transition has brought with it some bugs.

I'm still not monitoring the battery voltage, but the protection circuit cuts the battery out at ~3.3v so there isn't much harm in ignoring the battery voltage.

Share this post


Link to post
Share on other sites

Thank you very much. I am not yet sure if I really want to invest in a cnc mill or if a reflow oven (T962 or T-962A, where I am not sure what the differences are other than the price...) But it is interesting to see what is out there.

Your project is really great, btw, kudos also from me!

Share this post


Link to post
Share on other sites

Havent had too much time to polish off the software side. But I've been thinking about adding a bootloader to the project.

 

Now I know that the MSP430F55xx series includes a DFU style BSL. But since my application already exposes as a MSC what if a new firmware could be drag and dropped into tho drive?

(Because windows is actually handling the FAT stuff at this stage it's difficult/impossible to determine if a fimware file has been loaded on the SD.)

 

post-274-0-79268100-1459122996_thumb.png

Upon unplugging of the drive or maybe just 'Ejecting" it, the MSP will look for the new fw. Possibly do a CRC/other check to see if it's compatible. Then call my custom bootloader.

 

The custom bootloader will contain petietFS for reading the new fw from the MMC into the MSP. And we're done, new fw loaded!

 

 

I've seen similar bootloaders before, where the main program handles error correction and checking, but the fw is eventually loaded to a local memory to be read off error free by the bootloader. I know FAT is quite an overhead for a known file size of ~128kB. It is probably possible to actually pass the first file pointer into the bootloader, but then that feels like it's just opening up more problems.

Share this post


Link to post
Share on other sites

Realized I haven't done much work on these for alittle while. It's very close to a working product, so yesterday I devoted to push it over the line.

 

Dissembling a my first battery allowed me to clone the wire lengths, a small amount of kapton is used to insulate the terminals and PCB

post-274-0-28423100-1460943038_thumb.jpg

 

A snug fit. If another version is to be made I think I'd make some small alterations to the PCB shape.

post-274-0-50257500-1460943040_thumb.jpg

 

Grey unit, showing the LED windows and custom molded button.

post-274-0-55997100-1460943042_thumb.jpg

 

I'm bad at performing regular commits. I'm trying to improve this. I hadn't even committed the final PCB layout, even though I ordered the PCBs back in Feb.

post-274-0-47665700-1460943112_thumb.png

 

Stuff that got done

  • Hardware
    • Batteries (protection + wiring)
  • Firmware
    • Proper KML formatting (my initial implementation put too many errors while the gps was acquiring a fix)
    • Button hold for power on/off
    • Better debug output
    • Two open files (FatFS makes this super easy)
    • Increasing GPS data rate to 2Hz (10Hz is possible with these modules, but overkill for this application I think)
    • Enabling long file names(FatFS makes this super easy)
    • Enabling folders on the SD card(FatFS makes this super easy)
    • Extracting time from GPS, using it to name saved logs and file creation date/time
    • Making LED feedback more consistent
    • Timezone correction from GPS UT timezone
    • Fixed LEDs blinking for USB chargers with no USB communication

 

It's been working well on my bench. I'll have to take it out for more real world testing over the next week.

I haven't done anything with the USB bootloader concept. This will only happen if I get enough time.

Share this post


Link to post
Share on other sites

The 5 units in the field have been working quite well. I've been learning alot, Typically my projects have been on the prototype scale. Even just stepping up to 5 or 10 makes you think about small optimizations in the design phase.

 

The GPS modules were chosen because they had integrated antennas, and were cheap! (very cheap!) ($12 from Chinese sources) this helped keep the overall unit cost low. but obviously had some unforeseen issues. One of the 5 units is much less sensitive to GPS as the others, I'm scheduled to have the units back to look into this. The eratic / jerky motion of the dogs isn't what the units are designed for and ocassionally the track will "jump" by 50-100m in N/S/E/W direction for a solid 60 seconds before "jumping" back. This means the tracks recorded sometimes are not the true path the dog took.

 

Lastly the compact design of the GPS module likely sacrifices antenna size for portability. This has also resulted in the units taking awhile to get an initial lock. Even for hot starts. (about 60 seconds)

 

To address these issues I'm redesigning the device with some changes based on feedback from v1.0

 

Here is a photo of the newly designed PCBs. I need 10 units, so I've made a panel of 2 so that I can leverage cheap 10x10cm prototype PCB fabs.

post-274-0-03489600-1468838556_thumb.png

 

Changes from v1.0

  • Moved all components possible to backside of PCB. (These will be hand placed and re-flowed)
  • Changed to 4 layer PCB, this means we can have a continuous ground plane behind the GPS antenna.
  • Changed to a uBlox Max6/7/8 footprint (Plan to use the MAX8 fro GPS + GLONASS)
  • Added solder pin GPS antenna and LNA + BPF
  • Minor changes to passives
  • Added inline resistors to data lines of GPS + SD to reduce noise
  • Using split ground plane to isolate noise (not an ideal layout, but there isn't much room to play with)

I have kept the same MSP430F5514 to enable cross compatible code between hardware v1.0 and v2.1

 

PCB are at the fabs and parts have been ordered. The GPS antennas I'm using will be 25x25 which is a big step up from 12x12 on the old modules. Hopefully we see an improvement.

Share this post


Link to post
Share on other sites

@@yosh The original units used a PA6C unit from G.Top

 

These units will use a uBlox MAX-M8 module. This is a GPS + GLONASS GNSS. So there should be a performance increase there. Also the uBlox configuration software enables you to alter a huge amount of parameters to fit with the use case of the final product.

 

I've used some LEA and NEO modules and was very impressed, but haven't had the original units to do a direct comparison between them.

Unfortunately the PCB geometry and physical form factor play a role in performance too, so it's hard to compare with a bench-top setup vs the portable device.

 

I'll post some results when the boards arrive and I've assembled one.

Share this post


Link to post
Share on other sites

@@greeeg Tried 4 or 5 different modules from G-Top myself, major problem was my poor PCB design (no proper ground plane etc.) ... I like the small form factor, but the fixing time was awefull (on my PCBs).

It will be interisting to see, how GLONASS improves fixing and/or accuracy ...

Share this post


Link to post
Share on other sites

PCBs arrived today.

 

post-274-0-28807600-1469512275_thumb.jpg

Glad the Tab & Route worked well, this is the first time I've used it far a panel.

It is essential for this as the PCB shape doesn't have any straight edges for V-scores.

 

The tabs could be smaller, but they snap nicely and a few passes with 400 grit cleans up the edges if needed.

 

Next step, assemble them. The GPS SAW filter is probably the smallest part I've ever soldered. A 5 pin package the size of a 0402 cap -_-*

Share this post


Link to post
Share on other sites

I have a PCB soldered up. Everything working as expected, except no GPS acquisition.

 

After some re-soldering and fault finding. Found the SAW filter wasn't working. The antenna seems to operate fine without it. (I imagine the GPS module has it's own internal SAW filter....)

 

I fell into a newbie trap. Here is a page from the B8813 datasheet.

post-274-0-61943600-1469579183_thumb.png

 

Notice the "Bottom view" text, because I did not when I made the footprint.

post-274-0-56934900-1469579739_thumb.png

Share this post


Link to post
Share on other sites

post-274-0-72372200-1469658488_thumb.jpg

 

@Fred It would be nice to see how much of a performance gain I get with/without. The LNA is already designed to only amplify within the range of GPS + GLONASS frequencies. As mentioned just bypassing the filter with a bodge wire seems to work quite well.

 

post-274-0-12189300-1469658491_thumb.jpg

 

I did a very quick side by side test, and the new uBlox MAX M8Q with a 25x25mm antenna shows twice the satellites than the old g-top modules, all with improved signal strength.

 

For reference here is a comparison of the path antenna sizes.

post-274-0-53635200-1469658493_thumb.jpg

(Left to right: 12x12mm, 25x25mm, 35x25mm)

 

The 35x35mm was in stock at digikey so I bought 2 to play around with and compare. The 25x25mm is what I plan to use for this version.

 

Share this post


Link to post
Share on other sites

Got my enclosures today. That means I now have all the hardware parts for this batch.

 

I've been playing around with Fusion 360 instead of Rhino, mainly due to the integrated CAM processor. Also it has easy to use rendering stuff out of the box too.

 

This is the reason I love companies that provide 3d CAD files. I can define some simple stroke text, and Fusion 360 will project it over the 3d curvature of the part.

post-274-0-03313300-1470828746_thumb.jpg

 

My CNC setup is in dis-array. The setup is sub optimal.

post-274-0-04768700-1470827886_thumb.jpg

 

But I think the results speak for themselves.

post-274-0-01332800-1470827890_thumb.jpg

 

I want to experiment with filling the engravings with a paint to make them stand out.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×