TDK HAL 3900 User manual

TDK-Micronas GmbH
Joystick
Evaluation Platform
User Manual
HAL 3900

TDK-Micronas GmbH Page 2 of 23
Contents
1Component List.................................................................................................................................3
2Introduction.......................................................................................................................................5
2.1 Aim............................................................................................................................................5
2.2 Specifications ............................................................................................................................5
2.3 Measurement Configuration.......................................................................................................5
2.4 Joystick Joint Types...................................................................................................................5
2.5 Software ....................................................................................................................................6
3Assembly Guide................................................................................................................................7
3.1 Communication Device Notes:...................................................................................................7
3.1.1 TDK SPI Programmer V1.x.................................................................................................7
3.1.2 TDK Magnetic Sensor Programmer V1.x............................................................................7
3.1.3 Arduino...............................................................................................................................7
3.2 Revolving Joint ..........................................................................................................................8
3.2.1 3D Position Detection .........................................................................................................8
3.2.2 Rotational Position Detection............................................................................................11
3.3 Gimbal Joint.............................................................................................................................14
4Software .........................................................................................................................................16
4.1 Sensor Configuration...............................................................................................................16
4.1.1 Configuration Note............................................................................................................16
4.1.2 Sensor Calibration using HAL 3900 Programming Environment.......................................16
4.2 Evaluation Software Instructions..............................................................................................17
4.3 Visualisation ............................................................................................................................19
4.3.1 Magnetic Field Tab (3D Position Detection)......................................................................19
4.3.2 Magnetic Field Tab (180oor 360oAngular Measurement).................................................19
4.3.3 Joystick Tab......................................................................................................................20
5Appendices.....................................................................................................................................21
5.1 Appendix 1: Soldering Bridges.................................................................................................21
5.1.1 Chip Select.......................................................................................................................21
5.1.2 Arduino Power Select .......................................................................................................21
5.1.3 Biphase Communication...................................................................................................22
5.2 Joystick Module Schematic......................................................................................................23

TDK-Micronas GmbH Page 3 of 23
1 Component List
1 X JOYSTICK PCB
2 X RAISED PCB 2 X SIDE PCB 3 X HAL 3900
4 X HOLDER 1 X TOP PLANE

TDK-Micronas GmbH Page 4 of 23
1 X LARGE REV. JOINT 1 X SMALL REV. JOINT 1 X REV. LEVER
1 X GIMBAL JOINT 1 X GIMBAL LEVER 2 X 4x10 mm MAGNET
2 X 1x4 HEADER 2 X 1x4 RAISED HEADER 2 X 2x4 HEADER
2X 2-POLE RINGMAGNET 8 X BRASS SCREWS

TDK-Micronas GmbH Page 5 of 23
2 Introduction
2.1 Aim
The purpose of this project is to demonstrate the use of a Direct Angle Magnetic Sensor in a Joystick
configuration. For this demonstration, the HAL 3900 is used. However, other sensors of TDK-Micronas
product line can be configured and used in this application.
2.2 Specifications
The HAL 3900 is a 3D position sensor based on Hall-effect technology. The sensor includes an array of
horizontal and vertical Hall plates based on TDK-Micronas’ 3D HAL technology. The Hall plate signals are
first measured by two/three separate A/D-converters (one for each channel), filtered and temperature
compensated. A linearization block can be used optionally to reduce the overall system non-linearity error,
due to mechanical misalignment, magnet imperfections, etc. Offset compensation by spinning current
minimizes the errors due to supply voltage and temperature variations as well as external package stress.
Stray-field compensation (according to ISO11452-8) is done automatically. Communication to the sensor
is established via SPI interface.
2.3 Measurement Configuration
Three of the measurement configurations supported by the sensor are demonstrated by the Joystick
Module as following:
3D Position Detection – Joystick The sensor is at the center of the joystick module and
detects the positioning of a magnet inside the joystick lever.
3Z rotational measurement – Joystick Two sensors are placed at the sides of the module
at X and Y coordinates detecting the rotation of the 2pole magnets, which are fixed at the
end of the revolving joints. The sensor is placed on the Side PCBs side marked "4 Pole 180
DEG" and is facing the magnet.
XY rotational measurement – Joystick Two sensors are placed at the sides of the module
at X and Y coordinates detecting the rotation of the 2pole magnets, which are fixed at the
end of the revolving joints. The sensor is placed on the Side PCBs side marked "2 Pole 360
DEG" and is facing the magnet.
2.4 Joystick Joint Types
The Joystick module is delivered with two different joint types. Revolving Joint and Gimbal Joint, the
functionality of a Universal Joint is covered by the Revolving Joint assembly. Any of the provided joints
can be assembled by the customer. The Demonstrating software provided (see section 4) supports all
three assemblies.
Table 1: List of Joystick Module setups
No Mechanical
Setup Sensor measuring configuration COM Device Magnets
MSP(i) MSP Arduino
1 Revolving Joint 3D Position Detection
4 x 10 mm 2 P
3Z rotational measurement
XY rotational measurement
2 P ring
2 Gimbal Joint 3D Position Detection
4 x 10 mm 2 P
3 Universal Joint 3D Position Detection
4 x 10 mm 2 P
Sensor Programmable?

TDK-Micronas GmbH Page 6 of 23
Figure 1: Revolving Joint Figure 2:Gimbal Joint
Figure 3: Universal Joint (not available)
2.5 Software
A LabVIEWTM based Evaluation software environment named "Joystick/Shift-by-wire Evaluation Platform"
can be downloaded from service.micronas.com (registration required). "Joystick/Shift-by-wire Evaluation
Platform" is providing the communication interface to the sensor as well as visualization of the Magnetic
Field characteristics and Joystick position. The user is also given the opportunity to program the sensor
when it is set to factory defaults. The installation includes the executable of the evaluation software, STL
files loaded by the 3D Environment and EEPROM dump files used to program the sensor. More details
found in section 4.
**************

TDK-Micronas GmbH Page 7 of 23
3 Assembly Guide
3.1 Communication Device Notes:
3.1.1 TDK SPI Programmer V1.x
This is TDK's dedicated Programmer for SPI Sensors. It is the preferred communication device for this
Evaluaton and can be used in all measurement configurations. Using the TDK SPI Programmer two
different configurations can be handled on the same Joystick module (eg. 3D position and Rotational )
3.1.2 TDK Magnetic Sensor Programmer V1.x
This is the original TDK Magnetic Sensor Programmer, it can only be used in 3D Position Detection. In
addition, the Joystick Module has the capapility to accommodate a biphase sensor and establish
communication through the RJ25 or using the TDK micro edge card to Dsub-25 adapter board.
A Biphase Bridge is provided for Biphase communication setup (eg. HAL3930), a 0R 0603 resistor need
to be connected between selected sensor and output in this mode. Further notes in Appendix 5.1.3.
3.1.3 Arduino
An arduino can be used for 3D Position Detection to communicate with the sensor, provided that the
sensor is already programmed and calibrated. Further notes in Appendix 5.1.2.
Configuration for Arduino:
1. Solder both Arduino headers
2. Solder a 0603 0R Resistor at the Arduino PWR bridge, between S1/3 and/or S2/4 and desired voltage
pad.
3. If you intend to use S2/4 please
4. Open Joystick_Module.ino (provided Arduino code) using the Arduino IDE and upload it to your Arduino.
Figure 4:Arduino Config, Step 1 Figure 5:Arduino Config, Step 1 Figure 6:Arduino Config, Step 3
Figure 7:Arduino Config, Step 4
Note: Connecting any other device when an Arduino is already present could cause damage

TDK-Micronas GmbH Page 8 of 23
3.2 Revolving Joint
This setup can be used with three different measurement configurations of the sensor.
Figure 8: Revolving Joint complete
3.2.1 3D Position Detection
1. Solder the HAL 3900 on the Joystick PCB at S1
2. Fix one holder on the joystick PCB using the provided brass screws.
3. Place the large rev. joint through the holder
4. Secure it with a second holder at the opposite side.
5. Insert the small rev. joint through the large rev. joint
6. Use Brass Screws to fix the 3rd holder on the joystick PCB
7. Use Brass Screws to fix the 4rd holder on the joystick PCB
8. Insert a magnet in the slot of the rev. lever, make the magnet level with the bottom surface of the
lever for an air gap of 10mm, adjust the airgap as needed. Airgap indicator at the edge of the lever,
2mm per notch.
9. Place the top plane.
10. Center both rev. joints and push the rev. lever trough the center slot until it locks.
11. Solder a 0R 0603 on CS Bridge between S1 and CS0.

TDK-Micronas GmbH Page 9 of 23
Figure 9: Revolving 3D position step 1/ 2/ 3 Figure 10: Revolving 3D position step 4/ 5
Figure 11: Revolving 3D position step 6/ 7 Figure 12: Revolving 3D position step 8
Figure 13: Revolving Lever airgap indicator
3
1
2
5
4
6
7
8

TDK-Micronas GmbH Page 10 of 23
Figure 14: Revolving 3D position step 9/ 10 Figure 15: Revolving 3D position step 11
10
9
11
Figure 16: Revolving 3D position complete

TDK-Micronas GmbH Page 11 of 23
3.2.2 Rotational Position Detection
Note: The rotation of the joints is important, the two pole magnet ring fit only on one of the sides of each
joint
1. Fix one holder on the joystick PCB using the provided brass screws.
2. Place the large rev. joint through the holder
3. Secure it with a second holder at the opposite side.
4. Insert the small rev. joint through the large rev. joint and repeat steps 2 & 3.
5. Place the top plane.
6. Center both rev. joints and push the rev. lever trough the center slot until it locks.
7. Solder a 0R 0603 on CS Bridge between S3 and CS2
8. Solder a 0R 0603 resistor on CS Bridge between S4 and CS3
Figure 17: Revolving Rotational step 1 Figure 18: Revolving Rotational step 2
Figure 19: Revolving Rotational step 4 Figure 20: Revolving Rotational step 4
Figure 21: Revolving Rotational step 5
2
1
3
4
5
6
8
7
9
10

TDK-Micronas GmbH Page 12 of 23
Note: 1. Do not solder a sensor at the face of the side PCB that is unused, if a sensor is already present,
remove it.
2. The Position of the HAL 3900 on the "2-pole 360 DEG" side of the side PCB is lower than the
"4-pole 180 DEG" side.
3.2.2.1 3Z rotational measurement
1. Fix the two 2-pole magnets at the sides of the joint (close to S3 and S4 connectors).
2. Solder the 2x4 Header at the edge of the two side PCBs
3. Solder the HAL 3900s on the two side PCB’s at the face indicating "4-pole 180 DEG".
4. Solder the Side PCBs to the Joystick PCB at S3 and S4 with the sensor facing the Joystick
module.
Figure 22: 2 pole magnets Figure 23: 3Z side PCB assembly ("4-pole 180 DEG" face)
Figure 24: 3Z side PCB installation Figure 25: 3Z complete
11 12
13
14
15
16

TDK-Micronas GmbH Page 13 of 23
3.2.2.2 XY rotational measurement
1. Fix the two 2-pole magnets at the sides of the joint (close to S3 and S4 connectors).
2. Solder the 2x4 Header at the edge of the two side PCBs
3. Solder the HAL 3900s on the two side PCB’s at the face indicating "2-pole 360 DEG".
4. Solder the Side PCBs to the Joystick PCB at S3 and S4 with the sensor facing the Joystick
module.
Figure 26: 2 pole magnets Figure 27: XY side PCB assembly ("2-pole 360 DEG" face)
Figure 28: XY side PCBs installation Figure 29: XY complete
11 12
13 14
15
16

TDK-Micronas GmbH Page 14 of 23
3.3 Gimbal Joint
Figure 30: Gimbal Joint Complete
1. Solder the female header sockets at position S2
2. Solder the HAL3900 and raised headers on the raised PCB
3. Insert the raised PCB on the Joystick Module PCB at S2
4. Fix one holder on the joystick PCB using the provided brass screws.
5. Place the gimbal joint through the holder
6. Secure it with a second holder at the opposite side.
7. Screw the remaining holders
8. Insert a magnet in the slot of the gimbal stick until it is level with the bottom surface of the slot.
9. Push the gimbal lever onto the joint until it locks.
10. Place the top plane.
11. Solder a 0R 0603 on CS Bridge between S2 and CS1.
Figure 31: Gimbal Step 1 Figure 32: Gimbal Step 2 - Raised PCB assembly
1
2
1
2
3

TDK-Micronas GmbH Page 15 of 23
Figure 33: Gimbal Step 3 Figure 34: Gimbal Step 4
Figure 35: Gimbal Step 5 Figure 36: Gimbal Step 6 - magnet installation and position
Figure 37: Gimbal Step 6
4
5
6
98
7
8
7

TDK-Micronas GmbH Page 16 of 23
4 Software
The Joystick Module is delivered with a Labview based Visualization Environment. The software allows
for communication to the sensor, representation of Magnetic Field components and 3D modeling of the
Joystick position. Three different communication devices can be used with this software, the Micronas
preferred TDK SPI Programmer, TDK Magnetic Sensor Programmer V1.x or an Arduino1.
Note: 1. See Arduino Assembly Guide 3.1.3
4.1 Sensor Configuration
4.1.1 Configuration Note
The sensor delivered is set to the factory default values. Therefore for proper operation a programming
sequence needs to take place. For simplicity a programming process is described at step 4 of paragraph
4.2. By executing this steps the sensor used will be programmed using saved EEPROM dump files from
pre calibrated joystick modules. Following this process, will ensure immediate access to the Joystick
Evaluation Environment with no further programming needed. However due to mechanical variations of
the assembled module the output of the sensor can be inaccurate.
In case the movement of the joystick is inverted relative to the visualization environment the magnet
attached to the joystick module can be reversed.
4.1.2 Sensor Calibration using HAL 3900 Programming Environment
In case further accuracy is desired, the sensor will need to be calibrated using a TDK SPI Programmer or
the TDK-MSP and the HAL 3900 Programming environment.
Two Point Calibration
1. Connect the Joystick Module using the TDK SPI Programmer or the TDK-MSP.
2. Run the HAL 3900 Programming Environment.
3. The TDK SPI Programmer will be automatically detected (for the MSP select the used Com- Port.)
4. Set the SPI frequency to 1MHz.
5. Press VSUP ON.
6. Press Calibration Tool and select two-point calibration.
7. Select Data Channel 1.
8. Bring the Joystick lever to position 1 as shown in Figure 38 and press Calibration Point 1
9. Move the lever by approx. 1 cm and press Calibralibration Point 2.
10. Note if Angle Out 2 is higher or lower than Angle out 1 and set increasing or decreasing angle out
accordingly.
11. Bring the Joystick lever to position 2 and press Calibration Point 2.
12. Press Calculate and then Write & Store.
13. Select Data Channel 2.
14. Repeat steps 8-12 for position 3 and 4 of Figure 38.
15. Press Exit .
16. Press VSUP OFF.
17. Press STOP.
Note: For further information refer to HAL 3900 Programming Environment and User Manual documents.

TDK-Micronas GmbH Page 17 of 23
Figure 38: Calibration Points
4.2 Evaluation Software Instructions
1. Extract the file Joystick_Module_Environment.zip on your Computer.
2. Connect the preferred Communication Device to the Computer USB port and the Joystick Module
PCB.
3. Run Joystick_Module_Environment.exe.
4. If the Sensor is used for the first time (or the sensor is not programmed via HAL 3900 PE)
a. Navigate to the Configuration Tab
b. Select the programming device you are using TDK SPI Programmer or MSP
c. Select the Sensor to be programmed
d. Click the appropriate chip select setting
e. Press Program Sensor, a message appears showing the status of the process.
5. Navigate to the Main tab
6. Make Sure the Com Mode is set to Auto and press Start.
7. Once communication to the sensor is established you are redirected to the Magnetic Field Tab
8. When the 3D environment is loaded, the Joystick Tab is available and the progress bar stops flashing.
9. Press Stop Application to Terminate the program

TDK-Micronas GmbH Page 18 of 23
Main Tab
Configuration Tab

TDK-Micronas GmbH Page 19 of 23
4.3 Visualisation
4.3.1 Magnetic Field Tab (3D Position Detection)
4.3.2 Magnetic Field Tab (180oor 360oAngular Measurement)

TDK-Micronas GmbH Page 20 of 23
4.3.3 Joystick Tab
Table of contents
Other TDK Motherboard manuals