Wednesday, 13 December 2017

Switching tack

Electric Power Steering

As part of the implementation of the Vauxhall Corsa C Electric Power Assisted Steering (EPAS) into the car, I need to consider switch gear. The ignition switch only carries signal currents, indicating the Body Control Module (BCM) the switch position. The electrical ‘heavy lifting’ is handled by BCM controlled relays. I need to retain the ignition switch as-is, so I will have to find a way of replicating this function. I could wire a relay for ignition and engine cranking to the ignition switch, but there are other areas to consider:

Control Stalks

The Corsa C uses a series of resistor ladders in the control stalks (indicator, main beam, cruise control (where fitted), wiper and washer). I managed to track down the following internal schematic from the Locost Builders forum.

S229.1 Switch - High beam
S229.2 Switch - Turn signal
S229.3 Switch - Cruise control

Basically, this results in a resistance for each switch position which is nice and simple (read cheap) when engineering the switches themselves, but adds some complexity to the electronics. The control stalks appear to be physically interchangeable with the Vectra B counterparts, so it is possible to retain the Gardner Douglas approach and pass the bulb and wiper currents through the switches. However, this would not allow the use of a ‘lane change’ flick to flash the indicators, dictate the use of manual wipers (no rain sensing), remove the ability to use a modern hazard switch, and makes automatic wipers a non-starter. Electronic engineering is the way forward!

One way the indicator could be connected to a ‘new’ BCM is to apply a voltage to switch pin 3 and add a suitable resistor between pin 2 and ground. The BCM can then read the voltage across the pull-down resistor and determine the switch positions – easy!

Not quite. The BCM has to, among other things, try to catch quick switching events (e.g. a lane change ‘flick’ of the indicator) so it would have to continuously poll the voltage, and still may miss events due to the time involved in the Analogue to Digital Conversion. In addition, this then doesn’t leave time for other jobs in the BCM such as measuring the other switch positions, managing the bus communications, or working out the required light configuration.

I needed a new plan.

A better way to react to asynchronous events is with an interrupt. Some microcontrollers have the ability to interrupt when the voltage at a pin changes level when compared to a reference voltage. Upon a switch event, the change in voltage at the output of the switch would change the output of a comparator, invoking an interrupt. Perfect! Unfortunately, the number of comparators available on my options of microcontrollers for the BCM brain (Arduino / Teensy / Pyboard) is limited (one or two in some cases), and I would like to apply this across at least five inputs in the BCM, it is not a reasonable route. Oh dear!

Plan C…

I can take the principal of the comparator interrupt and build an external circuit to achieve much the same effect. Since a Pin Change Interrupt is available on most digital pins of the micros, I have a way forward. Joy!

Friday, 8 December 2017

Long time no see!

Whilst it has been some time since I have updated this blog, I have still been working on the car. Family commitments, house purchase and subsequent move, and life in general have all got in the way, but I have still made little pieces of progress albeit in a greatly reduced capacity. The loss of a camera with the photos of this progress didn’t help, so I’ll try to fill in the blanks.

Power assisted steering

Should this car ever actually make it to the road, I would like to make it as ‘everyday driveable’ as possible, which for me, means it needs power assisted steering. There is an ‘unofficial’ hydraulic option where the steering rack from (I believe) an Impreza is substituted in place of the standard part. I am concerned that this will negatively impact the steering geometry including bump steer, so I have shelved that idea. The other possibility (which I have elected to try) is Electric Power Assisted Steering (EPAS)

After some trawling of the internet, the EPAS from a Vauxhall Corsa C seems to be a good choice. It is column rather than rack mounted, has simple electrical needs (i.e. no CAN bus messages to replicate), and is popular in other car building communities so is readily available. The biggest drawback is that it needs a vehicle speed signal in order to adjust the amount of assistance it provides. This takes the form of a square wave where frequency is proportional to speed. There are a number of ‘little box of electronics’ available on eBay that provide this signal which come with a dial in order to alter the frequency. This is a manual operation and only therefore allows for a fixed level of assistance which more than likely ends up with the steering too heavy at low speed (a little redundant then!), or too light at high speed (more than a little dangerous). The challenge is achieving a speed related assistance so I will need to develop a way of getting the Cobra’s speed signal into the Power Steering controller. Unfortunately, the controller is expecting a speed signal from the Corsa which almost certainly has a different number of pulses per mile than the speed signal from the transmission in my car, so some frequency conversion will be required. Fortunately, this opens up the possibility of an amount of tuning of the assistance vs. speed map. An awful lot of the groundwork for this has already been carried out here so at the risk of ‘standing on the shoulders of giants’ I need to integrate this information into my own box of tricks. Sounds simple!

corsa epas power steering kit car

With the electronic side of things in hand, I need a way of mounting the column into the car. A ‘standard’ Gardner Douglas mk4 uses a Vectra B steering column, but this is wildly different to the Corsa design. Therefore I need to design my own installation, bearing in mind any new brackets will have to absorb the torque reaction from the column. After a flurry of activity with calipers, height gauge, inclinometer and numerous bits of steel, I have been able to re-create the Corsa column as a 3D CAD model. This then allowed me to design a bespoke bracket arrangement that picks up on the windscreen mounting points on the body in a fashion similar to the GD design. At the other end, I am mounting to the corner of the transmission tunnel as this makes for a short cross car tube for maximum stiffness. I ordered a kit of laser cut steel parts from my CAD models and have welded up the assembly. Some adjustment is needed for final alignment, but it sits roughly where it needs to so I’m taking this as a win! Connecting the column to the rack is the next step on the installation journey. When procuring the Corsa column, I also obtained a lower joint which would normally connect the output spline to the steering rack. This has an extendible portion to aid in assembly as well as provide collapsibility when in a crash. Since the steering rack in the Cobra has a different input spline, the bottom end of this lower shaft was pointless and so was despatched with judicious use of a drill and grinder. I then turned up an adaptor to join the remaining part to the steering shaft extensions in the car.

Pedal Box

Gardner Douglas supply an adjustable pedal box which, since I have unusually long legs, seems like a good idea to allow others to drive the car (again, predicated by the ‘finished car’ status, whenever that may happen!). Unfortunately, all the messing round I have done with the steering column means a key structural joint intended to support the pedal box is now not feasible. I could have hacked together a bracket to pick up on an alternative hard point, but where would be is the fun in that? I elected to design my own pedal box and take the opportunity to make it electrically adjustable as reaching under the dash and turning a knob manually seems so last century!

The pedal box is a safety critical item as failure of components would likely be catastrophic, so some care had to be taken. Some digging around indicated that the maximum effort that a strong person may apply to the brake pedal in an emergency (with safety factor) is around 1500N, so this was my target. The confines of the foot well provide some interesting constraints, so I measured and modelled the environment to help with the design. I used a standard Jaguar brake master cylinder (the LHD version was more convenient for hose routing) and an aftermarket clutch cylinder. Ensuring sufficient movement of the clutch slave cylinder whilst achieving the target pedal ratio of 6.5:1 (since these are non-power assisted brakes, this ratio should give a reasonable feel) proved to be a little tricky, but a few iterations to get the concept refined meant I could turn to Finite Element Analysis (FEA). This allowed me to ensure that under the maximum load, no undue deflection or excessive stresses would occur, and normal operation would see no fatigue issues. When I was happy with the design, I sent the flat pieces off to the laser cutter and set about some bar stock with a lathe for the round bits.

Using a vee block, a hydraulic press and an inclinometer and a little bit of maths (to estimate spring back), I formed the joggles in the pedal arms.

I machined up a matched die pair from scrap aluminium that I used in a press to curve the pedals as needed.

I still need to make a small fixture in order to jig the pedal arms to their respective pedals and pivot guide tubes.