Giter Club home page Giter Club logo

e39steermodule's Introduction

E39steerModule

This project was created to solve the need for a MY99 BMW 540i (E39) to be able to steer using the semi-autonomous driving software openpilot.

Openpilot is an open source driver assistance system that offers Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models. To function properly, openpilot needs to be able to control the longitudinal (gas and brake) and lateral (steering) movements of the car using the CAN bus. For more information, see https://comma.ai/ and https://github.com/commaai/openpilot.

My system is based on openpilot v0.8.2 and features stop-and-go capability achieved through the BrakeModule, which controls braking, and a device similar to the Comma Pedal, which manages acceleration. The E39steerModule is connected to same CAN network that these devices and receives steering torque values from openpilot, which determine the rotation of the steering wheel. I also track the Nema rotation (angle) relation to the steering shaft rotation and if there is too big of a difference get a warning to check the module assembly.

As the actuator motor I use this NEMA17 motor with 5.18 gear ratio. With the motor/steering shaft gear ratio of 2 the end torque applied to the steering shaft is approx 12 Nm.


Credit

The NEMA control logic board and firmware that I use, is created by dzid26, and this project probably would't come to fruition without his work.


Disclaimer

The E39steerModule is created by fellow that have no knowledge of any kind on automotive, material, mechanical or elecrical engineering, nor I am a 3D-designer. I just like do stuff and get things done. If someone ever tries to implement this, keep in mind that it is designed to intentionally kill you.

The designs in different pictures may vary and is confusing as f. This is just me being lazy, but at least it gives the impression that some development have been done.

The E39steerModuleCase v1.f3d design might be broken because I deleted a lot of stuff from it to be more clean and haven't tested it. You also need Fusion 360 program to use it, there is free, hobbyist licence for it (at least ATM).


Case design

The key concept behind this project involves placing the primary support point of the module case not within the car frame but, instead, bearing-mounting it around the steering shaft. This configuration is supported by the control arm, with the steering shaft being driven by a NEMA17 stepper motor.

Animation of the E39steerModule assembly:

E39steerModuleCase.mp4

The design has been parametrized so that the steering shaft diameter, case heigth and the bearing size can in some extetend be changed, along with some other things. This gives the ability to tune the design and maybe be used in some other car/system.

User_parameters

The shaft diameter and distance between steering shaft and Nema gearbox shaft (distance between gears) is engraved onto side of the case. This was made to help with prototyping to keep on track which parts you have in hand, because with 3D-printing you have to adjust these values to get the fit really right or make those variables too tight and then use shim plates to adjust to correct tolerances.

Case_engravings

This module is built from 110 mm M5 double end threaded rods, 606ZZ bearings, 58x6 mm steel rods (cut to length), and a 3D-printed case made of PETG with a layer height of 0.2 mm, a wall thickness of 1.2 mm, and top and bottom 'layers' with 20% infill. Additionally, there are 2 mm steel plates at the ends of the case, and the control arm is constructed from 4 mm flat bar. I have used also 3D-printed shim plates betweeen case segments to get the bearing and gear distance tolerances right. The gear shim plate can be seen in the pictures as red line between the segments.

The module is installed to the E39 steering shaft between the steering column and firewall. The steering shaft luckily has an teething in one part of the shaft where the shaft gear is installed. The E39steerModule is placed under the teething and is resting on a sleeve that is coming out of the firewall and is aroud the steering shaft.

20231117_133440

20231117_133419

20231117_133303

The E39steerModule control arm goes up to cars chassis where is steering columns bolted joint. This keeps the module in place, so it won't start rotating when the shaft or motor is driven.

20231117_133318


Outro

I haven't done enough testing to say that this module is good for a million miles, but for a short drive, it works ok.

VID-20231107-WA0001.mp4

e39steermodule's People

Contributors

killinen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

e39steermodule's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.