Banana?

Door Infant op maandag 9 juni 2014 12:37 - Reacties (16)
CategorieŽn: Gemod / Gefix, Sparta: Fiets verbouwen tot het stuk gaat., Views: 14.292

Ik acht mij niet verantwoordelijk voor hoge bloeddruk en/of ongecontroleerde woede aanvallen veroorzaakt door spellingfouten.

Dit is in vervolg op: Dooie Fiets - Vervolg, en gaat hier verder: Bananen Taal

Eens in de zoveel tijd struin ik rond op Marktplaats, gewapend met mijn favoriete zoektermen. Afgelopen week vond ik dat eindelijk een defecte banaan, waar ik al een hele tijd naar op zoek was. (Uiteraard was dat niet de zoekterm.) Het betreft een accu in de vorm van een banaan, voor in mijn kapotte zombie fiets.

Ik heb er drie gekocht, gezien ze zo schandalig goedkoop waren. Ze werden door een fietsen winkel aangeboden en ik kreeg er zelfs een mooie marge factuur bij opgestuurd. Ik blij, en de fietsenmaker in kwestie denk ik ook.

Hij neemt deze dingen in als iemand bij hem komt om nieuwe accu's te plaatsen.

Uiteraard mag zo'n klant dan 6 Euro verwijderingsbijdrage betalen bovenop de andere willekeurige kosten die hij in rekening gaat brengen. Normaliter moet hij dat bedrag weer afstaan aan de plek waar hij die dingen heen brengt, denk ik. De gemeente? Een donker plekje ergens in de bosjes? Chemisch afval?

In plaats daarvan krijgt hij nu nog meer geld, om het naar mij op te sturen. Een win situatie voor de de fietsenmaker, een verlies-verlies-verlies situatie voor de persoon die hem bij hem heeft ingeleverd.

Na een paar dagen komt de TNT/PostNL met een berg langwerpige dozen aan zetten:
Doosch.

De eerste 30 seconden van dit filmpje beschrijven extreem exact hoe je je dan voelt.
Open maken!
Na wat gepiel en gepeuter, gaat ook deze banaan open. Het gaat hier om een 9Ah accu, t.o.v. 10Ah , maar het printje is identiek aan degene die in mijn fiets zat. Het enige verschil is dat deze minder kapot lijkt, en helemaal geen coating heeft.

Ooh!


Uiteraard doet ook dit ding 10 keer niks.

Stiekem heb ik een tijdje geleden, toen ik me verveelde, een beginnetje gemaakt om het schema van dit printje te tekenen. Het is maar een twee-laags pcb, er zit alleen een idioot oerwoud aan analoge meuk op met weerstanden die overal overheen, naartoe en tussendoor gaan.

Ik dacht, ik begin bij de 6-pins connector, want die lijkt verdacht veel op de standaard 6-pins Atmel ISP header. Dit is de staat waarin ik het "schema" achter heb gelaten:

Hoeft niet aan elkaar?

Als je een ongesorteerde doos elektronica onderdelen zou weergeven in schema vorm, zou het er ook ongeveer zou uit zien.

Het fijne aan grote SMD onderdelen als deze (de weerstanden zijn 2 bij 1.25mm) is dat je er nog gemakkelijk draadjes aan kunt solderen. Nog handiger is dat in plaats van een idiote kleur codering, de waarde er gewoon met getallen op geschreven staat. Dus dat werk wel makkelijk.

Alle kleine zwarte onderdelen kun je niet altijd iets zinnigs over zeggen, helemaal niet als het potentieel stuk is. Een drie pootje kan een spannings regelaar, diode, mosfet of transistor zijn, en de waarde mag je raden want die staat er niet op.

Het goede nieuws is dat de 6-pins connector direct naar de programmeer pinnen van de Atmega gaat (door een 1k serie weerstand), en de voeding door een 10 Ohm weerstand op de Vcc pin aankomt. De pin-layout is niet standaard, maar een klein verloopje zit zo in elkaar.

Omdat het printje zelf geen spanning maakt, geef ik hem extern een beetje prik. Rond de 4 Volt ofzo zou moeten werken om in ieder geval met de Atmel te babbelen.

Netste opstelling tot nu toe.

Het is in de programmeer omgeving 1 keer raak: Hij wordt herkend! Jeej!

Daar houd het feestje helaas ook op. Niet geheel tegen de verwachting in zijn de lock bits ingeschakeld, wat betekend dat de applicatie niet uit het geheugen gelezen kan worden.



De chip start op in zogenaamde bootloader mode. (De BOOTRST fuse zorgt daar voor.) De lock bits staan zo ingesteld dat hij nooit de bootloader mag overschrijven, maar wel de applicatie. Als er niks ge-update hoeft te worden, wat bij normaal gebruik het geval is als je de fiets aan zeg, start hij de applicatie... en gaat hij banaan-management doen.

Deze lock-bits zijn dingen die op de chip letterlijk weg branden. Op deze wijze kunnen vervelende mensen zoals ik niet eenvoudig de applicatie uitlezen, maar kan een Sparta dealer wel de firmware in de accu updaten om er meer dubieuze en ongedocumenteerde functies in te prakken.

Op zich had iemand op het circuits online forum dit ook al bevestigd, 4 jaar geleden. Als je de chip wist, kun je wel het EEPROM uitlezen, en die inhoud heeft hij ook online gekwakt. Ik schiet daar nog niet zo veel mee op, dus ik ga deze niet wissen en laat hem verder met rust.
Hallo?!
Alle onderdelen in deze fiets praten met elkaar over een enkel geel draad, een bus. Deze staat normaal 24V op, en kan door een van de onderdelen (de motor, het display of de accu) gebruikt worden om over te communiceren.

Er is verder echt extreem weinig nuttigs te vinden over de elektronica in deze fiets, de enige hint komt wederom van CO, en die is dat er standaard USART op 9600 8N1 over die draad heen gaat.

De Atmega die nog met 4V aan staat, geeft op de TX pin inderdaad signaal uit:
10 04 20 CC en af en toe 10 C1 21 22 80 5F.

In banaan-taal zal dat hoogstwaarschijnlijk het volgende betekenen:
"Hello moto?"
"Hello display?"
(Of in andere volgorde.)

Op de ontvang pin verschijnt niks. De 24V bus wiebelt ook niet mee. Omdat de bus maar 1 enkel draad is om over te babbelen, kan deze print niet verzenden en ontvangen tegelijk. Sterker nog, als hij iets zegt op de bus hoort hij dat zelfde bericht ook weer terug. Dat is erg handig ter controle. Als de bus namelijk kapot is, zoals nu, kun je iets zeggen:
"Echo!"

En als er dan niks terug komt... weet je dat er iets niet goed is.

De communicatie vanuit het oogpunt van de microcontroller zou er normaliter (vertaald vanuit het banaans) ongeveer zo uit kunnen zien:
"Display?"
"Display?"
...
"Ja, wat is er?"
"Niks."
"Niks."
...
"Okee."

"Motor?"
"Motor?"
...
"Ja wat moet je?"

Als je geen dubbel bericht, of geen enkel antwoord terug krijgt... is er duidelijk iets mis.
In het display
De kassa forum leden klagen dat elk wissewasje een bezoekje aan de dealer vereist, die alles aan elkaar moet aanmelden via het internet.
Dit zou in houden, dat stel ik heb een werkende fiets, ik pak een willekeurige accu van Marktplaats af en prik hem er in, dan zegt de fiets: "Dat is niet mij accu, vriend." En vertikt het verder.

Verder wordt de suggestie op het CO forum gewekt dat er een of ander obscuur en horrific protocol overheen loopt, wat voorzien is van 1000 lagen encryptie, server communicatie, backdoors en andere ellende die geen enkele vorm van zinnige analyse toe staan.

Ik kan het me haast niet voorstellen. Deze accu heeft al vrij veel functies, hij moet een hele berg aan metingen doen, allerlei klant specifieke dingen bij houden, zichzelf kunnen updaten, en alles door babbelen over een enkel draad.

Dat is best een complexe applicatie. Dit ding heeft maar maar 32kB aan ruimte. (De kans bestaat dat het maar 16 kB is, als je eenvoudiger een applicatie update wilt kunnen doen.)
Stel dat je daar dat ook nog encryptie overheen wilt doen, moet je sleutels gaan zitten uit wisselen met de rest van de onderdelen.... het kan, maar ik schat de kans klein in.

Het display, wat ik vorige keer nog niet open had gemaakt, heeft verrassend weinig onderdelen:


Voorkant Achterkant

Aan de ene zijde zit een bosje passieve onderdelen, en een condensator die iemand er later tussen gevrot heeft. Aan de andere kant zitten de contactjes naar het LCD, en twee COBs.

Bijna elk LCD display wat je open maakt, in welk apparaat dan ook, heeft zo'n blob er op zitten. In 95% van de gevallen gaat het dan om een ASIC waar geen standaard verpakking omheen zit. Het chipje zit dan direct aan het PCB verbonden. Het kan ook dat ze er epoxy overheen gedaan hebben, gewoon om het je lastig te maken.

Het zou kunnen dat er een microcontroller onder de blob zit, maar ik verwacht het eigenlijk niet. Gezien er knopjes op het display zitten, en je de hele fiets met het display bedient, moet dit ook data terug kunnen sturen.

Er zit verder een stikker op, met een nummer, en met de hand is op de andere zijde... het zelfde nummer geschreven. Als er dingen op elkaar aangemeld moeten worden, zou dat wel eens voorbij kunnen komen?
Er is meer!
Ik heb nog een hele doos met bananen staan, waar nog niks mee gedaan is.

Wellicht is het nu wel interessant om te noemen dat deze bananen ongeveer 185 kCal aan energie bevatten. (10*24*3600 / 4184). En dat is ongeveer 4x zoveel als een echte banaan. :+

Alles is uiteraard ook verkocht als defect, dus ik verwacht er niet veel van. Maar de tweede uit de doos is wel het eerste exemplaar waar ik spanning op de display pinnen meet: 5V en 24V.

... :Y) ...

Nou, displaytje erin prikken op hoop van zegen dan maar.

En wederom zit het mee: Het display gaat aan! (Ik dacht eigenlijk dat die ook stuk was.) Een relais in de accu zegt tik, en de display geeft een foutcode: E0005.

Als ergens veel documentatie over te vinden is in dit project, dan zijn het wel de foutcodes. De eerste online bron heeft dit over de foutcode te zeggen:

E05: Slechte verbinding naar de motor.

No shit.

Voor mij is dit veel belovend, want zo'n melding betekend data verkeer. En data verkeer, dient gesnoven te worden... met een snuiver...

Volgende: Bananen taal 06-'14 Bananen taal
Volgende: Slimme Adapters 04-'14 Slimme Adapters

Reacties


Door Tweakers user mux, maandag 9 juni 2014 13:33

Woedeaanvallen! Spelfouten! AARAARRRGGGH

[Reactie gewijzigd op maandag 9 juni 2014 13:33]


Door Tweakers user Damic, maandag 9 juni 2014 13:45

Zalig geschreven, spelvauten waar?

Door Tweakers user sypie, maandag 9 juni 2014 13:48

k acht mij niet verantwoordelijk voor hoge bloeddruk en/of ongecontroleerde woede aanvallen veroorzaakt door spellingfouten.
Spellingen maken geen fouten, spellingfouten of spellingsfouten bestaan dan ook niet. Spelfouten bestaan wel, en ja die zitten genoeg in dit stukje tekst.

Toch best wel interessant hoe je een electrische fiets probeert te ontleden om te kijken waarom en waardoor de boel stuk gaat. Uiteraard is kapotte meuk weer geld in het laatje voor de ondernemers die deze fietsen onderhouden en verkopen. Voor de consument is het alleen maar een dure hobby.

Door Tweakers user lasharor, maandag 9 juni 2014 15:05

Intressant. Heb je nu ook al een idee wat je gaat doen om dat laatste probleem op te lossen?

Door Tweakers user Lieuwe15, maandag 9 juni 2014 15:16

Interessant om te lezen, alleen bij de titel dacht ik aan iets anders :+ namelijk Minions :o

Door Tweakers user Infant, maandag 9 juni 2014 15:41

lasharor schreef op maandag 09 juni 2014 @ 15:05:
Intressant. Heb je nu ook al een idee wat je gaat doen om dat laatste probleem op te lossen?
Die E0005 melding bedoel je? Oplossen gaat denk ik niet zomaar lukken, maar ik ga die melding in de volgende post wel gebruiken.

[Reactie gewijzigd op maandag 9 juni 2014 15:51]


Door Tweakers user Damic, maandag 9 juni 2014 16:24

Lieuwe15 schreef op maandag 09 juni 2014 @ 15:16:
Interessant om te lezen, alleen bij de titel dacht ik aan iets anders :+ namelijk Minions :o
Dacht eht ook :)en wel naar dit filmpje: https://www.youtube.com/watch?v=uqszKFsaBpo

Door Tweakers user O88088, maandag 9 juni 2014 17:00

banaan-management
_/-\o_ _/-\o_ _/-\o_

Door Tweakers user BeefHazard, maandag 9 juni 2014 20:19

mux schreef op maandag 09 juni 2014 @ 13:33:
Woedeaanvallen! Spelfouten! AARAARRRGGGH
NEEEEE! IK WORD GEK! AAAAAGGGHHHHHH


Door Tweakers user jamy015, maandag 9 juni 2014 22:08

Erg cool om te lezen! Ik wil meer! :D

Door Tweakers user WoutervOorschot, maandag 9 juni 2014 22:13

Ik snap er niks van... Wat heeft een banaan hiermee te maken? :?

Door Tweakers user Infant, maandag 9 juni 2014 22:23

WoutervOorschot schreef op maandag 09 juni 2014 @ 22:13:
Ik snap er niks van... Wat heeft een banaan hiermee te maken? :?
Hm, dat is inderdaad niet in een oogopslag duidelijk. Als je de eerste link volgt, en met je cursor over het tweede plaatje gaat... wordt hij duidelijker hoop ik.
jamy015 schreef op maandag 09 juni 2014 @ 22:08:
Erg cool om te lezen! Ik wil meer! :D
*evil voice*
.... soon.....

Door Tweakers user Breezrs, dinsdag 10 juni 2014 05:59

Zou je in theorie met generieke printplaatjes/onderdelen of een Arduino bordje deze gesloten electronica kunnen bypassen? Dan zou je heel veel afgedankte fietsen kunnen modden (modsetje?) en een nieuw leven bieden.

Door Tweakers user Infant, dinsdag 10 juni 2014 08:39

Breezrs schreef op dinsdag 10 juni 2014 @ 05:59:
Zou je in theorie met generieke printplaatjes/onderdelen of een Arduino bordje deze gesloten electronica kunnen bypassen? Dan zou je heel veel afgedankte fietsen kunnen modden (modsetje?) en een nieuw leven bieden.
Helemaal bypassen kan altijd. Je moet dan de motor leeg halen, de print uit de accu verwijderen en het display kan niet meer gebruikt worden.
Het lastige is de hall sensoren en trapkracht sensor door de achteras naar buiten krijgen, daar is nauwelijks ruimte voor.

Het liefst zou ik in ieder geval de motor aansturing kunnen behouden.


Reageren is niet meer mogelijk