Pelican Parts
Parts Catalog Accessories Catalog How To Articles Tech Forums
Call Pelican Parts at 888-280-7799
Shopping Cart Cart | Project List | Order Status | Help



Go Back   Pelican Parts Forums > Porsche Forums > Porsche 911 Technical Forum


Reply
 
LinkBack Thread Tools Rate Thread
Author
Thread Post New Thread    Reply
Registered
 
ischmitz's Avatar
 
Join Date: May 2002
Location: Santa Barbara, CA
Posts: 4,810
Garage
Send a message via Skype™ to ischmitz
New project - DME tester

It's been a while since I gobbled together a 3.2 DME bench tester. Back then I used a lame counter to generate a reference pulse from a speed signal that itself was an output from a simple VCO. not very elegant and not suitable to drive a later DME.

However, lately I get more and more 964 and 993 units and testing in the car isn't always practical. So I want to build a test stand for those as well.

First task: Come up with a flywheel simulator.. There are some options out there but none appealed to me. So here is what I came up with: a Freescale MC9S12 MCU off eBay for cheap and an LCD display I had floating around. With a some C programming I finally got a working prototype that accepts commands via one of its serial ports from the PC to adjust RPM and O2 sensor duty cycle. It puts out text with RPM and O2 status on the LCD display. C is an alien concept to say the least..... It was quite a struggle to understand its concepts and embedded programming in general. Fortunately Freescale offers a pretty powerful IDE for free.



The next shot shows 4 of the outputs when simulating a 964 running at 2000 RPM: from top to bottom,:

- The yellow trace is the flywheel signal with 60-2 pattern.
- The cyan trace is the Hall sensor going off ever other turn at 720 degrees
- The purple is the RPM signal
- The green trace is the TDC signal that can be used for triggering later



Next I need to build some driver and interface circuits to buffer the signals before hooking them up to a DME for testing.

Ingo

__________________
1974 Targa 3.6, 2001 C4 (sold), 2019 GT3RS, 2000 ML430

I repair/rebuild Bosch CDI Boxes and Porsche Motronic DMEs
Porsche "Hammer" or Porsche PST2, PIWIS III - I can help!!
How about a NoBadDays DualChip for 964 or '95 993
Old 07-19-2015, 04:29 PM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #1 (permalink)
I would rather be driving
 
jpnovak's Avatar
 
Join Date: Apr 2000
Location: Austin, TX
Posts: 9,108
Looks like you are doing just fine...

Outside the library development C functional code is usually pretty easy to get trough. I still can't write a functional header or library file.

I thought of using a Megasquirt JimStim with the built in wheel coder as an interface. All the signals are present and you could jumper in a signal for the air meter. This might be easier than starting from scratch.
__________________
Jamie - I can explain it to you. But I can not understand it for you.
71 911T SWT - Sun and Fun Mobile
72 911T project car. "Minne" - A tangy version of tangerine #projectminne
classicautowerks.com - EFI conversion parts and suspension setups. IG Classicautowerks
Old 07-19-2015, 07:24 PM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #2 (permalink)
Registered
 
ischmitz's Avatar
 
Join Date: May 2002
Location: Santa Barbara, CA
Posts: 4,810
Garage
Send a message via Skype™ to ischmitz
New project - DME tester

I need to look that JimSim up. We once did an MegaSquirt-II project and at the time there was a windows utility that uses the sound card to produce FW signals
__________________
1974 Targa 3.6, 2001 C4 (sold), 2019 GT3RS, 2000 ML430

I repair/rebuild Bosch CDI Boxes and Porsche Motronic DMEs
Porsche "Hammer" or Porsche PST2, PIWIS III - I can help!!
How about a NoBadDays DualChip for 964 or '95 993
Old 07-21-2015, 11:20 AM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #3 (permalink)
Registered
 
ischmitz's Avatar
 
Join Date: May 2002
Location: Santa Barbara, CA
Posts: 4,810
Garage
Send a message via Skype™ to ischmitz
I looked up the jimstim - pretty neat. It uses a small 8-bit Freescale MCU and play back a tooth file stored in flash. It a nice and elegant solution with an extremely small footprint. And it shines with its ability to reproduce all these different modern flywheels. Very cool indeed.

There is only one drawback: The resolution of this approach is one degree. Unfortunately, that won't work for the 3.2 flywheel with 129 teeth since its teeth transitions are not exactly multiples of one degree. I guess most modern flywheels are 60-2 or even lower tooth count with uneven gaps where the DME can decode absolute position.

I guess in comparison my solution is like shooting with the proverbial cannon at a sparrow: I just had that 16-bit MCU board and with silicon prices being so low these days it really doesn't matter. I count teeth and specify at what count a "missing tooth" or other signal (RPM, ignition, Hall) has to appear or disappear. With this it would be nearly impossible to do all these exotics like the jimstim but doing 129 (3.2 DME) or 130 (944 DME) or 132 (944 Turbo) is just changing a single number and recompile. Not as elegant but then, I just picked up that C business.

I created one library with its own header file to handle the LCD display output. Even a conditional pre-processor statement in the header. But there are still mysteries as to how some of my variables are handled internally. The compiler does some odd optimizations that sometimes lead to funny (read unpredictable) results in an embedded system.
__________________
1974 Targa 3.6, 2001 C4 (sold), 2019 GT3RS, 2000 ML430

I repair/rebuild Bosch CDI Boxes and Porsche Motronic DMEs
Porsche "Hammer" or Porsche PST2, PIWIS III - I can help!!
How about a NoBadDays DualChip for 964 or '95 993
Old 07-24-2015, 06:57 AM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #4 (permalink)
I would rather be driving
 
jpnovak's Avatar
 
Join Date: Apr 2000
Location: Austin, TX
Posts: 9,108
Yes. the Carrera Flywheel tooth pattern creates some issues. There is an Audi (can't remember which one) that has the same count. There was talk about coding for this count but I am not sure if that ever worked out.

I guess we need to ask Sal how the Motronic handles the count. I know that the reference pin has a lot to do with the reset of the count and degree interpretation.
__________________
Jamie - I can explain it to you. But I can not understand it for you.
71 911T SWT - Sun and Fun Mobile
72 911T project car. "Minne" - A tangy version of tangerine #projectminne
classicautowerks.com - EFI conversion parts and suspension setups. IG Classicautowerks
Old 07-24-2015, 11:27 AM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #5 (permalink)
Registered
 
ischmitz's Avatar
 
Join Date: May 2002
Location: Santa Barbara, CA
Posts: 4,810
Garage
Send a message via Skype™ to ischmitz
I know Sal disassembled the entire Motronic code for the 3.2. He really got to the bottom of things. He gave me a lot of great pointers when I did some disassembly on that and the 964.

My current 3.2 DME bench tester uses a simple ripple counter to produce the reference pulse by counting the speed pulses from a function generator IC. A set of DIP switches can set the count. It works but using an ICL8038 and DIP switches seems a bit outdated when all these embedded MCUs can be bought for a song and a dance.

That's why I wanted to do the programming rather than using something that already existed. This way I can modify and expand stuff to my needs.

Cheers,
Ingo
__________________
1974 Targa 3.6, 2001 C4 (sold), 2019 GT3RS, 2000 ML430

I repair/rebuild Bosch CDI Boxes and Porsche Motronic DMEs
Porsche "Hammer" or Porsche PST2, PIWIS III - I can help!!
How about a NoBadDays DualChip for 964 or '95 993
Old 07-24-2015, 12:21 PM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #6 (permalink)
 
Registered
 
scarceller's Avatar
 
Join Date: Oct 2006
Location: Southern MA
Posts: 3,970
Garage
Ingo,

Nice job on the pulse generator.
The motronic counts flywheel teeth over a give time window. In the code we have the speed sensor directly tied to an interrupt and every time the interrupt is generated it increments a RPM counter. Then we also have a timer that runs for an 11.628ms window so that every time the timer pops it grabs the RPM counter and sets that as the current RPM and then it resets the counter back to 0 and restarts the timer right before the timer routine returns.

The basic principle is that it just wants to know how many teeth it saw in a 11.628ms window and that's the current RPM. Basically the code updates the current rpm every 11.628ms.

The reason we use 11.628ms is because it's directly related to the number of teeth on the flywheel, the formula works out to this:
timer acquisition time = 60000ms\rpmMultiplier\numteeth

60,000 is the number of milliseconds in 1 minute.
Then in our cars the rpm multiplier is 40 and the tooth count is 129

so:
60,000/40/129=11.6279ms

Then one other interrupt is used for the ref sensor just so the code knows where the flywheel is just prior to TDC so it can then properly start dwelling the coil for the 3 spark events in every crank rev.

__________________
Sal
1984 911 Carrera Cab M491 (Factory Wide Body)
1975 911S Targa (SOLD)
1964 356SC (SOLD)
1987 Ford Mustang LX 5.0 Convertible
Old 07-27-2015, 12:32 PM
  Pelican Parts Catalog | Tech Articles | Promos & Specials    Reply With Quote #7 (permalink)
Reply


 


All times are GMT -8. The time now is 02:18 PM.


 
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0
Copyright 2025 Pelican Parts, LLC - Posts may be archived for display on the Pelican Parts Website -    DMCA Registered Agent Contact Page
 

DTO Garage Plus vBulletin Plugins by Drive Thru Online, Inc.