Alles moet draaien

Door Infant op zondag 7 september 2014 19:21 - Reacties (10)
Categorieën: Gemod / Gefix, Sparta: Fiets verbouwen tot het stuk gaat., Views: 9.790

Dit is een vervolg op:
Dooie Fiets
Banana?
Bananen Taal
Cyclic Banana Checks
En je zit nu hier: Alles moet draaien
Volgende deel

Boe!

Om het wrak dat heet mijn fiets in ieder geval van verlichting te voorzien, had ik een ruime tijd geleden al bedacht dat het wel lollig zou zijn als ik dat op zijn minst iets kon doen met die roterende bonk koper in mijn achterwiel, gezien het op dat moment niet zo veel deed.

Mijn ervaring met fietslampjes is dat ze altijd stuk zijn of slecht contact maken. Of het blijkt dat een of andere onverlaat de draadjes heeft gejat. Of je dynamo zit vol met zand/sneeuw/blaadjes of andere NS-smoesjes, waardoor het allemaal niet werkt.

Een motor die werkt als dynamo daarentegen, werkt tot nu toe vrij geweldig. Ik heb dat ding al meer dan een jaar als dynamo laten werken, en hij doet het nog steeds. En dat is lang, voor mijn doen. (Ik hou o.a. erg van trappetjes op en af rijden..)

Normaliter is een dynamo iets van 6V. Deze niet. Om de 0 tot veel volt die hier uit komt vliegen tot iets zinnig om te zetten, heb ik daar voor zo'n Chinees doosje voor van eBay gesloopt, en op een heel andere manier toegepast dan normaal. Hij zat zonder accu aan gesloten. Dan maakt hij zelf c.a. 27V als je eerst voldoende snelheid maakt, en op die 27V konden dan weer mooi 2 Chinese 12V led lampen branden.

Dat werkt op zich vrij aardig, maar heeft ook een aantal nadelen:
- De verlichting staat nu altijd aan, ook overdag.
- Er komt een irritant hoge pieptoon uit mijn frame, als ik mijn hoofd 2 centimeter beweeg.

Nou valt dat allemaal nog wel op te lossen. Deze Nederlander is ook met deze controllers bezig geweest: http://www.avdweb.nl/sola...u63-motor-controller.html

En deze meneer heeft een vrij leesbare en gedetailleerde verzameling foto's, schema's en feiten op een rij gezet, zodat je in theorie niet eerst 32 Euro aan kapitaal hoeft te verbranden om te weten wat je in huis gaat halen.

Hij heeft er een zogenaamd legislation-device in gemaakt, wat inhoud dat het doet wat het volgens de wet moet doen: mee trappen. En dat heeft heeft hij prachtig weg gewerkt:

Het werkt toch?

Ineens is het duidelijk waarom er voor een één aderig communicatie protocol is gekozen: Het maakt het leven van degene die alles in en uit elkaar moet halen een stuk eenvoudiger en vereist zo veel minder mechanisch geneuzel. (Als ik ergens moe van wordt, dan is het wel mechanisch geneuzel.)

Als ik bij deze fiets de motor los wil maken, haal ik de moertjes los. Doe ik "Plop", en voila. De motor is los.

Het is alleen zo jammer dat het vervolgens never nooit meer gaat werken omdat de dealer er eerst wat software-voodoo op los moet laten omdat Infant er weer zo nodig met zijn nieuwsgierige jatten aan moest zitten.

En dat Chineese ding gaat natuurlijk never nooit met het lollige ronde display werken waar ik jullie de afgelopen tijd mee verveeld heb. Kortom:

Tijd om zelf een motor controller in elkaar te zetten:
Hoe moet dat?
Als je zelf iets gaat maken, helpt het altijd om te kijken of niet iemand anders het stiekem ook gedaan heeft. Motoren aansturen is niets nieuws, en er bestaat dan ook een Open source motor controller.

Hier zit een STM microcontroller op die alle aanstuur logica doet.

In de orginele Sparta en Batavus motoren die ik heb, zit een Motorola chip. En voor specifiek die chip, is ook een application note beschikbaar.

Ze zijn echter nergens echt te koop, en al waren ze dat wel: ik heb er toch geen programmeer spul voor liggen, of zin om er aan te beginnen.

Ik ga deze met een ATxmega opbouwen.

Op wat merk component keuze na, zitten al deze controllers verder stiekem hetzelfde in elkaar. (Ze moeten ook hetzelfde doen... dus dat is niet heel vreemd.)

De motor die deze elektronica moet aansturen is een zogenaamde Brushless DC Motor. Het is eigenlijk een soort combinatie tussen brushed DC, een stappen motor en een 3-fase AC motor.

Een brushed DC motor gebruikt kool borstels om de stroom richting door de spoelen om te draaien, hier moet de elektronica dat gaan doen. Dit scheelt ons een setje koolborstels.

Het heeft net als een DC motor magneten in het rond draaiende deel zitten (de rotor).
Het heeft drie aansluit draden. Net als de 3-fase draden uit een 3-fase AC motor.

En het heeft 8 pool paren, wat inhoud dat als de drie fases een rondje gedraaid hebben, de motor maar 1/8e rondje gemaakt heeft. (Dat is een beetje stappen motor-achtig.)

Het duidelijkste plaatje wat ik heb kunnen vinden...
Zes mogelijkheden.


...laat zien dat er 6 verschillende mogelijkheden zijn waarin de stroom kan rond lopen. Als de controller dit fout doet, gebeurt er of niks, of de motor blijft vast zitten, of hij draait de verkeerde kant op.

Om het gemakkelijker goed te laten gaan, zitten er drie hall sensoren in deze motor. Deze geven aan in welke positie de magneten staan, zodat je weet welke van de 6 mogelijkheden je moet kiezen om de motor vooruit of achteruit te laten draaien.

Niet zo muizen. Dat kietelt.

De back-EMF van deze motoren heeft een trapezoide vorm, i.p.v. een sinusoïde.


Hall sensoren komen in veel verschillende smaken. Degene die hier in zitten zijn zogenaamde open-drain types. Dat wil zeggen dat je hun uitgang d.m.v. een pull-up op 5V moet zetten, die laten ze met rust als het signaal hoog is, en trekken ze omlaag als het signaal laag is.

De Chinese motor controller gaat van precies het omgekeerde uit (hij trekt ze zelf omlaag) en ziet als je ze direct aansluit geen sensoren.Hij kan vervolgens wel de motor laten draaien door naar de back-EMF te kijken, maar vooral bij lage snelheid loopt dit niet zo lekker.

Het belangrijkste ding wat al dit stroom-omdraai werk gaat verrichten zijn 6 mosfets gerangschikt in 3 halve bruggen:

http://prinsprojects.nl/dprins/tweakers/banaan/three_phase_inverter.png


Een synchrone buck DC-DC converter gebruikt ook een halve brug, om van een hoge ingangsspanning een lagere uitgangsspanning te maken. Hier gebeurt per fase hetzelfde. Bij een laag toerental krijg je minder spanning over een winding dan de accu spanning, hoe hoger het toerental hoe meer spanning je nodig hebt om vooruit te blijven gaan.

Een buck converter kan ook van de uitgang naar de ingang werken (door alleen maar de manier van schakelen te veranderen), en de lagere spanning van de motor terug de accu in persen. De motor gaat dan tegen werken, en als je verder niks doet, rem je dus af.

Het is verder de taak van de microcontroller te zorgen dat er niks spontaan in de fik vliegt. Als je bijv. accu en een snel rond draaiende motor hebt, en je denkt: "Kom, laat ik eens heel hard gaan afremmen." kan de stroom die het remmen oplevert nergens heen. Het gevolg is dat de spanning door het dak schiet en het gros van de componenten sloopt.

Dit brengt mij tot de twee belangrijkste eisen van het eerste prototype, namelijk:

1: Het moet de motor kunnen laten draaien en vooral ook weer afremmen.
2: Het moet niet stuk gaan, ook al trek ik halverwege het testen accu's en kabels los.

Vervolgens moet het natuurlijk (niet per-sé in volgorde):
3: Met een rem en een gas hendel kunnen werken. (Met zo'n mumsel bijvoorbeeld.)
4: Moet met het display kunnen babbelen.
5: Moet in het wiel passen en trap ondersteuning kunnen doen.
6: Moet knetter hard kunnen gaan tot er dingen gaan smeulen.
De hardware
De orginele motor controller in deze motor, bestaat uit twee losse printjes.

Op de power-print zit de aansluiting die het wiel uit gaat.
De 6 mosfets + gate driver.
Een 12V regelaar voor de gate driver.
Een stroom meet ding + weerstanden.

De andere bevat de microcontroller, die voor elke 6 mosfets een PWM signaal produceert, die gaan door een kabeltje heen.

De andere kabel komt de accu spanning op binnen, gaat 5V voor vermoedelijk de stoom meting naar buiten.

Ik heb i.p.v. een enkele driver, 3 losse drivers: IRS2001.
En verder heb ik alles gewoon op één printje geplempt, zodat het makkelijker te testen is. Vervolgens is het zo snel en goedkoop mogelijk bij een chinees besteld:

Beetje vol...


Een weekje later was PCBtje binnen, en zat het in elkaar:

Beetje vol...


Om het testen makkelijk te maken, heb ik de hall sensoren (5 draadjes) plus de 3 fase draden naar buiten gehaald, zodat de motor verder dicht kan blijven, ook als ik de inbouw versie ga testen. Hiervoor heb ik een los wiel, uiteraard defect, van marktplaats getrokken. Een accu boor zonder accu uit het afval gehaald, de accu inhoud uit de de banaan aan de boor geknoopt, alles met als doel mij het gevoel te geven dat de fiets zich zelf kan kannibaliseren:

Moehahaha!


Met als resultaat:

Floep!


Vervolgens is wat programmeer werk en uitzoeken welk draad in nou waar aan vast gemaakt heb, maar na een tijdje deed het in ieder geval wat:

https://www.youtube.com/watch?v=_d-LPEhaNIY

En in het volgende filmpje: https://www.youtube.com/watch?v=T1ocqZR6tVY heb ik de hall sensoren aangesloten, en kan de snelheid vooruit/achteruit via een console venstertje ingesteld worden.

Als mensen het interessant vinden om het schema en de code in detail besproken te hebben, laat maar weten... dan doe ik dat.

Er komen de volgende keer(en) zowiezo wat horror pics van hoe de eerste test sessie is afgelopen, hoe de nieuwe testopstelling er uit ziet, en waar dit alles uiteindelijk heen gaat.

Volgende: Alles moet (kapot) draaien 09-'14 Alles moet (kapot) draaien
Volgende: Cyclic Banana Checks 07-'14 Cyclic Banana Checks

Reacties


Door Tweakers user KleineJoop, zondag 7 september 2014 20:09

Erg interessant om te lezen, zelfs voor een electronica leek als mij is het enigzins te begrijpen. :)

Door Tweakers user sebastius, zondag 7 september 2014 20:29

Hij is weer top!

Door Tweakers user erazer33, zondag 7 september 2014 22:10

Details over het schema en de code zou ik zeker interresant vinden :)

Door Tweakers user BenPi, zondag 7 september 2014 22:17

En ik ook wel !!:-)

Door Tweakers user mux, zondag 7 september 2014 22:52

Wanneer kan ik hem nou eindelijk in m'n fiets gooien?

Door Tweakers user Infant, zondag 7 september 2014 23:26

Thanks! :)
erazer33 schreef op zondag 07 september 2014 @ 22:10:
Details over het schema en de code zou ik zeker interresant vinden :)
Het staat op de todo lijst.
mux schreef op zondag 07 september 2014 @ 22:52:
Wanneer kan ik hem nou eindelijk in m'n fiets gooien?
Soon....

Door Tweakers user Harrstein, maandag 8 september 2014 00:35

Goed bezig! en meer techniek is meer beter

Door Tweakers user Pinky-H9, maandag 8 september 2014 08:07

Kijk eens naar een RC Brushless motor controller bv XERun 150A controller. Lopen op een ATmel en kosten bijna geen drol. http://www.hobbywing.com/product_show.asp?id=238

Door Tweakers user Karmos, maandag 8 september 2014 22:13

Het is toch geniaal hoe Infant met verkeerde batterijen, hopen afval, chinese chips en meer afval alles kan laten werken.
_/-\o_ _/-\o_ _/-\o_

Door Tweakers user ThinkPad, dinsdag 9 september 2014 22:29

Goede vooruitgang, en geweldige blogpost(s). Ik lees ze altijd met veel plezier :Y

Reageren is niet meer mogelijk