<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>Esden&#39;s Blog - open-brushless-drive-controller</title>
      <link>https://esden.net</link>
      <description>This is Piotr Esden-Tempski&#39;s personal blog</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://esden.net/tags/open-brushless-drive-controller/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Sun, 15 May 2011 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Open-BLDC and the CLogic story</title>
          <pubDate>Sun, 15 May 2011 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2011-05-15-open-bldc-and-the-clogic-story/</link>
          <guid>https://esden.net/blog/2011-05-15-open-bldc-and-the-clogic-story/</guid>
          <description xml:base="https://esden.net/blog/2011-05-15-open-bldc-and-the-clogic-story/">&lt;p&gt;[embed]https://www.flickr.com/photos/esden/5188383797/in/album-72157625281995565/[/embed]&lt;/p&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It was again a while since my last post, but as always I was quite busy. :)&lt;/p&gt;
&lt;p&gt;The last news about Open-BLDC was about its &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.esden.net/blog/2010/09/19/open-bldc-v0-3-hardware-based-closed-loop-control/&quot;&gt;V0.3&lt;/a&gt; iteration. A lot has changed and happened since then. I was realizing that I am getting more and more inquires where people were asking about obldc being able to control very different sizes of motors, ranging from 12V and 10A up to 48V and 200A.&lt;/p&gt;
&lt;p&gt;This requirement does not really ask for different logic and controls but it definitely asks for many different power stages. Open-BLDC was designed to be modular from the beginning but still to accomodate that kind of a power range it would be necessary to design and create quite a big lineup of hardware.&lt;/p&gt;
&lt;p&gt;Around that time I had the opportunity to take a look inside a dead motor controller from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.castlecreations.com/&quot;&gt;Castle Creations&lt;/a&gt; just to realize that these guys seem to know what they are doing and that they went with a modular design too. To make a long story short I decided that it will be better to buy one of their of the shelf motor controllers and retrofit them with my logic. That is how CLogic was born.&lt;/p&gt;
&lt;p&gt;As it seems other manufacturers are selling ESCs that have the same interface between the logic and the power stage too. &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.teamtekin.com/&quot;&gt;Tekin&lt;/a&gt; for example. But my guess is that they are just OEM of castle themselves. But who knows. :)&lt;/p&gt;
&lt;p&gt;Turingy also came out with an ESC that seems to have the same interface, the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=16364&quot;&gt;Turingy dlux&lt;/a&gt;. I ordered a few of them to take a look for myself and see if CLogic will fit in there. That would be a great source of cheep power stages. :)&lt;/p&gt;
&lt;p&gt;CLogic has most of the functionality the Open-BLDC v0.3 had. Because of the size constrains I had to get rid of the dedicated i2c and PPM connectors, but I added isolation on the CAN interface that should provide additional safety when used on a 50V and bigger systems. The i2c and PPM interfaces are still available either over the new AUX connector or through the UART interface connector.&lt;/p&gt;
&lt;p&gt;The new AUX connector gives the possibility of easily connecting encoders or hal sensors for sensored operation. So the interfaces stay very flexible with added flexibility due to the big variety of power stages you can use, while being very very compact.&lt;/p&gt;
&lt;p&gt;Sure some people complained &quot;The power stages are not Open-Source!!!&quot;, yes that is true. Also these systems start at a higher power and weight class than some of you would want to operate them. That is why there is CPico Power. It is a very small, low power and a hopefully cheep power stage that we are putting together for those who want it all fully open! So no worries. :)&lt;/p&gt;
&lt;p&gt;I think that wraps up the news about the new direction Open-BLDC is going. I hope you like it. I am looking forward to your comments.&lt;/p&gt;
&lt;p&gt;Cheers Esden&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC Documentation</title>
          <pubDate>Thu, 19 Aug 2010 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2010-08-19-open-bldc-documentation/</link>
          <guid>https://esden.net/blog/2010-08-19-open-bldc-documentation/</guid>
          <description xml:base="https://esden.net/blog/2010-08-19-open-bldc-documentation/">&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2010/08/open-bldc-doxygen-screenshot.png&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2010-08-19-open-bldc-documentation/images/open-bldc-doxygen-screenshot-300x287.png&quot; alt=&quot;&quot; title=&quot;open-bldc-doxygen-screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Today was a big documentation day for &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org&quot;&gt;Open-BLDC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://github.com/fuchsto&quot;&gt;Tobi&lt;/a&gt; is learning about Open-BLDC to be able to help me with development I really felt the lack of documentation. So together with him we wrote down how the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org/wiki/Ignition_Strategies&quot;&gt;ignition system&lt;/a&gt; currently works. Also I added a &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org/wiki/Developer_getting_started&quot;&gt;getting started&lt;/a&gt; page describing how to build the firmware.&lt;/p&gt;
&lt;p&gt;Last but not least (that took me most of yesterday) I finally managed to add doxygen generation to the firmware code. It is even being automatically generated out of the git repository and making it available on http://doc.open-bldc.org.&lt;/p&gt;
&lt;p&gt;There is still a lot that can be told about the system, but I think we are on the right path. The documentation should grow now significantly when I am not the only person working on the code. :)&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC v0.3</title>
          <pubDate>Thu, 05 Aug 2010 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2010-08-05-open-bldc-v0-3/</link>
          <guid>https://esden.net/blog/2010-08-05-open-bldc-v0-3/</guid>
          <description xml:base="https://esden.net/blog/2010-08-05-open-bldc-v0-3/">&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2010/08/Open-BLDC-V0_3-2-full-front.jpg&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2010-08-05-open-bldc-v0-3/images/Open-BLDC-V0_3-2-full-front-300x199.jpg&quot; alt=&quot;Open-BLDC V0.3 Full Front&quot; title=&quot;Open-BLDC V0.3 Full Front&quot; /&gt;&lt;/a&gt; Hey everyone!&lt;/p&gt;
&lt;p&gt;Just a short update so that you don&#39;t think that I have disappeared completely. :)&lt;/p&gt;
&lt;p&gt;Lately I am really busy so that is why my updates here are very rare. I have moved to California few months ago to work full time on Open-BLDC and Paparazzi. Although Open-BLDC got quite a bunch of attention there is still a lot to do, and this project is still not in a state where it is possible to put the controller on a vehicle and fly with it. :(&lt;/p&gt;
&lt;p&gt;There is some good and bad news. I got the sampling based commutation detection running pretty good. There is an issue with it. Because you can sample the BEMF only once a PWM cycle the resolution prevents turning the motor very fast without adding some kind of an estimator or at least a PLL. So currently only 4000RPM with a 7pole pare motor are possible. :(&lt;/p&gt;
&lt;p&gt;That is why I started working on Open-BLDC v0.3 hardware. It is assembled now and you can look at some pictures &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/esden/4862218816/&quot;&gt;here&lt;/a&gt;. It has a comparator integrated into the power driver board to make commutation detection really easy and have something usable _NOW_. I also found out that using many small mosfet&#39;s is much more efficient then using single big ones. The gate capacitance is lower, the heat dissipation is easier, the on resistance is tiny. The only question is if they will distribute the power evenly between the switches. That is still something that has to be tested. But the power stage board looks really pretty with all those tiny fets on it. There are many more other smaller and bigger improvements that would be too much for such a small post.&lt;/p&gt;
&lt;p&gt;I am currently bringing up one subsystem after another. I had to change some of the connections to the STM32 which means that I have to change the low level drivers and it is always a pain to do.&lt;/p&gt;
&lt;p&gt;Anyways, there is progress and Open-BLDC is not dead! I am working on it. And I am sorry for not keeping you guys more up to date. As always I will try to be better about that. ;)&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC V0.1 Fully Assembled</title>
          <pubDate>Sat, 08 Aug 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-08-08-open-bldc-v01-fully-assembled/</link>
          <guid>https://esden.net/blog/2009-08-08-open-bldc-v01-fully-assembled/</guid>
          <description xml:base="https://esden.net/blog/2009-08-08-open-bldc-v01-fully-assembled/">&lt;p&gt;I finished soldering &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org/wiki/V0.1&quot;&gt;Open-BLDC V0.1&lt;/a&gt; boards and took some pictures while doing so.&lt;/p&gt;
&lt;p&gt;After connecting it to the power everything seems to work properly and nothing is burning. That is really good news.&lt;/p&gt;
&lt;p&gt;One little thing that is bothering me. The board draws 60mA, what is a value that I expected. The 5V linear regulator gets really warm. I am not sure if that will be a problem or not. But I did not find any other problems or screwups yet, even the big MOSFETs can be soldered using a simple soldering iron. It takes some time though, because the board and the MOSFETs are monstrous heatsinks.&lt;/p&gt;
&lt;p&gt;More news coming up as soon as I start playing around with the software. [gallery]&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC V0.1 is alive!</title>
          <pubDate>Fri, 07 Aug 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-08-07-open-bldc-v01-is-alive/</link>
          <guid>https://esden.net/blog/2009-08-07-open-bldc-v01-is-alive/</guid>
          <description xml:base="https://esden.net/blog/2009-08-07-open-bldc-v01-is-alive/">&lt;p&gt;I assembled the basic STM32 circuitry of &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org&quot;&gt;Open-BLDC&lt;/a&gt; and it works. I also made a video showing the logic board and blinking around. I know it is a bit pointless but I love blinking LED&#39;s! ;) I wrote the software using &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://libopenstm32.sourceforge.net/&quot;&gt;libopenstm32&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Have fun:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.youtube.com/watch?v=8eFgZ88FB7c&quot;&gt;Video on Youtube&lt;/a&gt; and &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/6000936&quot;&gt;here&lt;/a&gt; the same video on Vimeo.&lt;/p&gt;
&lt;p&gt;While assembling &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https://www.hermann-uwe.de&quot;&gt;Uwe&lt;/a&gt; and I made some photographs that I don&#39;t want to hold off either.&lt;/p&gt;
&lt;p&gt;[gallery]&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC V0.1 boards are here</title>
          <pubDate>Wed, 05 Aug 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-08-05-open-bldc-v01-boards-are-here/</link>
          <guid>https://esden.net/blog/2009-08-05-open-bldc-v01-boards-are-here/</guid>
          <description xml:base="https://esden.net/blog/2009-08-05-open-bldc-v01-boards-are-here/">&lt;p&gt;Good news everyone! The Open-BLDC boards are on my table. If you ask me they look gorgeous. :) But decide for yourself ...&lt;/p&gt;
&lt;p&gt;Cheers Esden [gallery]&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-Source and Open-Hardware Multicopter platform</title>
          <pubDate>Fri, 24 Jul 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-07-24-open-source-and-open-hardware-multicopter-platform/</link>
          <guid>https://esden.net/blog/2009-07-24-open-source-and-open-hardware-multicopter-platform/</guid>
          <description xml:base="https://esden.net/blog/2009-07-24-open-source-and-open-hardware-multicopter-platform/">&lt;p&gt;Over the last two weeks many things happened. I found out that there is a really open-source and open-hardware quadrocopter project in the wild. It is called booz and is part of the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://paparazzi.enac.fr/wiki/Main_Page&quot;&gt;paparazzi&lt;/a&gt; project. Code and schematics just as board layouts are under the GPLv2 or later license. That is really awesome news.&lt;/p&gt;
&lt;p&gt;This project is intended for research and universities so the boards are using BGA parts that are difficult to solder for a mere mortal, and there is some lack in documentation. That is why some other people and me started a project called &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://openmulticopter.org&quot;&gt;openmulticopter&lt;/a&gt;. The basic idea is to create and maintain a completely open-source quadrocopter/multicopter platform for everyone. As a multicopter does not consist only of the control electronics but also contains parts like remote control receiver, brushless motor controllers, a frame, and so on, we tried to combine many open-source parts that are already out there. Just take a look into the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://openmulticopter.org&quot;&gt;wiki&lt;/a&gt; for more details.&lt;/p&gt;
&lt;p&gt;Some highlights of open-source components that we have chosen so far are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://svn.savannah.gnu.org/viewvc/paparazzi3/trunk/sw/airborne/booz/?root=paparazzi&quot;&gt;booz&lt;/a&gt; (the core of the platform)&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://libopenstm32.sourceforge.net&quot;&gt;libopenstm32&lt;/a&gt; (firmware library for STM32 microcontrollers)&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://rcos-wiki.codingmonkey.de/index.php/RCOPEN24&quot;&gt;RCOPEN24&lt;/a&gt; (a 2.4GHz remote control system)&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org/&quot;&gt;open-bldc&lt;/a&gt; (brushless motor controllers)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also formulated a &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://openmulticopter.org/wiki/Mission_statement&quot;&gt;mission statement&lt;/a&gt; that can be found in the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://openmulticopter.org/&quot;&gt;openmulticopter wiki&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is still a lot of work in front of us, but I am really happy with the progress we are making. If you are interested in contributing just drop into the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://webchat.freenode.net/?channels=#openmulticopter&quot;&gt;#openmulticopter&lt;/a&gt; IRC channel on Freenode, or write an email to the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://openmulticopter.org/cgi-bin/mailman/listinfo/openmulticopter&quot;&gt;mailing list&lt;/a&gt;.&lt;/p&gt;
</description>
      </item>
      <item>
          <title>PWM Schemes/Fieldvector Control</title>
          <pubDate>Fri, 24 Jul 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-07-24-pwm-schemesfieldvector-control/</link>
          <guid>https://esden.net/blog/2009-07-24-pwm-schemesfieldvector-control/</guid>
          <description xml:base="https://esden.net/blog/2009-07-24-pwm-schemesfieldvector-control/">&lt;p&gt;Some time ago I announced the Open-BLDC project in the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://forum.mikrokopter.de&quot;&gt;Mikrokopter Forum&lt;/a&gt;, the post, that you can find &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://forum.mikrokopter.de/topic-9362.html&quot;&gt;here&lt;/a&gt; inspired a very interesting Discussion. One of the topics were PWM Schemes and why one should think about them. The most important reason is efficiency. Most controllers to use &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://multicopter.org/wiki/File:H_pwm_l_on.png&quot;&gt;H_PWM_L_ON&lt;/a&gt; or &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://multicopter.org/wiki/File:H_on_l_pwm.png&quot;&gt;H_ON_L_PWM&lt;/a&gt; schemes. An alternative is &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://multicopter.org/wiki/File:pwm_on_pwm.png&quot;&gt;PWM_ON_PWM&lt;/a&gt; scheme which prevents currents through freewheeling diodes connected in parallel to the MOSFET&#39;s. The freewheeling diodes have higher losses then a MOSFET. I am really asking myself why it is not used. One reason I can think of is that this scheme has 12 steps instead of 6 and therefore is more difficult to implement and BEMF measurement for commutation detection may be more complicated.&lt;/p&gt;
&lt;p&gt;Another approach to the efficiency question may be using fieldvector control. This involves a sinusoidal pwm scheme and current measurement on the phases. Using that way of control should decrease torque ripples which are typical the other schemes mentioned above. It also involves a lot more work on the firmware side.&lt;/p&gt;
&lt;p&gt;I started building a rig for testing the efficiency of the different schemes. It involves a harddisk platter connected to the motor and two harddisk magnets. At the end I will have a eddy current break and can measure how much current is needed to achieve a specific rotation speed. I hope that this way I will be able to make a more or less scientific comparison of control approaches.&lt;/p&gt;
&lt;p&gt;If you have a motor controller I would be really happy if you could take an oscilloscope and record the voltages on the phases. I am really interested what control schemes others use.&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC mockup</title>
          <pubDate>Wed, 01 Jul 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-07-01-open-bldc-mockup/</link>
          <guid>https://esden.net/blog/2009-07-01-open-bldc-mockup/</guid>
          <description xml:base="https://esden.net/blog/2009-07-01-open-bldc-mockup/">&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;As you already know I have layouted the Open-BLDC boards. I was not sure if everything fits mechanically. So I took some cardboard and created a mechanical mockup. It really looks good! It is darn stable (even though it is only cardboard and not FR4) and the screws fit snugly. I think we are getting really near to a state where I can order some boards.&lt;/p&gt;
&lt;p&gt;You can take a look at some images attached to this post.&lt;/p&gt;
&lt;p&gt;Have fun! :)&lt;/p&gt;
&lt;p&gt;[gallery link=&quot;file&quot;]&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC SMD prototype and final prototypes</title>
          <pubDate>Mon, 29 Jun 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/</link>
          <guid>https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/</guid>
          <description xml:base="https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/">&lt;p&gt;[caption id=&quot;attachment_252&quot; align=&quot;alignright&quot; width=&quot;150&quot; caption=&quot;Open-BLDC SMD Prototype&quot;]&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2009/06/open-bldc-smd-prototype.jpg&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/images/open-bldc-smd-prototype-150x150.jpg&quot; alt=&quot;Open-BLDC SMD Prototype&quot; title=&quot;open-bldc-smd-prototype&quot; /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;It has been again a long time since the last post. (I have the feeling to repeat myself here)&lt;/p&gt;
&lt;p&gt;There have been some news on the Open-BLDC front. I have been on &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.motodrone.de&quot;&gt;Motodrone&lt;/a&gt; two weeks ago. Because I took the plane to get there I realized that it will be too difficult to take the breadboard prototype with me. So on a short notice I soldered together a smaller version using smd parts. As an extra feature this prototype includes Allegro hall based current sensors. These will enable us to investigate &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Vector_control_(motor)&quot;&gt;vector control&lt;/a&gt; (aka. field-oriented control).&lt;/p&gt;
&lt;p&gt;At first it worked perfectly. Sadly after some tests I burned two of the three bridge drivers. I only had one spare to replace, so I could not work on the software for long. Today I got replacement bridge drivers. Now I should have enough spare ones to compensate for more burning. ;) So no news on the vector control front yet.&lt;/p&gt;
&lt;p&gt;[caption id=&quot;attachment_255&quot; align=&quot;alignright&quot; width=&quot;150&quot; caption=&quot;Open-BLDC Logic Board V0.1&quot;]&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2009/06/open-bldc-logic-v01.png&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/images/open-bldc-logic-v01-150x146.png&quot; alt=&quot;Open-BLDC Logic Board V0.1&quot; title=&quot;open-bldc-logic-v01&quot; /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;[caption id=&quot;attachment_257&quot; align=&quot;alignright&quot; width=&quot;150&quot; caption=&quot;Open-BLDC Powerstage V0.1&quot;]&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2009/06/open-bldc-power-v01.png&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2009-06-29-open-bldc-smd-prototype-and-final-prototypes/images/open-bldc-power-v01-150x150.png&quot; alt=&quot;Open-BLDC Powerstage V0.1&quot; title=&quot;open-bldc-power-v01&quot; /&gt;&lt;/a&gt;[/caption]&lt;/p&gt;
&lt;p&gt;But I was not lazy while waiting for the replacement parts. I finalized the circuit and routed the logic board and powerstage. The powerstage was more or less straight forward but I am not very happy about the size and dimensions. I just am not sure if it is fittable on a standard Quadrocopter. Still it should be good enough as first etched prototype.&lt;/p&gt;
&lt;p&gt;A much bigger challenge was the logic board. I somehow came up with this crazy idea to constrain the size of it to 45mm X 20mm. Still after many many hours of struggling with that puzzle I managed to squeeze all parts and wires into 45.5mm X 21mm! Yes you are right I am pretty proud of myself. I am still a routing beginner so the result seems to be good for me. :)&lt;/p&gt;
&lt;p&gt;Now I have to wait so some other people review the work I did to try decreasing the amout of possible bugs in this boards. (If you like you can clone the repository &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://github.com/esden/open-bldc&quot;&gt;here&lt;/a&gt; and check the stuff out, and give feedback on the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https://open-bldc.org/cgi-bin/mailman/listinfo/open-bldc&quot;&gt;mailinglist&lt;/a&gt;. (please subscribe before posting! :/ )) When I feel confident enough I will order some boards for testing and we can finally concentrate more on the software. :)&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC PWM Schemes</title>
          <pubDate>Sun, 10 May 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-05-10-open-bldc-pwm-schemes/</link>
          <guid>https://esden.net/blog/2009-05-10-open-bldc-pwm-schemes/</guid>
          <description xml:base="https://esden.net/blog/2009-05-10-open-bldc-pwm-schemes/">&lt;p&gt;Only a short note. I made a video showing all the different &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://multicopter.org/wiki/PWM_Schemes&quot;&gt;PWM Schemes&lt;/a&gt; &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org&quot;&gt;Open-BLDC&lt;/a&gt; supports. Have fun watching:&lt;/p&gt;
&lt;p&gt;Cheers Esden&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC Sensorless Commutation Detection</title>
          <pubDate>Thu, 07 May 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-05-07-open-bldc-sensorless-commutation-detection/</link>
          <guid>https://esden.net/blog/2009-05-07-open-bldc-sensorless-commutation-detection/</guid>
          <description xml:base="https://esden.net/blog/2009-05-07-open-bldc-sensorless-commutation-detection/">&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;As promised I made some videos. First one is showing the maiden run of a motor connected to the breadboard prototype of Open-BLDC.&lt;/p&gt;
&lt;p&gt;(There is also a Vimeo version: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/4533048&quot;&gt;Maiden Run of Open-BLDC&lt;/a&gt; from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/user1330398&quot;&gt;Piotr Esden-Tempski&lt;/a&gt; on &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Yes the motor sounds like a truck. The reason is that I am making forced commutation (not detecting the right time to commutate but do it in fixed time) and the PWM duty cycle is higher then it should be. This way the motor is just jumping between the magnets and has a lot of vibrations.&lt;/p&gt;
&lt;p&gt;The second video is a demo of sensorless commutation detection.&lt;/p&gt;
&lt;p&gt;(There is also a Vimeo version: &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/4533513&quot;&gt;Open-BLDC Sensorless Commutation Detection Test&lt;/a&gt; from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/user1330398&quot;&gt;Piotr Esden-Tempski&lt;/a&gt; on &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;We are using a novel way without a virtual crosspoint. (you can read it up in &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://scholar.lib.vt.edu/theses/available/etd-09152003-171904/unrestricted/T.pdf&quot;&gt;this paper&lt;/a&gt;) We do it even a little bit differently then described in the paper, there are no comparators and latches. What we do is condition the signal to be in the range of 0V to 3.3V and sample it with the ADC at the right times. This is probably the simplest way to do something like this in the STM32. One can now play around with the data that the ADC delivers. I think there is a lot of stuff that can be done using such an approach.&lt;/p&gt;
&lt;p&gt;In the video you may also wonder why it is so loud. Well the PC fan that I just forced onto the rotor is not really the best payload, also it is not balanced well and the bearings in the motor are not the best anymore because of the unbalanced load. ^^ I am also using the simplest and worst PWM scheme that I know of. The so called H PWM L ON scheme.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://multicopter.org/wiki/PWM_Schemes&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2009-05-07-open-bldc-sensorless-commutation-detection/images/H_pwm_l_on.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&quot;H PWM L ON&quot; PWM scheme. Click on the Image to see other PWM schemes.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also see in the video that the motor is pretty robust to external disturbances when running in the commutation detection closed loop. Still I am sure that it can be improved. (If you are interested the sourcecode running this can be seen &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://github.com/esden/open-bldc/commit/4ac0bf84802d08cf76c4055c82aa05ea4c983c33&quot;&gt;here&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;If I am not mistaken then only current measurement is missing in the circuitry. When that is done then I can design the first etched prototype of Open-BLDC. WOOO! :)&lt;/p&gt;
&lt;p&gt;Cheers Esden&lt;/p&gt;
&lt;p&gt;P.S. If you have any comments/ideas feel free to write them in the comment section. ^^&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Open-BLDC status report</title>
          <pubDate>Sat, 02 May 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-05-02-open-bldc-status-report/</link>
          <guid>https://esden.net/blog/2009-05-02-open-bldc-status-report/</guid>
          <description xml:base="https://esden.net/blog/2009-05-02-open-bldc-status-report/">&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;It has been a pretty long time since my last post. But do not worry there is happening a lot &quot;behind the scenes&quot;. Well not so much behind them because I commit everything I do to the github repository (http://github.com/esden/open-bldc). If you want to follow the progress you can also subscribe to the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https://open-bldc.org/cgi-bin/mailman/listinfo/open-bldc-commits&quot;&gt;commit mailinglist&lt;/a&gt; and/or the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;https://open-bldc.org/cgi-bin/mailman/listinfo/open-bldc&quot;&gt;discussion mailinglist&lt;/a&gt;. Feel free to write on the mailinglist if you have any questions or just catch me on #uavp channel on the freenode network. (I think that are enough channels of communication :) )&lt;/p&gt;
&lt;p&gt;Ok back to the topic. Last week I was able to turn a bldc motor the first time using the bread board prototype of the power stage, the STM32 Olimex H103 evaluation board and firmware that you can find in the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://github.com/esden/open-bldc&quot;&gt;repository&lt;/a&gt;. The basic PWM scheme that is used by most controllers is implemented and works pretty well. I am also trying out other PWM schemes that may improve efficiency. You may ask why I am doing it now and not after I made a real hardware prototype of the system. The answer is pretty simple. I have to see if and how it is possible, to make sensorless commutation detection, when using different PWM schemes. I had to realize that the schemes have a big influence on the signals that can be captured.&lt;/p&gt;
&lt;p&gt;As soon as I have more results I will make a video showing the current state and how the controller behaves when using different approaches. So stay tuned!&lt;/p&gt;
&lt;p&gt;Cheers, and I hope hearing from you too in the comments! :)&lt;/p&gt;
</description>
      </item>
      <item>
          <title>IR2110 based power stage circuit</title>
          <pubDate>Tue, 24 Mar 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-03-24-ir2110-based-power-stage-circuit/</link>
          <guid>https://esden.net/blog/2009-03-24-ir2110-based-power-stage-circuit/</guid>
          <description xml:base="https://esden.net/blog/2009-03-24-ir2110-based-power-stage-circuit/">&lt;p&gt;[caption id=&quot;attachment_201&quot; align=&quot;alignright&quot; width=&quot;150&quot; caption=&quot;Circuit&quot;]&lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://esden.net/wp-content/uploads/2009/03/ir2110_circuit.png&quot;&gt;&lt;img src=&quot;https://esden.net/blog/2009-03-24-ir2110-based-power-stage-circuit/images/ir2110_circuit-150x150.png&quot; alt=&quot;Circuit&quot; title=&quot;ir2110_circuit&quot; /&gt;&lt;/a&gt;[/caption] I started to build up the Open-BLDC circuit on a breadboard. Then a problem occurred. The low side works as it should but the high side just did not. After several hours of trying and reading the data sheet of &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/product-info/datasheets/data/ir2110.pdf&quot;&gt;IR2110&lt;/a&gt; I gave up and asked &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www9.cs.tum.edu/people/ruiz&quot;&gt;Federico&lt;/a&gt; again for help. After some time we found an application note &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/technical-info/appnotes/an-978.pdf&quot;&gt;AN-978&lt;/a&gt; from International Rectifier. This explained everything. You need to select very carefully the Boot capacitor. This is the one between VB and VS pins of IR2110. It is providing the charge for the gate of the high side MOSFET when you turn it on.&lt;/p&gt;
&lt;p&gt;For testing you can take a big capacitor, so that when you manually switch on the high side you see something happen. I took a 330uF capacitor and it is enough to turn the high side MOSFET on for about 30 seconds. Still you have to be careful because the capacitor only gets charged when the low side MOSFET is turned on. So after turning on the power the capacitor is not charged and you have to turn the low side MOSFET on first, then turn it off again and finally switch the high side on.&lt;/p&gt;
&lt;p&gt;In the final design one should probably select the right bootstrap capacitor. The equation for calculating that value is described on page 6 of the International Rectifier application note &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/technical-info/appnotes/an-978.pdf&quot;&gt;AN-978&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can probably get rid of the capacitor and the diode if you connect VCC directly to VB. The problem you get then is that when the current on VS gets higher then 12V you get a problem. But I may be mistaken. Correct me if I am wrong.&lt;/p&gt;
&lt;p&gt;Conclusion: read the damn application notes and I still have problems with understanding the electrical engineer talk! :)&lt;/p&gt;
&lt;p&gt;I hope this helps someone. You can see my circuit for one half bridge attached to this post. And a picture of my breadboard.&lt;/p&gt;
&lt;p&gt;I use the two LEDs to see what happens with the MOSFETs. They are glowing a little when both sides are off. The one connected to 12V is switching off when the high side is on and the one connected to GND switches off when the low side is on. I love LEDs! :)&lt;/p&gt;
&lt;p&gt;Cheers Esden [gallery]&lt;/p&gt;
</description>
      </item>
      <item>
          <title>Selecting parts for Open-BLDC power stage prototype</title>
          <pubDate>Sun, 15 Mar 2009 00:00:00 +0000</pubDate>
          <author>Esden</author>
          <link>https://esden.net/blog/2009-03-15-selecting-parts-for-open-bldc-power-stage-prototype/</link>
          <guid>https://esden.net/blog/2009-03-15-selecting-parts-for-open-bldc-power-stage-prototype/</guid>
          <description xml:base="https://esden.net/blog/2009-03-15-selecting-parts-for-open-bldc-power-stage-prototype/">&lt;p&gt;The other day I ordered parts to build the first prototype of &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org&quot;&gt;Open-BLDC&lt;/a&gt; on a &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Breadboard&quot;&gt;breadboard&lt;/a&gt;. It is a bit different animal then the board designs I already have because it needs legged parts.&lt;/p&gt;
&lt;p&gt;The main problem is to find the right &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt;s and driver chips for this application. As I have no electrical engineering background I did not really understand the values that were listed in the data sheets. I asked an electrical engineering friend and he helped me with locating the most important values. Thanks &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www9.cs.tum.edu/people/ruizf/&quot;&gt;Federico&lt;/a&gt;!&lt;/p&gt;
&lt;h3 id=&quot;mosfet-values&quot;&gt;MOSFET Values&lt;/h3&gt;
&lt;p&gt;I realized that the most important values for &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt;s are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Drain to source voltage&lt;/li&gt;
&lt;li&gt;Gate to source voltage&lt;/li&gt;
&lt;li&gt;Continuous drain current&lt;/li&gt;
&lt;li&gt;Input/Output capacitance (turn on/off time)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; I selected is not perfect but should do for this first prototype. It is the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/product-info/datasheets/data/irf1010n.pdf&quot;&gt;IRF1010N&lt;/a&gt; from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/indexsw.html&quot;&gt;International Rectifier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Drain to source voltage&lt;/strong&gt; In my case as I am using the standard three cell &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Lithium_polymer&quot;&gt;LiPo batteries&lt;/a&gt; used in models. I need something above 12V. The smallest ones are 20V but the one I could get from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.reichelt.de/&quot;&gt;Reichelt&lt;/a&gt; was 55V. That is still OK.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gate to source voltage&lt;/strong&gt; For example the high side &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; has 12V attached to source. When the gate is driven low, the voltage difference between gate and source are 12V. In many cases that is a problem. Because when you charge your battery full the voltage difference gets even bigger or even worse when you try to use a battery with 4 cells instead of 3. Most &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; that I found have only 12V specified as gate to source voltage. It still probably works with more because of tolerances but still it is probably not good. The &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; I am now using for the prototype has ±20V in the specification. That should work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Continuous drain current&lt;/strong&gt; This one will get more important in the future. It is telling how much current the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; can put through. For the prototype that is more or less a functional test of the circuit it does not matter so much. But in the future when I want the controller to support up to 20A continuous current this one will get very important. The IRF1010N is specified for 85A at 25ºC and 60A at 100ºC. So this values are meant for applications where you have a heat sink attached to the MOSFET&#39;s. I will try to avoid using heat sink. I could calculate the exact number but the rule of thumb is that one should take 1/10th of the value. This means that with this &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; I will be able to run at about 6A to 8A. As the lab power supply, I have access to and will use for the prototype, can only deliver 2A that should be more then enough. There are several other values that are connected to this one. Like &lt;em&gt;drain to source on resistence&lt;/em&gt;, &lt;em&gt;thermal resistence&lt;/em&gt;, &lt;em&gt;power dissipation&lt;/em&gt; aso. One can use them to calculate the exact amount of current the part can put through. But I think it is too early to make all the calculations yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Input/Output capacitance (turn on/off time)&lt;/strong&gt; This is a set of values that tell how fast the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; can be switched on and off. It will also get more important in the future when selecting the right &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt; for the final design. For now the 76ns rise and 40ns fall times should be enough. They will probably get even lower because I am using a dedicated half bridge driver chip.&lt;/p&gt;
&lt;h3 id=&quot;half-bridge-driver&quot;&gt;Half Bridge Driver&lt;/h3&gt;
&lt;p&gt;I did a lot less research here. Thankfully there are not as many half bridge drivers out there as there are &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt;s. The one I selected is the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.irf.com/product-info/datasheets/data/ir2110.pdf&quot;&gt;IR2110&lt;/a&gt;. It would be a bit big for the final design because of the additional leads. But it should be OK for this prototype. The problem I had here is that I have 3.3V digital input from the microcontroller and I want to drive the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/MOSFET&quot;&gt;MOSFET&lt;/a&gt;s with 12V. As it seems the other drivers that I considered don&#39;t recommend that. That is why I had to choose this one. I hope that I will find something that is smaller and still supports the 3.3V input.&lt;/p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Selecting parts is a very tiresome endeavor. The shops only have a subset of the parts that are available out there. I wanted to order all parts from one shop that is somewhere in Germany. I could probably get better parts ordering from &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://www.digikey.de/&quot;&gt;Digikey&lt;/a&gt; but it would cost more. For the next stage of &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://open-bldc.org&quot;&gt;Open-BLDC&lt;/a&gt; development I will have to select better parts. But first I how a feasible circuit should look like. That is why I am going for the &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Breadboard&quot;&gt;breadboard&lt;/a&gt; test first.&lt;/p&gt;
&lt;p&gt;If you find any mistakes or I misunderstood something here feel free to tell me.&lt;/p&gt;
&lt;p&gt;Cheers Esden&lt;/p&gt;
</description>
      </item>
    </channel>
</rss>
