MEGAsquirt A place to collectively sort out this megasquirt gizmo

I get bored easily.

Thread Tools
 
Search this Thread
 
Old 01-24-2012, 12:26 PM
  #21  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by shuiend
Joe are you building a bootleg ms?
The MegaSquirt design is the intellectual property of Bowling & Grippo. It would be wrong for me to build a bootleg copy of one.



Originally Posted by Full_Tilt_Boogie
Is that 2 sides strip-board? If so, where did you get it.
You know, it's funny. I don't think I've ever used a strip board.

This is just a regular perfboard with copper-ringed holes, through-plated. The first pic I posted was kind of old, here's some detail showing further progress:







Originally Posted by Braineack
we need an integrated v3.0+ms3+ms3x board called the v3.33x module
I made that argument rather strongly a couple of years ago, when the MS3 project was announced. I called it the "4.0" board, but essentially it would have moved the functions of the MS3X onto the main board, eliminated most of the "vintage" circuitry (the two INJ drivers presently there, the opto input, etc) and basically given you a nice package similar to an MS2 but with all the circuits you could ever need plus a better connector than a DB37.

Anyway, now we have 3.0 + MS3 + MS3x instead.


Originally Posted by hornetball
Joe sits back with beer and laughs.
Rum & Coke, but the basic idea is the same.
Attached Thumbnails I get bored easily.-vmd3r.jpg   I get bored easily.-hzrgd.jpg  
Joe Perez is offline  
Old 01-24-2012, 10:06 PM
  #22  
Junior Member
iTrader: (4)
 
redrider706's Avatar
 
Join Date: May 2009
Location: Athens GA
Posts: 440
Total Cats: 6
Default

Do you buy all the components as you need them or do you buy a collection of random components from somewhere?

-Raj
redrider706 is offline  
Old 01-24-2012, 10:10 PM
  #23  
mkturbo.com
iTrader: (24)
 
shuiend's Avatar
 
Join Date: May 2006
Location: Charleston SC
Posts: 15,176
Total Cats: 1,680
Default

Originally Posted by Joe Perez
The MegaSquirt design is the intellectual property of Bowling & Grippo. It would be wrong for me to build a bootleg copy of one.
I know that, but figured I would ask anyways. So what exactly are you building. It does look like the MS1 cpu.
shuiend is offline  
Old 01-25-2012, 03:32 AM
  #24  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by redrider706
Do you buy all the components as you need them or do you buy a collection of random components from somewhere?
A lot of it is just stuff I have lying around at home, some of it comes from the lab at work (they let us use small quantities for personal projects), some from the local Fry's, and some from Digikey.


Originally Posted by shuiend
I know that, but figured I would ask anyways. So what exactly are you building. It does look like the MS1 cpu.
I said it would be "wrong" to build a bootleg MS. I didn't say I wasn't building something that was vaguely similar to (and binary-compatible with) an MS1.

Progress pics. The sub-board has the power regulator along with all of the "noisy" stuff, which is basically the injector drivers and the IDL driver. They have their own dedicated grounds, completely isolated from the analog / logic grounds. (This is one of the design flaws in the 3.0 board that has always bothered me- everything shares a common ground.)




The backside is an homage to all of the hacked-on mods that have been done to MS1s over the years. I figure that if you're going to use some jumper wire, why not build the whole thing out of jumper wire?

Attached Thumbnails I get bored easily.-p4axt.jpg   I get bored easily.-7hcui.jpg  
Joe Perez is offline  
Old 01-25-2012, 03:53 AM
  #25  
Elite Member
iTrader: (1)
 
richyvrlimited's Avatar
 
Join Date: Jun 2006
Location: Warrington/Birmingham
Posts: 2,642
Total Cats: 42
Default

Ha ha nice Joe. All those jumper wires look like a recipe for a mistake, well they would be if I was doing it!
richyvrlimited is offline  
Old 01-25-2012, 03:56 AM
  #26  
Elite Member
iTrader: (6)
 
blaen99's Avatar
 
Join Date: Sep 2010
Location: Seattle, WA
Posts: 3,611
Total Cats: 25
Default

The more I look at this, the more impressed I get. I'll be eagerly watching to see how this project goes Joe!
blaen99 is offline  
Old 01-25-2012, 05:34 AM
  #27  
Cpt. Slow
iTrader: (25)
 
curly's Avatar
 
Join Date: Oct 2005
Location: Oregon City, OR
Posts: 14,175
Total Cats: 1,129
Default

You need to mount this on your hood ala Back to the future III
curly is offline  
Old 01-25-2012, 07:57 AM
  #28  
Boost Czar
iTrader: (62)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,490
Total Cats: 4,079
Default

Sometimes when people pay me, I build this:

Attached Thumbnails I get bored easily.-alt_circuit_with_trigger.jpg  
Braineack is offline  
Old 01-25-2012, 12:59 PM
  #29  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by richyvrlimited
Ha ha nice Joe. All those jumper wires look like a recipe for a mistake, well they would be if I was doing it!
Well, that's why we have documentation.

I started by creating a full schematic, and then doing a capture into a PCB layout program. Even though I'm not planning to etch an actual PCB, I went ahead and designed it as though I were going to. I drew the PCB layout with most of the signal traces in place, and just put little stubs in place for the power and ground connections. Then I printed the layout at 1:1, both in normal view and in mirrored view (as it appears when looking at the backside.)

With this printout sitting on the desk, and the layout software running on a laptop, I'm just going through the board one pin at a time. Every time I run a jumper wire, I use a black sharpie to mark off the corresponding trace on the printout. So it's kind of like working off of a netlist, only in graphical form.

One wire at a time.

So far, the only error I have found is that while populating the board, I switched the positions of two resistors that were next to each other and formed a divider. Rather than pull them out and re-place them, I just compensated by reversing the wires on the backside.



Originally Posted by blaen99
I'll be eagerly watching to see how this project goes Joe!
You and me both.



Originally Posted by curly
You need to mount this on your hood ala Back to the future III
Great Scott! I should have used 12AX7 vacuum tubes instead of PN2222A transistors!

I'll keep that in mind for the next build.

(Actually, now that I think about it, building an ECU with tubes in it would definitely get me a spot on Hackaday.com)



Originally Posted by Braineack
Sometimes when people pay me, I build this:
Aaaaw, what a cute little board.
Joe Perez is offline  
Old 01-25-2012, 01:03 PM
  #30  
Boost Czar
iTrader: (62)
 
Braineack's Avatar
 
Join Date: May 2005
Location: Chantilly, VA
Posts: 79,490
Total Cats: 4,079
Default

Originally Posted by Joe Perez
Aaaaw, what a cute little board.
so cute, yet it's the key to having the car stay running for more than 30 minutes or so.
Braineack is offline  
Old 01-25-2012, 01:55 PM
  #31  
Elite Member
iTrader: (2)
 
Oscar's Avatar
 
Join Date: Jan 2007
Location: Bolton, UK
Posts: 3,022
Total Cats: 120
Default

Alternator control circuit?
Oscar is offline  
Old 01-25-2012, 04:03 PM
  #32  
Elite Member
 
JasonC SBB's Avatar
 
Join Date: Jul 2005
Posts: 6,420
Total Cats: 84
Default

Originally Posted by Joe Perez
Progress pics. The sub-board has the power regulator along with all of the "noisy" stuff, which is basically the injector drivers and the IDL driver. They have their own dedicated grounds, completely isolated from the analog / logic grounds. (This is one of the design flaws in the 3.0 board that has always bothered me- everything shares a common ground.)
Ya, lame. PCB layout for low noise when hi speed low voltage signals are millimeters away from high voltage high current high frequency signals, happens to be a field of expertise of mine (I do switching power supply design).

The trick is to keep the high current ground return paths completely separate from the analog small signal, sensor, and logic grounds, then you carefully think about the signals that have to cross those domains, e.g. MOSFET gate drives, in the face of differing ground potentials (can be as bad as 2V at high frequencies). The 2 grounds should only be connected to each other on the board via a polyfuse ("self resetting fuse" PTC thermistor) in case a user hooks up the grounds wrong and attempts to flow large ground return currents through the polyfuse. You also have to think about protection, what happens when 12V appears across this polyfuse. All engine sensor grounds should be connected to the ECU signal ground pin and nowhere else, not the chassis nor engine. The high current ground from the ECU should only carry the ground return currents of the high current drivers such as injectors, and power for the processor.
JasonC SBB is offline  
Old 01-25-2012, 04:35 PM
  #33  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by JasonC SBB
then you carefully think about the signals that have to cross those domains, e.g. MOSFET gate drives, in the face of differing ground potentials (can be as bad as 2V at high frequencies). The 2 grounds should only be connected to each other on the board via a polyfuse ("self resetting fuse" PTC thermistor) in case a user hooks up the grounds wrong and attempts to flow large ground return currents through the polyfuse.
I considered this, but ultimately, this board is just for me, and I trust myself to ensure that the grounds are all properly connected.




All engine sensor grounds should be connected to the ECU signal ground pin and nowhere else, not the chassis nor engine. The high current ground from the ECU should only carry the ground return currents of the high current drivers such as injectors, and power for the processor.
Normally I agree, and my wideband sensor will be grounding directly to the ECU itself at a dedicated connector, however I intend to use the factory wiring harness completely unmolested. The ground lugs at the intake manifold just recently got a good cleaning and re-torquing, and those are all that I plan to use.

Looking at the factory wiring (this is a 1990 car), there are two wires (black) which are denoted as being for the high-current signals (2A "injector" and 2B "output") which both go to a common lug, and two other wires (black/grn) which are denoted as being for the low-current signals (2C "CPU" and 2D "Input") which go to a different common lug. These lugs attach to mounting brackets located at the aft end of the head and intake manifold. Ideally they would attach to the head itself (and I may still move them), but I suspect that this is probably good enough.

In the later cars, the analog sensor grounds actually go all the way into the ECU itself. In the 1.6 cars, the sensor grounds are bonded to the ECU "input" ground wire (the one from pin 2D) within the "front" harness, rather than looping all the way through the ECU.

By using the existing factory wiring I am somewhat limited in this regard, however by isolating the injectors and IDL drivers to the 2A / 2B grounds, and connecting the CPU board to the 2C / 2D grounds, I still plan to achieve a level of noise-immunity which is superior to that of a Megasquirt.
Joe Perez is offline  
Old 01-25-2012, 04:55 PM
  #34  
Elite Member
iTrader: (2)
 
triple88a's Avatar
 
Join Date: Apr 2006
Location: Chicago, IL
Posts: 10,453
Total Cats: 1,796
Default

So when do i get to buy one and put it right next to my flux capacitor?
triple88a is offline  
Old 01-25-2012, 07:20 PM
  #35  
Elite Member
 
JasonC SBB's Avatar
 
Join Date: Jul 2005
Posts: 6,420
Total Cats: 84
Default

Originally Posted by Joe Perez
Looking at the factory wiring (this is a 1990 car), there are two wires (black) which are denoted as being for the high-current signals (2A "injector" and 2B "output") which both go to a common lug, and two other wires (black/grn) which are denoted as being for the low-current signals (2C "CPU" and 2D "Input") which go to a different common lug.
Do the engine sensor grounds return to the 2nd "different" common lug?
JasonC SBB is offline  
Old 01-25-2012, 07:38 PM
  #36  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by JasonC SBB
Do the engine sensor grounds return to the 2nd "different" common lug?
Yeah, I thought I made that clear in the last post. The grounds for the analog sensors all join the black/green wires (the ones that goes from ECU 2C /2D to engine ground) within the "front" harness. I believe that all of these wires meet at junction point JC-02, which is inside the dashboard near the A/C evaporator, and then run from there to the engine, though I've never torn a 1.6 front harness apart to find out the exact routing.

Rather helpfully, the FSM diagram happens to have all of the major ECU-related grounds on the same page:



You can see the 2A / 2B grounds going to ground point 3 at the left of the screen, and the 2C / 2D grounds, along with the sensor and shield grounds, going to ground point 2 on the right half of the screen. Not shown on this page are the igniter ground, ignition condenser and ignition shield (which go to ground point 3 along with the other high-current stuff) and the CAS ground, which goes to ground point 2 along with the other low-level stuff.

It's an excellent design on Mazda's part, and fairly typical of what you find in most modern cars. Why the designer(s) of the rev 3.x Megasquirt board failed to take this into account when laying out their ground plane just absolutely flabbergasts me.
Attached Thumbnails I get bored easily.-je2lv.gif  
Joe Perez is offline  
Old 01-25-2012, 08:10 PM
  #37  
Senior Member
iTrader: (14)
 
94mx5red's Avatar
 
Join Date: Oct 2006
Location: South East Florida
Posts: 677
Total Cats: 6
Default

Originally Posted by Braineack
Sometimes when people pay me, I build this:

yay! that's mine!
94mx5red is offline  
Old 01-25-2012, 08:32 PM
  #38  
Elite Member
 
JasonC SBB's Avatar
 
Join Date: Jul 2005
Posts: 6,420
Total Cats: 84
Default

Originally Posted by Joe Perez
Yeah, I thought I made that clear in the last post. The grounds for the analog sensors all join the black/green wires (the ones that goes from ECU 2C /2D to engine ground) within the "front" harness. I believe that all of these wires meet at junction point JC-02, which is inside the dashboard near the A/C evaporator, and then run from there to the engine, though I've never torn a 1.6 front harness apart to find out the exact routing.
In that case the input A/D stages will sense the sensor grounds through the long wire that connects from the ECU sensor/logic ground, to one of the lugs. (Of course, hi current returns will be on a separate wire). Make sure the current through said long wire is low and the voltage drop is low. Reduce the spikiness of said current with heavy decoupling of the logic circuitry (which is good practice anyway). This is because said spiky currents will cause large voltage spikes in stray inductance of said long wire.

Also, if you then keep your hi current ground completely separate from your logic/analog ground, then the return currents of MOSFET drive signals which cross these two realms, will have to travel down one ground wire to an engine lug, to the 2nd lug, then up the other ground wire. This can cause trouble. One solution is to situate Schmitt input signal conditioners before all MOSFETs, and to ground them to the MOSFET Source pins on your PCB (your high current ground). The signal inputs for these Schmitt triggers are then very noise immune, and the signal from your logic circuitry can tolerate a good deal of ground bounce between the 2 PCB grounds. Be sure to put some lopass filtering, the slowest that your signal can tolerate (e.g. 50 uS delay for injectors). Next you link the 2 ground systems on your PCB with a low value resistor (e.g. 2-20 ohms) so that there is a default path in case one ground wire is disconnected, and to provide a high frequency shunt (because the hi current ground wire will show lots of high frequency noise). Watch out tho, this shunt will cause some HF noise to couple into the sensor ground wire and appear as noise in the sensor signals. Note, it is always prudent to lopass all signals to the BW required. E.g. 10 us rise time on CKP, 20-50 ms rise times on MAP, 1 sec on temperatures.
JasonC SBB is offline  
Old 01-25-2012, 08:46 PM
  #39  
Elite Member
iTrader: (5)
 
Seefo's Avatar
 
Join Date: Dec 2010
Location: Raleigh, NC
Posts: 1,961
Total Cats: 48
Default

very cool! Don't see many people who still do circuitry with a soldering iron.

On another note, at my last track event this guy came in with this baby full of ----. It was his "data" acquistion" board.



Very interesting to see, that's for sure.
Attached Thumbnails I get bored easily.-922327.jpg  
Seefo is offline  
Old 01-25-2012, 10:48 PM
  #40  
Boost Pope
Thread Starter
iTrader: (8)
 
Joe Perez's Avatar
 
Join Date: Sep 2005
Location: Chicago. (The less-murder part.)
Posts: 33,019
Total Cats: 6,587
Default

Originally Posted by JasonC SBB
In that case the input A/D stages will sense the sensor grounds through the long wire that connects from the ECU sensor/logic ground, to one of the lugs. (...).
Correct. It will be exactly identical to the way it's been working for the past 22 years on the stock ECU.

I, too, was present for the first day of class in DC Circuits 1.


Also, if you then keep your hi current ground completely separate from your logic/analog ground, then the return currents of MOSFET drive signals which cross these two realms, will have to travel down one ground wire to an engine lug, to the 2nd lug, then up the other ground wire. This can cause trouble. One solution is to situate Schmitt input signal conditioners before all MOSFETs, and to ground them to the MOSFET Source pins on your PCB (your high current ground). The signal inputs for these Schmitt triggers are then very noise immune, and the signal from your logic circuitry can tolerate a good deal of ground bounce between the 2 PCB grounds. Be sure to put some lopass filtering, the slowest that your signal can tolerate (e.g. 50 uS delay for injectors). Next you link the 2 ground systems on your PCB with a low value resistor (e.g. 2-20 ohms) so that there is a default path in case one ground wire is disconnected, and to provide a high frequency shunt (because the hi current ground wire will show lots of high frequency noise). Watch out tho, this shunt will cause some HF noise to couple into the sensor ground wire and appear as noise in the sensor signals.
Yeah, or I could just try the simple way first and see if it works before I double my parts-count to solve a problem which may not exist.


Note, it is always prudent to lopass all signals to the BW required. E.g. 10 us rise time on CKP, 20-50 ms rise times on MAP, 1 sec on temperatures.
I've gone far slower on the CKP and CMP signals, actually. The circuit I have set up for them has an effective 140us trigger latency on the leading edges. My last foray into using a stock CAS was the very definition of pain and anguish, so I'm not screwing around this time.




Originally Posted by Track
very cool! Don't see many people who still do circuitry with a soldering iron.
Well, looking at it in a circuit simulator is cool and all, but it doesn't make my car run.

On another note, at my last track event this guy came in with this baby full of ----. It was his "data" acquistion" board.
Ha. Funny you mention that, as I drove around in my '92 with one of those on the floor for about a week back when I built my first Megasquirt.
Joe Perez is offline  


Quick Reply: I get bored easily.



All times are GMT -4. The time now is 07:20 PM.