Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Thanks for all the positive feedback

Jomo posted:

This is probably redundant since you seem to have considered and analysed every option thoroughly, but have you had a look at the Porsche Taycan's thermal management architecture? It seems to be very well thought-out in that regards to maximizing energy utilization.

Also this project is awesome. Can I ask what's been your best source in terms of starting to learn CANBUS? Something I'd like to do someday myself for future projects.

I've had a look at some details for the Taycan, I didn't see too much regarding cooling. I'll have another look around.

My cooling system still isn't finalised. But due to lack of space in the engine bay, I think I'm stuck with what I have!

Regarding CAN bus, the wikipedia article is a good start: https://en.wikipedia.org/wiki/CAN_bus

For the hardware side, this is a great resource: http://www.ti.com/lit/an/slla270/slla270.pdf

I use Arduino libraries to handle the complex side of the CAN messages. As far as I see, I only need to call a function to send a message with my desired ID and up to 8 bytes of data.

The fun part was deciding the contents of these messages. The transmitter and receivers all need to know what it being sent, so it can deal with it appropriately. And since I can only send numbers from 0 to 255 in a CAN message byte, things like rpm (anything above 255rpm) and temperatures (17.214 degrees, for example), must be converted to a suitable format for transmission.


Tomarse posted:

This is an awesome project! Whats the desired ETA on getting it driving?

Right now, the only things left on my list are:

Install new contactors (I changed contactor type at the last minute, I've already done the mounting and wiring for the old type).
Finish battery waterproofing (this is dull, I've been ignoring it).
Create battery wiring sub-harnesses.
Install water pumps, cabin heater, coolant reservoirs (pipes are all done).
Fix power steering rack.
Finish getting the buck-boost converter working.
Sort out radiator fan PWM controller.
Reassemble charger.
Final assembly.

In theory, that's a weeks work. So, I'm aiming for the end of February.

I'll try to do an update tomorrow!

Adbot
ADBOT LOVES YOU

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
OK, here's a little update at least.

Making the front mount for the transmission.

We start with a load of measuring:



(many measuring picture removed to prevent boredom)

Then some CAD. The inverter sits on the "shelf" in front, the shelf provides some gusseting for the mount to help stop lateral movement, and provides a nice place for the inverter to live (I'm limited in inverter placemeny by the relatively short phase cables for the motors).





The engine mounts aren't pictured here yet. They are Land Rover engine mounts (a great design, basically a hockey puck shape, with bonded steel plates and M10 threads on each side).

Finally, transfer all of that onto some 6mm aluminium sheet, cut, and weld:



Here's the only picture I really have of the finished item, it's a repost from earlier, it shows the inverter resting on its shelf (not mounted yet). Also visible is the home-made bracket for the data connector - the Toyota one is unobtanium.



Those stanley vise-grip-adjustable-wrenches are amazing.

net work error
Feb 26, 2011

Incredible thread and engineering, really looking forward to how this comes out.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:
Wish I had a chance to do this kind of thing, I'm happy I can watch your project happen.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Thanks for the feedback.

As for the incredible engineering, you did see the mattress-box cardboard held to the transmission with 1/4" sockets as pins, right? ;)

I subscribe to the Bad Obsession Motorsports style of CAD. Wait till you see my brackets! :britain:

Seat Safety Switch
May 27, 2008

MY RELIGION IS THE SMALL BLOCK V8 AND COMMANDMENTS ONE THROUGH TEN ARE NEVER LIFT.

Pillbug
It feels weird to just seal off the end of a bellhousing like that, even though I know it will be fine.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

Seat Safety Switch posted:

It feels weird to just seal off the end of a bellhousing like that, even though I know it will be fine.

Haha, yeah, it felt even weirder when i went back and added a plate to lock the input shaft. For any regular car person looking in, I'm sure that would be a great "wtf" moment.

cakesmith handyman
Jul 22, 2007

Pip-Pip old chap! Last one in is a rotten egg what what.

Some clever fuckery ongoing here, fantastic thread! Would you mind saying approx how much the batteries cost you?

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

cakesmith handyman posted:

Some clever fuckery ongoing here, fantastic thread! Would you mind saying approx how much the batteries cost you?

I overpaid for the batteries, I got two packs from low-mileage cars (a 2018 with 14k, and a 2015 with 24k) for £4000 from a Mitsubishi breaker. I could have held out for less (I've seen packs go for £1600 each), but I had already waited around 3 months and needed to get the project going.

Batteries were the biggest expense, almost 50% of the total project cost.

I've not updated this thread in ages, I've been busy with work. Sadly that means the RX7 hasn't seen much progress recently either.

Seat Safety Switch
May 27, 2008

MY RELIGION IS THE SMALL BLOCK V8 AND COMMANDMENTS ONE THROUGH TEN ARE NEVER LIFT.

Pillbug

Pomp and Circumcized posted:

Haha, yeah, it felt even weirder when i went back and added a plate to lock the input shaft. For any regular car person looking in, I'm sure that would be a great "wtf" moment.

If you had more room you could put one of those fake plastic V8s that you use to mock up engine swaps with.

edit: Jesus, they cost more than the actual motor from the junkyard. https://www.speedwaymotors.com/P-Ayr-Products-3020-Ford-302-Set-Up-Block,7442.html

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

Seat Safety Switch posted:

If you had more room you could put one of those fake plastic V8s that you use to mock up engine swaps with.

edit: Jesus, they cost more than the actual motor from the junkyard. https://www.speedwaymotors.com/P-Ayr-Products-3020-Ford-302-Set-Up-Block,7442.html

I still have the cover for the rotary engine out of my RX8... ;)

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
All of my photos of this build are so out of order, and so much poo poo has happened since I started building this thing in October, that I have no idea what I did adn when.

So gently caress it, let's start building this drat car.

We're starting with the batteries. Here they are:



In the Mitsubishi, the 8-cell packs come mounted in pairs, in these nice metal frames. The frames are the same length as the fuel tank. 6 of them fit between the rear tow hooks. Four of them fit in the engine bay. So let's make some battery boxes:

Rear battery:



Front battery:



Let's mount a DC-DC converter onto that front battery



And make some mounts which I can weld onto the chassis to hold that battery:



And also throw the rear battery in there as well:



Not shown is the whole day of making those drat standoffs to bolt down the battery cages.


I also sorted the rear wheel well (badly).

No pics of the part I bought, but it was most of the boot floor. Here's what I cut off.



No way will I be able to stitch weld that with my mig, I cut it oversize and plug welded it instead.





Paint and seam sealer and it's fine for a piece that I'll never see.



What none of thse posts show is the length of time that some of these steps take. I think there was 15 hours in those battery frames.

Pomp and Circumcized fucked around with this message at 00:55 on Feb 24, 2020

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Really slow update everyone, apologies!

Due to the current events, my industry has pretty much shut down. I was able to grab a few weeks more work before being laid off. I'm currently unemployed until this is all over, which gives me more time to work on the car (and fortunately I have purchased pretty much everything for it already).

We in the UK are now under lockdown, so I have no excuse not to work on this thing. In face, it's good to have the RX7 here, to give me something to do during the days!

Let's look at the cooling system.

First off, the RX7 oil coolers. No pictures of them, of course, because I prefer to work rather than take pictures. People keep telling me to do a YouTube channel, but I can't see me having the drive to do that. Writing these threads feels like enough work, let alone editing video!

As standard, these coolers have a wax thermostat which bypasses the core until the oil reaches a certain temperature. To eliminate these, we need to plug the bypass passage, and plug the hole for the thermostat. This was achieved with some hydraulic fittings. The bypass passage was drilled almost all the way through to 8mm, and a copper plumbing fitting (8mm pipe solder-on end cap) was driven into the passage. It's a tight fit, not going anywhere. Hydraulic fittings are used to take regular 3/8 low pressure hydraulic hose.



I also added fans to these, maybe I'll find pictures of that to put in a later update.

Next up, the radiator.

Radiator is from an Opel Corsa, condenser is from something (I think ather generation of Corsa?), oil cooler is from a Jaguar S-type, I'll use it as a power steering cooler.



The FD has a funky radiator setup, the radiator sits at an angle, half-way back in the engine bay, on some mounts which stick out of the swaybar mounts. I cut those off. My plan is to use some 25mm angle, with some end plates that can bolt to the factory tow/hold-down hooks behind the front bumper.



Radiator is done, time for the condenser. Those are Land Rover radiator mounts. Land Rover parts are great, because they are just so generic.



And it's done! What isn't shown is that the whole thing, including measuring, aligning, test fitting, etc, took about 8 hours. The end plates aren't pictured here, but they do exist.



It fits! And the bumper front frame thingy fits! The white tape is soon to be replaced with a top bracket.

cakesmith handyman
Jul 22, 2007

Pip-Pip old chap! Last one in is a rotten egg what what.

Fantastic, no excuses, keep us posted.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Found some more pictures...

The oil cooler fan. It's a Dell server fan, it has a built-in PWM controller. I am using all PWM controlled fans in this project, either with integrated controller, external controller, or building a controller into the PCM.



Temperature sensor - that's a hydraulic fitting, an end cap, drilled and tapped to whatever the sensor needed (M12 I think)



Radiator bracket with end plates, painted. You can also see the "top" radiator mounts. I remember these being a huge pain in the rear end to make for some reason.



Radiator with fans installed. Those blue elbows are 90 degree, 40mm to 3/4 BSP adapters. They were about as hard to find as you can imagine. I finally found them for sale in China. I didn't want blue, but it was blue or white and I wasn't gonna pass up on those! They are just "resting" on there for now, they were epoxied in place later.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Sorry, I've been really behind with the updates. I keep thinking about doing it, then thinking about how much other stuff I have to do, and figure I'll do it later. Now it's almost a month later.

I'm going to keep the descriptions a bit shorter as I'm tight on time these days, pictures speak lots of words, feel free to ask questions and I'll get back to you!

Things I've done:

Got some fans for the Chevrolet Volt DC-DC converter, they'll mount like this.




Cooked my tail lights and added these shrouds to make them look like the later model lights. I like them.




Here's another picture of the radiator and front battery tray



I cut up some plates and made a bracket for the power steering pump. This is a TRW electro-hydraulic pump, from a Vaxuhall Astra. Probably from many other GM cars. It takes 12V (consumes about 50A at full load), and to turn it on you just give it ignition power. No messing with CAN or other proprietary systems.






I don't have any specific pictures, but I had a local hydraulics shop make me a suitable hose with fittings. Custom hydraulic hoses are are surprisingly cheap. I also bought a load of low pressure hose to use as a return line and for the transmission coolers.

I mocked up the drive shaft and had the details sent to my local driveshaft shop. I've probably got a picture of the finished shaft somewhere.

Next up is the transmission rear mount. I cut the tabs from the stock mount, added a plate with some rubber isolators:




Welded on the tabs and a skirt to add strength (it was welded on the inside, which is why it looks like poo poo on the outside). I kinda want to take this photo down cause it looks so bad, but whatever. It looked fine after grinding all the poo poo off.




These bits make up the lower part of the mount.



I wire-wheeled back some sound deadening from the inside of the floor pan, and added some extra steel to distribute the load.





A bit more welding, painting, etc, and we have a finished rear mount.




I also made a differential brace. I copied a popular online one. Only after I made it did I find out that this type of brace is meant to supplement the factory power plant frame, not run asn an independent mount. Oh well, I'll have to remake a proper mount in the future.






I also made mounts for the inverter. You can kinda see them here. I don't have any pictures of them.




There's probably a week of work in this post. The car is pretty much complete now, I only have ~100 photos, so maybe 5 replies left until we are caught up.

Pomp and Circumcized fucked around with this message at 23:03 on Apr 18, 2020

IOwnCalculus
Apr 2, 2003





Oh man I remember the fire (and your early musings on this transmission). Just caught up on this whole thread myself.

A not-so-small part of me is imagining a single cylinder lawnmower engine hooked up to the input shaft on a centrifugal clutch. Pull in somewhere that doesn't have charging, pop the hood, pull start it, walk away while it charges.

Aeka 2.0
Nov 16, 2000

:ohdear: Have you seen my apex seals? I seem to have lost them.




Dinosaur Gum
Where did you get those shrouds? I painted my tail lights when such an option wasn't available.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

Aeka 2.0 posted:

Where did you get those shrouds? I painted my tail lights when such an option wasn't available.

I got them on eBay, a guy was doing a run of them.

There is a rotary parts store in the US that has the templates/CAD files available for free. The guy I bought them from just laser cut them at home from adhesive-backed black plexiglass, and looks like he formed the shape with a heat gun.

I did save the CAD files, I've had a look but can't find them.

The shrouds were good. I wish I'd filled in the edges with black silicone as light does bleed around them slightly.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

IOwnCalculus posted:

Oh man I remember the fire (and your early musings on this transmission). Just caught up on this whole thread myself.

A not-so-small part of me is imagining a single cylinder lawnmower engine hooked up to the input shaft on a centrifugal clutch. Pull in somewhere that doesn't have charging, pop the hood, pull start it, walk away while it charges.

Heh, you could totally do that. You would need to keep the input shaft locked when the car is in motion, but that could be handled with an external brake.

Wouldn't be eligible for tax relief in the UK though :(

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

Tomarse posted:

Whats the desired ETA on getting it driving?

Just re-quoting this, I actually took it for it's first drive today! Down to the other end of my driveway for a wash (gotta get all that grinding dust off it), then back again into a freshly-cleaned garage, making things a bit more pleasant for the next steps (making it into a functional car!)

Since I'm posting, here's another quick update.




This is the gear shifter from a 2017 Toyota Auris Hybrid. All the current toyota hybrids use this electronic shifter. It actually operates like a joystick, outputting X and Y positions from 4x hall-effect sensors. Duel sensors allow for redundancy, cross checking, and real-time error detection. I spent a day designing a circuit to interface with it, and to program a function which traces the path you move it through, and determines which gear you were intending to select. Since there is no P function, I set a long hold into N to activate Park. I use all 4 sensors, to allow for fault checking (but in case of failure, there's not much I can think of doing other than show a warning), but I cheated to make life easier by converting the x axis (left/right) into a digital signal which just outputs "left" or "right". Partly because I'm out of analog inputs on the PCM, but also because I don't need to know the details. ;)

The "B" position (straight down) is being equated to a negative accelerator pedal position, this allows regen on demand, which isn't possible from the factory brake pedal.

Anyway, let's mount it! We start with some CAD:




Looking good. As usual, I didn't photograph any of the intermediate steps....

Mounted to the factory RX7 shifter boot internal metal frame.




Enlarging the shifter hole in the transmission tunnel:




And it's done! It bolts in place, with a neoprene gasket. And yes, it only just clears the top of the transmission.




So, remember that I mentioned the "Park" ability? On the GS450h, this is achieved using a "normal" manual shifter. There is a shift position sensor mounted to the side of the transmission, and a shaft passes into the transmission to actuate the parking pawl. Same theory as a conventional automatic transmission. However, mechanically, all I care about is "park" and "not-park" - the actual gear selection is done using the Auris shifter.

So how to release the parking pawl? I spent a while looking at linear actuators, but these were generally slow, bulky, and expensive. However, a window motor from a 1998 audi A4 is only £4, and includes its own controller, with up/down relays. A bit of modifying it's controller to allow full control, welding a crank onto the output shaft, and a mounting bracket, and I'm able to put the car into and out of "park"!

As usual, no photos were taken. This is why I'm not a YouTuber.




Let's make a wiring harness for this unit. I need connectors for oil temperature, shift position, parking pawl motor, transmission solenoids, and the two motor resolvers. One picture, probably 6 hours fo work.




Let's throw it in the car! I'm pretty sure this is the last time it's going in. But not 100% sure.








Let's throw the battery frame in. Still fits!




And the wiring harness makes it into the passenger footwell, ready for connection to the PCM. Wiring has been an enormous part of the project, I worked 8-10 hour days for around 3 weeks on the wiring for this car. 200 hours sounds about right.




In fact, I'll probably cover wiring next. There's a lot to cover.

Pomp and Circumcized fucked around with this message at 01:11 on Apr 21, 2020

Applebees Appetizer
Jan 23, 2006

Holy poo poo dude :stare:

I have a feeling when you're done it will be my new favorite project car. Awesome work man.

sharkytm
Oct 9, 2003

Ba

By

Sharkytm doot doo do doot do doo


Fallen Rib
Jesus, you're nuts.


I mean that in the BEST way possible, I wish I had your motivation and skill.

Aeka 2.0
Nov 16, 2000

:ohdear: Have you seen my apex seals? I seem to have lost them.




Dinosaur Gum
I mean, whoah.

I do race wiring for a living so if you need any direction on connectors or anything let me know.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

Aeka 2.0 posted:

I mean, whoah.

I do race wiring for a living so if you need any direction on connectors or anything let me know.

Damnit! This is the problem with posting from the past. The wiring is mostly done now!

I went with OEM spec connectors as far as I could, and kept to the same style that Mazda uses for many of them (mostly because I already had plenty.

I used Molex MX150 for most of the external connectors, Tesla used these on the charger which I use. I like their ease of assembly, small BOM (integrated gaskets!), and reasonable pricing.

I have the familiar Ampseal 34-pin connector for the inverter. Not a fan - I used a generic crimper and found that it was tough to get all the pin seated "home" fully, all at the same time, to engage the locking tab. Also, removing pins was a bit of a pain.

For internals, I went with Multilock 070 almost exclusively. These were already used for most of the car by Mazda. A few 040's thrown in there as well, I'd already purchased the pins for the ECU connectors.

I used Metri-Pack series connectors in a few places as well.

Using Toyota hardware meant a few unobtanium connectors which had to be joined onto my existing wiring. Not great but oh well.

My main regret is choosing to solder splices - I didn't think to just order open barrel splices on next-day. and be done with it. However, fortunately I ran new wires for most of the project, and didn't end up with many splices (probably 10-20 in total). I can always go back and replace them if they start to fail. Extensions were done using uninsulated butt crimps.

External wiring has been bundled in PVC tape, then split corrugated conduit, then wrapped in more PVC tape. Internals are just PVC all over. I recently had to rebuild a few wiring harnesses from my Corvette, and figured GM knows enough about wiring to make it work out. I wasn't a fan of them not taping over their split conduit, however, so did that to the harnesses at the time.

I made use of existing firewall penetrations, using the original rubber pass-throughs.

Every tail on the harnesses have been made a little longer than needed.

I'll do a wiring update later tonight or tomorrow or something.

Pomp and Circumcized fucked around with this message at 17:56 on Apr 22, 2020

Wrar
Sep 9, 2002


Soiled Meat
I love this thread and want to see sexy wiring.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Sorry for the lack of updates, I've been going through a few things this month. I'll try to get something together for this thread.

Professor of Cats
Mar 22, 2009

Pomp and Circumcized posted:

Sorry for the lack of updates, I've been going through a few things this month. I'll try to get something together for this thread.

No sweat, We aren't going anywhere either, friend.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
Sorry folks, long time no update. Some "real life" things have gotten in the way, including the loss of my job (and my entire industry!) due to current events. On the plus side, that has given me some more time to work on this car, but less time to think about things like updating this thread.

So, let's look at wiring! We are going a bit out of order chronologically here, because the wiring took place over a few weeks while I was also handling other areas of the project. I figured it was easier just to grab all the "wiring" related pictures and show them here. So if you see any new and exciting things that I didn't previously mention, then I'll likely get to those in future posts (or not).

The pictures don't tell the full story, so here's what's going on.

The RX7 has typical 90's wiring, no CAN or serial busses, everything is "one wire, one job!"). Which results in a lot of wires. We don't need a lot of these wires since they were engine related, so they have all been removed. Any power wires (from fuses) have been repurposed. e.g. the 20A "FUEL PUMP" fuse now runs the transmission solenoids and parking pawl actuator.

In some cases, entire harnesses have been removed. In many cases, connections were able to be condensed from multiple connectors into just one. A few of the larger connectors (e.g. a 20-way Multilock 070) which were left with just a few wires were re-pinned into smaller connectors (like a 4-way), since the larger connector is more expensive, and it can be repurposed elsewhere.

The RX7 has a funny feature where the "Dash" harness and the "Front" (engine bay) harness only connect on the passenger side, so, for example, the "lights" stalk connects to the engine bay harness, so the "full beam" switch wire runs out through the fire wall, all around the engine bay to the passenger side, then back into the passenger side firewall, into the Dash harness, across the dash, to light up the "BEAM" light on the cluster. Efficient, huh? All of that was removed/reworked to reduce needless wires running around the bay.

In total, I removed about 60-70% of the wiring for the car. The only remaining items were:

Lights (including brake lights, turn signals/flasher, dash illumination, popup motors, etc)
Radio (speakers/antenna)
Wipers
HVAC (fortunately, self-contained)
ABS

I ended up removing the "front" relay box which lives at the front of the engine bay. I only needed to relays from it (horn and front fog light), all the relays were full of rust and not really working, and I needed to buy a second, larger relay box anyway.

Enjoy these photos of ripping the wiring apart!





I purchased a main fuse box from a BMW Mini, because it was cheap and almost did what I needed. I opened it up, cut/bridged some internal plates to adapt some of the functions, and mounted it. While I was at it, I also mounted the "battery" fuse box from the RX7, this was originally part of the positive battery terminal. lovely pictures, it's just a tab welded onto the mount for the other fuse box.





While on the subject of the battery, I made a mount for the 12V battery. This does all the things a normal car battery does, as well as keep the BMS alive while the car is off, to detect charging. The 12V battery is necessary to power the electronics on car startup, before the main battery is connected. This is the smallest "standard" size battery in the UK, so is a good choice. The car should last for several months on standby.







Next up was running new wires. I have plenty of wiring removed from other cars in the past, including loads of twisted pairs, suitable for CAN. Everything EV-related in this car communicates over CAN, I tried to write out how it's wired, but gave up so here's a flowchart:



The engine bay harness was modified to include connections for the front battery, the BMS, and the various pumps and fans. The rear harness gained wiring to the rear battery, charge port, and other things (rear view camera, trunk open solenoid. The dash harness gained a gauge cluster and AC controller, with their respective wires.










You can see the notepad there, each connector has it's pinout noted down for future reference (I used this a lot more than I hoped later on!)

I also started wiring the battery packs, there's an example here. I'll cover the battery packs in more detail later (probably). I also replaced the full lines with cables for the rear battery, these are accessible through the access hole for the old fuel pump.






Final thing, I added an alarm, with inputs from all the usual places, plus a hood sensor. Since it has central locking, I wired this to a solenoid in the drivers door (the passenger door on the RX7 has this from factory....but only the passenger door!)



I didn't take many pictures of the wiring, because wiring isn't all that interesting. You'll see plenty of it in future updates, in the background of other pictures.

It was a time-consuming process, lots of labelling, and way too much time spent finding wires of the correct length, but not too long so as not to waste the excess. Finding the correct places to branch out for conenctors, to allow serviceability without excess cable, etc, was always a pain. Not shown is any sleeving on the harnesses, because they were not finished at this point!

Next up, let's look at the gauge cluster. If you thought I spent some serious time and effort on the wiring, you ain't seen nothing yet!

Next update within a week, I promise. Right now I'm demolishing my garage.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:
Sorry about your job. But I'm glad to see an update! I wouldn't worry about showing us more wires, there are plenty already shown in the pics :v:

Wrar
Sep 9, 2002


Soiled Meat
Hell yeah updates!

kastein
Aug 31, 2011

Moderator at http://www.ridgelineownersclub.com/forums/and soon to be mod of AI. MAKE AI GREAT AGAIN. Motronic for VP.
Holy poo poo man, this is amazing. I'm hoping to Tesla swap some stuff in the coming years and this is a real motivator to see come together like this.

A few points - on that oil cooler fan from the Dell server, is that exposed to the weather? I doubt it will last very long, if so. Also, on CAN messages, I am guessing you already know this, but if you get clever with C structs and unions you can make a data structure that allows you to shove arbitrary data formats (well, up to a total of 8 bytes, since that's the limit of a CAN message) in without regard and then pull them back out as bytes and feed them into the CAN message mailboxes easily. It's very useful when trying to get, say, 16 and 32 bit integers, or floating point numbers, or a combination of data types across a CAN bus without ripping your hair out.

e: oh and I'm curious why the input shaft has to be stopped while driving? Is it because in full electric output mode the trans was designed with the assumption that the engine would be stopped in mind, and it works against the input shaft with one of the planetary gearsets or something? I'm not super familiar with the internals of that trans.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:
Regarding PC fans in weather. I have a fogponics setup with 140mm pc fans all over to move the fog around. The failures I've seen were all related to corrosion where the cable meets the control PCB. I started doing some conformal coating of the boards and they have been solid for about a year now.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

kastein posted:

Holy poo poo man, this is amazing. I'm hoping to Tesla swap some stuff in the coming years and this is a real motivator to see come together like this.

A few points - on that oil cooler fan from the Dell server, is that exposed to the weather? I doubt it will last very long, if so. Also, on CAN messages, I am guessing you already know this, but if you get clever with C structs and unions you can make a data structure that allows you to shove arbitrary data formats (well, up to a total of 8 bytes, since that's the limit of a CAN message) in without regard and then pull them back out as bytes and feed them into the CAN message mailboxes easily. It's very useful when trying to get, say, 16 and 32 bit integers, or floating point numbers, or a combination of data types across a CAN bus without ripping your hair out.

e: oh and I'm curious why the input shaft has to be stopped while driving? Is it because in full electric output mode the trans was designed with the assumption that the engine would be stopped in mind, and it works against the input shaft with one of the planetary gearsets or something? I'm not super familiar with the internals of that trans.

Thanks for the feedback!

I don't expect the fans to last long either. I'm not even sure if the car needs them at all, it was simple to add them (the PWM control is internal). The car isn't going to be a DD, and the fans are enclosed/shrouded on the four sides, so we'll see. They were super cheap, and I can always upgrade if needed.

I'm familiar with structs and unions in C, however I can't visualise a general way of doing that, it feels like I'd have to write a union for each CAN frame. And then make sure they are synced across all controllers. Maybe they could all share a header file for this? I didn't really think about it. The whole "custom" CAN system only has 22 unique frames.

I do have quite a few floating point numbers (temperatures, for example), but don't need the high resolution when transmitting these (just for dash display, etc), so I just convert them to 8-bit integers.

The shaft has to be stopped while driving as the engine and the front motor (MG1) are connected to the output shaft (and rear motor/MG2) via a planetary gear set. With no load on the input shaft, MG1 will spin this instead of the output.

taqueso posted:

Regarding PC fans in weather. I have a fogponics setup with 140mm pc fans all over to move the fog around. The failures I've seen were all related to corrosion where the cable meets the control PCB. I started doing some conformal coating of the boards and they have been solid for about a year now.

Good to know. I imagine that moisture, and spray getting in through the cooler, will be the killer of these.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
A bit of a shorter post for this topic, but one that has had many hundreds of hours of work put into it. There's probably more work here in this small project than in the mounting and wiring of the rest of the components in the car. I think in total, about a third of the entire project's worth of work has been spent on this one item: the gauge cluster!

We all know what the RX7 FD factory gauge cluster looks like, which is good, since I never took a picture of it. It has 5 needles (Tach, Speed, Coolant Temp, Fuel, Oil Pressure), an odometer/trip display, and 9 (I think) warning lights.

Literally none of this works for my conversion:

  • The tach has no use in an electric car. Also, it only goes up to 9000. Amateurs.
  • The speedometer only reads in KMH, so even with the sticker to change the legend to "MPH", and the scaling corrected, the legends look all wonky, 70mph is barely anywhere around the gauge, and despite all of that, I didn't fancy digitally replicating the sine wave needed to control it.
  • The fuel level gauge requires an input resistance range of something dumb like 6-110 ohms, digital potentiometers can't replicate this, and rescaling the gauge with alternative resistors seemed to upset it.
  • The oil pressure gauge is fake! It's fed by a simple switch.
  • The coolant temperature gauge has no legend. "H --- C" doesn't work for me.

What's the solution? Rip it out and add a custom panel, of course!

I wanted to keep the factory look, so chose to fill the 7 openings in the fascia, each with an LCD. I spent days looking for suitable circular TFT display, but all would require external control hardware which is not well documented for DIY users, and is a little too unfamiliar for my liking.

In the end, I went with some SPI TFT displays, I chose 3.5" units for the tach and speed, 1.8" for the oil, fuel, and coolant, and some small character LCDs for the rectangular openings.

For control, I chose a Teensy 3.2. These days, when designing PCBs, I have learnt to design within my own limits and fabrication skills, as such I prefer to buy commercial microcontrollers and mount them to my PCBs (Arduino "shield"-style), rather than have to solder these intricate components by hand. Mounting a Teensy is far, far easier than the MK20DX256 which comes on it. Plus, the ability to remove, replace, and recycle these microcontrollers saves money in the long term.

Connecting 5x SPI displays to the T3.2 was interesting. The unit has 5x hardware Chip-Select pins, however the displays expect hardware CS pins for both their Chip-Select, and Register-Select inputs. Working with the creators of some of the old Teensy libraries for the TFT controllers, we were able to work around this issue and allow control of all 5 displays on one Teensy. Yay!

Here's an initial look at 3x TFTs running on one Teensy:




The character LCDs were classic parallel units, I added an I2C interface to control these.




Finally, the 3.5" displays. These use a different controller to the 1.8" units, as well as a different backlight system requiring external PWM control for backlight dimming. This means different libraries for the 3.5" units, which made the programming all the more complicated.

In this image, you can see an early test version of the screen contents. The icons were drawn in Excel - I wrote a script which allows me to colour in the cells and it will output an array in C for the icon. To save memory, these were mirrored wherever possible (e.g. the main/high beam icon is actually just the top half, I wrote code to flip the image and draw it underneath). They are single colour, I have the programming set to colour it as it is drawn.

To save bandwidth on the SPI bus, only data which needs to change is redrawn per cycle. By doing this, I have managed to keep above 30fps at all times when updating these displays. Things such as the icons are only redrawn when their state changes. The speed, etc text readouts are generated by the LCDs onboard controller using their inbuilt font, this saves a huge amount of bandwidth.




To mount the displays, I cut out some pieces of white PVC sheet, and vinyl wrapped them in black (because that's what I had to hand). Everything is held together with hot glue. One day, I'll go back and find a more professional mounting solution (never).






Here is the board I designed. It has a spot for the Teensy, a 5V and 3.3V power supply, connectors for each display, an encoder input (the old "trip reset" button is now a rotary/push encoder), 16x digital inputs and 4x analog inputs from the car, one CAN transceiver, a warning piezo buzzer, a real-time clock, a bluetooth module, and two EEPROMs for storing data (odometer and settings).

With the addition of my own cluster, I took the opportunity to add a few features, including door/trunk/hood open chimes, immobiliser/alarm status, 12V battery voltage readout, and I also took a reading from the headlights and the dashboard dimmer switch, to allow the cluster to dim with the rest of the dashboard lighting. I also added the mandatory rear foglight indicator. In the end, I used almost all of the available inputs!

All of the EV-related information comes in over CAN.

You can see that I left behind part of the original flex-PCB, this is for the turn signal indicators. I didn't see a need to reinvent the wheel here.








Here is an early photo of the display in the car. I need to go back and replace the black vinyl again, it has not stuck down well to the LCD bezel. Likely I will laser-cut some black polycarbonate in the future instead.

This photo doesn't include all the screens, I damaged one while installing it and didn't have a replacement at the time. I don't have any photos of the whole thing complete and working.




Some of the things which took the most time include the way the displays render text and images. Examples include:

  • Since the numbers on the smaller displays need to align to the right, I had to program them to draw each character one by one, starting from the right and shifting to the left as it draws.
  • The power graph, battery charge indicator (not shown here) and many more things are all freely movable, resizable, and can be dropped onto other screens with minimal changes. Same for the icons, they currently auto-space, so I can add or remove them without issue.
  • The encoder has access to a full setup menu. By default, it handles Trip A/B and reset, but it can be used to highlight any screen and switch them to an alternate display, do things like change from MPH to KMH, change the graph scale, control the display brightness, set the clock, etc.
  • The graph updates several times per second, it was meant to mimic the Tesla "WH/mile" graph, and it seems to work quite well. It calculates rolling averages on the fly and displays this as a dashed line, it auto scales the Y axis, it shows a history depth and update frequency which you can define using the encoder, and it manages to draw itself very efficiently, only updating pixels which need updating! This was tough, since the graph itself rolls from right to left as it updates. This is why the line is only one pixel wide!
  • See below - the RX7 and Efini logos which appear during startup. Not only does this look cool, but it gives times for the HV system to precharge, initialise the inverter, test the pumps and read their feedback, obtain and process temperatures for initial averaging, etc. Again I used some freeware software and then a script to convert .bmp images into arrays.

    However, there is not enough memory on the Teensy to hold these in raw format. Not knowing much about image compression, I instead wrote my own compression algorithm which counts the number of consecutive pixels of each colour, then stores this in an array. This can be decoded to redraw the image. For example, an array containing {420,69,1337} would draw 420 white pixels, leave a 69 pixel gap, then draw 1337 more white pixels. The image width can be defined, and the code will wrap to the next line as needed. Due to the "blocky" nature of these logos, this method shrank the image size by over 90%.



Edit: The horrible black vinyl was replaced after this picture was taken. The current stuff isn't that much better, though!

That's about it for the gauge cluster. It's crazy to look back at how much work went into that, and how great some of the milestones felt. Getting all 5 TFT displays online at the same time was a huge achievement at the time.

The cluster is still under development. I've since created separate views for when the car is charging, when the charging is complete and the car is "asleep", when the car is pre-heating (I forgot to add, the car can be set to power on the heater at a certain time via the gauge cluster). I've started working on bluetooth diagnostic output for the whole car, and a Windows program to display the data in real time. Still to come is a detailed diagnostic mode, better EEPROM handling, calibrated battery state of charge levels and range indicator, estimated charge rates and charge time remaining. This is a part of the project that will just go on and on, but for now we have a working gauge cluster, which I'm rather proud of, so we can move onto other stuff next.

Not sure what's next. Probably building the battery packs, plumbing, refitting the interior, and eventually, test drives!

Pomp and Circumcized fucked around with this message at 19:30 on Jul 4, 2020

kimbo305
Jun 9, 2007

actually, yeah, I am a little mad
Heh, devising RLE encoding from scratch. Dedicated start to finish.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.

kimbo305 posted:

Heh, devising RLE encoding from scratch. Dedicated start to finish.

Heh, yeah, I figured it already existed somewhere and had a name, I remember spending a minute or two searching existing methods then just giving up and making up my own thing.

It made sense at the time, since it was a two colour bitmap with large blocks in each colour. And the code was super-easy to implement; I wrote it in something crazy, like under 3 minutes and it worked first time, which is always a bonus!

kastein
Aug 31, 2011

Moderator at http://www.ridgelineownersclub.com/forums/and soon to be mod of AI. MAKE AI GREAT AGAIN. Motronic for VP.
drat, that's some great work, especially the displays. I've been dreading that kind of thing.

A few things though - one, if you wanted to get the factory speedo working, you could use a chip known as a DDS chip. Stands for Direct Digital Synthesis. Basically you give it a crystal reference and hang a line driver or op amp on the output and shove commands at it with SPI or i2c depending on which one you buy. Analog devices makes a lot of nice ones that will do crazy wide frequency ranges. You tell them the frequency, phase (only really matters for applications other than this of course, like if you were building a radio LO section or modulator) and possibly amplitude and it just spits out a sine wave for you.

Another, for the fuel gauge. I'm actually working on a project for my Honcho LS swap to deal with that. With a correctly chosen set of resistors and a handful of n channel mosfets (or possibly cheap optocouplers, to allow for positive or negative reference rather than assuming ground reference) I can output resistance anywhere from 0 to 90 ohms with like a hundred points in between. It's not even that hard, the key is when you realize that an R-2R network (or a parallel resistance ladder, depending on the curve of the sender you're trying to emulate) doesn't actually have to be all the same values and the curve produced doesn't actually have to match the curve of the sender if you don't mind adding a lookup table in your firmware, all that matters is that the points are close enough together across the whole range that you can set the needle anywhere you want instead of it visibly jumping from step to step.

Pomp and Circumcized
Dec 23, 2006

If there's one thing I love more than GruntKilla420, it's the Queen! Also bacon.
I looked into a dedicated chip for the speedometer control. However I had issues with the speedometer needle behaving erratically when connected to my function generator (a cheap one, probably using a DDS chip as well) and thought it best not to pursue.

For the fuel gauge, I did design a board based on resistors as you described, I spent a bit of time plotting the various combinations of resistor values vs the possible outputs, I made an Excel sheet with a graph to find the optimum values. I had a basic design for an 8-bit output, which was far more than I would ever need, 5 bits would probably be fine for an EV fuel gauge.

Here's the graph, I had a play with the values but I always got an exponential curve, which I expected, but it gave poor resolution in the area which mattered the most:



Note that these values were not any particular values, just whatever I had tried out last before going to bed that evening.

What I didn't mention in my post above, is that part of the decision to ditch the factory unit was that during testing, I let the cluster rest on the metal dash bar, at one point I guess I got it placed just right to ground out a 12V trace, the flex PCB went up in smoke. I was already on the fence about doing the digital cluster (I didn't want to tear apart a perfectly working cluster) so this sealed the deal for me. Also the reason why I didn't salvage the flex PCB to sell on (a common and expensive failure part on FDs).

Adbot
ADBOT LOVES YOU

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:
This thread continues to be awesome.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply