Developer-friendly / experimental branch (dataghost) - page 9 - CHDK Releases - CHDK Forum
supplierdeeply

Developer-friendly / experimental branch (dataghost)

  • 143 Replies
  • 75987 Views
*

Offline LjL

  • ****
  • 266
  • A720IS
Re: Developer-friendly / experimental branch (dataghost)
« Reply #80 on: 06 / July / 2008, 12:53:30 »
Advertisements
Uhm, no, perhaps you're right... I was thinking "axis of rotation", while you're really talking about the axis the sensor is measuring.

So if this is a two-axis accelerometer, it makes sense that it would measure gravity along an axis going from ground to sky, as well as one coming out from one side of the camera.

Why am I unable to distinguish between upwards and downwards, though? Bah, trigonometry is far from my favorite subject... ;(

*

Offline Bg~

  • *
  • 27
Re: Developer-friendly / experimental branch (dataghost)
« Reply #81 on: 06 / July / 2008, 15:00:47 »
These numbers respond to the north/south poles of a magnet as well. I noticed the function names _GetISHallOffsetAaxis() (a hall sensor is used to detect magnetic fields), and the output sorta corresponds to compass heading as you rotate the camera (slowly and letting it sit to let the gyros settle), but it doesn't seem very exact. I'll have to make a little graduated turntable and see what I can measure. (it could also be integrating the gyro measurements, but it responds drastically to a magnet held near the camera)
 
possibly a camera with a built in compass, neat :)

what we really need is someone to take apart their camera, heheh

*

Offline Bg~

  • *
  • 27
Re: Developer-friendly / experimental branch (dataghost)
« Reply #82 on: 06 / July / 2008, 15:12:52 »
I came across this for the SD870IS, it may be helpful.


   Canon IXY910IS SD870IS Digital Still Camera - What's Inside_text - Electronic Products


It only lists a 2-axis angular velocity sensor (gyro). It also lists the Image Stabilizer Parts: "Renesas    R2J30504    Optical Image Stabilization Device" but I wasn't able to find any additional information on the part.

*

Offline LjL

  • ****
  • 266
  • A720IS
Re: Developer-friendly / experimental branch (dataghost)
« Reply #83 on: 06 / July / 2008, 15:15:22 »
Wow, really? DataGhost had said there was no response to magnets, though perhaps it varies with camera model...

I'm not sure what purpose this serves, though - some high-end cameras do have a built-in compass (those that also have a built-in GPS, usually), but if there's no such function, then what purpose does a magnetic sensor serve?

(Acceleration on that axis, for IS purposes, is much better served by just an accelerometer)

This function is what is shown as "Hall off" in "Show IS internals 2", right? For me (A720), it seems fixed at A: 79, B: 73, and I don't see anything that reacts to magnets... unless my fridge ones aren't good enough  ???

Bah, there is a lot to discover about these sensors. What about using the compass together with the sensors for gravity (i.e. measuring g) to determine location without a GPS? ;) (yes, I'm kidding)
« Last Edit: 06 / July / 2008, 15:24:17 by LjL »


*

Offline fe50

  • ******
  • 3132
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: Developer-friendly / experimental branch (dataghost)
« Reply #84 on: 06 / July / 2008, 15:22:32 »
Perhaps this pics of a "raw" S3 may be interesting...

*

Offline Bg~

  • *
  • 27
Re: Developer-friendly / experimental branch (dataghost)
« Reply #85 on: 06 / July / 2008, 17:07:04 »
I made up a little turn table and it appears to just be integrating the gyro output. I recorded EViA and B every 30 degrees, and A is just a mess, and B is trying to be a sinusoid. The readings aren't repeatable though. For example, I faced the camera north, wrote down the reading. Then I let the camera spin on its strap for a few seconds and faced it north again; this time the reading was different by approximately 100. So it looks like we won't be making a compass work with this.

The numbers that change in response to a magnet are the _GetISLensEViAaxis() and _GetISLensEViBaxis() results--but this may be an unintended effect on the sensor itself -- I don't really know. The Hall outputs don't change at all.


*

Offline LjL

  • ****
  • 266
  • A720IS
Re: Developer-friendly / experimental branch (dataghost)
« Reply #86 on: 06 / July / 2008, 17:26:12 »
Ah, I see. I thought you weren't refering to the EVi numbers.

What I've noticed with them (but just impressions, no serious testing), instead, is they seem to stay relatively constant for a given angle as long as the camera is on (or perhaps as long as the batteries aren't disconnected).

I'll try your test, too... I already have a turn table in the form of a piano seat ;)

EDIT:

Wow, you're right. They're both influenced by magnets and change with rotation around the vertical axis... although, as you say, the effects of magnets are small enough to make the conclusion that it's detecting Earth's field dubious. There's also the risk that, if the ground isn't perfectly plumb (I know my place's floor isn't!), that's the effect we're seeing...?  ???

What's for sure is that, if we really only have EVi A and B, then this reactivity to the Earth's field (or whatever it is) will be a hindrance, rather than something useful.
We're already measuring two things (tilt arund two axes)... There's no way we can separately and reliably measure three things with just two numbers :(

ATTACHMENT:

I have, too, turned the camera 360 degrees around the vertical (ground-sky) axis in 30 degrees step. I've measured _GetISLensEViAaxis() and _GetISLensEViBaxis() using the integration I described earlier (and which is in my code).

I'd say that the linearity of the A axis is merely due to the integration (the value is still increasing as I write, with the camera still...); as for the B axis, it shows "something", but the changes in numbers are really too tiny to say anything, in my opinion...

Although I'm sure I noticed some bigger changes by eye, earlier. Bah. Anyway, I made sure the surface I did this on was relatively plumb, using a spirit level.

(And, no, I don't know why one graph is smaller than the other - ask Excel)
« Last Edit: 06 / July / 2008, 18:18:22 by LjL »

*

Offline yvesson

  • ***
  • 207
  • A540 SX10IS
    • poll about some pics (not much serious) ^^
Re: Developer-friendly / experimental branch (dataghost)
« Reply #87 on: 06 / July / 2008, 17:43:53 »
Hej,
Then you put a piece of iron next to the cam and it will fool it ? Oo
(which isn't the case)


*

Offline LjL

  • ****
  • 266
  • A720IS
Re: Developer-friendly / experimental branch (dataghost)
« Reply #88 on: 06 / July / 2008, 17:45:26 »
Well, I've only tried with magnetic material, I don't think iron alone will do anything.

Even with a magnet, though (unless you've got some particularly strong one, I guess), the effect won't be nearly as strong as to fool the camera into thinking it's portrait when it's actually landscape. It just changes the numbers slightly.

*

Offline Bg~

  • *
  • 27
Re: Developer-friendly / experimental branch (dataghost)
« Reply #89 on: 06 / July / 2008, 18:36:47 »
I think the behavior we are seeing is fully explained by the IS yaw gyroscope -- it would measure the turning of the camera. I don't think the camera is actually measuring the earth's magnetic field or being affected by it that much (at least the magnet I was using was pretty strong and it had to be close to the camera to see any effect). Any compass in general can be affected by ferrous materials nearby (airplane compasses must be calibrated on a large turntable after they are installed to account for nearby metal in the airplane). I waved around a piece of steel plate near the camera, and didn't see much effect (however, it did affect the nearby compass).
« Last Edit: 06 / July / 2008, 18:38:43 by Bg~ »

 

Related Topics