Stap 8: De heffing Controller hacken
Hacken de oplader: We namen uit elkaar de lader door de zijkanten unscrewing en popping uit het bovendeksel. We vonden dat er sprake was van een lint draad aansluiten van de 4 knoppen op de printplaat. Er waren 5 draden op de lint-draad, dus we dachten dat er een "referentie" draad wellicht en de andere vier draden ging naar de knoppen. De "referentie" draad aansluiten op een van de andere vier knop draden was gelijk aan het drukken op een knop. We namen een multimeter en testte onze theorie, en het geldig was. Om de druk op een knop, moeten we een van de draden verbinding maken met de "referentie" draad. Vervolgens wij draden toegevoegd aan elk van de vijf terminals waar de lint draad gebruikt te verbinden. De draden waren o.l.v. buiten de heffing controller boren van een gat in het zijpaneel en trekken ze door. Deze draden leiden tot onze arduino schild, dat ons toelaten zal om druk op de knoppen en de controle de startknop autonoom met behulp van een relais.
Externe knoppen: We gebruikten 4 knoppen op onze schild te herscheppen van de knoppen op de controller voor testdoeleinden en in geval dat we wilden wijzigen op de heffing controller.
Gebruik van een Relay: We gebruikten een OMROM G5V-1 Relais om "druk op" start met behulp van onze arduino. De afbeelding hierboven toont hoe we elk van de relay-pinnen verbonden. De digitale uitgang-pin van de arduino die is aangesloten op het Relais zal het signaal van de indrukken van de toets wanneer het is ingesteld op hoog. Twee andere pinnen op het Relais sluit aan op de start knop draad en de "referentie" draad, voltooiing van de verbinding. We moesten een andere relay-pin verbinden met grond. Voor voorzorg, zetten we een diode over signaal en grond voor onze relay omdat we niet huidige stroomt in onze arduino willen toen de pin van de digitale uitgang is overgestapt naar lage (startknop is uitgeschakeld). De arduino heeft nu de mogelijkheid van het indrukken van de startknop autonoom.
Het begin programmeren: Alhoewel wij hoe om te krijgen van de arduino weten te drukken start, weten we niet wanneer om het te doen nog te vertellen. Wij willen het te druk op start voor een paar seconden nadat de gebruiker heeft zijn trappen voor ongeveer 10 seconden. Hoe zullen we weten dat een gebruiker is trappen? Wij willen onze arduino te lezen van de DC-spanning van onze motor die zullen aanwezig zijn wanneer een persoon is fietsen. Onze spanning is echter meer dan 5V, zodat onze arduino niet lezen direct aangezien er een limiet van 5V. Wij in dit artikel gebruikt voor het maken van een juiste voltage scheidingslijn om de arduino lezen motor spanning.
Een eenvoudige schets van de scheidingslijn van deze spanning is in de bovenstaande afbeelding. Ik zal alle arduino code opnemen in een andere stap. We gebruikten een 3.9K en 1K resister naar beneden de spanning met een factor 5 te gaan op de arduino. We hebben nog om het pedaal hard genoeg om de motor te gaan boven 17V, dus wij moeten veilig zijn. Meestal zijn we minder dan 15V outputten van onze motor. De scheidingslijn spanning zal ingaan op een analoge ingang in de arduino waarmee de arduino berekenen de motor spanning.
Psudo Code:
void loop {}
while(!started) {}
startCharger();
}
ongeldig startCharger() {}
Als (motorVoltage > 12 & & hasBeenOnForLong) {}
digitalWrite (relayOut, hoge); die is echt gelijk aan op Start te drukken
begon = true;
}
anders als (motorVoltage > 12) {}
zeggen is het al op meer
}
else {}
hasBeenOnForLong reset aan het begin
}
}