MSP430 baserad Chronulator (med Launchpad chip) (10 / 12 steg)
Steg 10: Tuning mätaren kalibrering matriser
Analoga panel meter har inneboende olinjäriteter, speciellt billiga eller gamla meter med slitage och smuts. Vi också lägga olinjäriteter mätaren genom att köra dem med PWM (pulse bredd modulering) och vår hemlagade metervara skalor. C programmet för detta projekt hanterar detta genom att tillhandahålla 2 matriser som används till individuellt stämma Mätarvärdena.
2 matriser heter m_cal (används med minut meter) och h_cal (används med timräknare). Matrisen 12 medlemmar representerar antalet klocka pulser krävs för att flytta mätaren rörelsen en stor division. När det gäller timräknare är detta en timme. När det gäller minut mätaren är det 5 minuter. Tidsfristen för PWM båda mäter är samma. Det är 10000 klocka pulser. Summan av alla 12 medlemmar av en viss trim matris blir kortare än perioden. Jag försökte lämna ca 10% av PWM som takhöjd. Så typiskt kommer arrayer summan ca 9000.
Minut skalan har 5 delområden (1 min) per större division (5 min). Den timmen meter sveper varje större minut division (5 minuter), finns så det 12 underavdelningarna för timräknare per varje större division (1 tim). Därför siffrorna i m_cal bör vara delbart med 5, och talen i h_cal bör vara delbart med 12. Detta är inte ett absolut krav, men använder andra nummer kommer att resultera i rester tappas och skulle kunna skapa förvirring.
Låt oss titta på ett exempel. Om arrayen timme (h_cal) är lika med h_cal [] = {720, 708, 696, 736,...}, för att flytta mätaren till klockan 3 måste du ställa in antalet PWM pulse som summan av de 720, 708 och 696, vilket är lika med 2124. Om du var klockan ett och ville gå halva vägen mellan ett och två lägger du till 360 (708 dividerat med 2 och avrundade upp till nästa nummer divisible av 12) till 720.
Matriser i programmet bör vara nära vad du behöver oavsett mätaren känslighet du använder, eftersom du ändra motstånden för att ändra den nuvarande förutsatt att mätarna. Du ska endast behöva stämma dem upp.
Hur ställa in mätaren cal matrisen:
Steg 1:
Vi börjar med minut mätaren. För att underlätta kommer vi ändra det minsta för från 1 minut per knapp push till 5 minuter per knapp push. Leta upp i koden följande linjer och o-kommentera dem. De är del av port_1 avbrottstjänstens rutin.
för (int j = 1; j < = 4; j ++) / / inc 4 minuter avkommentera dessa 4 rader när du trimmar m_cal
// {
one_min();
// }
Koppla bort batteriet styrelsens projektet och göra "spy-by-wire" anslutningar mellan projektstyrelsen och startfönstret. Ladda modifierade programmet på MSP430. Nu varje gång vi trycka minuten öka knapp i minuten mätaren kommer att hoppa 5 minuter i stället för 1.
Steg 2:
Ta bort formuläret "spy-by-wire" anslutningar projekt styrelsen provpunkter och återanslut batteriet. Tryck på Reset-knappen. Nästa justera noll av mätaren. Sedan Tryck på knappen minute increment och observera där mätaren kommer till på skalan. Det bör vara nära 5 minuter. Skriv ner om det är mindre än 5, exakt på 5 eller större än 5. Tryck på knappen minute increment igen och avgöra hur nära 10 minuter det är. Gör ca 20 minuter (4 knapptryckningar).
Steg 3:
Koppla bort batteriet styrelsens projektet och göra "spy-by-wire" anslutningar mellan projektstyrelsen och startfönstret. Använda dina anteckningar justera de första fyra medlemmarna av m_cal baserat på vad du observerat. Om mätaren var högre än väntat sedan justera medlemmen ner. Om mätaren var lägre än vad du förväntade dig justera medlemmen upp. Starta från den nedre änden av skalan och flytta upp. Om du ser en trend där varje gång du trycker på knappen skillnaden blir större från önskad punkt minska alla nummer. Om den första är av lite och de andra verkar vara avstängd om samma offset, än justera den första medlem som är avstängd. Jag göra brukar justeringar av 5 eller 10, om inte jag är långt bort då jag göra justeringar av 20. När du har gjort om anpassning av m_cal, starta felsökningsprogram och hämta ändringarna till chipet.
Steg 4:
Ta bort formuläret "spy-by-wire" anslutningar projekt styrelsen provpunkter och återanslut batteriet. Iaktta resultaten av de ändringar du gjort. Upprepa steg 2 (utan att justera mätaren noll), 3 och 4 som behövs, sakta flyttar upp skalan (25 minuter till 60 minuter) tills varje gång du träffar knappen minute increment, mätaren går exakt till en 5 minuters större uppdelning av skalan.
Steg 5:
När du är nöjd med trimning av minut mätaren kan du flytta till timräknare. Jag föreslår att du åter kommentar 4 rader vi okommenterade i steg 1 och att se den ändrade koden kommer tillbaka på chip.
Steg 6:
Trimning av arrayen timme mätaren h_cal liknar vad du gjorde på minuten mätaren. När du trycker på knappen timme tillväxten bör det hoppa till nästa timme på skalan. Justeringarna bör vara multiplar av 12 istället för multiplar av 5. Jag vanligtvis gör justeringar av 12 och 24.
Jag vet att detta förfarande låter svårt, men är det verkligen enkelt när du bestämmer hur mycket mätaren kommer att flytta till din justering. Hela bör ta mer än 30 minuter.