Rapport Rania Version Finale
Rapport Rania Version Finale
Rapport Rania Version Finale
Spindle drives, are mechanisms responsible of opening and closing the back door of the car.
This process can be automatically with a button click, or simply manually, with the help of the
user. They are more used nowadays to make the opening and closing operations smooth and
easy, without any extra effort. In this context, our graduation project entitled ´´ Improvement
and automation of Spindle drives design ´´ consists of developing and improving functions
and methods, of a tool developed by the company Brose, the Spindle Cockpit, to automate
spindle drives design. The various solutions are firstly created theoretically and then
implemented with code into the tool used by Brose to develop spindle drive assemblies before
the production process. These functions are required for a better development of spindle drives,
therefore, the satisfaction of Brose automotive customers.
Keywords: Spindle drive/ Automation/ C# / XAML/ SQL server/ Conception/ Calculation/
Kinematics
Résumé
Les systèmes d'entraînement à broche sont des systèmes, de plus en plus utilisés de nos jour,
dans le but de faciliter l’ouverture et la fermeture de la porte arrière de la voiture. Dans ce
contexte, Notre projet de fin d'études intitulé “Améliorations et automatisation des systèmes
d'entraînement à broche” consiste développer et améliorer différentes fonctionnalités d'une
application développée à Brose, afin d’aboutir à l´automatisation complète de la conception et
du design de ces systèmes. Ces fonctionnalités sont tout d’abord développées théoriquement
afin d’être implémenter au finale, dans l’application responsable de l’assemblage et la
conception des systèmes d’entrainement à broches. Ces fonctionnalités sont nécessaires pour le
développement de ces systèmes produits par Brose, afin d’obtenir une meilleure performance
ainsi que la satisfaction des différents clients dans le domaine de l’automobile.
Mots clé: Systèmes d'entraînement à broche/ Automatisation / C# / XAML/ SQL server/
Conception/ Calculs/ Cinématique
i
Acknowledgment
I would like to take this opportunity to express my deepest gratefulness and appreciation to all
those who availed me of their precious wherewithal, spurred me on and contributed to the
success of my final graduation project.
To start with, a special gratitude to my supervisor at Brose, Mr. Michael Welker, for providing
me with such assistance and support to overcome all obstacles, who didn´t catch an effort to
advise me, and for giving me this amazing opportunity to integrate his team.
I also want to thank both of my supervising tutors at Brose, Mr. Michael Hittinger and Mr.
Andreas Gutgesell, for their constructive criticism, and for sharing with me their valuable
experiences. I am honored to have been assisted by them in both elaborating my project, and
writing my report.
Furthermore, none of this could have happened without the support of my academic supervisor
Mr. Moncef Ghiss, who believed in my abilities throughout the entire period of my project,
that´s why, I would like to acknowledge with much appreciation, his insightful advice and
crucial work during all the stages of my graduation project.
I would also like to extravagantly thank my father Lotfi Hadouej, my mother Alia Hadouej, and
both of my sisters Sonia and Nadia Hadouej, who spared no effort in providing their
perspicacious advice, guidance and mostly love. That´s why I offer this graduation for them,
which is the least I can do.
Last but certainly not least, I cannot forget to thank all my amazing friends, especially Anne
Büttner, Stephan Henzler, Yassine Khlass and Chedy Boughrara who gave me unconditional
enthusiasm and support. Without the precious help of all these people, this work would have
never been possible.
ii
Table of Content
General Introduction .................................................................................................................. 1
Chapter 1. General Context and Company Presentation ....................................................... 3
1.1. Introduction ................................................................................................................. 3
1.2. Company Presentation ................................................................................................. 3
1.2.1. Brose..................................................................................................................... 3
1.2.2. Organization ......................................................................................................... 3
1.2.3. Products ................................................................................................................ 3
1.3. General context ............................................................................................................ 4
1.4. Problematic .................................................................................................................. 5
1.4.1. Description ........................................................................................................... 5
1.4.2. Objective .............................................................................................................. 5
1.4.3. Assigned Tasks ..................................................................................................... 5
1.4.4. Gantt Diagram ...................................................................................................... 6
1.5. Existing solution .......................................................................................................... 8
1.6. Functional analysis ...................................................................................................... 9
1.6.1. Needs Analysis ..................................................................................................... 9
1.6.2. Project context ...................................................................................................... 9
1.6.3. Expression of need ............................................................................................... 9
1.6.4. Statement of Need ................................................................................................ 9
1.6.5. Functional Analysis of Need .............................................................................. 10
1.7. Conclusion ................................................................................................................. 11
Chapter 2. Spindle drive description .................................................................................... 12
2.1. Introduction ............................................................................................................... 12
2.2. General overview ....................................................................................................... 12
2.3. Parts of Spindle Drives .............................................................................................. 12
2.4. Types of Spindle Drives ............................................................................................ 14
2.5. Location and types of cars back doors ....................................................................... 15
2.6. Kinematic calculations .............................................................................................. 17
2.7. Conclusion ................................................................................................................. 22
Chapter 3. Description of need ............................................................................................ 23
iii
3.1. Introduction ............................................................................................................... 23
3.2. Software architectural pattern .................................................................................... 23
3.3. Development environments ....................................................................................... 23
3.3.1. Hardware development environment ................................................................. 23
3.3.2. Software development environment................................................................... 24
3.4. Spindle Cockpit application....................................................................................... 25
3.5. Global use case diagram ............................................................................................ 26
3.6. Spindle cockpit package available functions ............................................................. 28
3.7. Use case diagrams of realized functions.................................................................... 30
3.7.1. Bill of material use case diagram ....................................................................... 30
3.7.2. Restrictions use case diagram............................................................................. 31
3.7.3. 3D spindle drive assembly automation use case diagram .................................. 32
3.8. Conclusion ................................................................................................................. 33
Chapter 4. Conception ad work realization.......................................................................... 34
4.1. Introduction ............................................................................................................... 34
4.2. BOM Implementation ................................................................................................ 34
4.2.1. Detailed description............................................................................................ 34
4.2.2. Bill of material Excel modification .................................................................... 35
4.2.3. Bill of material implementation ......................................................................... 36
4.3. Restrictions Implementation ...................................................................................... 38
4.3.1. General Overview .............................................................................................. 38
4.3.2. Detailed Description ........................................................................................... 38
4.3.3. Overlaps ............................................................................................................. 40
4.3.4. Tubes restrictions ............................................................................................... 42
4.3.5. Implementation................................................................................................... 47
4.4. Spindle Drive 3D assembly automation .................................................................... 49
4.4.1. General Overview .............................................................................................. 49
4.4.2. Description of the spindle drive assembly ......................................................... 49
4.4.3. CATIA design .................................................................................................... 50
4.4.4. Data table connection and framework updates................................................... 52
4.4.5. Implementation................................................................................................... 53
4.4.6. Conclusion .......................................................................................................... 56
iv
Conclusion and perspectives .................................................................................................... 57
Bibliography ............................................................................................................................ 58
v
List of Figures
Figure 1.1 Brose group logo ....................................................................................................... 3
Figure 1.2 Gant diagram ............................................................................................................. 7
Figure 1.3 3D Spindle drives design automation chain.............................................................. 8
Figure 1.4 Spindle drive horned beast diagram .......................................................................... 9
Figure 1.5 Spindle drive Interaction diagram ........................................................................... 10
Figure 2.1 Spindle Drive active model ..................................................................................... 12
Figure 2.2 Spindle Drive Components ..................................................................................... 13
Figure 2.3 Spindle Drive Passive model .................................................................................. 14
Figure 2.4 Car’s different pillars .............................................................................................. 16
Figure 2.5 Spindle drive’s position in tailgates ........................................................................ 16
Figure 2.6 Spindle drive’s position in Deck lid........................................................................ 17
Figure 2.7 Kinematic representation for spindle drives ........................................................... 17
Figure 2.8 Diagrams for tailgate and spring torques in active system ..................................... 19
Figure 2.9 Residual torque due to slopes of uphill and downhill ............................................. 20
Figure 2.10 Residual torque diagram with friction .................................................................. 21
Figure 3.1 The MVVM architectural pattern diagram ............................................................. 23
Figure 3.2 Spindle cockpit different interfaces ........................................................................ 26
Figure 3.3 Spindle drive global use case diagram .................................................................... 27
Figure 3.4 Front page interface ................................................................................................ 28
Figure 3.5 Quick check diagram .............................................................................................. 29
Figure 3.6 Bill of material use case diagram ............................................................................ 30
Figure 3.7 Restrictions use case diagram ................................................................................. 31
Figure 3.8 3D spindle drive assembly automation use case diagram ....................................... 32
Figure 4.1 Takeover parts table ................................................................................................ 35
Figure 4.2 Bill of material final interface ................................................................................. 36
Figure 4.3 Bill of material creation flowchart .......................................................................... 37
Figure 4.4 Spindle drive reference information length ............................................................ 38
Figure 4.5 Table of the spindle drive reference lengths ........................................................... 39
Figure 4.6 Excel developed rules for the drive components .................................................... 40
Figure 4.7 Spindle drive complex components lengths ........................................................... 40
Figure 4.8 final maximum and minimum ranges for a selected value ..................................... 46
Figure 4.9 Restriction interface ................................................................................................ 47
Figure 4.10 Restrictions creation flowchart ............................................................................. 48
Figure 4.11 Structure of a material number ............................................................................. 50
Figure 4.12 different axes after changing the ball socket (drive side) length from 14mm to
18mm ........................................................................................................................................ 51
Figure 4.13 Component and control paths ............................................................................... 53
Figure 4.14 Spindle drive assembly interface .......................................................................... 54
Figure 4.15 Spindle drive 3D assembly flowchart ................................................................... 55
Figure 4.16 Spindle drive final assembly ................................................................................. 56
vi
List of Tables
Table 1.1 Brose products ............................................................................................................ 4
Table 1.2 Function Service Expression .................................................................................... 11
Table 2.1 Difference between active-active and active-passive systems ................................. 14
Table 2.2 kinematic symbols signification ............................................................................... 18
Table 3.1 Different Data tables ................................................................................................ 25
Table 3.2 BOM textual use case table ...................................................................................... 31
Table 3.3 Restrictions textual use case table ............................................................................ 32
Table 3.4 3D spindle drive assembly textual use case table .................................................... 33
Table 4.1 Overlaps calculation ................................................................................................. 41
Table 4.2 3D comparison between system with and without pop up spring ............................ 42
Table 4.3 Maximum and minimum lengths of tubes................................................................ 43
Table 4.4 Formulas calculated for maximum and minimum tube lengths ............................... 44
Table 4.5 Example of selected values for different tubes ........................................................ 46
Table 4.6 Rules responsible of the moving axes ...................................................................... 51
vii
General Introduction
For the last century, the automotive industry has become one of the most important sectors in the
world, shaping not only the global economy, but also, millions of people´s life over the entire
globe. What is more striking, is that automotive companies won´t stop providing more advanced
technologies that have evolved to the extent, where they could allow myriad tasks with
consummate dexterity to the drivers and made sure to cater to every individual need.
Right from the first created car until the present, automotive companies seek the creation of an
exclusive productive cooperation between machines and human beings, through adaptable and
automated processes and mechanisms, to pave the way to a large and sustainable success in the
automotive industry. On the other hand, developing automated solutions, poses many challenges,
considering the dynamical behavior of the automotive industry, which requires automotive
manufacturers to be extremely flexible and smart, to mitigate risks of accidents and failures.
In this context, the automotive company Brose, who is an emerging leader in the automotive
industry field, is collaborating with countless automobile customers, to offer drivers around the
globe, reliable technologies for a better quality of life. One of its main targets is to provide its
suppliers and customers with the most optimized products and the necessary technologies to meet
every automotive challenge efficiently.
And such devices include spindle drives, which are found nowadays in many developed models
of cars, and responsible of the closing and opening processes of the car´s back door automatically.
In the light of this automation concept, stands my project entitled “Spindle Drives automation”
and proposed by the company Brose.
The main aims of this project are to present and describe various methods and required solutions
for a better development of the spindle drive mechanism, and validate their feasibility by
implementing them.
Through this document, which is divided into three main chapters, we will explain in more details,
about the different tasks and proposed solutions elaborated during my internship at Brose.
- The first chapter lays the groundwork for this report. It presents the general context of the
project by introducing the host company of the internship and its activities, exposing the
problematic of this work, highlighting the existing solutions and detailing the functional
analysis of the system used in this project.
- The second chapter, provides detailed description about spindle drives, their types, where
they can be used, and a clear idea about the existing application used to automate the
product.
1
- The third chapter is a presentation of the proposed solutions, in which is discussed every
developed method that leads to the spindle drive automation, starting from a general
overview until the implementation part.
At the end, this report is concluded with opening perspectives and ideas to be settled in the future
as improvement. This report also includes at the end, a list of references used to elaborate this
work. At the end, this report is concluded with opening perspectives and ideas to be settled in the
future as improvement. This report also includes at the end, a list of references used to elaborate
this work.
2
Chapter 1. General Context and Company Presentation
1.1. Introduction
This first chapter starts by introducing the hosting company of the internship Brose, and describes
its products. After that, a problematic will be elaborated, main objectives will be highlighted
excising solution of the costumer will be exposed. Furthermore, we will elaborate the functional
analysis of the studied system to detail and have a clear idea about the main product of this
internship.
1.2. Company Presentation
1.2.1. Brose
Brose Group is an international automotive supplier, founded in 1908, whose utmost goal is,
manufacturing and commercializing mechanical, electronic and electrical systems for more than
80 automotive manufacturers and 40 suppliers worldwide. That made the company one of the
most important 40 automotive leader in the industry around the globe.
Every second, a new car is equipped at least with one product from the Brose Group, and which
was produced at one of the 62 locations worldwide, in Europe, the United States of America,
Africa and Asia. Throughout my internship I have worked at Brose Hallstadt,
1.2.2. Organization
Brose is divided into several departments: technology, purchasing, drives, seat, the door
department, and every department is divided into different units. Concerning my internship, I
have worked within the product unit power lift gates systems in Hallstadt that lies under the door
department, and by integrating the design/power lift gate systems team. This team was composed
from two team leaders, each one representing a team from five and twelve engineers.
1.2.3. Products
Today, Brose Group is the only supplier around the globe with comprehensive development and
production expertise in all mechanical, electric and electronic components for the vehicle body
and interior. Since 1990, Brose Hallstadt has been the seat of the Business Division Door. Starting
from 2001, Brose production has expanded from electronics products to tailgate products and
plastics pre-production, for important costumers all over the world like BMW, Daimler, Jaguar
Landrover… In the table1.1 below, are listed the company products.
3
Table 1.1 Brose products
Product Description
From the multi-functional seats to the manual seat height adjuster:
Brose products can be configured for every vehicle model depending
Seats on the customer requirements. Based on components for cross-
manufacturer use like seat rails, adjusters drives and electronics,
fully produced by Brose using leading-edge technologies.
Made of plastic, aluminum or steel, Brose´s door systems
incorporate the fundamental vehicle door´s components on a
Door Systems functional carrier plate. It also includes door control-units, window
regulators produced with motor and electronic control-unit and
closure systems
Brose has been also, applying its systems approach on lift gates. This
means combining the spindle drive, the latch and the control unit
Lift gate Systems
with anti-trap protection on a plastic or steel module carrier into a
pre-tested unit ready for delivery.
Brose electric components provides significant benefits, particularly
in view of increasing vehicle electrification to different customers
Electric drives around the world. This HVAC blowers, electric braking systems,
drive train actuators, sunroofs and seatbelt retractors, electric power
steering.
To achieve efficient engine cooling, Brose supplies the cooling fan
Cooling systems module, electric motors and electronic systems, with a system that
controls the amount of cooling air.
In the context of automating and improving automotive systems to cope with the progress made
all over the years, Brose came with idea of the modernization and automation process of the
spindle drives production. To be able to accomplish this task, the company developed an
application called “the spindle cockpit”, which generates all the spindle drive calculations and
characteristics in the required time and with the best performances. However, the main issue of
this application is that not all the functions needed for the spindle drive automation were available.
Besides, sometimes the designer find himself repeating the work and making mistakes in some
formulas related to the restrictions that have to be respected which makes him redo all the work
from the beginning, because as we know, a small detail can affect the whole conception of the
spindle drive. We can also add that, after generating all the necessary calculations added to the
product characteristics, the designer find himself making the 3D design manually, which can
generates a loss of time and sometimes a loss of material and money for the company. Moreover,
these errors always affect the accuracy of 2D drawings so loops are generated. Therefore, most
of problems are generally encountered while creating the bill of material related to every spindle
drive, and while processing with the restrictions verifications and with the manual assembly of
the components.
1.4.2. Objective
The main goal of this internship is to continue the automation process of creating the spindle
drives, by first, developing and creating calculation tools for the missed function needed to
accomplish this process, afterwards, implementing them into the spindle cockpit application.
The main tools used during this internship are a BMW G05 model of the spindle drive added to
the spindle cockpit tool.
1.4.3. Assigned Tasks
5
-Creation of a restrictions and a bill of material calculation tools
-Implementation of the resection and bill of material tools into the spindle cockpit application
-Automation of the 3D design of the spindle drive
-Implementation of the spindle drive 3D automated design into the spindle cockpit application
1.4.4. Gantt Diagram
In order to organize the project tasks in the best way possible, an estimated Gantt diagram,
represented in the figure 1.2, was elaborated, had to be respected during the whole period of the
internship.
6
April May June July August September
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
State of art
BOM Calculations
BOM Implementation
Restrictions Calculations
Restrictions implementation
Spindle cockpit 3D design
automation
The 3D design
implementation
7
1.5. Existing solution
The company’s vision has always been to think beyond the ordinary and provide carefully tailored
solutions to a challenging problematic, and that´s the main goal of developing the spindle cockpit
application. Besides, with the help this tool, not only unnecessary loops are avoided, but it also
allows to standardize and automate repetitive workflows so that the designer can carry out his
actual development of work and does not unnecessarily waste time on maintaining redundant
data. Actually, with the current version of the spindle cockpit tool, the user is able to check and
modify the customer requirements, adapting the best position of the spindle drive in the car with
the quick check tool and generating kinematic calculations and necessary diagrams of applied
moments and forces. Finally, he is able to modify the characteristics of the used spring added.
Furthermore, he can decide to include or not, the additional components that are not necessary
for every spindle drive assembly and can change from one to another. After that, occur the 3D
design step that includes the generation of the bill of material on excel and the manually buildup
of the spindle drive 3D design. Concerning the restrictions that need to be respected, the user
checks this step manually every time he makes a change in the spindle drive tubes lengths. Finally,
designers achieve the whole work with the creation of 2D drawings related to all the used
components. In the figure 1.3 below, we can find a clear description of the whole process.
Covered in spindle
before the start of theMissing in the
internship spindle cockpit
8
1.6. Functional analysis
1.6.1. Needs Analysis
This project work responds to a client need. The product used as a reference during this internship,
that satisfies the presented need is a spindle drive, which allows the opening and closing
operations of the car back´s door to the user.
1.6.2. Project context
This project study responds to a client need. The product used as a reference during this
internship, that satisfies the presented need is a spindle drive, which allows the opening and
closing operations of the car back´s door automatically.
1.6.3. Expression of need
To identify the need in this project study, the following questions have to be answered: Who does
the product serve? What does the product affect? In addition, what is its main objective? These
answers are developed oftentimes using the “horned beast diagram”, represented in Figure1.4.
Back door of
User
the car
Spindle Drive
Our product the «spindle drive» serves the user by allowing him to open and close the back door
of the car automatically or even manually. To validate our needs, we proceed by answering on
the following questions:
Why does this system exist?
Despite the considerable role of automation in the automotive industry, the opening and closing
operations of the car´s back door, still facing some problem especially for the manual process.
9
Why does this need exist?
This need exists to make the opening and closing operations easier and faster especially when the
user is a child or even full handed person.
This need evolves the more the performance of the components used to design the product evolve,
which means the speed, the characteristics, the type, the resistance and the fatigue of material used.
The disappearance of this need in the future is a result of the appearance of more developed
technologies for opening and closing the car’s back door
This section describes in more details the various functions provided by the studied system. To
do that, the following “Interaction diagram” presented in the Figure1.5 identifies the different
parts of the spindle drive’s environment and defines the service functions.
User Environ
ment
FC1
FC8
Costs
Speed
In the table 1.2 below we find the classification of function services related to the spindle drive,
to understand every function described in the figure 1.5
10
Table 1.2 Function Service Expression
Fc2 Support the car´s back door in opening, closing and stop and hold positions
Fc4 Open and close the door with the appropriate speed
1.7. Conclusion
In this first chapter, we expressed the need for this project, we defined the main problem and we
highlighted the functional analysis of the product. The purpose was to give a clear overview of
the internship project and its objective. This introductory chapter presents the foundation on
which the rest of this project will be based, and therein lies its importance. Thus, in the next
chapter, we will present in further detail the spindle drive product, its functions and its automation
process, which represents the key element for this internship study.
11
Chapter 2. Spindle drive description
2.1. Introduction
In order to have a clearer idea about the main goal of this internship, and thoroughly understand
the remainder of this report, we need to completely discern the behavior of spindle drives and
how they are deigned as it´s the main tool on which all the work in this report is based. This
chapter covers more in depth, a thorough introduction to the spindle drive, its main parts, types
and features. Moreover, we will seize the opportunity to present in more details where this tool is
located added to the logic behind its functioning.
2.2. General overview
We know that nowadays, every new generation of modern automobiles is coming into the market
with more electronic assistance and developed functions, like the automatic closing and opening
operations of tailgates. Therefore, Brose offers a solution to enable this function, with the help of
spindle drives. Due to this product, with a simple touch on a button or an approach with a key,
the car´s back door opens and closes itself. In fact, they replace the conventional and often used
gas springs that can be found in manually adjustable tailgates. Besides, thanks to the additional
integrated spring, spindle drives became an adequate system ensuring several function, including
manual operations. We can also add that, to their optimized spindle pitches and robust surfaces,
they guarantee an almost silent motion while opening and closing the car´s back door. In the
figure 2.1 is given a clear presentation of the spindle drive.
12
some criteria have to be respected for each main tube. These criteria include stiffness during
misuse, a good friction contact to both drive and driven tubes, each new tube length must at least
show up 1mm difference to ensure the identification in production plant brose… In addition, the
customer specific parts include, the spindle, the spring that can be a tension or a compression
one, the spindle guide tube, and finally the cable module. Concerning the project-independent
components, they are standards, and we can find the motor, the gearbox, two ball sockets, one
found in the door side and the second in the body side of the vehicle. Besides, some parts of them
are optional, which means that they can be added but also their absence does not affect the spindle
drive structure. These components includes the, brake, the overload clutch…
We can also find the popup spring, which is used when the closing tendency of the vehicle rear
door is high, mostly in a heavy tailgate case or, if the lever arm, which represents the distance
between the hinge and the door´s center of gravity, is too long in closing position. In these cases,
the resulting moment of both the drive and the tailgate moments is too low due to the high value
of the tailgate moment in closing position. If we change the spring and use another one with better
characteristics, we will reach a more opening tendency of the vehicle rear door due to the high
reached moment of the new spring. That´s why a popup spring has to be added to have the best
value of the resulting moment, therefore, better spindle drive performances. In the figure 2.2 are
represented all the used components to assemble a spindle drive
13
2.4. Types of Spindle Drives
To open and close the car´s back door, two types of spindle drive configurations can be presented:
the active-active system which means using two active spindle drives on both sides of the car´s
back door, or the active-passive system, and by that we mean using an active spindle drive on the
first side and a passive one in the other side. These configurations depend on the customer
requirements and each one of them has its negatives and positives.
In the table 2.1 are presented with more details, the characteristics and difference between both
configurations.
Table 2.1 Difference between active-active and active-passive systems
-Known also as the electric spindle drive, -Consists of the conventional electronically-
consists of two electronically driven sides. driven spindle drive and a passive side with a
compression spring assembled around a non-
-High flexibility in both package and
motorized gas spring
kinematics
-The passive side uses a tube system similar to
-In theory, the friction area is more large ,
the active side and tube lengths for active side
that´s why we have a high range of stop and
and passive side are common when the
hold
installation points are symmetric
-Very useful for heavy car´s back doors and
-Better static spring performances are possible
different slope conditions
(more space for spring coils in the passive side)
-Short closing times with low motor RPM
- Cheaper to design
-Lower consumption per drive
-Lower design flexibility in package and
-Balanced static and dynamic forces kinematic
between LH/RH side
14
-Smoother opening and closing processes - Stop and hold function in slop condition are
of the car´s back door limited due to the lower friction
-Only one part number for both sides (in the -No balanced forces between LH/RH which
bill of material information) causes twist on tailgate in the different operating
modes (power, manual and stop and hold)
-More presentable in appearance (same
appearance for both sides) - Plastic tailgate and tailgates with lower
stiffness can have a higher risk for twisting
-More expensive, that´s why it´s mostly
required from important and known - Continuous gas loss has to be considered and
costumers like BMW especially communicated to the customer
The main characteristic of a spindle drive is that can use two types of springs: a compression or
tension one. We can say that most of spindle drives designed by Brose are active-active and
active-passive spindle drives using a compression spring. Concerning the active-active systems
and active passive systems using tension spring, they are also produced but in few cases, on
special requests from costumers.
15
Figure 2.4 Car’s different pillars
In addition, due to the different vehicle shapes nowadays, spindle drive positions differs from a
car to another depending on the type of the back door. Based on the use of spindle drives, back
doors can be divided into two main types: the first one is the tailgate, which is also divided into
the flip over and the push type door. In this case, spindle drives are usually located in the water
channel, or in some cars models, directly under the roof. We can also add that for this type, only
spindle drives with compressions springs are used, as while the opening process the spring
extends and during the closing process the spring in the spindle drive is compressed.
Tailgate
Under roof Water
D
Figure 2.5 Spindle drive’s position in tailgates
The second type of cars back doors represents the deck lid door. For this type, spindle drives are
only placed in the interior due to the lower trunk volume, added to the ability of using both models
of spindle drives, which means with tension or compression springs, depending on the model of
the car.
16
Deck Lid
Interior
C
Figure 2.6 Spindle drive’s position in Deck lid
In the table 2.2 below, are explained the different symbols used for the kinematic representation.
17
Table 2.2 kinematic symbols signification
Symbol Signification
φ Reference angle
∆φ Opening angle
S Stroke
The residual moment is the result of both spring active and passive (if our system includes a
passive side) added to tailgate torques in open and close position. As a first step, we started the
calculations neglecting the moment of any friction in our system.
⃗⃗⃗ =𝑴
∑𝑴 ⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗
𝒓𝒆𝒔 = 𝑴𝑫 + 𝑴𝑮 + (𝑴𝑷 )
∑ 𝑴 = 𝑴𝒓𝒆𝒔 = 𝑴𝑫 + 𝑴𝑮 + (𝑴𝑷 )
18
With:
∑ 𝑴 = 𝑴𝒓𝒆𝒔 = 𝑴𝑫 + 𝑴𝑮 + (𝑴𝑷 ) = 𝟎
The different diagrams of every resulted torque, when we only have an active system are
represented in the figure 2.8 below.
Figure 2.8 Diagrams for tailgate and spring torques in active system
The Torque generated by the tailgate weigh can have three different forms as the car can be in
uphill, flat or downhill position. Therefore, the lever arm of the center of gravity force is changing
with slope angles when the car is in uphill or downhill. As a result, the torque curve tilts as well
as the resulting torque curve, and we will obtain different diagrams for the three positions. In the
diagram 2.9 below are represented the different torque curves for every position, added to the
spring torque curves for both active and passive side (represented in green), without including the
friction.
19
Torque [Nm]
∆φ [°]
Vehicle
uphill
Vehicle
downhill
In the case we decide to include the friction torque, the resulting torque of our system will be
influenced by four main components in the spindle drive and which are the brake, the motor, the
spindle/spindle nut contact and the gearbox added to the hinge friction. This friction provided
will have a certain order in the spindle drive. For example in the case of the driven side, it will be
starting from the spindle/spindle nut, to the brake and finally the motor/gearbox. The torque
equation at balance of the whole system will be:
⃗⃗⃗ =𝑴
∑𝑴 ⃗⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗
𝒓𝒆𝒔 = 𝑴𝑫 + 𝑴𝑮 + (𝑴𝑷 ) ± (𝑴𝑹 )
⃗⃗⃗⃗⃗⃗⃗⃗
20
𝒏𝑃 × 𝑭𝑷𝑹 × 𝑰𝑷 : Torque by all passive side springs that generate friction
Both Active
(Dark green)
and Passive
(light Green)
torques
Torque [Nm]
Max.
Min. ∆φ [°] Friction
Friction torque
torque MR [Nm]
MR [Nm]
Tailgate torque in
downhill, stable and
uphill positions
Therefore, we will have as a final result, a minimum and maximum friction torque areas in which
is located the residual torque of the system to have the best spindle drive performances and avoid
a more self-closing or self-opening tendencies. In the previous figure 2.10, we can see that if the
resulting torque is lower than the friction created torque area (presented in green), the tailgate is
balanced. Concerning the push type tailgate system, after calculation and from the final diagram,
we can conclude that in opened position this system has a high closing tendency.
21
2.7. Conclusion
This second chapter was an introduction to the main product used during the study elaborated in
the internship. It recapitulates the main components of the spindle drive added to how it is
developed. It represents an important part of this internship, as it will stands as a reference in the
upcoming work. Later in the next chapters, we will introduce the main concept of spindle drives
design automation added to the approaches and used methods to develop this process.
22
Chapter 3. Description of need
3.1. Introduction
After presenting the spindle drive and its features in details, the following chapter will define at
first, necessary tools and environments to create the spindle cockpit application responsible of
the whole spindle drive automation process. Afterwards, it will introduce this application added
to the different functions included, and finally it will describe the steps that have to be followed
to completely model the design of every spindle drive realized at Brose.
3.2. Software architectural pattern
The main part of this internship was working on developing the spindle cockpit application,
responsible of the spindle drive production. To achieve that, the software architectural pattern
used was the Model, View, ViewModel also known as MVVM pattern which represents the most
adequate pattern for a structured code, therefore, a maintainable and extensible application. The
Model is responsible of holding the data, the ViewModel represents the link between the Model
and the View, and the View, containing the static part, which represents the XAML hierarchy,
and the dynamic part like state changes or animations, and which is responsible of holding the
formatted data and delegating everything to the Model.
Notifications
Updates
Data binding
View ViewModel Notifications Model
Commands
To accomplish the internship goals, the different tasks for the automation process were developed
using a machine with the following characteristics:
- Name: HP Compaq LA2405wg
- Processor: Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.5 GHz
- Installed memory (RAM): 16 GB
- Operating systems: Microsoft Windows 10, 64-bits
23
3.3.2. Software development environment
Framework choice
To reach the expected level of the spindle drive automation, a big part of this internship was
devoted to coding. That´s why, using an appropriate framework from the beginning, with high
performances to develop the spindle cockpit application with less compute power and better
response times, was really important for Brose. Therefore, the best choice was working with
.NET.
The .NET is a software framework, which was developed by Microsoft. It´s mostly known as one
of the best-used frameworks, to build robust, scalable and controlled desktop and web
applications, added to various advantages that it offers to both clients and developers.
Besides, we can include the fact that it is the most productive platform for users, due to its
combination with multi-language supports, common APIs, extensive class libraries, added to the
powerful tools provided by Visual Studio family, which was exactly required to develop the
spindle cockpit application.
Integrated development environment (IDE)
To develop the Spindle cockpit application, Visual Studio was used as an integrated development
environment. The choice was based on the fact that this IDE is the most appropriate in our case,
as it includes, code completion tools compilers, graphical designers, and many features to make
editing, debugging, and building processes simple for the developer.
Database Choice
For the automation part of the spindle drive, the project created with Microsoft Visual Studio was
connected to a database, by using the relational database management system SQL Server
Management Studio. This tool is known as an integrated environment that mange any SQL
infrastructure. We can also mention that, this connection was established through many data
tables, used and created to organize all the information needed during the coding part. These
tables are listed in the table 3.1 with more details.
Programming language
For the coding part, the spindle cockpit application was created as a WPF project that´s why two
programming languages combined to develop it. The first one is C# for developing the main
functions. C# is an object-oriented programming language created by Microsoft that requires the
.NET framework on Windows to be used, which represents the best programming language in
our case of spindle drive automation process. Some of the many reasons that illustrate this choice
are that C# is appropriate and easy to use on Visual Studio, and mostly a flexible and a statically
typed language. It means that the code is checked before turning into an application. The second
programming language is XAML used to design the user interface elements. This descriptive
language is very easy to manipulate while creating the elements of every window like buttons,
combo boxes, grids…
24
Table 3.1 Different Data tables
25
Figure 3.2 Spindle cockpit different interfaces
26
Global use case diagram
Modify
<<Include>>
Quick Create
check project
<<Extend>>
Calculate <<Include>>
Kinematics
<<Extend>>
Designer
Visualize motor
performances Modify
project
Visualize Brake
performances
Design the
BOM
Automate
<<Include>>
spindle drive
assembly
Log in
Follow
<<Include>>
modifications
Team members
27
3.6. Spindle cockpit package available functions
The front page:
As already described in the spindle cockpit global use case diagram, the user needs to identify
himself first so he can have access to the different functions of this tool. After that, he needs to
choose otherwise modifying or creating a new project to start working. Then, the first step in the
spindle cockpit is to open the front page. This window includes all the first parameters to modify
like the project number, the system type … Besides, in this interface, the designer has to add all
the new material numbers of the customer specific parts so they can be saved into the database.
Also, this first step includes all the information given by the customer regarding the new model
of the spindle drive, so the designer can either check these requirements and click on “Take over”
to validate them and start the next task, or modify some calculations if it’s necessary and better
for the spindle drive design.
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
xxxxxx xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
Based on the previous information, the next step, which is the quick check is executed to give an
overview of the lever arm position and shows alternative connection points with a suitable lever
arm between open and closed tailgate positions. This means that the user has to choose the most
appropriate values for both, body and door adaption points depending on the previous customer
28
parameters like the hinge axis or the center of gravity. This step can be unnecessary if the
costumer is requesting a spindle drive for a vehicle model already developed, therefore, he fixes
all the parameters and the designer just follows his requests without making any change. A
diagram is shown in this window to help the designer making the best choice. Based on previous
information, the diagram is divided into various areas and has two main parameters. The
rectangular points are defining the body adaption points and the circular ones are representing the
door adaption points. Concerning the different areas, the gray points describe acceptable positions
that the lever arm can have, the green ones define better choices and the yellow points are
generated after choosing a body adaption point to identify the best positions of the related door
adaption point. The blue line in the diagram represents the connection from the hinge to the door
center of gravity, and the red one connect the different adaption points.
The kinematics
In this part of the spindle cockpit, same calculation of kinematics made in the previous chapter
will be generated automatically add to showing the resulting diagram to make sure that the
designer respected the friction area. In addition, he will be able to modify and select various
parameters like the parcel tray, ball socket parameters, spring active or passive parameters….
Spring active and spring passive
As we already mentioned, the spindle drive system can be an active-active system or an active
passive one. That is why in both cases, the user has to choose the main characteristics of both
springs used to design the product. In this part of the work, the designer chooses the best
characteristics of both the spring active and passive like the inner or outer diameter, the coils
active, the coils applied… It also shows him diagrams as results of these calculations like
Goodman-diagram, or the spring characteristics curve to make sure that he made the right choice
and did not go over the limits. This part also includes the modifications resulted from adding a
pop up spring, as it affects the spring length in both cases.
29
Drive needed components
After fixing the parameters concerning all the components needed for the design in the previous
windows of the application, the user will be able to modify in more details, performances about
the additional components, which are the motor gearbox, the brake and the clutch, which are
presented in two different interfaces. The motor gearbox performance window, shows to the
designer, information related to the energy before latch in different downhill, uphill and flat
positions, a diagram about the motor rotation speed. Besides, it allows him to modify some
parameters like the minimum and maximum values for gearbox torque in opening and closing
positions, but also in the different position already mentioned (downhill uphill and flat positions).
Concerning the brake and clutch window, it allows the designer to have access to further
information about these two components, like static and dynamic handle forces, the brake closing
or opening torque etc.
3.7. Use case diagrams of realized functions
After describing both, the global use case diagram and the existing functions of the spindle
cockpit application, we will continue with the use case diagrams description of the added
functions during this internship, which are the bill of material, the restriction and the 3D assembly
automation to have a clearer idea about their characteristics and main purpose.
3.7.1. Bill of material use case diagram
In the following part are described, the use case diagram of the bill of material design added to
the textual use case table.
Use case diagram of Bill of Material designing
<<Extend>> Modify
Add additional
characteristi
components
cs
Add drawing
numbers
Modify the
BOM
30
Table 3.2 BOM textual use case table
In the following part are described, the use case diagram of restriction tool design added to the
textual use case table.
Add Modify
<<Extend>>
additional characteristics
components
View ranges
of tube
lengths
31
Table 3.3 Restrictions textual use case table
Open
template
Add project
specific
components
Add control
part
In the following part are described, the use case diagram of the spindle drive 3D design
automation, added to the textual use case table
Figure 3.8 3D spindle drive assembly automation use case diagram
32
Table 3.4 3D spindle drive assembly textual use case table
Use case name Use case diagram of 3D spindle drive assembly automation
Description Make the whole final assembly of the spindle drive
Actors The designer
Preconditions The designer was successfully identified
Nominal scenario 1.The user requests to have access to the automation part
2.The system shows the automation window
3. The user opens the template
4.The user add the control part
5.The user add the project-specific and project-independent components
6. The user make necessary changes in the components parameters
7. the spindle drive assembly is save and ready to be transferred to the
production unity
Post conditions The spindle drive final assembly was successfully made
3.8. Conclusion
This third chapter represents the corner stone of our work as it introduced us to the already
existing solutions that Brose is using to automate the spindle drive design, the work environment
used during the whole internship added to the different tasks that are going to be developed and
which are described in further details during the next final chapter
33
Chapter 4. Conception ad work realization
4.1. Introduction
During the previous chapters, we have gone through the basic tools of the project, describing the
spindle drives main features from a functionalities and ethics standpoint and defining the main
outlines that will serve as building blocks for the spindle drives automation. In this last chapter,
we will illustrate the establishment of the project through presenting the idea as a whole and
describing the methods used to contribute to the spindle drive automation. It will cover the testing
and implementation part of these solutions in the application Spindle Cockpit, as well as the final
automation of the spindle drive assembly.
4.2. BOM Implementation
A bill of materials, Called also BOM is a document presented as list which contains raw
materials, intermediate assemblies, sub-assemblies, parts and sub-components added to quantities
needed to manufacture a product and how to build it up. In a nutshell, the BOM presents the
essential ingredients in the manufacturing recipe. A bill of material can be presented in different
aspects depending from the need of engineers and manufactures. It can be as:
As mentioned before, a BOM is a fully detailed list of all the items required to build up a product,
in our case the spindle drive and on which engineers and manufactures rely heavily. After fixing
all the kinematic calculation, customer requirements, the spring performances and he additional
component parameters in the spindle cockpit application, the designer needs to modify and update
the bill of material details and save the changes on an excel file. He has to mention if there is any
new component and describe it effects on the project performances. After that he has to go back
to the application to make the new updates of the existing parameters that depends from the
changes made in the excel file of the BOM. unfortunately, This method wasn’t useful for Brose
because, first of all, the designer loses a lot of time in fixing and updating the parameters after
every change made in the BOM file, but mostly, sometimes he can make some mistakes while
coping and pasting values from the excel file into the spindle cockpit application. As a result,
making a small mistake leads to repeat the whole process from the beginning, which causes a big
loss of time and money for the company. Added to that, the existing Brose bill of material, needed
some updates on the excel file, concerning the product details, to have a correct, well organized
and mostly up to date Bill of material document, so after that, it can be implemented in the Spindle
Cockpit application.
34
4.2.2. Bill of material Excel modification
Before starting the integration of the BOM into the application, some information about the
spindle drive that are not found in the existing tools like for example the quick check or
kinematics, needed to be added. The first step was to create the assortments special option table,
which describes the behavior of some components after choosing to add or not a popup spring.
This table allows the designer to modify the diameter of existing parameters like the cable
module, to choose adding or not various components to the assembly of the spindle drive like
motor diode, gear boxes…. And to set the properties of the added components like the cultch, the
cable module… The next step was to create a second table called the takeover parts, in which the
drawing numbers and part numbers of not only the added components in the first table needed to
be set, but also those related to new components that the user is going to use in his project like
spindle guide tube or driven tube. After that, these numbers will be transferred automatically to
the BOM table already existing in the file so the designer can have as a final result a full document
with all the information about the already exciting components but also the new ones that are
going to be used in his project. We will find in this document the position, the quantity, the
description, the classification, the drawing number, the martial number and the weight. The figure
4.1 below shows more details about the table created to add the different material and drawing
numbers.
35
4.2.3. Bill of material implementation
After adding the missing functionalities to the bill of material excel file, the next step was to
implement the solution into the spindle cockpit tool. The first part was to create a field where
the designer validates if there is a used popup spring in the spindle drive. If it is the case, he has
to change the parameters like water cap or ball socket affected by adding a popup spring for
both active and passive sides. The next step was to create a field where the designer can add the
part and the material number of new components that has to be added to the spindle drive
assembly. We can add that, every material or drawing number field shows an error message if
the designer does not respect the structure of these both numbers. By choosing the run spring
excel button, all the information are transferred to the BOM excel file and showed in a table on
the interface. In this table, both drawing and material numbers can´t be modified, but all the
other characteristics like the classification or the weight have to be added to have a complete
document. Finally, by choosing the refresh record button, all the changes are saved into both the
database and the excel file related to the BOM so the user can have a document containing all
the information related to his spindle drive project. We can also add that before releasing the
project in the spindle cockpit application, the designer can modify any information related to
the added parameters and make updates, every time with the refresh record button in case he
needs to change a value or to correct an error. In the flowchart below are detailed the main tasks
of the BOM. At the end, as a result, the final interface of the bill of material will look like
shown in the figure4.3 below.
36
Start
End
37
4.3. Restrictions Implementation
4.3.1. General Overview
Before starting the design part, the designer needs a list of information like lengths, diameters,
and material… related to the components used for the spindle drive conception. Yet, every time
he has to calculate the dimensions manually. That is why, a restriction automated tool is needed
to make this operation easier. This tool has to include all the ranges, maximum and minimum
values that the designer has to respect before processing with the spindle drive conception. The
first Step before starting with the automation part, is to create an excel file in which we will collect
all the information related to the components dimensions, find a fixed maximum and minimum
for used lengths, improve calculations, and find solutions to avoid conception problems. After
that, to enable the designer to have access and use the information of the restriction tool this file
has to be implemented in the spindle cockpit. The obtained results are:
- Avoiding mistakes during fixing the parameters, so the costumer will have his product on
time without any delays.
- Saving time as the designer will have everything in the application and will not need to
go back to the excel file each time he needs a value from the restriction.
- Saving money because with the automated restriction tool, the designer will give the exact
dimensions of every components. Therefore, material losses will be avoided
Before starting the automation part of the restriction, the tool has to be created first as an excel
sheet. This part of the work is divided into three main tasks, which will be presented later in more
details. The first part of the work consists of collecting necessary information about already
existing lengths. In this part, all the non-complex component lengths, which are already fixed and
measured by Brose, are collected and organized in a table, so they can be used for further
calculations.
38
As we already mentioned before, these fixed values, called “Technical lengths” are the starting
point of every spindle drive designed by Brose. They are used as references to calculate and to
extract the formulas for every component that has a changing length and which represent the
project-specific ones. We can list as examples of these components: the ball socket active and
driven lengths, the stroke, the spindle nut… these lengths are shown in the figure4.4 and
calculated in the figure 4.5 below.
The next task consists of calculating additional components lengths that are not necessary for the
spindle drive conception and which are the clutch, the brake and the motor gearbox for the passive
side and the popup spring. These calculations provide the designer with the exact length if he
wants to move or to add any of these components to the design. Thus, Excel formulas were
created based on parameters like number of components, or their availability in the design. These
formulas will be useful in further calculations and especially for the automation part of the
restriction tool.
39
Figure 4.6 Excel developed rules for the drive components
The second part of this task is to calculate the rest of the reference components that are more
complex, and which lengths are not fixed by Brose. These values are usually calculated manually
every time that the designer wants to create a spindle drive, which makes him waste a lot of time
and sometimes generates many mistakes in the calculation. We can also add that every mistake
leads to repeating the whole calculation process from the beginning. That’s why, the designer
needs fixed values on which he can relay, to avoid delays in the spindle drive design and avoid
useless loops. These values are calculated depending on formulas, generated from relations
between the reference lengths set on the beginning. As an example, the distance between the end
sub assy spindle and the surface ball socket stud results from the sum of all the additional
components length, the cable module, the sub assembly and the balls socket (body part) lengths.
In the figure 4.7 below are listed all the calculated lengths.
4.3.3. Overlaps
After organizing and fixing the lengths of the component that are used as references, the next step
was to define overlaps maximum and minimum ranges of the variable values used in the
calculation for spindle drives design. An overlap is obtained, when a part of the first component
covers the same area as another part of the second component in the spindle drive assembly.
40
Concerning the calculation, Brose have a list of overlaps minimum values that the designer has
to respect before adding any component. These values have been fixed when Brose started
designing spindle drives. Therefore, the designer does not have formulas on which he can relay,
to respect these minimum values of overlaps. He needs every time to repeat the calculation, which
makes him loose a lot of time. That is why, concerning this part of the work, I started first, by
extracting and creating these formulas to have the correct values of overlaps. These formulas are
using the lengths already calculated in the first part of the restriction tool. They are represented
in the table 4.1 below.
Overlaps Formulas
Overlap driven Driven tube length+ drive tube length + ball socket length (body)
tube/drive tube in +ball socket length (door) + spindle drive + delta driven side (driven
opened position tube and surface ball socket stud) + delta drive side (drive tube and
ball socket)
Overlap torsion Torsion tube length+ distance end motor fuse to surface ball socket
tube/driven tube in stud + delta drive side (drive tube and ball socket) - (drive tube
opened position length - overlap driven tube/drive tube in opened position)
Overlap torsion = Torsion tube length + Spindle guide tube length - (spring length
tube/ Spindle guide open + delta spring to end guide tube + delta spring to end torsion
tube in opened tube)
position
Overlap driven Driven tube length+ distance end motor fuse to surface ball socket
tube/fuse drive in stud + ball socket length (door) + delta driven side (driven tube and
closed position surface ball socket stud) + delta ball stud to measure point surface +
ball socket length (body) – spindle drive length (in closed position)
Overlap spindle Overlap torsion tube/spindle guide tube in opened position - Stroke -
nut/ball stud in delta torsion tube to end of thread
closed position
41
Overlap spindle Distance ball motor to driven ball stud bottom - distance ball motor
nut/spindle to top spindle nut
Overlap torsion (Spindle drive length ( in closed position) - distance ball stud bottom
tube/washer to center of ball - delta ball socket bottom to washer) - ( distance end
motor fuse to surface ball socket stud + delta ball stud to measure
point surface + ball socket length (body) + torsion tube length)
As we already know, the spindle drive is mainly composed from four tubes, which are the drive,
the driven, the motor carrier, the spindle guide, and the torsion tube. It also contains a spindle,
and sometimes we can add a pop-up spring. In fact, the designer has to validate the exact length
of these components before starting the conception of the spindle drive. That is why, the main
target of this task is to define the definitive ranges of these lengths. First of all, I started by
dividing the spindle drive model into two configurations: with and without pop up spring. In the
table 4.2 below, are listed the different characteristics of each configuration.
Table 4.2 3D comparison between system with and without pop up spring
42
Configuration without pop up spring:
For this configuration, the user can start the spindle drive design with any tube: from the inside
to the outside or the opposite, from the outside to the inside. Afterword, we noticed that in each
case, every chosen value for the minimum tube length will depend from the previous maximum
value. To have the best spindle drive assembly, the designer needs first, to compare obtained
minimums for both cases, which means starting from the inside or from the outside. After that,
he has to select the optimal value in each case. That means the highest one. For example. If the
designer starts with fixating the torsion tube minimum length, this value will depend from two
other lengths: the guide tube and the driven tube. As a result, to calculate the minimum of the
torsion tube length, the designer has to choose the highest one between the two proposed values.
Regarding the maximum lengths of each tube, it will be a fixed value, depending only from the
reference components lengths like the stroke, the over stroke etc. these maximum and minimum
are represented in the table 4.3 below.
43
As a first step, we started by calculating and organizing these ranges, for all the possible cases.
These values were calculated and obtained from different formulas listed in the table 4.4.
Table 4.4 Formulas calculated for maximum and minimum tube lengths
lengths Formulas
Spindle minimum Stroke + spindle nut length + spindle additional length + spindle stop
length depending on length + Overlap spindle nut/spindle + spindle chamfer distance to
spindle sub assy spindle
Spindle minimum Spindle drive active length - (ball socket length (body)+ spindle
length depending on guide tube maximum length + distance end sub assy spindle to
surface ball socket stud +3.25) + spindle nut length + spindle
guide tube
additional length + spindle stop length
Spindle maximum Spindle drive length (closed position) - ( overlap spindle nut/ball stud
length (closed position) + distance end sub assy spindle to surface ball
socket stud + ball socket adapter length adapter + ball socket length
(body) ) + spindle additional length
Torsion tube Overlap torsion/guide tube (opened position) + spindle drive length
minimum length - (ball socket length (body) + spindle guide tube maximum length +
depending on guide 3.25 + distance end motor fuse to surface ball socket stud))
tube
Torsion tube Spindle drive length - (ball socket length (body) + driven tube
minimum length maximum length + distance end motor fuse to surface ball socket
depending on driven stud + length cover of driven tube to ball socket) + overlap
tube torsion/driven tube (opened position))
Torsion tube Spindle drive length (closed position) - (distance end motor fuse to
maximum length surface ball socket stud + overlap torsion tube/washer + ball socket
length (door) + length support washer spring to ball socket)
Spindle guide tube Spindle drive length - (Torsion tube maximum length + ball socket
minimum length length (body) + distance end motor fuse to surface ball socket stud +
depending on torsion 3.25)+ overlap torsion/guide tube (opened position)
Tube
44
Spindle guide tube Spindle drive length - (spindle maximum length + ball socket length
minimum length (body) + 3.25 +( distance end sub assy spindle to surface ball socket
depending on spindle stud - spindle additional length))+ spindle nut length + spindle stop
Spindle guide tube Spindle drive length(closed position) - (distance end sub assy spindle
maximum length to surface ball socket stud + overlap spindle nut/spindle + 3.25 +ball
socket length (body))
Drive tube minimum Spindle drive length - (driven tube maximum length +ball socket
length length (body) + ball socket length (door) + 3.25) + overlap
driven/drive tube(opened position) + distance drive tube to ball
socket
Drive tube maximum Spindle drive length(closed position) - (ball socket length (door) +
length ball socket length (body) + 3.25)+ distance drive tube to ball socket
Driven tube minimum Spindle drive length - (torsion tube maximum length + ball socket
length depending on length (body) + length cover of driven tube to ball socket + distance
torsion tube end motor fuse to surface ball socket stud) + overlap driven tube/fuse
drive(closed position)
Driven tube minimum Spindle drive length - ((ball socket length (body) - distance drive tube
length depending on to ball socket) + ball socket length (door) + drive tube maximum
drive tube length + 3.25) + overlap driven/drive tube
Driven tube Spindle drive length (closed position) - (ball socket length (door) +
maximum length 3.25 + distance end motor fuse to surface ball socket stud)+ overlap
driven tube/fuse drive (closed position)
Concerning the motor carrier, the different lengths are related to the added component. The final
length value will depend on one of these four cases:
45
After fixing the general minimum and maximum ranges of the different tubes, the next step is to
create another table for minimums and maximums and repeat the same process. However, this
time, minimum values will not depend from the maximum ones, as they will be related to a
selected value, which is chosen by the designer and has to respect both, the general minimum and
maximum. To do that, new rules in the excel sheet have to be set, to create relations between the
new minimum values and the selected ones chosen by the designer for every tube. As we already
mentioned, for the general minimums, every value depends from the maximum value of a related
tube. In this case, to calculate the new minimums, when the user select a new length for any tube,
this value will replace the maximum in the previous formulas of the table 4.4. In the figure 4.8
below are shown the final minimum and maximum for the following selected values, represented
in the table 4.5.
Figure 4.8 final maximum and minimum ranges for a selected value
46
Configuration with pop up spring:
As already mentioned in the table 4.2, the best way to design this configuration is to start with
torsion tube as it has a fixed length. The formulas previously calculated for all the minimum and
maximum and represented in the table 4.4 will be almost the same for all the tubes in this type of
configuration. The only change will concern the torsion tube as the maximum, the minimum and
the selected values are the same. That is why a rule was set: when the designer chooses to add a
popup spring in the first created table from the figure 4.5, he will insert a selected value for the
torsion tube, which will stay fix during the whole calculation process.
4.3.5. Implementation
After creating the restriction tool on Excel, the next step is to implement it into the spindle cockpit.
First of all, all the calculated parameters on Excel were added to the different data tables to declare
their type, in which windows they are used and to define their values so they can be updated
automatically after every change. The interface in the figure 4.9 represent the main restriction
window shown to the designer and which is divided into three mains parts.
The first function has as a purpose, enabling the designer to modify some parameters essential
for his tube lengths calculation. After that, he has to choose if he wants to add a pop up spring to
his product, depending on previous kinematic calculations. With every change in these
parameters, he can visualize the new values of the overlaps, general minimum and maximum tube
lengths generated automatically. After that, the second consists of choosing the starting tube of
his spindle drive assembly. Of course, if he added a pop up spring, he will start automatically
with the torsion tube as it has a fixed value. Furthermore, the designer will select a new value for
the next components depending on the new ranges that are modified automatically after adding a
new tube length. Finally, the third part represents the spindle drive 3D design with the restrictions
values, for more explanations to the designer. These values are extracted from the excel file and
47
updated after every modification and restrictions running. A flowchart diagram is presented
below in the figure 4.10 to explain the steps that the designer has to respect.
Star
t
Modify parameters
Yes No
Popup spring
Result visualization
End
48
4.4. Spindle Drive 3D assembly automation
4.4.1. General Overview
The main target of this third part of the project is to generate a completely automated build-up of
the spindle drive assembly. First of all, we started by fixing the different axes, constraints and
formulas in CATIA V5, to create the necessary design that will be used as a reference in the
spindle drive automation. Second, we created a new table into the database, which contains all
the necessary paths information and material numbers related to all the components. Afterwards,
we implemented the automation of the design in the spindle cockpit application, by generating a
code in C#. Finally, we realized necessary tests to check and approve the functioning of the
automated design, but also, to improve it if necessary. All the mentioned steps will be discussed
in depth, subsequently, during this part of the report, in order to fully understand the goals of the
spindle drive automation task.
4.4.2. Description of the spindle drive assembly
After using the spindle cockpit for fixing the quick check, the kinematics spring tools, and
restrictions, designers at Brose build up the spindle drive assembly manually for each costumer,
to finally generate the 2D designs, which means the creation of spindle drives components
drawings. Up to now, to establish the 3D assembly, designers need every time to generate new
material numbers for the components that will be used, create a new control part and fix the axes
and constraints of every component. Besides, these constraints don’t have fixed values, as they
depend from changing parameters, that first need to be created every time the designer concepts
the spindle drive assembly. These parameters are the opening and closing position of the spindle
drive, the stroke dimension, the additional part that the designer wants to add or not and finally
the length of the ball socket´s drive side. As a result, changing the constraints will automatically
lead to having different positions for the components axes, which causes in many situations,
calculation mistakes. Therefore, the designer can spend hours trying to fix the assembly of the
spindle drive in the correct way.
Material number:
Every Brose component used to build the spindle drive has a unique and specific material number,
which structure has to be divided into three main parts. The first one, composed from one
alphabetic character or a number, one hyphen and 8 other numbers, represents the number
expressed in the bill of material, expresses the general form of the material number, and created
using Brose ERP software SAP. The second part will be consisted of two numbers, and that can
be added using the connection to ENOVIA V6 via CATIA. The third part represents the type of
the component in CATIA. It can be a 3D, ASM, MKT, AIO and H3D. With this representation
49
of the material number, the designer will, not only, be able to find the component easily, but also,
it will be helpful to call it during the coding part of the work.
1 3
Figure 4.11 Structure of a material number
As mentioned before, the most important part of the automation is to prepare the skeleton model
of the control part has to be created with CATIA and that will be used in every spindle drive build
up. The control part is the basis of the spindle drive design. It will contain the main axe of the
product, the fixed axis of the different components and the moveable ones. It will also have the
different changing parameters, added to the formulas and rules used to maintain the right position
for every component after changing any parameter,. It conserves the correct structure of the
spindle drive as for any added component, the position will only depend from the control part.
The first step was to create the fixed axes of the components. Starting from an existing spindle
drive model designed for BMV G05, these axes represents the first position for every component
when it will be added. Afterwards, each axis has to have a general and unique path name that will
be used later on in both the database and the coding part. The second part of this work was to
create the moveable axes of every component and associating to each one a unique path name.
These axes are related to the fixed ones by creating fixed constraints, and at the same time
moveable, due to rules and formulas, based on changed parameters. The role of the moveable
axis is to coincide with the actual axis of every component after adding it to create the spindle
drive assembly, and to make them move in the right direction based on rules and coincidences
that will be created later by code. The third part consists of generating different parameters in the
control part: fixed ones that will just affect the first position of the control part main axis, and
parameters that will affect the position of the components moveable axes which are the opening
and closing position of the spindle drive, the stroke dimension, the additional part and the length
of the ball socket´s drive side.
50
Figure 4.12 different axes after changing the ball socket (drive side) length from 14mm to 18mm
The next task consists of creating on CATIA the different rules that are responsible of moving
the component axis. Twelve rules has to be generated depending on the moveable parameters.
These rules are listed in the table 4.6.
51
-Stroke > 0 mm
-Length ball socket drive side =14.25 mm Moveable axis = ± 37.5mm
-Additional component = "Brake and OLP"
-Stroke = 0 mm
-Length ball socket drive side =14.25 mm Moveable axis = ± 37.5mm ± Stroke
-Additional component = "Brake and OLP"
-Stroke > 0 mm
-Length ball socket drive side =14.25 mm Moveable axis = ± 22mm (the sign depends
on the position of the component)
-Additional component = "Brake"
-Stroke = 0 mm
-Length ball socket drive side =14.25 mm Moveable axis = ± 22mm ± ± Stroke
-Additional component = "Brake"
-Stroke > 0 mm
-Length ball socket drive side = 14.25 mm Moveable axis = 0mm
-Additional component = "Nothing"
-Stroke = 0 mm
-Length ball socket drive side =14.25 mm Moveable axis = ± Stroke
-Additional component = "Nothing"
-Stroke > 0 mm
To start with, the first step was to create the automation data table. This table is essential for the
spindle cockpit-data base communication, as it contains the component and the control paths of
any component used in every spindle drive assembly. For the project-independent ones, as they
are standards, the paths are always the same for every assembly. If the company includes a new
standard component, which happens not very often, both paths have to be added manually into
the data table. Concerning the project-specific components, the axes have always the same paths
even if the material number is different. In the figure 4.13, presented below, are listed some of
the paths from the automation data table.
52
Figure 4.13 Component and control paths
This step of the work is very essential as, to be able to automate the spindle drive assembly,
some Brose templates that connect CATIA with visual studio in C# have to be added to the
code. However, these templates are done with the last version of the .NET framework, which
is the 4.6.1, and the spindle cockpit tool is done with the 4.5.2 version. Therefore, to be able
to create the code, many update had to be done, missing references had to be added, and
various functions in the already existing code had to be changed.
4.4.5. Implementation
The first step of the automation is to generate the connection between ENOVIA and the spindle
cockpit application, as in Brose, to upload any component the user has to connect to ENOVIA
with a user name and password. After generating this connection, every component that will be
downloaded later, will first be added into a specific file on the company server then transferred
to CATIA to be opened and ready to work with. This process ensures the security of every
product, and allows only the designer connected to see the components and the spindle drive
assembly. After that, the user will find in the automation interface several functions that he has
to follow to complete the spindle drive 3D build up. The interface of the spindle drive3D design
automation is shown in the figure 4.14.
53
Figure 4.14 Spindle drive assembly interface
The first function is responsible selecting the project of the spindle drive. If the project does not
exist, an error message will appear to the designer. The second function allow the user to generate
the opening template. This part is important as all the components that are going to be added later
need a project specific template that has to be unique for every spindle drive assembly otherwise,
components cannot be added. The third function consists of adding the control part skeleton,
which contains all the rules, parameter and axes of the components. After that, the user can choose
to add the project-specific components or the project-independent ones. These components are
added from their material numbers, which are pulled automatically from the database. In the part,
we can see the important impact of the bill of material automation. In fact, after the designer has
finished with the BOM modification, the generated document will show the availability of all the
components needed for the current project. If the quantity is equal to “1”, the component will be
automatically pulled into the spindle drive assembly. If the quantity is equal to “0”, it will be
neglected. Moreover, at the same time the components are added, constraints are created between
the moveable axes in the control part and the components axes. We can add that, the position of
the component axe will be fixed automatically depending the paths in the automation data table.
Furthermore, the user can chose to change some parameters like the stroke, to add additional
54
components, to modify the position the spindle drive (opening or closing positions) or to modify
the ball socket drive side length. These parameters will affect the component axes but due to the
automation, any change will generate automatically a new position for the concerned component.
To understand more the spindle drive assembly automation, the flowchart presented in the figure
4.15 below, describe the different steps leading to this operation.
No
Add
control
part
No Modify
parameter
s
Yes
55
Finally, after generating the necessary modifications, the designer will obtain the whole buildup
of the spindle drive with all the correct parameters and ready to be produced. In the figure 4.16
below is shown an example of the BMW G05 spindle drive model after the 3D assembly with
the spindle cockpit application.
4.4.6. Conclusion
As a conclusion, throughout our fruitful experience in Brose, and mostly through this last chapter,
we described the various stages of our spindle drive 3D design implementation. Using the
different tool like CATIA for the design part, C# for coding and the communication between
Visual Studio, CATIA and the database, we successfully generated an automated buildup process
of our product that can be used on every spindle drive.
56
Conclusion and perspectives
Hence, I was asked to fulfill different tasks during my internship experience with the company
Brose in order to develop the spindle cockpit application by generating and developing different
functions needed for the automation of spindle drives design. First, we began with a functional
analysis of the current project in order to discern its technical specifications. Then, we made
kinematic calculations to fully understand the behavior of spindle drives in different models of
vehicles. Subsequently, we modified different calculations and generated certain rules, functions
and formulas ready to be used into the spindle cockpit tool. Finally, we implemented these
functions created into the application to ensure the automation process.
As a result, the main objectives proposed in this project were attained, since results were validated
with the different tests made on the Spindle cockpit application. The Bill of material was
successfully implemented, project-specific components have now clear restrictions and the
spindle drive 3D build up can be generated automatically. Besides, with this internship, I was
pushed out of my comfort zone as I was assigned a project in which I had to investigate and learn
a new programming language which is C#, which has allowed me to explore my interests and
strengthen my ability to cope with unexpected situations
Although the implementation and calculations were successfully verified, myriad functionalities
remain to be added to our project, as to fully automate a process, we need more time and every
day we can develop a better idea to improve it in the best way possible. That´s why, future
extensions of this work are considered to improve the spindle cockpit, have more accurate results,
and as a result have a better design for the next generations of spindle drives. We can mention as
future perspectives developing the 2D design task and make it fully automated therefore, the
spindle drive drawings of the various components are more correct. Moreover, we aim in the
future to generate a connection between the spindle cockpit, precisely the restriction part with the
application SAP, as we already have the ranges and lengths of tubes, and if they are saved into
SAP, it will make the company loose less material and therefore money while generating a new
component based on a released one.
57
Bibliography
[1] ClydeBank Technology, “SQL QuickStart Guide: The Simplified Beginner's Guide to
SQL” approach”, p.76, 2015
[2] R.PhD, Steven, R.Petrusha and P.Lomax, “VB.NET Language Pocket Reference: Syntax
and Descriptions of the Visual Basic .NET Language”, p.144, 2002
[3] J.Chan and LCF publishing, “C#: Learn C# in One Day and Learn It Well. C# for
Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 3)”,
p.161, 2017
[6] https://www.brose.com/de-en/company/
[7] http://bbc.brose.net/irj/go/km/docs/easyWCM/bbc2/sites/content/com.brose.portal.conte
ntpage.Communication/Dokumente/Brose%20Intern/2000-
2009/2009/BroseIntern_ENG_2009_09_Special%20Issue_IAA.pdf
[8] https://www.stabilus.com/products/electric-motor-drives/spindle-drives/?popup=1
[10] Brose Hallstadt, TP4, Tailgate training Kinematic Calculation tool, 2018
58