Stap 7: Arduino integratie (huidige Sensor)
Al onze heffing controller wordt weergegeven van de huidige die is het uitvoeren van naar de batterij, willen wij kunnen bijhouden en deze hoeveelheid weergegeven voor de gebruiker voor beide diagnostische doeleinden zo goed als in het thema van andere training statistiek. Wij hebben gekozen voor het meten van deze hoeveelheid met behulp van de Hall-effect dat is vermeld in de vorige stap. De huidige vanaf de heffing controller uitvoert via een speciale sonde huidige Hallsensor die een spanning evenredig aan het magnetisch veld geproduceerd produceert door de huidige doorheen is getrokken, kan niet indirect meten we de huidige we het verstrekken van de batterij. Er is helaas geen gemakkelijke verwijzing tabel converteren de uitgang van de spanningen met de huidige creëren van hen. Echter, de relatie tussen het voltage uitvoeren door de hal sonde en de huidige kunnen gemakkelijk worden afgeleid met behulp van een energiebron om bekende stromingen te doorlopen van de sonde en het meten van de spanning geproduceerd. Uitzetten van deze krijgt een waarde nul-punt en de correlatie tussen spanning en stroom die u zoekt. Afhankelijk van welke richting de huidige stroomt, zal de sonde hall geven een verschillende output. De absolute waarde van de helling moet echter hetzelfde.
Deze stroom kan worden omgezet in andere statistieken zoals de macht wordt geleverd aan de batterij en de totale cumulatieve stroom geproduceerd. We zijn van plan op het vergelijken van de stroom die naar de batterij wordt geleverd met de kracht die door het opladen van verschillende apparaten worden gebruikt om te bepalen of de gebruiker extra stroomvoorziening aan de batterij moet voordat zij in staat zijn om te laden hun apparaat als verbindingsapparaat meer macht trekt dan zij kunnen bieden.
De Code van de steekproef:
de volledige code vindt u op het einde van dit Instructable
de vette code is wat wij toevoegen aan de code van bovenaf
int hall = A2; voor de huidige sensing
zweven Wh = 0; voor het opnemen van de watturen gegenereerd Arduino is sinds op
VOID Setup {}
pinMode (hal, INPUT);
}
void loop {}
anders als (motorV > 1.0 & & hasBeenOn) {}
getCurrent();
}
}
VOID getCurrent() {//the huidige te gaan op de batterij
huidige = (float(analogRead(hall))-514.5) / 26,5; vergelijking voor stroom van experimentele perceel
WH = Wh + zweven (wachten) /3600.0*current*13.0; berekening voor kWh
veronderstellen 13V heffing controller uitvoer in batterij
}