Alles moet rond draaien.

Door Infant op maandag 2 maart 2015 18:11 - Reacties (21)
Categorieën: Gemod / Gefix, Sparta: Fiets verbouwen tot het stuk gaat., Views: 9.041

Dit is een vervolg op Alles moet (kapot) draaien, een eeuwig voortdurende serie over gepruts aan elektrische fietsen.

In volgorde zit het zo:
Dooie Fiets
Banana?
Bananen Taal
Cyclic Banana Checks
Alles moet draaien
Alles moet (kapot) draaien.
Je zit nu hier: Alles moet rond draaien.

De vorige post hield op met een voorwiel-motor die zichzelf helaas heeft opgegeten. Omdat ik toch ergens heen moest fietsen, heb ik het onbemotorde (dit is nu een woord) voorwiel maar weer terug gezet.

Eigenlijk moet ik twee fietsen hebben: Eentje die in permanente werkende staat verkeerd, en eentje die als rollend test exemplaar dienst kan doen om uit te vinden bij welke volgende stap er (onvermijdelijk) weer iets stuk gaat.

In eerste instantie zocht ik op marktplaats een beetje rond naar nog een overleden accu, want daar kunt je er nooit genoeg van hebben. Op een goede dag kwam er eentje voorbij, deze zat zelfs nog in originele verpakking (d.w.z: met fiets eromheen) en kostte maar 50 Euro.

"I need it. Buy it. Store it."

Het ging hier om een mannetjes fiets. Het frame voelt daar een stuk minder wankel van, en een ander mechanisch voordeel is o.a. dat de achteras twee vlakke stukjes heeft. En dat betekend dat de motor extra vast kan.
Verder heeft deze blok remmen, zodat het achterwiel een stuk gemakkelijker los te maken is. Kortom, prachtige rijdende testomgeving. Het enige wat het mist is een draadloze internet verbinding.

Volgens de verkoper deed de fiets het op zich nog wel, maar wou de accu niet opladen. Dat is eigenlijk niet kapot genoeg, want als het eenvoudig te maken is... moet ik het weer verkopen. Dat zou zonde zijn.

Bij het aansluiten van een lader gebeurde er eigenlijk niks. Om hem dan weer een beetje tot leven te wekken, moet je een zwengel aan het wiel geven. Hierna gaat het display aan om te zeggen d.m.v. E0001 dat de accu leeg is.

Ja. Dat weet ik. Daarom zit er een lader in, okee?

Misschien heeft hij gewoon wat "quality alone time" nodig, dus met lader heb ik hem maar even alleen gelaten. Maar een half uurtje later, was er nog niet echt iets gebeurd....

Dit gaat niet werken. Open maken die handel:

Mooi hoor.

Deze ziet er verrassend netjes van binnen uit. Er zit zelfs geen coating om de print heen, waar de vorige nog wel iets van smurrie hadden om water buiten te houden. Maar ach, het is niet alsof dat iets doet.
Het eerste wat ik door mat (ja, meten moet kennelijk naar dit vervoegd worden. Ik heb het ook niet verzonnen.) is dat de 34V van de lader, niet echt op de daarvoor bestemde plek op het printje komt.

Ergens tussen de aansluiting, en het printje gaat iets fout. Er zit een draad tussen met een bobbel er in, met daarin een overleden zekering. Dat is makkelijk opgelost.

Toen dit gefikst was (lees: vervangen door een draad), ging het display aan en kwam met de melding E0022 op de proppen, wat zoveel betekent als "Laden start niet".

Hm. Eigenwijs stuk rommel.

Als last resort heb ik de lader (wat gewoon mijn brakke labvoeding is) maar op de min van de print aangesloten, en de plus direct op de accu. De stroom die dan de accu in loopt, loopt ook door de meetweerstand op dit bordje heen. Dit is niet echt iets wat normaliter gebeurt, maar het zou zomaar kunnen dat hij die capaciteit gaat zitten meten en daar iets mee doet??

Even later was hij direct van mening dat de accu vol was:

Okee. Vol? Go!?


Helaas was hij ook zo de kluts kwijt, dat er met geen mogelijkheid iets anders als bovenstaan plaatje op het display te krijgen was. Ik had op zijn minst verwacht dat hij nu over het display serie nummer ging zeuren.. maar ik krijg er met geen mogelijkheid iets zinnigs uit.

Okee, ik verklaar het een succes! Ik heb het gesloopt. Het is niet meer voor de verkoop geschikt, dan mag het nu helemaal uit elkaar. :Y)

Dus net als de vorige keer, heb ik ook hier het zekeringetje netjes verbonden en dezelfde dropveter aan de banaan gemaakt, zodat het motor control printje makkelijk los kan, en de accu makkelijk opgeladen kan worden.

Mooi hoor.


Volgende stap is de motor uit elkaar halen, dit heb ik nu zo vaak gedaan dat ik er een speciale tool voor gekocht heb:

Mooi hoor.


Normaliter houd ik niet van tools die maar één ding kunnen. Bijvoorbeeld een ei-in-plakjes-snijder, een boon-in-stukjes-maler, een vlapak-leeg-schraper of een soeplepel met duizend gaten er in. Allemaal kansloze voorwerpen die door een mes en/of lepel vervangen kunnen worden. Ik kan er niet tegen.

Behalve dus dit voorwerp. Het is een Poelietrekker, kennelijk. Dit levert per operatie een tijdwinst van c.a. 1 uur op. Werkelijk geweldig. Het is verder helaas verder niet voor iets anders in te zetten.

Deze motor ziet er werkelijk het beste uit van alle die ik tot nu toe open gemaakt heb (hij draaide ook gewoon nog, wat al een goed teken was). De magneten zijn nog niet vermalen tot stof, en de elektronica ziet er dus ook nog netjes uit.

Het is alsof het zo de fabriek uit is komen rollen.


Dus... zelfde verhaal: printjes er uit, en de hallsensoren + 3 fasen draden door de as naar buiten moffelen. De stekker waar de motor mee vast zit is een AMP Superseal (Turbo zeehond), en die zijn los op fanell te koop. Voor de Hall sensoren heb ik daar een mooi 5 polig stekkertje gevonden, zodat het allemaal weer makkelijk los kan:

En gewoon met draad uit een PC stekker.


Zo, nu we dat gehad hebben, kan ik de laatste dingen aan het display doen:

Meer met het display communiceren.
Origineel kun je met het display op deze fiets bar weinig instellen. Het geeft de snelheid aan, je kunt 3 standen instellen, en er wordt ook nog iets van afgelegde afstand bijgehouden. Als klap op de vuurpijl kun je met het knopje bovenin de verlichting aan een uit zetten.

Als je tijdens het rijden het display er vanaf trekt, stopt hij na een aantal seconden met ondersteunen. Het werkt dus als een soort slot. Dat wil ik ook.

Als je er een display met een ander serie nummer op prikt, vertikt hij het om te gaan werken. Dat soort onzin heb ik natuurlijk allemaal niet nodig.

Bij elke van de 3 standen, staat een segmentje om aan te geven dat je in die stand zit:

Dit is mooi, maar met 4 segmenten (C tm F) kun je natuurlijk veel meer. Want 2^4 is 16, dus er kunnen wat mij betreft gewoon 16 standen op... waar stand 0 natuurlijk uit is.

Verder geeft het getal in het midden van het display ten alle tijde de snelheid aan, dat wil ik op zich ook wel.

Mijn ervaring is dat 95% van de tijd de onderste regel een van de vele error codes aangeeft, maar mijn ervaring is wellicht iets gebiased. De overige 5% van de tijd geeft het de afgelegde afstand aan.

Dat vind ik op zich niet zo heel boeiend, als ik wil weten hoe ver ik rijd heb ik daar GPS voor. Ik wil eigenlijk wel ten alle tijden zien hoeveel stroom er loopt, en de snelheid zou eigenlijk wel de accu spanning kunnen weergeven.

De knopjes uitlezen had ik nog niet echt gedaan, maar het is (achteraf) vrij eenvoudig. Ik quote uit een aantal posts terug:
Het een na laatste getal loopt steeds op:
10 C1 21 22 01 6F
... 02 9F
03 0E
04 3C
...

En na 0F begint hij weer opnieuw.
De accu stuurt dit bericht naar het display toe, en wordt altijd beantwoord in de vorm van 10 22 C2 22 00 XX XX, behalve als je een knop ingedrukt houd. Dan veranderd de 0 in een 1 als de bovenste knop wordt ingedrukt, een twee als de voorste ingedrukt wordt, en 3 als je beide ingedrukt houd.

Als ik steeds hetzelfde bericht stuurt, gebeurt er niks, maar als ik ze laat oplopen tot 15 werkt het prima. Geweldig.

Hier een impromptu filmpje, waar ik de knop op het display tijdelijk als throttle input gebruik. (Filmen met één hand, zonder autofocus is moeilijk. Alvast excuses.) Met het bovenste knopje kan ik nu door menu's heen wandelen, en met de onderste kunnen daar oneindig veel arbitraire waarden aan arbitraire variabelen geknoopt worden. (Als je uit het menu gaat, slaat hij ze op in het rom gedeelte van de micro controller.)

In de huidige toestand doet het display het volgende:

Je kunt door een menu heen bladeren door de bovenste knop in te drukken. Als je die 2 seconden met rust laat, geeft hij weer de snelheid aan.
Menu 1 kun je instellen of de snelheid of accuspanning weergegeven moet worden.
Menu 2 stel je de remkracht mee in.
Menu 3 een of andere test variabele...die elke dag anders is.
Menu 4 is het mooist: Als je daar 4 keer op druk, gaat icoontje G aan.

Die heb ik het "road-legal == false" icoon genoemd (RLIF Icoon). Alle features die op deze fiets niet aan de wet voldoen (dat zijn zeg maar alle features) worden geactiveerd als dat icoontje aan staat.

Het moment dat je het display los trekt, of weer 4x in dat menu op het knopje drukt, gaat hij weer naar road-legal toe... en wordt het weer een doodsaaie fiets waar je zelf al het voortstuw werk moet doen.
Dit leek me een extreem handige feature, mocht ik op straat een flits-snor tegen komen. Die kan ik dan vol overtuiging vertellen dat alle ductape, tiewraps en los bengelende elektronica geen enkele functie heeft, en puur als decoratie dient.

Verder geeft de kilometerstand onderin nu de stroom aan, als je de rem knop indrukt gaat hij regeneratief remmen, en wordt de stroom negatief. (Er zat zelfs een - karakter in het display, aardig he?)

De accu volheids- balk gebruik ik om de hoeveelheid throttle aan te geven.

De gas hendel heb ik vervangen door een knopje, want ik kwam er al vrij snel achter dat minder dan 100% gas geven niet vaak voor komt. Nu hoef ik niet 6 weken op Chinese een gas hendel te wachten alk ik hem sloop. Het remmen gaat met eenzelfde knopje, en ze zitten nu zo in het stuur weg gewerkt:

Knoppie...Nog een knopie...Het netste mechanisch geneuzel tot nu toe.


Links zit het rem knopje, rechts het gas knopje. Als je het stuur normaal beet hebt, hoef je alleen je duim in te drukken, en er gebeurt wat. Het 100% gas signaal word afhankelijk van de stand vertaald naar een veelvoud van 4 Ampère motor stroom: Waar stand 6 er maximaal 24 Ampère naar toe stuurt.

Wat ook handig is, is de cruise control: Als je 4 seconden het gas vol ingedrukt houd blijft hij op 100% staan, en kun je het knopje weer los laten. (Want... anders wordt je rechter duim moe.). Als je dan remt (of als je de rem knop gesloopt hebt: het display los haalt) schakelt hij de cruisecontrol uit.

Wat mij betreft zitten alle features er nu in. Het test printje heb ik secuur tegen het frame gemonteerd:

Wederom: Mooi hoor.


Ik heb hier, met wat extra ductape eromheen uiteraard, in de tussentijd al honderden kilometers mee afgelegd, en ik moet zeggen dat het goed werkt. (Je kunt er gewoon mee door de regen en hagel fietsen. Ductape is geweldig.)

Maar toen... werd het winter, en akelig koud buiten. Bij het weg rijden ging het display na 3 minuten uit zichzelf van "road-legal == false" stand af. Het scherm updatete niet meer, en het reageren op de knopjes ging moeizaam en traag.

Issie nu kapodt?

Valt mee. Het communiceren met het display gebeurt via een seriele interface. Deze communiceren op een vaste snelheid, 9600 bps. De klokfrequentie die de microcontroller nodig heeft om 9k6 te halen, is meestal niet helemaal een mooi veelvoud van de basis klok frequentie (in dit geval 32Mhz). In de code die er op draait, stel je een deler in om van die 32MHz op de juiste frequentie uit te komen.

Nou is dat niet zo'n probleem, maar omdat ik geen zin had om een extern kristal te gebruiken, liep de microcontroller van de interne klok, en die heeft ongeveer de volgende temperatuur afhankelijkheid:

Bitcoins hebben, net als brakke RC-klokken, een onvoorspelbare afhankelijkheid van alles.Dit is natuurlijk iets heel anders...

Links de klokfrequentie in Hz voordat het de PLL in gaat, rechts de temperatuur in graden fahrenheit (x2), onderin de stand van de maan in eenheden van [2π/1 dozijn]. Zoals je ziet: een grote puinhoop.

De oplossing is echter vrij simpel: Omdat het display telkens antwoordt geeft als hij correct een bericht heeft ontvangen, kan de afwezigheid van antwoord drie dingen betekenen:
1: Het display is stuk.
2: Het display is weg.
3: Het vriest (beter gezegd: het is niet kamertemperatuur.)

In alle drie de gevallen, past de motor controller de communicatie frequentie naar het display steeds een fractie aan, net zolang tot er weer antwoord komt.

En nu?
Ik heb een wat nettere oplossing gemaakt. Van alle losse motoren die ik ondertussen heb, deed het power gedeelte het nog prima. Dus ben ik als een Chinees aan de slag gegaan, en heb het logica gedeelte van mijn controller wat ronder gemaakt, zodat het nu plug-and-play in een motor kan. Ik hoef alleen de dop er af te halen, het printje los te maken, en die van mij er in te ploppen:

Het is net echt.GIR! Ride the pig!Drop in replacement.

De gas en rem inputs gaan via een extra commando, over het communicatie draad naar de motor toe. De trapondersteuning optie zit er wel op, maar die gebruik ik nooit.

Op het moment dien ik zelf als batterij management systeem. Bij 18V stopt hij uit zichzelf met de accu leeg zuigen. Door de accu gewoon helemaal los te koppelen kan je hem ook maanden in de schuur laten staan zonder dat hij telkens leeg loopt, of 24/7 aan de peut moet hangen.

De accu is op zich nog vrij aardig, er zit van de 10Ah nog iets van 8Ah in. Hij wordt lekker warm als je er 500W uit haalt.

Een grotere accu zou op zich geen kwaad kunnen.....