Personal tools
User menu

Difference between revisions of "Porsche 928 LH Replacement Prototype"

From Francois Louw

Jump to: navigation, search
Line 188: Line 188:
  
 
The USB driver side on the ECU was giving me hell and I was stuck for a few weeks till last night late. I was not able to get communication between the PC and the ECU. Turns out that there is a mistake in the datasheet and application notes of the PIC32 processors. I figured out when I saw that the starter kits from Microchip schematics looked "Wrong" compared to the datasheet and app notes. A small wire mod on my board and suddenly my USB code works.
 
The USB driver side on the ECU was giving me hell and I was stuck for a few weeks till last night late. I was not able to get communication between the PC and the ECU. Turns out that there is a mistake in the datasheet and application notes of the PIC32 processors. I figured out when I saw that the starter kits from Microchip schematics looked "Wrong" compared to the datasheet and app notes. A small wire mod on my board and suddenly my USB code works.
 +
 +
Here is a screenshot of the windows interface software. Still in progress, but gives the idea and layout of it all.
 +
 +
[[File:ecu-interface1.jpg|500px]]
 +
[[File:ecu-interface2.jpg|500px]]
 +
 +
Geeky part: I have decided to use Qt for the interface software. A few reasons made me decide on Qt instead of Visual Studio 2010. At the moment at work I am constantly using Qt and like the functionality available to me. Second, I have a working demo program of Qt using the serial port and it works with my usb code that sits on the ECU. Third Qt is free, VisualStudio 2010 costs more than my car (not really, but it is still way too much). Lastly Qt has awesome graphics, gauges needles etc. that I can use.
 +
 +
==Programming Phase 5-update==
 +
 +
USB feedback is 100% operational and adjustments and tuning can be made. The changes cannot be saved yet. Once power is off and back on it resets to the pre programmed defaults.
 +
 +
What I am going to do is I am going to finish the last of the programming that allows saving to permanent memory as well as make it capable of updating the programming via USB.
 +
 +
Then I am going to distribute the three remaining prototypes to three willing volunteers that can test the system for me (seeing that I cant get to a shark now). If they do testing, then I can fix the last of the bugs and give updates to them to finalise this.
 +
 +
New interface screenshot:
 +
 +
[[File:ecu-interface3.jpg|500px]]
 +
 +
==Bunch of Micro-updates all thrown together==
 +
And I found a few problems that needs adressing.
 +
When the board is in firmware update mode, then the injectors are opened (stupid mistake on my part)
 +
I also need to improve the connect/disconnect with the windows software
 +
Also need to slightly change the default fuel map, it still has my testing options in it, which also result in injectors opened when engine is not turning.
 +
 +
Due to all the time that the injectors was opened and the long time that my dad and friend took to do the programming my cylinders are now full of fuel.
 +
 +
Anyhow, will have my dad remove plugs and let it dry out over the next day or so, will then test again.
 +
 +
I am having problems somewhere in my code. I keep on overfuelling the car. Doesnt want to start and after some turning of the car the cylinders are full of fuel
 +
 +
I am trying to get to the bottom of that problem, but the progress is going slow. I am now busy checking the remaining prototypes and will get then out as soon as I have sorted the fuelling problem.
 +
 +
I found the problem with flooding of the car. Microchip's sample USB code that I used executes a lot slower than I anticipated (and what they stated in the documentation) meaning that the injectors stayed open for too long thus flooding the car.
 +
 +
Also Microchip's bootloader code interfered with the rest of the system, causing uncontrollable interrups delaying the injection for long enough to stall the engine.
 +
 +
I am busy replacing the bootloader code, but untill I fix it I cannot send out the other prototypes. Seeing that without the bootloader I cannot send code updates to the testers.
 +
 +
I am busy working on it and seeing that I am not doing anything much for xmas and new years I will have some time to work on it.
 +
 +
Will keep on working and give updates!
 +
 +
there has been some progress. The first prototype in the car got damaged when my dad handled it and shorted out. The second prototype is in there now.
 +
 +
i have fixed many...many...many bugs in the microchip usb code, and changed big parts of the code from polling to hardware interrupts.
 +
 +
on my test setup it seems to be working 100%, needs to be tested on the car.
 +
 +
My exam is over and I have made good progress the past two weeks!
 +
 +
I finished the interrupt driven code. That is working 100%
 +
 +
The USB code is working 100%, no more delays when using the USB
 +
 +
The microchip USB bootloader has been fixed and is working 100% so firmware can be updated via USB.
 +
 +
As far as I can physically test the unit without a running car everything is working 100%
 +
 +
I am finalising Prototype 4 and 5 so I can send them off to the people who volunteered to help test.
 +
 +
I am not completely 100% happy with my user interface and the "accelerator jet" coding and will most probably modify that in the coming week, just so that I am satisified.
 +
 +
So I am happy to announce that the prototyping is nearing the ending phase!
 +
 +
I will be able to test the complete unit on my car at the end of september. Maybe a bit sooner, depends on a few factors. But hopefully by then I will have shipped the remaining two prototypes to other people for testing.
 +
 +
After I have changed the interface so that I am happy I will start the layout of the revised version of the boards. These revisions will include support for the 25 pin connectors.
 +
 +
To the people who want to use a different connector I have found a suitable alternative from Samtech that I can bundle along with the unit (the male and female connectors) to anyone who wants to replace that also.
 +
 +
I will keep everyone updated as I move along the final stages of this project.
 +
 +
==Update: USB-Interface demo==
 +
here are a few youtube videos
 +
 +
1: How the firmware updates work (Not shown in the video is you need to press the button on the computer while switching on ignition to go into firmware update mode - I could not hold camera and do that at same time)
 +
{{#ev:youtube|nk3zrobQTM0}}
 +
 +
2: Prototype 2 testing (The annoying buzzing sound is the engine simulator signal connected to speaker so I can hear whats going on)
 +
{{#ev:youtube|vkVaARTSN3Y}}
 +
 +
3: Prototype 3 test, more complete testing
 +
{{#ev:youtube|RJguEPvmYIo}}
 +
 +
==Demo of USB working in car and revision 2 update==
 +
 +
Ok, has been a while since last update, but here it is!
 +
 +
I have completed most of the programming and only need to sort out a few unseen bugs. This can only be done by testing in actual vehicles.
 +
 +
I have already shipped one of the prototypes to a volunteer tester, and will receive feedback soon! (Thanks AO!!!)
 +
 +
To give a small demonstration, here is a video of the prototype in my car, and shows the USB interface on a computer while the engine is running!
 +
 +
{#ev:youtube|hQLtfJMoZ5M}}
 +
 +
I have also started working on the PCB of revision 2. Still needs some stuff added, but here is a low quality screenshot of the PCB layout so far. It is a bit smaller than the prototype, but it has extra protection, and should give better analog response!
 +
 +
[[File:ECU2-PCB1.jpg|500px]]
 +
 +
The build of the second revision will be better explained in its own project page (Coming soon!)

Revision as of 19:49, 19 February 2013