PCB design with Eurocircuits

Hi, my name is David. I’m an electrical engineer at Project MARCH. This is a student team from the Delft University of Technology. With 31 students we’ve built an exoskeleton, the MARCH II. An exoskeleton is a robotic suit that helps people with a spinal cord injury to walk again. In the image below you can see Ruben walking in the exoskeleton. Ruben has a spinal cord injury and is our pilot of the exoskeleton.

DavidK.png

Together with Ruben, we compete at the Cybathlon Experience. This is a spin-off of the Cybathlon, a competition for para-athletes with bionic resources.

During the Cybathlon Experience we will face an obstacle course with imitates daily-life obstacles for wheelchair users, such as the stairs and a ramp.

In the past year of Project MARCH, weve designed three different PCBs ourselves, which were produced by Eurocircuits.

The first one is the Power Distribution Board (PDB), it is located in the backpack of the exoskeleton. The PDB has a 48V connection from the battery and divides it in high power (48V) for the motors and low power (12V) for electronics.

It also has several sensors to measure current, voltage and temperature which ensure safe operation when the exoskeleton is used by Ruben, our pilot. Further- more, the PDB is able to communicate via EtherCAT, the communication protocol we use in our exoskeleton.

This brings us to the next PCB, the General EtherCAT Slave (GES).

The General EtherCAT Slave is a multifunctional device. In the MARCH II we use four slaves. There is one slave on both legs, one in the backpack and one in the crutch. It also has EtherCAT communication and it has a programmable MBed microprocessor. It has several GPIO pins, used for different applications.

In the legs, we have attached a button, which is used to climb the stairs, which is one of the obstacles of our competition. The GES also reads out the temperature of the motors. The GES in crutch controls the input device. The input device consists of a screen and two buttons implemented in the crutch handle and is the controller of the exoskeleton. Moreover, the GES is used for audio feedback to the pilot as well as pilot positioning by means of an IMU.

The last PCB is the CBOB. This little board converts a single ended signal to a differential signal and the other way around. This is used to improve encoder signal integrity by making the signal less sensitive to EMI of the motors, which are placed incredibly close to the encoders.

We would like to thank Eurocircuits for making it possible to produce these PCBs which form the heart of the MARCH II electrical system.

Project MARCH and Code Product Solutions

The first steps are taken: the MARCH II walks! Achieving this was quite the challenge, especially since in the hip and knee joints of the MARCH II exoskeleton, high precision and great forces come together. To ensure that these forces do not deform the joints too much, we performed Finite Element Analyses. For this, we brought in the expertise of engineering firm Code Product Solutions, who has had experience with these kinds of analyses for decades. Code provided us with useful tips and design improvements. These FEA-based adjustments have led to our final joint design. 

Image 1. The final design of the knee joint.

Image 1. The final design of the knee joint.

One of the requirements for the joint design was that the distance between the magnetic encoder ring and the sensor should not exceed the boundaries of 0.1 mm and 0.3 mm. The sensor reads out the angle of the joint, so when big forces are acting on the joint, only minimal deformations can be allowed. Soon we experienced that the weight of our pilot in combination with the force acting on the bolts that are keeping the housing together would cause the joint of the exoskeleton to twist. That made it impossible for the sensor to conduct good measurements. The deformation acts the same way as a hamburger that is squeezed on one side (depicted in image 2). Therefore, we named the observed deformation phenomenon the ‘hamburger effect’.

 
Image 2. The joint of the exoskeleton bends the same way as a hamburger that is squeezed on one side.

Image 2. The joint of the exoskeleton bends the same way as a hamburger that is squeezed on one side.

 

With the help of Code Product Solutions in making design improvements, we adjusted the housing to make the joint stiffer. Because of these improvements, we are certain that the joint will not deform and that it will therefore be able to measure the angle of the joint in all circumstances.

Another point of focus during the FE analysis was the mechanical end stop. This is a safety system that makes sure the knee will never be able to rotate more than the knee of the pilot. Together with Code Product Solutions we looked into the shape of this part to make sure the pilot or the exoskeleton won’t be damaged, even during unexpected situations.

In the end, we were able to reach a much better division of forces and we could also accomplish a broader, flat end stop. With these improvements, we are fully confident that our pilot, Ruben de Sain, and the MARCH II will overcome all obstacles during the Cybathlon competition at the RehaCare fair in Düsseldorf!

Image 3. The initial housing. Because the screw holes are not completely supported, the ‘hamburger effect’ could appear.

Image 3. The initial housing. Because the screw holes are not completely supported, the ‘hamburger effect’ could appear.

Image 4. The final, improved housing. With the new end stops we are able to guarantee the safety of the pilot and the exoskeleton.

Image 4. The final, improved housing. With the new end stops we are able to guarantee the safety of the pilot and the exoskeleton.

Making progress

Hello everyone! Since my last blog a lot of progress has been made. While we were just starting setting up the connection to the computer in the backpack, we now have full control over a motor connected to the backpackcomputer. Although a lot of work still has to be done, the progress we have made so far was quite rewarding and has been a fun ride so far.

One of the things I have worked on is the conversion of motor phase current to required power supply current. I’ll try to explain what this exactly means, why we need it and how we went about calculating it. I think this problem is a good example of one where a mathematician was a useful addition to the team.

The motor we’re going to use in the joints are all brushless direct current (BLDC) motors. This is an electric motor, consisting of a permanent magnet rotor (turning part) and a stator (stationary part) made of different copper coils. By continuously changing the current in the coils, a suitable magnetic field is created which pushes the rotor around.

These types of motors have very high efficiency and a long lifetime, and are available in a wide variety of achievable speeds and torques. The only downside to them is that they are harder to control, since no part of the rotor (turning part) is connected to the stator (stationary part) – the stator is essentially blind to what happens to the rotor. To assess this problem, we use an ‘encoder’, essentially a digital angle measurement device. This provides the necessary information to calculate the current which makes the motor turn.

There are actually different currents going to the motors. As the magnet passes over a coil, that coil should be turned off, while the previous one should push the magnet away and the next one should attract the magnet. So most BLDC motors have three ‘phase’-wires, allowing different coils to push and pull. As the motor turns, the current over each wire cycles through a wave, each phase behind the next by two thirds of a period. Now the motor is not directly attached to the backpack computer, but to a motor controller. This motor controller receives a constant voltage and current from a power supply. The problem we had was the following: we could measure the phase current, but wanted to calculate from this the required power supply current. This is relevant because using this we can calculate the efficiency and the power being output by the motor. The power supply current turned out to be linearly related to the amplitude of the phase current. So from a given set of phase current values, we had to calculate the amplitude of the wave. Because we know each phase is two thirds of a period behind the next, I could derive a formula for the amplitude using some basic identities of the sine wave:

I really enjoyed working on this problem: I learned a lot about electric motors while working on it, and was also able to apply what I learned during my bachelors: look at a problem in a more abstract mathematical way and use that to derive properties.

An exoskeleton in the making

What does it take to make an exoskeleton? A joint, a frame, electronics, software, sure but there is more to it than that.

At Project MARCH we are the phase where the exoskeleton is finally coming together, The various departments are now transitioning to the final stages of production. Since my last post we have already designed, produced and tested the first version of our communication board. As I write this blog the second version of the communication board has gone into production. I now wait for the boards so we can start testing them and integrating them into the exoskeleton.

These Communication boards are going to be used in various places of the exoskeleton to provide general purpose sensory input for the exoskeleton. For this version of the board we used more custom components that allowed us to modify the shape and dimension of the board to make them more easily placeable on the frame of the exoskeleton.

Designing these boards was a large part of my technical undertaking here at Project MARCH and an amazing learning experiences. While designing these boards we had the opportunity to meet with professionals within the field of design and learn tips and tricks that were vital to ensure that our designs were industry ready products. I had the good opportunity to have these designs reviewed and discussed with market leading professionals and that ensured that these designs are now industry ready. There was a lot to learn while designing these boards, I got to learn about the concepts of high speed signals on PCB and power distribution on board. These bits of knowledge that we were exposed to bridged the gap between theoretical electronics taught at the university and practical aspects of Industry production.

Besides my technical endeavours, Project MARCH has also been a joyful outlet for my social experiences. Recently the team got together for the weekend to enjoy ourselves a lovely team weekend. We spent time near the city Apeldoorn and enjoyed a lot of fun activities with team members, and was a wonderful team bonding experience.

My time at Project MARCH has taught me valuable lessons on team-work and to answer the question I asked at the start, What does it take to make an exoskeleton? The answer is that it takes a team of dedicated and talented students, and at the Dreamhall of TU Delft you will find this team.

3D render of the communication board that is currently in production.

3D render of the communication board that is currently in production.

Assembly!

Exciting as ever, here at Project MARCH! The electrical team is really shifting from designing and prototyping to actual products. We’ve very much narrowed down what electrical components we will use and build based on the architecture we designed in 2016, and we are now building our own PCBs (Printed Circuit Boards) to fill in those blanks within the architecture. 

Currently, we’ve completely assembled two types of our own PCBs which do exactly what we require them to do in our system, these products form the base of what we call an MVP, or Minimum Viable Product. These PCBs have two purposes. On the one hand they are used for initial testing of hardware and software, for example communicating sensor data from one device to another or testing safety features such as the emergency stop. On the other hand, they give us a fall-back option. By producing several versions of our products (we aim for 2 or 3 versions per PCB) we give ourselves space to learn from mistakes in previous versions and also have something to fall back on if a new version does not work as desired. 

 

 

Pasted image at 2017_05_01 03_02 PM (2).png

Now I can already hear you asking, what do these PCBs do? First of all, we have what we call the PDB or Power Distribution Board. The first version (see picture) has the ability to connect to the battery of the exoskeleton (green connector on the right) and distribute the power to both the motors (green connectors on the bottom) and the electronics (white connector on the top right), hence we call it the Power Distribution Board. It includes some safety features such as an emergency switch, which can be controlled by an external button that connects to the board (black connector on the left). It also has replaceable fuses (yellow and brown blocks) which protect the system from drawing excessive amounts of power. Finally, there is the component in the middle, which converts the voltage meant for the motors to a suitable voltage for the electronics. This enables us to use one battery instead of one for the motor and one for the electronics. 

But wait, there’s more! The devices you see in the next picture is what we call the GES or General EtherCAT Slave. This is a multi-purpose node that can communicate with almost any kind of sensor and which can also control electronics such as a display. It can then wire to the main communication network, EtherCAT, which connects to all other electronics. Most importantly, it can use EtherCAT to communicate with the Master, the “brain” of the MARCH II exoskeleton. 

So why am I not on holiday when we already completed the electronics that we need? In the following versions we want to make the PCBs much more useful by obtaining data of the system. This data is very useful for the following years of Project MARCH. For the PDB we want to include sensors which can register how much power each motor is drawing, for example. We also want to make the PCBs more compact and more suitable for the place they occupy. For the GES we want to integrate the red communication module (this is currently an off-the-shelf piece of electronics) in our PCB to have more flexibility in dimensions and placement of connectors. Electronics in the legs have no room on the sides, for example, because that is where the leg of the exoskeleton ends (they are quite narrow). 

Meet our Software Engineer - Philipp Dürnay

Hello everybody! My name is Philipp Dürnay and I am a student of the Embedded Systems master at TU Delft. In my bachelor of Technical Computer Science I learned a lot about computer architectures, control theory, signal processing and programming. I had a lot of fun projects during that time and I could apply and deepen these skills in labs, an internship, my thesis and a short working period as a research assistant. I liked playing around with software and microcontrollers so much, that I started my own projects at home trying out stuff with Raspberry Pis and other development boards. However, in all those projects I was always missing one thing: a human aspect. Why would I “only” develop a smart light control if I could use the same skills to develop medical devices for example that enable somebody to walk who can’t walk? With this vision in mind I started my master in Delft and when I saw the posters of Project March on the campus, my decision was clear: I want to be part of this team. 

Philipp.png

Now, half a year later, I made a lot of new friends and after a lot of research I’m finally back to programming. In our exoskeleton we need four microcomputers that control the movement of each joint. They need to generate the electrical signals to turn the motors at the right speed and to the correct position, to enable a precise movement of the joint. For that we are using controllers that are slightly more complex than a Raspberry Pi, the so called Somanet.

Although, we don’t develop the whole Software for that microcontroller ourselves, we have to understand, adapt and extend software written by other people in a programming language called XC. This C-based language contains an extended set of instructions tailored to the computer architecture of the Somanet. To be able to understand and extend the software I had to apply a lot of what I learned during my bachelor and my first year of master about control theory, electronics, signal processing and about computer architectures. You can imagine that it took quite some time and work before I was feeling comfortable in programming the Somanet. However, as you can see (or hear) in the video we don’t forget to have fun, since there is no better moment than the one when it finally works.

Introducing: David Enthoven

I obtained my HBO-Bachelor’s degree in electronic engineering at the HvA in Amsterdam. Not quite ready to commit to a full-time job yet, I decided to work towards a master’s degree in delft. Having set my sights on an MSc in embedded systems (a dedicated field within electronic engineering) I still needed to bridge the gap between a HBO bachelors and a WO masters. Bridging this gap is done by doing a pre-masters course that takes roughly a year which I am currently doing.

Whilst walking around on the TU-delft campus a poster caught my eye, advertising a part-time function for project MARCH. I immediately got excited and after some short application process I was officially part of the crew! For me this was a great opportunity to learn more about the practical aspects of designing electronics, while still being taught the theoretical aspects during the premaster courses. There are some courses that have directly allowed me to apply my freshly gained insight in the electronics of the exoskeleton. Combining this theoretical knowledge with a practical project allowed me to learn far more than I would have imagined.

DavidE.png

Within Project MARCH I am part of the electronics department, which designs all the electronics of the exoskeleton. This involves for instance all the power distribution and the communication between subsystems of the project. My main focus is the power distribution within the exoskeleton. Power distribution is extremely important for any battery powered vehicle, because it ensures that every subsystem has the right operating conditions to function properly. With every decision, I need to remember that the end product will have a real human pilot and therefore must be as safe as possible.

Currently we are in the process of building the first function Power distribution board for the exoskeleton. Working with motors that draw up to 15 amperes of power means that you have to be extra careful designing this board. If you choose one component that is not able to handle this amount of energy throughput, that component becomes the bottleneck. This by extension means that the entire system can fail due to only one wrongly chosen component. Additionally, with high currents you need to take into account the heat dissipation of certain components.

The picture above shows a measurement of the heat generation of a power convertor.

The picture above shows a measurement of the heat generation of a power convertor.

For some this is quite scary, but I consider this to be a challenge. Doing the best I can to overcome this obstacle and succeeding is a great feeling. Failing, although not a great feeling, is arguably even more important because this means that there is an opportunity to learn something that I did not know before, and that is my main take out of this project after all, learning.

Working in this dreamteam has really been an amazing experience for me so far. Every time I get in I notice that we are one step closer to our end-goal (pun intended). Working together with a great team of bright minded students has given me the confidence that we will be able to build an amazing piece of medical equipment that will reshape the way paraplegics move around.

Introducing Anirudh Bisht

Hi, my name is Anirudh Bisht. I obtained my Bachelors in Electronics and Communication from India. I am following the Embedded Systems masters course, I joined Project March to work on an additional project during my masters and it has been a great experience. I am part of the Electrical team at Project March. My course work as an Embedded Systems masters is focused on the Networking and Communication of devices, and this nicely complements my current role at Project March which is developing the communication electronics for the Exoskeleton. The communication between the different joints of the exoskeleton is an important aspect, as synchronisation amongst these joints is crucial to the stability of the exoskeleton. We use an industrial grade communication protocol called EtherCAT to ensure that the communication is both fast and in real-time.

I see my time at project march as consisting of three distinct phases. During the first phase my time was spent understanding the communication technologies. This involved reading a lot of technical documents and datasheets of components we were choosing for use in the exoskeleton and ensuring that they were a good match for the specification we wished to achieve. I also spent time familiarising myself with the work of the previous year's team and general requirements of the exoskeleton.

My next phase of work involved implementing the communication system on a prototype system. This part involved a lot of coding and debugging on the mBED microcontroller. During this part my knowledge of Serial communication systems like SPI, and Programming languages like C were used to develop the prototype. Since the code libraries for interfacing our communication system to the mBed did not exist, I was also given the task to port the libraries from PIC microcontroller to the mBED.

And recently in my third phase of Project March I have been working on designing the PCBs that we are going to be using for our communication system. In this phase I have been learning a new EDA(Electronic Design Automation Tool) called Altium, Since I have previously used other EDA tools like gEDA and Eagle CAD I had a easy time getting familiar with Altium and am currently in the process of developing a PCB that will be used in the Exoskeleton. As an engineer it is important to have working knowledge of other disciplines, This was particularly true as designing a PCB for an Exoskeleton involves thinking about other factors like fixture position, the enclosure it will be in and the environment it is expected to work in. This is where working in a multi disciplinary team like Project March is very advantageous as the right people to ask questions are always close-by.

I also had the opportunity to be involved in a couple of company visits with the team, These visits were very informative and a good introduction to work ongoing in the Industry. As an Embedded Systems Engineer I had assumed I was going to be involved in a lot of hardware and software level electronics work. At Project March I am involved in precisely that kind of work which I find enjoyable and rewarding to work with, and this validates my decision to follow an Embedded Systems Masters program. Being an international student The Netherlands was a new and alien country, but instead of being homesick I feel right at home working on things I love, amongst people I can relate to.

A Prototype board I worked on at Project MARCH

A Prototype board I worked on at Project MARCH

Our Electrical Engineer - Gerard Baquer

I obtained my bachelor degree in Electronics Engineering by Universitat Rovira i Virgili (Spain). Captivated by the high potential underlying biologically inspired solutions and intrigued by the human brain as one of the most powerful computational machines, I focused my bachelor thesis on Artificial Neural Networks. Continuing that line of work, I am now pursuing my MSc in Electrical Engineering (Biomedical Microelectronics track) at TU Delft with a clear research interest on neuromorphic and neural-interface electronic circuits.

Probably, one of the main reasons I decided to collaborate with Project March was its strongly biomedical and humanitarian long term vision: “To give back full mobility to paraplegics”. In addition, the great deal of enthusiasm of all its members, the multidisciplinary of the team and the great facilities available at the Dream Hall make working in Project March a perfect way of applying all the knowledge obtained throughout my years at university.

Within Project March, I am a member of the Human Machine Interaction (HMI) department which deals with any aspect regarding the interaction between the pilot and the exoskeleton. The HMI department encompasses a wide range of sides of the development of the exoskeleton including design, ergonomics, human-like motion, feedback system... As an electrical engineer, the aspect of the HMI department I am involved the most in is the input device.

The input device is the system that allows the pilot to control the exoskeleton by translating his or her intent into actions. Initially, we proposed many solutions ranging from a smart-watch to voice control; from a simple joystick to an electroencephalography (EEG) cap measuring the electrical activity of the pilot’s brain. Later we narrowed the large list down to three input devices: buttons on a crutch associated with different actions in the exoskeleton, a Segway-like control system where the exoskeleton is driven by tilting the upper body and an “arm cross control” where the movement of the arms is mirrored to the legs.

Currently we are in the process of developing functional prototypes working closely together with experts and potential users. The development of such prototypes requires me to put into practice several things learnt throughout my bachelor and the first semester of my master. We use the micro-controller platform MBED (programmed in C++) for signal processing, control and communication purposes. We also have to deal with several sensors such as Inertial Measurement Units (IMU) and pressure sensors to capture the intent of the user. Furthermore, we use Matlab models of the exoskeleton to quickly pre-test the functionality of our systems.

In conclusion, Project March is a project with a clear biomedical and humanitarian goal and a great opportunity for an Electrical Engineer to get some hands-on experience in a vivid and inspiring environment.

Introducing the Software & Control Department

Hi! My name is Ike Mulder, and I joined Project MARCH as a part-time member in October. I am currently almost finished with my Bachelor Applied Mathematics. This is actually my second extracurricular activity: I was treasurer of the board of a fraternity (DSV Sint Jansbrug) last year. I acquired a lot of financial and business related knowledge and I was able to use my programming experience to automate some of the more tedious and hard tasks.

As the year came to an end I wanted to continue and expand my programming skill in a more technical environment. A friend of mine introduced me to Project March and my enthusiasm was sparked. The software that needs to be designed and implemented is complex and big, so this was a real challenge. So, after a few months of sorting all of Project March’s financial matters out, I have now switched to the Software & Control department.

Let me tell you a bit more about the Software & Control department. Our job is to make sure the exoskeleton moves in the right way; that the joints move in the correct direction with the correct speed without overshooting the desired destination, and that the total movement of individual joints simulates the regular walking movement (‘gait’) of a human. This Control is however not possible without Software running on the exoskeleton. In the backpack of the exoskeleton, a small computer is mounted who is in control of all the joints. This computer has to handle lots of communication between the individual parts and also has to compute complicated trajectories.

At the moment I’m working on the very first steps of setting up the computer for the new exoskeleton. While one would regularly install Windows or iOS on a computer, this one will probably run on Simulink Real-time. Simulink and its cousin Matlab are both great tools for engineers: they can perform complex matrix calculations and modelling while retaining an intuitive interface. During my studies I learned to use both of these, but to apply them in a real machine is something else.  Next up is implementing and running some tests: we have already designed most of the software architecture, but our design relies somewhat on parallel processing. Before we implement everything, we should test whether what we want is viable in the first place – so I’ll return to the test bank now. Bye!

Meet our Chief Electrical Engineer

 
timblog.png
 

Exciting times for the new team of Project MARCH! It’s already 4 months ago since I joined the team, and it’s just as long ago since I wrote my last blog. A lot has happened in the team since then, we’ve grown immensely in both size and knowledge. However, before I dive too much into my excitement of what’s happening now, I’d like to take you back to October, when the ball of the new team started rolling.

October was a great month for both the first and second team because it was the month of the Cybathlon. The Cybathlon is the first bionic games in the world, held in Zürich, where engineering teams compete to build the best bionic machine. Categories included arm and leg prostheses, powered wheelchairs, tricycles for paraplegics and, most importantly, exoskeletons. It was an amazing event full of high-tech that enabled a lot of disabled people to regain what they once lost. I was amazed at the enthusiasm of both the engineers and all the visitors, However what really surprised me during the event was the immense joy that I saw in all the participating athletes. It did not matter how well they were preforming, they all had an overwhelming support of the crowd which helped them enormously in their effort to try and overcome an obstacle. It caused them to keep trying, go beyond their expectations and even cry tears of joy when they managed to complete something that they were unable to do for years.

The Cybathlon was a real boost for me to start working on Project MARCH, because it was no longer just a paraplegic that I was going to help the coming year, it was an actual human being to which I can help regain their abilities, even if it was only momentarily, and give great mental support in daily life.

The second team was on its own after the Cybathlon, but we haven’t taken it easy so far. We’ve tripled in size from 10 members to 30, which really accelerated the progress of our project. The result over the last couple of months is clearly evident, we’ve made most of the big design choices and are currently doing a lot of prototyping. Within the electrical department we’ve focussed on a detailed architecture and feature set of both the power and communication systems. One of the devices that we are developing is a general purpose communication node. This device is designed to connect to the “nerve system” of the exoskeleton and is able to connect to numerous sensors, displays, etc. Multiple of these devices can be placed anywhere in the exoskeleton, which makes it very flexible. It also uses a communication protocol similar to internet which enables us to daisy-chain each of these devices (connecting in series instead of a separate cable per device), so there is hardly any cabling too.

Meanwhile, the focus for me as Chief Electrical Engineer has clearly shifted from a purely technical function to a more diverse role. I still do a lot of practical engineering and make big electrical decisions like I did at the start, however since the electrical team has increased in size I now also have more responsibilities regarding management, including planning, contact with

companies and team management. This combined work is something I enjoy greatly so far, and it is going very well for me due to experience that I gained during projects of my bachelor.