Hopp til innhold
krengo
ForsidenEN

Krengo · byggereisen

Fra løse ledninger til eget kretskort.

Jeg vil se hvor mye sykkelen min krenger i en sving. For å få den målingen ut av benken har jeg måttet finne løse kontakter, en strømvei som endret seg på batteri, og en boks som må passe både elektronikken og sykkelen.

Loggeren har lagret data på benken. Verktøyene for etterarbeid har også kjørt gjennom en syntetisk tur. Den første virkelige turen gjenstår, og det nye kretskortet er ikke bestilt.

Hvorfor jeg velger PCB
  1. Ideen og kravene

    En krengevinkel jeg kan se etter turen.

    Utgangspunktet var en følelse jeg kjente fra sykling. En sving kan føles rask eller forsiktig, men jeg ville ha en kurve som viste hvordan sykkelen faktisk krenget gjennom den. Det ga prototypen en konkret jobb: lagre orienteringen og beholde dataene til jeg kom hjem.

    Jeg holdt første versjon til en ESP32, en bevegelsessensor og et microSD-kort. Sanntidsvisning på sykkelcomputeren kan komme senere. Først trenger jeg en logger som starter, lagrer på batteri og gir meg en fil jeg kan stole på. Et tall på en skjerm ville ikke bevist noe av dette.

    Lærdom: Første versjon må levere en hel logg før den trenger en visning underveis.

  2. Første koblinger

    En forbindelse som virker, er bare starten.

    De første koblingene på breadboardet lot meg få kortene til å snakke sammen uten å låse meg til en boks. BNO055 snakker med ESP32 over I²C, mens SD-modulen bruker SPI. Ved å holde koblingene adskilt kunne jeg sjekke sensoren og minnekortet før de ble én logger.

    Dette var lett å flytte på og lett å forstyrre. Jeg kunne se målinger over USB, men hver jumperledning la til en kontakt som kunne bevege seg. Strøm, jord og de faktiske pinnenavnene var like viktige som koden. Et pinnekart ble mer nyttig enn enda en talliste da de virkelige kortene skulle kobles sammen igjen.

    Lærdom: En vellykket USB-økt viser at koblingen virket den gangen. Den viser ikke at koblingen tåler en sykkeltur.

  3. Dupont og loddebrett

    De løse ledningene ble et mekanisk problem.

    Dupont-ledninger gjorde den tidlige byggingen rask. De ga også en bunt med plugger, kabelbøy og små skjøter mellom kortene. Kontaktproblemer ble stadig til sensor- eller lagringsproblemer, så jeg undersøkte et loddet bærekort på hullbrett for å gi forbindelsene en fast plass.

    Da måtte jeg tegne mer enn et rektangel rundt delene. Pinnerekker på begge sider, kabelbøy, loddefuger og tilgang til skruene krevde plass. En utskrevet mal for tørrlegging avslørte at SD-modulen stakk utenfor området som var satt av til den. Senere ble boring og montering for omfattende før første tur. Jeg forenklet den versjonen til eksisterende ledninger i en printet boks. Den komplette loddebrettmontasjen er ikke versjonen jeg tar ut først.

    Lærdom: Kortets yttermål er bare en del av størrelsen. Kontakter, kabler og verktøyet som skal montere det, trenger også plass.

  4. BNO055

    Sensorfestet er en del av målingen.

    Jeg valgte BNO055 fordi den gir et estimat av orienteringen som en kvaternion. Jeg kan lagre orienteringen og jobbe med beregningen av krengning etter turen, uten å starte med å skrive min egen sensorfusjon. Loggeren bruker IMUPLUS, med akselerometer og gyroskop i fusjonen, uten magnetometer.

    Kalibreringen måtte likevel kontrolleres på ordentlig. Det holdt ikke å skrive kalibreringsverdier etter en fast ventetid. Sensoren kunne fortsatt være i feil modus og ignorere skrivingen. Ved å lese modusen tilbake, skrive verdiene og kontrollere registrene kunne jeg se om gjenopprettingen faktisk virket. Det fysiske festet er like viktig. Hvis sensorkortet vipper i boksen, måler loggen den bevegelsen i tillegg til sykkelens krengning.

    Lærdom: Lagret kalibrering og et stivt sensorfeste er krav til målingen. Benkresultatene må fortsatt kontrolleres på en sykkel i bevegelse.

  5. SD-logging og strøm

    En manglende rad er et spor etter en feil.

    Loggeren forsøker å ta en måling 20 ganger i sekundet og lagrer orientering, tid og kalibreringsstatus på microSD. Skriving og tømming av filbufferen kan forstyrre rytmen. Lange pauser kom tilbake rundt flush i benklogger. Derfor beholdt jeg tidsdataene i stedet for å erklære problemet løst etter én rolig kjøring.

    Strøm- og kontaktfeil gjorde den samme jobben vanskeligere. En brownout er en omstart fordi forsyningsspenningen faller. Et kort strømbrudd bare på sensoren kan avbryte nyttige målinger uten at ESP32 starter på nytt. Etter en omstart kan den siste fila mangle en tidligere del av turen. Derfor må jeg hente alle relevante logger og undersøke hullene. Uthentingen sjekker også fillengde og CRC32, fordi kopiering fra seriellmonitoren en gang mistet starten av en fil.

    Lærdom: Flere rader og en ferdig nedlasting beviser ikke at hele turen er med. Tid, oppstarter og kontroll av overføringen må også sjekkes.

  6. Batteri og regulator-bypass

    USB skjulte strømveien til SD-modulen.

    SD-adapteren har en VCC-inngang som går gjennom en 1117-regulator på kortet. På USB fikk den forsyningen den forventet. På batteri ga ikke ESP32-kortets 5 V-pinne strøm til modulen. Å mate regulatoren med 3,3 V var heller ikke det samme som å gi minnekortet 3,3 V. Regulatoren senket spenningen videre.

    Modifikasjonen som virket, mater regulatorens utgangsside fra ESP32-kortets 3,3 V-forsyning. Den ubrukte VCC-pinnen holdes isolert fordi regulatoren kan mate spenning tilbake mot inngangen. Etter bypass-koblingen fortsatte loggeren gjennom overgangen fra USB til batteri. Senere lagret den en benkkjøring på 14 timer og 48 minutter på én celle. Det er en observert kjøring med det oppsettet, ikke et løfte om batteritid på sykkelen.

    Lærdom: Hele strømveien må kontrolleres med bare batteriet tilkoblet. Et oppsett som virker på USB, kan fortsatt feile når USB tas ut.

  7. Boksen og monteringen

    Første tur trenger en boks som passer.

    Det opprinnelige bærekortet under setet vokste rundt ledninger, batterifeste og skruer. CAD-modellen kunne lukke seg og likevel gjøre en skrue umulig å nå. Printede deler ga en ny kontroll: USB-støvpluggen som så stram ut i modellen, falt ut av den virkelige åpningen.

    Jeg forenklet førsteturbygget til én printet boks på de eksisterende flaskeholderfestene, med BNO055 skrudd fast på stive stolper. Plasseringen på skrårøret ga for liten klaring ved krankdrevet, så planen bruker nå setterøret. Den lukkede montasjen må fortsatt få klaring og innfesting kontrollert på sykkelen. Vinkelen på røret avslørte også en analysefeil: krengning rundt sensorens egen skrå akse ga feil resultat. En syntetisk tur kontrollerte den rettede beregningen med en fast monteringsvinkel.

    Lærdom: Fysisk klaring og sensorretning hører til samme kontroll som vinkelberegningen. En printet boks er ikke en ferdig passformprøve.

  8. Nettsiden

    Gjør prototypen forståelig.

    Nettsiden gir prosjektet et sted å forklare hva en krengevinkel betyr og hvorfor jeg vil lagre den. Svingene viser ideen i bevegelse, og kalkulatoren gjør sammenhengen mellom fart, radius og krengning konkret.

    Scenene er illustrasjoner. Farten og vinklene er ikke målt av denne loggeren, og den syntetiske turen som tester verktøyene, er ikke en prøvetur på veien. Da jeg skrev historien, måtte jeg holde benkprototypen, monteringsplanen og den framtidige sanntidsvisningen fra hverandre. Denne siden tar med den mindre ryddige delen: lednings- og strømfeilene som endret neste designvalg.

    Lærdom: Forklaringen blir mer nyttig når leseren ser hva jeg har bygget, hva jeg har kontrollert og hva jeg fortsatt vil prøve.

  9. Nå: et eget kretskort

    Jeg vil bruke neste tur på å sykle.

    Løse ledninger og loddeskjøter har gitt gjentatte strøm- og kontaktfeil. Hver feil har tatt tid og motivasjon som jeg ville brukt på sykling og data. Neste steg er derfor et eget bærekort: ett PCB med faste kobberforbindelser og sokler for ESP32-devkit og BNO055-modulene.

    Da kan jeg beholde modulene som utgangspunkt og erstatte mye av den håndlagte koblingen mellom dem. Faste forbindelser og bestemte monteringsplasser skal gjøre bygget lettere å gjenta. En mindre boks er et mål, ikke et målt resultat. Soklene, batteriet, de gjenværende koblingene og tilgangen for vedlikehold må fortsatt få plass.

    Lærdom: Et PCB endrer hvordan forbindelsene lages. Det trenger fortsatt elektrisk kontroll, fysisk inspeksjon og egne prøveturer.