<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for Powerhouse Electronics</title>
	<atom:link href="http://ph-elec.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://ph-elec.com</link>
	<description>Powerhouse Eletronics</description>
	<lastBuildDate>Tue, 24 Apr 2012 15:48:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Comment on Automotive Ultrasonic Hacking HowTo by James</title>
		<link>http://ph-elec.com/archives/ultrasonic-sensor-hacking-step-1/#comment-99</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 24 Apr 2012 15:48:13 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec2.com/?p=186#comment-99</guid>
		<description>I love my Logicport analyzer.  Use it almost as much as my voltmeter.

http://www.pctestinstruments.com/

Only downside is that it does not run under directly under Ubuntu / Linux.  However, it does just fine inside a VMWare virtual WinXP machine on top of Ubuntu.  

So that&#039;s my trick, old Windows hardware can be run (mostly) inside a virtual machine on top of Ubuntu.  For sure, the Logicport seem very happy to run this way.

Jim</description>
		<content:encoded><![CDATA[<p>I love my Logicport analyzer.  Use it almost as much as my voltmeter.</p>
<p><a href="http://www.pctestinstruments.com/" rel="nofollow">http://www.pctestinstruments.com/</a></p>
<p>Only downside is that it does not run under directly under Ubuntu / Linux.  However, it does just fine inside a VMWare virtual WinXP machine on top of Ubuntu.  </p>
<p>So that&#8217;s my trick, old Windows hardware can be run (mostly) inside a virtual machine on top of Ubuntu.  For sure, the Logicport seem very happy to run this way.</p>
<p>Jim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Automotive Ultrasonic Hacking HowTo by James</title>
		<link>http://ph-elec.com/archives/ultrasonic-sensor-hacking-step-1/#comment-98</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 24 Apr 2012 15:40:14 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec2.com/?p=186#comment-98</guid>
		<description>1) 

Yes, whatever the sensor &quot;hears&quot; is directly applied to the comm. pin.  This is both good and bad.  Makes the response from the sensor harder to deal with since it&#039;s not a direct encoded distance.  The upside is, the sensor provides a whole lot more information.  It&#039;s possible to &quot;see&quot; multiple return echos with this setup.  I always wondered if Bosch took advantage of the extra information returning from each sensor.  Probably not is my guess.

2)

No.  The sensors are pinged with a large 150 to 160 volt square wave.  Any more voltage will damage the sensor.  Have you felt the surface of the sensor as it&#039;s pinging.  Brush the surface lightly with your finger tip and you should be able to feel it.  Or, with the sensor pointed upward, rest one end of a pencil on the surface while you lightly hold the other end.  You should hear a clicking sound on each pinging event.  You can hold a pinging sensor up to your ear and hear a distinctive click.  However, I don&#039;t recommend that considering how much sound energy is coming out of the sensor.  So, to generate the sound waves, the sensor face is actually deforming much like a loud speaker.  Crazy to think that the piezo element is actually flexing the aluminum surface of the sensor.

The return echo is a millivolt signal coming off the sensor that is run through an analog filter &amp; gain.  The result is then applied to an analog to digital converter in the micro.  The micro then applies thresholds to the values coming out of the analog to digital converter based on time.  Close objects have a high threshold than far away objects.  This is all done to try and eliminate noise.

By hotter all I mean is that the thresholds are lowered to allow more detection.  The downside is, of course, you get more detection of junk you don&#039;t want like pot holes and curbs.  It&#039;s a balancing act between noise and detection.

The corner sensors are basically de-tuned and the bulk of the detection is done with the center two sensors.  In fact, I&#039;m now noticing Ford has some cars on the road that only have two sensors.

I ask GM if they were interested in us investigating a two-sensor solution as a cost reduction.  Nope, too much work for the poor GM engineers to think about.  I regress.

Anyway, hope that helps.  Sounds like your making progress.  

Good luck,
Jim</description>
		<content:encoded><![CDATA[<p>1) </p>
<p>Yes, whatever the sensor &#8220;hears&#8221; is directly applied to the comm. pin.  This is both good and bad.  Makes the response from the sensor harder to deal with since it&#8217;s not a direct encoded distance.  The upside is, the sensor provides a whole lot more information.  It&#8217;s possible to &#8220;see&#8221; multiple return echos with this setup.  I always wondered if Bosch took advantage of the extra information returning from each sensor.  Probably not is my guess.</p>
<p>2)</p>
<p>No.  The sensors are pinged with a large 150 to 160 volt square wave.  Any more voltage will damage the sensor.  Have you felt the surface of the sensor as it&#8217;s pinging.  Brush the surface lightly with your finger tip and you should be able to feel it.  Or, with the sensor pointed upward, rest one end of a pencil on the surface while you lightly hold the other end.  You should hear a clicking sound on each pinging event.  You can hold a pinging sensor up to your ear and hear a distinctive click.  However, I don&#8217;t recommend that considering how much sound energy is coming out of the sensor.  So, to generate the sound waves, the sensor face is actually deforming much like a loud speaker.  Crazy to think that the piezo element is actually flexing the aluminum surface of the sensor.</p>
<p>The return echo is a millivolt signal coming off the sensor that is run through an analog filter &#038; gain.  The result is then applied to an analog to digital converter in the micro.  The micro then applies thresholds to the values coming out of the analog to digital converter based on time.  Close objects have a high threshold than far away objects.  This is all done to try and eliminate noise.</p>
<p>By hotter all I mean is that the thresholds are lowered to allow more detection.  The downside is, of course, you get more detection of junk you don&#8217;t want like pot holes and curbs.  It&#8217;s a balancing act between noise and detection.</p>
<p>The corner sensors are basically de-tuned and the bulk of the detection is done with the center two sensors.  In fact, I&#8217;m now noticing Ford has some cars on the road that only have two sensors.</p>
<p>I ask GM if they were interested in us investigating a two-sensor solution as a cost reduction.  Nope, too much work for the poor GM engineers to think about.  I regress.</p>
<p>Anyway, hope that helps.  Sounds like your making progress.  </p>
<p>Good luck,<br />
Jim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Automotive Ultrasonic Hacking HowTo by kdm06d</title>
		<link>http://ph-elec.com/archives/ultrasonic-sensor-hacking-step-1/#comment-97</link>
		<dc:creator>kdm06d</dc:creator>
		<pubDate>Tue, 24 Apr 2012 15:39:50 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec2.com/?p=186#comment-97</guid>
		<description>Jim,

Also, do you have any Logic Analyzers you would recommend?

Thanks!</description>
		<content:encoded><![CDATA[<p>Jim,</p>
<p>Also, do you have any Logic Analyzers you would recommend?</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Automotive Ultrasonic Hacking HowTo by kdm06d</title>
		<link>http://ph-elec.com/archives/ultrasonic-sensor-hacking-step-1/#comment-96</link>
		<dc:creator>kdm06d</dc:creator>
		<pubDate>Tue, 24 Apr 2012 14:44:21 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec2.com/?p=186#comment-96</guid>
		<description>&quot;The ECU sends commands to the sensor(s) and the sensors can either respond with digital messages, OR, the sensor can respond with actual echoes&quot;

1) By &quot;actual echoes&quot; do you mean simply an instantaneous pulse where the sensor pulls the comm line low?

Also, you mention there is a different init string for the outside/inside pair of sensors where you theorize it is to establish a hotter gain on one versus the other. 

2) Would the &quot;higher gain&quot; be a larger voltage across the transducer?</description>
		<content:encoded><![CDATA[<p>&#8220;The ECU sends commands to the sensor(s) and the sensors can either respond with digital messages, OR, the sensor can respond with actual echoes&#8221;</p>
<p>1) By &#8220;actual echoes&#8221; do you mean simply an instantaneous pulse where the sensor pulls the comm line low?</p>
<p>Also, you mention there is a different init string for the outside/inside pair of sensors where you theorize it is to establish a hotter gain on one versus the other. </p>
<p>2) Would the &#8220;higher gain&#8221; be a larger voltage across the transducer?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on RC Transmitter / Control Anything by James</title>
		<link>http://ph-elec.com/archives/rc-transmitter-control-anything/#comment-95</link>
		<dc:creator>James</dc:creator>
		<pubDate>Wed, 18 Apr 2012 14:49:55 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec.com/?p=699#comment-95</guid>
		<description>arsviator,

Between each burst of pulses there is a big dwell / dead-time.  This is easy to see by looking at the last picture above.

If your using a micro to receive the pulses just use a timer to measure the dead-time.  Once the timer hits a threshold you&#039;ll know your in the dead-time area.  Reset your pulse counter and your now synced and ready for the next burst.

In fact, after processing a set of pulses, I would call a micro function to wait for, and re-sync to, the dead-time again.  That way, even if there is a glitch that goofs your pulse decode logic it won&#039;t matter because between each set of pulses the decode logic in the micro will re-sync.

Well, to be a 100% bullet proof, I guess you might want to also have a pulse violation logic.  So, if the decode logic misses a transition the whole burst of pulses should be ignored.  Any singe pulse, by definition, should be in the range of 1 to 2ms.  On any pulse outside the 1 to 2ms window, invalidate the whole group and call the re-sync logic.

With this approach, the decode logic can detect pulses too short and too long.  The micro can keep a log of these timing violations to help with debug.  On any timing violation, just jump to re-sync logic.

Luckily, on any decode problem, another set of pulses is just 20ms away which we can re-sync to.

Hope that helps,
Jim</description>
		<content:encoded><![CDATA[<p>arsviator,</p>
<p>Between each burst of pulses there is a big dwell / dead-time.  This is easy to see by looking at the last picture above.</p>
<p>If your using a micro to receive the pulses just use a timer to measure the dead-time.  Once the timer hits a threshold you&#8217;ll know your in the dead-time area.  Reset your pulse counter and your now synced and ready for the next burst.</p>
<p>In fact, after processing a set of pulses, I would call a micro function to wait for, and re-sync to, the dead-time again.  That way, even if there is a glitch that goofs your pulse decode logic it won&#8217;t matter because between each set of pulses the decode logic in the micro will re-sync.</p>
<p>Well, to be a 100% bullet proof, I guess you might want to also have a pulse violation logic.  So, if the decode logic misses a transition the whole burst of pulses should be ignored.  Any singe pulse, by definition, should be in the range of 1 to 2ms.  On any pulse outside the 1 to 2ms window, invalidate the whole group and call the re-sync logic.</p>
<p>With this approach, the decode logic can detect pulses too short and too long.  The micro can keep a log of these timing violations to help with debug.  On any timing violation, just jump to re-sync logic.</p>
<p>Luckily, on any decode problem, another set of pulses is just 20ms away which we can re-sync to.</p>
<p>Hope that helps,<br />
Jim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STM32F4 + FreeRTOS + TRUEStudio = Awesome-O by James</title>
		<link>http://ph-elec.com/archives/stm32f4-freertos/#comment-94</link>
		<dc:creator>James</dc:creator>
		<pubDate>Wed, 18 Apr 2012 14:30:36 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec.com/?p=659#comment-94</guid>
		<description>Peter,

I suspect the problem may be with your Atollic installation of v3.0.  My original work was done with v2.0.1.  

I know Atollic made a lot of changes going to v3.0.  The big change was, Atollic introduced a code-size limit (32k I think).  That makes me crazy given how large the code space is on the F4 chip!  I sent an email to Atollic pointing out how bad this idea is.  I sent that email at least a month ago and I&#039;ve gotten zero response.  Makes me sad.  The Atollic Lite package was perfect for folks to get started with Discovery board.  OK, I&#039;m getting into a rant here.  I&#039;ll stop.

I was going to suggest installing v2.x but now I comment #6 above from sjwilks who indicated he got it working with v3.0 &quot;First Time&quot;.

Does your installation work completely with an Atollic example program?  In other words, use the Atollic wizard to build a skeleton / example program.  If I remember right, there is an Atollic example that blinks an LED on the Discovery board.  Can you get that to work?  That would prove out the basic install of all the Atollic pieces and parts.

Once your sure Atollic is working at a 100% then make sure you extract my zip file into your  Atollic workspace directory.  Atollic should automatically show the new project in the project panel.  If you don&#039;t put my code in your &quot;workspace&quot; your just going to have problems.

If the Atollic examples are compiling and working and you dump my code into your Atollic workspace area everything should work.  If not, let me know and maybe we can brainstorm some other ideas to try.  Seems it&#039;s always something silly that keeps things from working.

Good luck,
Jim</description>
		<content:encoded><![CDATA[<p>Peter,</p>
<p>I suspect the problem may be with your Atollic installation of v3.0.  My original work was done with v2.0.1.  </p>
<p>I know Atollic made a lot of changes going to v3.0.  The big change was, Atollic introduced a code-size limit (32k I think).  That makes me crazy given how large the code space is on the F4 chip!  I sent an email to Atollic pointing out how bad this idea is.  I sent that email at least a month ago and I&#8217;ve gotten zero response.  Makes me sad.  The Atollic Lite package was perfect for folks to get started with Discovery board.  OK, I&#8217;m getting into a rant here.  I&#8217;ll stop.</p>
<p>I was going to suggest installing v2.x but now I comment #6 above from sjwilks who indicated he got it working with v3.0 &#8220;First Time&#8221;.</p>
<p>Does your installation work completely with an Atollic example program?  In other words, use the Atollic wizard to build a skeleton / example program.  If I remember right, there is an Atollic example that blinks an LED on the Discovery board.  Can you get that to work?  That would prove out the basic install of all the Atollic pieces and parts.</p>
<p>Once your sure Atollic is working at a 100% then make sure you extract my zip file into your  Atollic workspace directory.  Atollic should automatically show the new project in the project panel.  If you don&#8217;t put my code in your &#8220;workspace&#8221; your just going to have problems.</p>
<p>If the Atollic examples are compiling and working and you dump my code into your Atollic workspace area everything should work.  If not, let me know and maybe we can brainstorm some other ideas to try.  Seems it&#8217;s always something silly that keeps things from working.</p>
<p>Good luck,<br />
Jim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on RC Transmitter / Control Anything by arsviator</title>
		<link>http://ph-elec.com/archives/rc-transmitter-control-anything/#comment-93</link>
		<dc:creator>arsviator</dc:creator>
		<pubDate>Wed, 18 Apr 2012 07:18:54 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec.com/?p=699#comment-93</guid>
		<description>How will you sync the beginning of the pulse train?</description>
		<content:encoded><![CDATA[<p>How will you sync the beginning of the pulse train?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on STM32F4 + FreeRTOS + TRUEStudio = Awesome-O by psobey</title>
		<link>http://ph-elec.com/archives/stm32f4-freertos/#comment-92</link>
		<dc:creator>psobey</dc:creator>
		<pubDate>Wed, 18 Apr 2012 00:46:12 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec.com/?p=659#comment-92</guid>
		<description>Hi,

I downloaded Atollic TrueSTUDIO V3.0.0 Lite and your sample code and tried to compile it. I get a compilation error:

..\stm32f4xx_it.c:1:0: error: target CPU does not support ARM mode

If I run the compiler again this error moves to a different file, such as debug.c or heap_1.c. I have followed all the steps that you described but this error has stymied my efforts.

Are you aware of any obvious error I might be making?

Cheers,

Peter</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I downloaded Atollic TrueSTUDIO V3.0.0 Lite and your sample code and tried to compile it. I get a compilation error:</p>
<p>..\stm32f4xx_it.c:1:0: error: target CPU does not support ARM mode</p>
<p>If I run the compiler again this error moves to a different file, such as debug.c or heap_1.c. I have followed all the steps that you described but this error has stymied my efforts.</p>
<p>Are you aware of any obvious error I might be making?</p>
<p>Cheers,</p>
<p>Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Muffin Fan Based Tin Can Wood Gas Camp Stove by Camping Kansas City Your Questions &#124; RV Parts and Accessories</title>
		<link>http://ph-elec.com/archives/muffin-fan-based-tin-can-wood-gas-camp-stove/#comment-91</link>
		<dc:creator>Camping Kansas City Your Questions &#124; RV Parts and Accessories</dc:creator>
		<pubDate>Tue, 17 Apr 2012 03:49:19 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec.com/?p=549#comment-91</guid>
		<description>[...] camp&quot; places that have free weekends. Lots of places! What are you seeking?Powered by Yahoo! AnswersHelen asks…what are some girls soccer camps near kansas city?in short, i love soccer and now that ...&gt;in short, i love soccer and now that the season is over i want to attend a summer soccer camp or [...]</description>
		<content:encoded><![CDATA[<p>[...] camp&quot; places that have free weekends. Lots of places! What are you seeking?Powered by Yahoo! AnswersHelen asks…what are some girls soccer camps near kansas city?in short, i love soccer and now that &#8230;&gt;in short, i love soccer and now that the season is over i want to attend a summer soccer camp or [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Copper gets an LCD by James</title>
		<link>http://ph-elec.com/archives/copper-gets-an-lcd/#comment-90</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 10 Apr 2012 22:44:55 +0000</pubDate>
		<guid isPermaLink="false">http://ph-elec2.com/?p=285#comment-90</guid>
		<description>No problem.  Let me know if you have any problems with the files.</description>
		<content:encoded><![CDATA[<p>No problem.  Let me know if you have any problems with the files.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

