Alles moet (kapot) draaien

Door Infant op zondag 21 september 2014 15:20 - Reacties (22)
Categorieën: Gepruts, Sparta: Fiets verbouwen tot het stuk gaat., Views: 16.114

Dit is een vervolg op Alles moet draaien. Het vervolg staat hier: Alles moet rond draaien.

Ik had net een stukje hardware in elkaar gefrommeld, en het jeukte enorm om het op mijn fiets te monteren.

Voordat ik dat ga doen, wou ik eigenlijk wel graag weten hoe hard ik fiets. Want... SPEED IS KEY!
Op het moment is alle orginele Batavus rommel er uit gehaald, en ligt nog ergens in een doos niks te doen.

De accu die er oorspronkelijk in zat is helemaal uit elkaar, gezien ik daar geen teken van leven meer uit kreeg. En de elektronica daarvan is tot op het bot kaal geplukt. Het leek me niet zo'n geweldig idee om die weer terug in elkaar te zetten.

Gelukkig heb ik nog een werkende banaan,uit de debug-sessie een aantal posts terug. Als ik die kan laten werken met de orginele motor controller, kan die op zijn minst als kilometer teller ingezet worden... tenminste, dat is het plan.

Tijd om de motor controller die ik uit mijn motor gesloopt heb op te graven, en op mijn kuuroord te leggen. (Mijn bureau is verheven tot kuuroord, waar defecte elektronica tot leven gemasseerd word.)
Stap 1: Kuuroord
Ik ben er 99% zeker van dat de kilometer teller de hall sensoren gebruikt om vast te stellen hoe hard het wiel rond draait. Alles op dom geluk in elkaar zetten werkt bij mij nooit, dus ik pak dit stap voor stap aan.

Als je dit plaatje van de vorige keer er bij pakt...
Hall... o.

... zie je dat de hall sensoren een vrij gemakkelijk signaal produceren, makkelijk om na te doen. Dus ik dacht, als ik die gewoon zelf fabriek, en op de hall sensor ingang aansluit.... wellicht denkt hij dan dat er iets van rotatie plaats vind?

De plek waar de hall-sensoren aansloten zaten, zijn netjes gelabeld, dus daar friemelen we een stekker aan:

Zo. Een stekkert.

Vervolgens heb ik dit (de motor controller), banaan-accu en display allemaal aan elkaar gehangen. Het Olimex bordje geeft nu continue een signaal uit zoals uit het plaatje hierboven, en luistert tussendoor al het dataverkeer af en duwt die door naar de de PC.

Met een berg draadjes zit alles aan elkaar gefriemeld, en ziet het kuuroord er ongeveer zo uit:

Klein hè? Klik dan!
Wat zie je allemaal? Links een programmer, het olimex bord (wat langzaam een puinhoop begint te worden) dient hier als data-snuiver. Een ourwoud van krokodillen klemmen, die de voeding en data van de accu aftappen, de twee ronde PCBtjes die de zwaartekracht trotseren, een bosje van 5 draadjes die van het olimex bord naar het ronde PCB gaan. (En een firewire kabel die ook mee wil doen.)


En eigenlijk al direct na het aansluiten, kijk... onderin op het display... Kijk wat hij zegt: We gaan 16.1 km/h! Op een bureau! We hebben zelfs al 1km afgelegd! Hoe is het mogelijk?

Het kan deze motor/display combinatie kennelijk geen enkele moer uitmaken dat ik er een jaar later een andere accu op aan heb gesloten. Sterker nog: Ik heb nog nooit zo weinig foutmeldingen gezien op dit display.

Als bijkomstigheid is het leuk om naar het dataverkeer te kijken: De accu vraagt aan het display om zijn serie nummer tegen de motor te vertellen. Kennelijk moet de motor dat dan goed vinden, en vervolgens geeft hij de snelheid en afgelegde afstand en nog wat rommel door.

De accu ziet deze data voorbij komen, en zet dit eens in de zoveel tijd op het display. Ik heb hier uiteraard een tooltlje voor geschreven, want ik werd helemaal gestoord van Termite output heen en weer copy/pasten:

Die kleurtjes ben ik het langst mee bezig geweest.
Al mijn tootljes doen meestal één ding, en over drie maanden weet ik niet meer wat dat was. Het lijkt erop dat de accu met nog een aantal dingen probeert te babbelen, die er niet zijn.

Dat is allemaal heel leuk en enig, maar nu eerst: Inbouwen die handel. Wie weet, doet hij het straks gewoon weer?

Als ik mijn fiets nou in elkaar kon solderen...

Op het tweede plaatje vraag je je af: Zit die dropveter niet wat karig? Nee, want er moet ook nog een isolatie flapje tussen. En dat werkt niet als je het draadje er netjes doorheen doet.

Nu begin ik een beetje te begrijpen waarom deze dingen zo duur zijn. De fiets zelf zit het hem niet in: Dit type motor is zo'n beetje het goedkoopste wat je kunt maken. Het heeft verder geen versnellingen, en de verlichting is een standaard 6V gloei lampje.De spatborden laten los, en het plastic om de kettingkast ratelt als een zak grind in een wasdroger. Zo'n beetje elke schroefje en boutje heeft een andere maat, en ze zijn allemaal verroest.

Op zich is het verder een prima ding, ik rijd er graag mee trappetjes op en af, en hij doet het nog steeds.

Maar... het gros van de kosten zal wel zitten in het in elkaar zetten van dit ding. Wat een pokke werk. Alles past precies net niet, en moet meet een zekere hoeveelheid geduld terug in elkaar gedwongen worden.

Nu is het printje terug gesoldeerd, de motor weer dicht en achterin de fiets. De "nieuwe" accu zit terug in het frame, en het display zit weer op zijn plek. Eens kijken wat hij doet....

Ik rijd naar buiten, zet de ondersteuning op standje 3, (klik hoor je dan) en begin te trappen. Meteen geeft hij keurig de snelheid aan. Maar ondersteunen doet hij nog niet echt.

Maar...

Ik zal wel iets verkeerd om aangesloten hebben, want op het moment dat ik op houd met trappen gaat hij er uit zichzelf vandoor, en het moment dat ik weer trap stopt hij met mee helpen. 8)7

...

Dat is vrij irritant als je een helling op fietst. Het moment dat je ene voet kracht zet, stop hij, dan heb je even zo'n punt dat beide voeten niks doen, waarin hij eventjes mee helpt, en dan bij de volgende voet doet hij weer niks.

Nou heb ik ook op een berg werkende exemplaren van deze fiets gereden, en ik vind trap ondersteuning sowieso irritant: Het moment dat je ophoud met trappen gaat hij nog even eigenwijs één seconde door, en als je weg rijd moet je lekker even wachten.

Maar dit boeit me allemaal niet. Zonder trapondersteuning doet de snelheid en afstandsmeter het ook, en dat was het doel. Next!
Stap 2: Meer mechanisch geneuzel.
Stap twee is de MUT (Motor Under Test) aansluiten. Waar gaat die? Juist, in het voorwiel. Waar anders?

Meteen loop ik weer tegen een probleem op: de as diameter achter is anders dan voor. Achter is 12mm, en het voorwiel is 10mm. (Waarom kan dat niet hetzelfde zijn? Nu heb ik twee types moertjes en sleutels nodig.)

Gelukkig is het frame en de voorvork van aluminium gemaakt, en dan ook nog aluminium van het type zacht als boter. (Ik weet niet welk DIN nummertje dat is...) En is echt twee seconden werk voor de banaan-powered-power-tool (BPPT). (Door een boor van 14.4V op 24V te draaien gaat alles sowieso veel sneller, en houd hij je hand ook lekker warm.)

Probleem twee is dat wiel wat ik voorin wil hebben, gewoon echt veel te vadsig is en er niet tussen past. Het voornaamste wat er dan in de weg zit is het tandwiel, en een stuk aluminium aan de andere kant... waar allerlei accessoires zoals remtrommels op geschroefd kunnen worden.

Ik heb niet zoveel tools. Een veil, een metaal zaag een berg schroevendraaiers en ongeveer 10 boren zonder accu... en een bezem. Die gaan dit allemaal niet zo makkelijk kunnen doen.

Maar deze fiets heeft een ongekend vermogen om zichzelf op eigen kracht kapot te maken: Door de motor terug in de opstelling te plaatsen, en de zelfbouw-controller te vertellen dat ik continue een even grote hoeveelheid stroom de motor in geperst wil hebben, krijg je een constant koppel. En dat werkt ideaal als draaibank. Zo hoef ik de metaal zaag er alleen maar op te houden, en dan vreet het overtollige aluminium zichzelf langzaam op:

Doei tandwiel!. Te koop: Motor, als nieuw.

Na een minuutje of 10 waren beide stukjes aluminium er af, en met een overmatige hoeveelheid spacers pastte het eindelijk in de voorvork.

Volgende probleem: Ik was iets te enthousiast met aandraaien, en nu sprong het ding wat de motor op zijn plek moet houden (een torque washer... is in het nederlands?) van ellende uit elkaar.

Pfff. Ik wil gewoon testen. Goed vast draaien, en hopen dat het blijft zitten.

Laatste stap: Deze motor + controller moet natuurlijk ook prik hebben, en het zou zonde zijn om de gloednieuwe banaan in het frame open te maken. (Ze zouden eigenlijk van kleur moeten veranderen, groen - geel - bruin naarmate je ze leeg trekt.)

Nou heb ik nog een ongebruikte 24V NiCd accu uit een boor in de kast liggen, die verder nergens op past. Die kan opzich wel dienst doen. Dit leverde na niet al te lange tijd de volgende contraptie op:

Dit kan zo kickstarter op.

Dat blauwe spul is een silicone matje wat extreem precies op maat geknipt is (Not). Links zit een zekering zodat ik 's nachts ietsje beter slaap, en verder heeft het alle standaard items die je moet willen hebben: duc(k)(t)tape en tie-wraps voor gegarandeerd mechanisch succes.

Dit dient vervolgens met dezelfde hoogwaardige mechanische tools tegen het frame gemonteerd te worden, met als eind resultaat:

Ik werd een beetje raar aangekeken in de lift...
Werkelijk prachtig. What could possibly go wrong?

Het controller printje was voorzien van de meest basis functionaliteit: het gas hendeltje uitlezen. (Thumb throttle van een chinees op eBay, mag je lekker 5 weken op wachten.) Vervolgens werd dit vertaald naar een combinatie van snelheid en stroom: 50% hendel betekend 50% van de maximale stroom en 50% van de snelheid. (Ongeveer...)

Dit ging best wel aardig.. je voelde dat je vooruit getrokken werd. Maar de 5 Ampère waar de stroom limiet op ingesteld stond leek op de test opstelling gigantisch veel, (het heeft al vrij veel aluminium krom gebogen) maar als je er vervolgens met je kont bovenop gaat zitten stelt het niet zo veel meer voor.

Dus dat was na 2 minuten rondjes rijden al niet interessant meer, dus dan maar eventjes om programmeren en gewoon de stroom limiet op veel: 20 Ampère.

Nou is 24V en 20 Ampère op zich niet zo veel, maar in stilstand vertaald dit zich naar een veelvoud daarvan aan stroom richting de motor...en dat moet allemaal door die arme draadjes van 1.5mm2 heen. En die worden daar een beetje warm van.

Het reed wel een stuk beter, uit zich zelf haalt hij zo ongeveer 25 km/h. Het duurt even voordat je daar bent, en bij elke vorm van wind of helling zakt het in naar 20 km/h.

Als ik dan ook de achter motor aan zet, gaat het opeens als een raket, en haal je tegen de 30 km/h. De motor achter ondersteunt tot 27 km/h, en houd dan op, de voor motor kan er dan nog net 3 km/h bij krijgen.

Toen dacht ik, kom... laat ik ook eens mee trappen. Dit heeft bij 30km/h geen zin op dit ding, want je benen moeten dan modus roadrunner mee draaien.

Zo heb ik 15 km gefietst, als ik het display mag geloven, en toen viel het me op dat de draadjes naar de motor toe steeds korter werden. Vrij snel daarop volgend werd de rit iets minder comfortabel:

Hij is een beetje opgewonden...

Alle draden uit de motor waren kapot, en de uiteindjes zaten tegen elkaar aan kortsluiting te maken. (Vandaar het schokkerige gevoel.)

De draadjes uit de controller zaten ook tegen elkaar, en de hall sensor draadjes waren ook niet echt jofel meer.

Ik vond dat hij het nog lang uit heeft gehouden. Het goede nieuws is dat de controller deze kleine mechanische tegenslag heeft overleeft.

Zodra hij geen hall sensoren meer ziet (Omdat bijv. iemand de draadjes om een as gewikkeld heeft.), stopt hij met stroom de motor in te sturen. En al waren de hall-draadjes nog heel, dan zou hij rustig de draden naar de motor op gewarmd hebben omdat er bij kortsluiting veel te veel stroom zou gaan lopen.
Conclusie/bevindingen
- Je moet alles vast willen maken. Een torque arm of torque washer is een must, deze motoren vreten aluminium als ontbijt.
- De motor krijgt het vrij warm als je er 500 Watt in duwt.
- Een motor in het voorwiel rijd voor geen ene meter. Want ook als ik hem als normale fiets gebruik, gaat dit ding helemaal zijn eigen leven leiden als ik het stuur los laat. Elke bocht voelt het alsof hij recht door wilt.
- Twee motoren gaan harder dan 1 motor. (Duh.)
- Gashendels zijn awesome, maar ik zet hem eigenlijk de hele tijd op 100%. Dus het had net zo goed een knopje kunnen zijn.
- Trapondersteuning is suf.
- Je moet twee remmen willen hebben. (De voor-rem zit niet vast, gezien dat een trommel rem is.)
- Trommel remmen zijn poep.
- Deze methode van testen is sub-optimaal en kost veel te veel tijd. De rij/pruts verhouding is niet goed. (4 uur prutsen, 20 minuten rijden).
- Ik moet meer tie-wraps kopen.

Op naar het volgende deel.

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: 8.973

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.