News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Projectwise...

Started by vanjast, July 13, 2011, 06:34:25 PM

Previous topic - Next topic

vanjast

After a month of dilly-dallying, I'm finally finished the hardware pcb design of my Inertial Navigator.
;======================================================================
Specs:
====
Capability:-                 6DOF gyro and force sensing

Dimensions(LxBxH):-    65x45x20mm.

Power:-                     Lithium Ion Cell Phone battery (replaceable) with temperature sensor and power control.
                                USB 2.0 capability (still to be tested  :bg), with charging
                                'External' power jack for extra power.
                                All power points may be connected at the same time.

Endurance:-               With 1000mAh battery  ~ 50 hours Continuous operation
                                Longer duration power packs to be investigated.
                                With USB / External power = unlimited.

Memory:-                   1MByte which will be equivalent to 64K waypoints of raw data (uncompressed).
                                65536 waypoints at 1 second intervals ~ 18 Hours
                                65536 waypoints at 1 minute intervals ~ 45 days
                                65536 waypoints at your interval - Device tracks Longitude/Latitude/Altitude all the way up to 'record time'

;======================================================================

My next trick is writing a USB proggy in assembler. I've done a load of USB reading and research but if anyone knows of asm USB example progs for mass storage devices it'll be a great help.

I've done the USB.ORG and some other websites, but and assembler version would be nicer  :green2

:U


vanjast

Main reason for doing this - something to do and having fun  :wink

Really... an alternative to GPS, and multi-purpose scalability.
:8)

baltoro

Interesting.
As I'm not a physicist,...I had to GOOGLE it,...and, found this YouTube video: Litton LN3-2A Inertial Navigator Platform.
...So,...you are also designing your own UFO ???
Baltoro

clive

So are you looking to do PC host side, or device side assembler. If on the device, what processor are you using?

The last mass-storage-device I coded on used an 8051, and most of the SCSISTOR/USBSTOR was in C.
It could be a random act of randomness. Those happen a lot as well.

vanjast

Baltoro:
Nice toy that... a bit big for my pocket, but it'll would be nice to have that follow you around in the mall  :bg

Clive:
Both sides, I've worked on the 8051, C and Asm, many yonks ago.
On the device side, it's going to be a mass-storage device (a simplified one  :wink) so that the waypoint info is easily accessable from any PC platform.
It would be interesting to see how you've done it. Naturally I will not copy it as I have to put in a lot more funtionality as the device must be able to output single waypoints if connected to a display of some sort. The USB port will be multipurpose - The Host interface/Real world adapter for other types of equipmet will come later.

On the PC side the plan is currently to connect to Google maps, or any other software that can handle waypoints.

Currently 2 modes of operation:

1) Raw data format - The device does not know it's location and just records/sends out sensor data (PC code interprets/corrects this data into Long/Lat...)
2)Longtitude/Latitude/Altitude/Attitude - The device knows it start location (attitude is self determinable) and then stores/sends out Long/Lat/Alt/Att data

I expect when running on battery power it's will consume somewhere between 10-20mA @ 3.3V at low frequency. (datasheet calculations - Physical test will be different))
When USB/external power is connected, the device switches to high frequency and USB 2.0 operation.

I'll post some piccies as progress continues..



clive

Quote from: vanjast
On the device side, it's going to be a mass-storage device (a simplified one  :wink) so that the waypoint info is easily accessable from any PC platform.

Well there's going to be a limit on how simple it can get, Windows has some specific expectations about the SCSI commands it expects to be able to send, and the responses it will get.  Unless you want to get clever sending SCSI commands directly at the device, the MSD is basically going to a) make Windows happy during initialization, and b) serve up, and write, "sector" data to your storage medium. For this discussion Windows == LINUX, but Microsoft's expectations of how it should behave pretty much ties your hands.

At a guess, you're really going to want to emulate a FAT file system on you flash/eeprom storage space and serve up the sectors to the MSD as requested. When you're logging data you write it too a "file" that you create on this. You can simplify the FAT side of things by say sticking to FAT16, and placing the file(s) in the root directory.
It could be a random act of randomness. Those happen a lot as well.

vanjast

Essentially that's what I've worked out..
I'm not going to implement the whole file system but make it look like there's a file system - 'emulate' if you wish  :lol

I've just reduced the battery power consumption to 10mA 'tops', theoretically.This includes leakages, so I'm now hoping for a minimum 100hrs continous operation (~ 4 days)
In reality I think I'll get 72-100 hours depending on battery condition - Lion batteries are fairly consistent over their lifespan

I have a plan to reduce power to approx 5mA, but this requires a lot of tweaking -might just be able to do it.
:U

vanjast

Here's a of the pcb layout - Made a printout of it.

It's damm smaller than what I thought.. but that's oK
:bg

dedndave

you should put your name in the silkscreen   :U

vanjast

I try to avoid being sued  :P.

Just fooling around on that silkscreen  :green2

clive



Front side is a CPU, GPS, accelerometer, and on the backside is a Quad Band GSM modem, and two SIM-on-chips.
It could be a random act of randomness. Those happen a lot as well.

dedndave

what do you use for an accelerometer ?

clive

It could be a random act of randomness. Those happen a lot as well.

vanjast

Funny how all the accelerometers look similar - there must be industrial espionage  :eek.

I'm using that ST- LIS302DLH.
One thing that's not explicit with the VTI, and your Freescale one, is the sensisity..
- They say Count's-per-G, but do not explain Counts (Maybe you can clarify this for me) whereas the ST version just says 1mG (12bit at +-2G) sensistivity - which is far better for me.

:8)

vanjast

Does anybody know of a suppler/source for surface mount tooling and accessories (paste, glue, etc), as I'll need this to assemble the cards.

I must just slap my reflow (pizza) oven together quickly - had it stacked away in my garage (in pieces) for a year or more.  :bg
and then I'm free to go.