<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Esden&#39;s Blog - closed-loop</title>
    <subtitle>This is Piotr Esden-Tempski&#39;s personal blog</subtitle>
    <link rel="self" type="application/atom+xml" href="https://esden.net/tags/closed-loop/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://esden.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2010-09-19T00:00:00+00:00</updated>
    <id>https://esden.net/tags/closed-loop/atom.xml</id>
    <entry xml:lang="en">
        <title>Open-BLDC V0.3 Hardware Based Closed Loop Control</title>
        <published>2010-09-19T00:00:00+00:00</published>
        <updated>2010-09-19T00:00:00+00:00</updated>
        
        <author>
          <name>Esden</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://esden.net/blog/2010-09-19-open-bldc-v0-3-hardware-based-closed-loop-control/"/>
        <id>https://esden.net/blog/2010-09-19-open-bldc-v0-3-hardware-based-closed-loop-control/</id>
        
        <content type="html" xml:base="https://esden.net/blog/2010-09-19-open-bldc-v0-3-hardware-based-closed-loop-control/">&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Good news everyone!&lt;/p&gt;
&lt;p&gt;After again a way too long time some new news! I finally implemented hardware based commutation detection and the associated closed loop controller.&lt;/p&gt;
&lt;p&gt;That was quite a run because of a cascade of timing and timer problems. And a very nasty compiler bug. But now it works and very well on top of that. Woohoo o/ But see for yourself in the video.&lt;/p&gt;
&lt;iframe class=&quot;youtube-player&quot; type=&quot;text/html&quot; width=&quot;560&quot; height=&quot;340&quot; src=&quot;http://www.youtube.com/embed/qq3GyXGHJkM&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;The video also shows the new implementation of the startup routine. It uses now a separate software timer. It was made possible by using SysTick as timer base and implementing the timer in software. This way it is easy to add new timers that don&#39;t need to be very time precise, as it is the case in startup, or ignite as I like to call it. :) The old implementation was using timer overflows of the commutation timer that led to nasty speed jumps while starting up and made the startup unreliable.&lt;/p&gt;
&lt;p&gt;Next step, put Open-BLDC on a plane! :)&lt;/p&gt;
&lt;p&gt;As always you are welcome to drop by in &lt;a rel=&quot;noopener external&quot; target=&quot;_blank&quot; href=&quot;http://webchat.freenode.net/?channels=#open-bldc&quot;&gt;#open-bldc&lt;/a&gt; channel on freenode if you have questions or just want to hang around to follow the cutting edge development. :)&lt;/p&gt;
</content>
        
    </entry>
</feed>
