Stap 7: Softwareontwerp en kalibratie
De bijgevoegde Arduino software(MTSAnemometer.zip) is op zoek naar High/Low overgangen op digitale 4, ze tellen en vervolgens aan te melden op de seriële poort van de computer. De software zal bepalen hoe vaak gegevens registreren op de SD-kaart. Deze software is ingesteld voor 2 tweede monsters. Dit kan worden gewijzigd door de waarde van de SampInterval te wijzigen.
Hier is de grote delen van de software-lus.
Wind rekenmachine zoekt High
Als (digitalRead(WindPin)==HIGH)
{
SeeHigh = true;
digitalWrite (greenLEDpin, laag);
}
Zoek naar Low dus een hoog naar laag overgang
else if (SeeHigh == true)
{
Increment teller
CntRPM ++;
SeeHigh = false; Opnieuw beginnen
digitalWrite(greenLEDpin,HIGH);
}
Na twee seconden verstreken
RPM=CntRPM*(60.0/SampInterval);
Code uitleg: Ik kijk eerst voor een hoog op de anemometer digitale 4 (Windpin). Als het gaat hoog, troep mij SeeHigh waar. Voor het oplossen van problemen, zwenking mij vandoor een groene LED. Vervolgens wanneer digitale 4 laag gaat en SeeHigh is vastgesteld weet dan ik dat de windmeter had overgestapt van hoog naar laag en een revolutie (RPM) is opgetreden. Dus ik de CntRPM verhoogd en ook de groene LED inschakelen zodat ik vertellen kan dat het werkt.
Na twee seconden zijn verstreken, vermenigvuldigen ik CntRPM door 30 om RPM (omwentelingen per minuut).
Kalibratieprocedure:
Probleem: Dus hoe bepaal je hoe anemometer RPM zich verhoudt tot MPH? Er zijn een aantal oplossingen afhankelijk van welke uitrusting waarover u beschikt. Ik noem er drie. Al deze vereisen dat u over een manier van weergeven van RPMs uit de Arduino. Mijn Arduino-code worden gegevens weergegeven op een computer/laptop aangesloten op de Arduino met USB. Als u niet een laptop hebt, zou een alternatief aan het herschrijven van de code zodat gegevens worden weergegeven op een LCD schild.
Hardwarevereisten: Uw laptop moet een USB-poort of twee. Mijn oude laptop alleen heeft slechts één USB 1.0-poort maar werkt prima met een USB-hub.
Arduino vereisten: Installeren mijn Arduino-code in de Arduino. De Arduino aansluiten op de laptop USB-poort.
Anemometer Setup: Ik stak de anemometer-vergadering in het geopende venster van mijn auto's achterbank deur. De onderkant van het PVC werd tussen de zetel en de deur geknepen. Of je zou kunnen zijn om hem in het slot van de deur die u de deur met sluit. Mijn stoelen hebben grepen van de overhead voor alle zitplaatsen te helpen krijgen in en uit. Ik nam een tekenreeks, het lus rond het handvat en het PVC de anemometer rechtop houden. Als het PVC is het aanraken van sommige kwetsbare deel van de auto, zet iets tussen een zachte doek. Sluit het venster zorgvuldig gedeeltelijk. (Zie afbeelding) De sensoren worden aangesloten op de Arduino.
Solution1: Hebt u een laptop en een auto, de software uitvoeren met seriële terminal met 9600 baud. (Zie voorbeeld output scherm)
Veiligheid eerste: idealiter, dit moet gebeuren met een tweede persoon om te helpen. Op een windstille dag, kies een rechte, plat, verlaten weg en cruise controle instellen voor een bekende MPH. Een typisch probleem is dat de meeste snelheidsmeter uitgeschakeld zijn. U kunt dit controleren door het vinden van sommige snelweg mijl markeringen en erachter te komen hoe lang het duurt eigenlijk om te gaan van een mijl op enkele vermeende snelheid.
Zie RPM op de Arduino seriële terminal. (De seriële terminal toont ook MPH en Twc maar deze waarden zijn gebaseerd op mijn anemometer kalibratie.) Nemen van de auto bekend MPH en het verdelen van de RPM en steek de stekker in de code van de Arduino. Hier is de code van de Arduino. Vervang.054 met uw berekening.
MPH = RPM*.054; Kalibratie waarde
Solution2: Als u een laptop en een auto en een standalone GPS hebt, kunt u de software uitvoeren met een seriële terminal.
Veiligheid eerste: idealiter, dit moet gebeuren met een tweede persoon om te helpen. Op een windstille dag, kies een rechte, plat, verlaten weg en stel cruisecontrole. Nemen de MPH van uw GPS en het verdelen van de RPM en steek de stekker in de Arduino code zoals hierboven. Door de manier, kunt u ook bepalen hoe ver uw auto snelheidsmeter is. Als uw GPS in knopen per uur leest, vermenigvuldigt u het met 1.151 om MPH.
Solution3: Ik heb een laptop en een auto en een NMEA GPS die is verbonden met mijn laptop USB. Ik aangesloten de Arduino en de GPS op mijn laptop en liep mijn VB Express software. Zie bijgevoegde. Dit programma moet werken met een Arduino en een USB NMEA-compatibele GPS. Mijne is een USGlobalSat BU-353.
Mijn om kalibratiesoftware te installeren, cpublish.zip te kopiëren naar een map op de laptop, rits het open, zorg ervoor dat u een internetverbinding hebt en setup uitvoert.
Ook moet u het USB-stuurprogramma voor de GPS.
Mijn programma setup vereist de USB/com-poortnummers voor de GPS en de Arduino. Deze zijn weergegeven onder Apparaatbeheer, onder poorten. Mijn GPS heet Prolific. Mijn Arduino komt als USB seriële poort.
Als je problemen hebt, heeft mijn GPS Instructable enkele tips.
Mijn programma start (zie foto), sluit de juiste com-poortnummers. Klik op de knop bijwerken. U ziet de GPS-gegevens weergeven en de gegevens van de Arduino onderaan.
Veiligheid eerste: idealiter, dit moet gebeuren met een tweede persoon om te helpen. Op een windstille dag, kies een rechte, plat, verlaten weg en stel cruisecontrole. Nu is mijn programma zodat het krijgt de MPH (geconverteerd van NMEA knopen per uur) van de GPS en de RPM van de Arduino geautomatiseerd. Ik probeerde eigenlijk verscheidene verschillende snelheden. Noteer de tijden wanneer u met cruise control set rijden.
Ga terug naar mijn programma, klik op bestand opslaan (Negeer eventuele berichten). Typ een bestandsnaam en noteer de bestandslocatie. Mijn programma zal de gegevens opslaan in een. CSV file dus ik de gegevens aan een Excel-grafiek uitgezet (zie afbeelding). Dit toont een vrij lineaire relatie. Neemt een monster MPH van uw GPS en het verdelen van de RPM en steek de stekker in de Arduino code zoals hierboven. Ik gebruikte dit om te bepalen van de.054 multiplier in het programma weergegeven.
Als u Excel niet hebt, kunt u ook gratis Google Docs of Open Office. De uitgezette grafiek van sommige andere MPHs ziet er vrij onregelmatig, maar het is vrij lineair. (zie grafiek)
Controleer of uw kalibratie, laden de Arduino met uw kalibratie en opnieuw uitvoeren van de bovengenoemde tests. De Arduino MPH moet dicht bij de 'werkelijke' MPH, maar zal waarschijnlijk springen boven en onder het.