![Bild](http://dl.dropbox.com/u/11939603/zc.jpg)
och detta dokument ger teorin bakom: http://scholar.lib.vt.edu/theses/availa ... cted/T.pdf
Problemet jag har är att jag får inte en sådan kurva utan min ser lite annorlunda ut. Den bit i kurvformen som är annorlunda är under den flytande fasen, på ena sidan får jag likadan kurvform men på andra sidan ligger pwm-off perioden hela tiden på 0 V. (Kommer en bild lite senare för o visa exakt hur)
Detta gör att jag bara får varannan nollgenomgång (bara på stigande eller bara på fallande ramp).
Hårdvaran är egenutvecklad och består av en stellaris cortex-m3 processor med lite kringkomponenter och ett drivsteg. Jag har ingen filtrering på ad-ingångarna som man ofta ser eftersom det inte ska behövas enligt dokumentet. Koden är ganska simpel, jag spinner upp motorn genom att ladda en timer med en avtagande kommuteringstid och när jag kommer upp i varv börjar jag mäta back-emf. Vid nollgenomgång startas en annan timer som resettas vid nästa nollgenomgång. Tiden mellan genomgångarna ger kommuteringstiden (missar jag en nollgenomgång delas tiden med 2). Jag förutsätter att nollgenomgång sker vid halva kommuteringstiden och laddar således kommuteringstimern med halva nollgenomgångstiden vid nollgenomgång.
Så frågan är alltså, varför får jag en annorlunda kurvform? Det fungerar, men det känns inte som jag får kommuteringen rätt... Har slitit med detta rätt ordentligt sista veckorna, men kommer inte framåt.
EDIT: var "BLDC-motor controller, problem med nollgenomgång" men nu är det löst.