Bilvarvräknare med LCD-display på PIC16F628. Digital varvräknare på PIC16F628 mikrokontroller

Det här var inte min idé. En vän bad mig precis komma med en anordning så att det skulle vara möjligt att räkna varvtalet på motoraxeln utan vajer, för att justera dieselutrustning. Och så att du kan använda den var som helst.

Efter att ha suttit och funderat kom jag på följande:

Funktionsprincipen är enkel: vi slår på IR-LED, och fotodioden tar emot reflektionen. Vi räknar tiden mellan signalmottagningar, räknar om det till varv per minut och visar det på skärmen. Strömförsörjningen är batteridriven.

I allmänhet kommer jag inte dra förbi katten... :)

På den tiden hade jag en sådan här mikrokontroller - PIC16F88. Det här är vad som hände.

Enhetsdiagram:

Jag brydde mig inte om IR-signalsensorn. Även om det, om så önskas, var möjligt (och för nyfikna kunde detta tjäna som ett incitament att förbättra J) att koppla in en TSOP1736-sensor istället för en fotodiod (som jag faktiskt hade i lager vid den tiden). I princip kan du förse den med 36 kHz från en generator monterad på en 555 timer. Du kan starta generatorn med bara en signal som slår på IR-lysdioden. Det är så det är... Dessutom genomförde jag sådana experiment. När 36 kHz ljus applicerades på TSOP var dess uteffekt 5 volt. När ljusstrålen stängdes återställdes TSOP-utgången till noll. Men eftersom uppgiften var att montera en autonom enhet med minimal förbrukning ansåg jag att det var slöseri att spendera energi på en sensor och generator. Dessutom var avståndet till det uppmätta objektet inte särskilt kritiskt. Även en centimeters avstånd var bra. I allmänhet blev det så här.

LCD-strömförsörjning är direkt från PIC-porten, samma som LM358-strömförsörjningen, för att minska strömförbrukningen i viloläge.

Tyvärr finns det inget livekort av den första prototypen kvar :(. Det var ett kort utan förstärkning av signalen från fotodetektorn. Signalen gick direkt till MK.

Tavlan såg ut så här:

Eftersom signalnivån från fotodetektorn inte alltid var tillräcklig för mikrokontrollern var det nödvändigt att komplettera kretsen. Jag byggde en förstärkare med LM358. Nu ser kretsen ut precis som den gör.

Efter att ha valt fallet och anpassat brädet till det, monterades denna fina enhet:


Funktionsprincipen är som följer:

Ett märke sätts på föremålet som studeras med hjälp av en vanlig kontorskorrekturläsare. Ca 5-7 mm i diameter. Eller en vit pappersetikett limmas på.

När strömmen slås på för första gången börjar PIC:n räkna varaktigheten av perioden mellan pulserna, som reflekteras från taggen anländer till fotodetektorn . Om det inte finns några pulser under cirka 4 sekunder återställs avläsningen till noll. Om det inte finns några pulser under cirka 20 sekunder går enheten in i lågförbrukningsläge. Indikatorn släcks. För nästa mätning måste du trycka på knappen ansluten till port RB0. och enheten "vaknar". Cykeln börjar igen.

Noggrannheten i avläsningarna är utmärkt, men inte över hela området. Vid höga hastigheter "svävar" avläsningarna, men bara lite och inte kritiskt.

Den enda nackdelen med denna enhet är dess inte särskilt långa räckvidd. Ungefär en centimeter. Men detta kan lösas, som jag skrev ovan, med hjälp av en fotodetektor som TSOP1736 eller TSOP1738 och en generator på en 555 timer. I det här fallet finns det inget behov av LM358.

Ytterligare ett förtydligande - materialet i föremålet som studeras måste vara mörkt.

Arkivet med proteusfilen och källan finns här.

Förresten, jag hittade en gammal källkod som implementerar principen att räkna pulser med hjälp av en fångstmodul, men indikatorn är LED. Men det är inte svårt att göra om det för LCD, det blir lättare

Detta varvräknarkrets på en mikrokontroller tjänar till att mäta antalet varv för praktiskt taget vilken förbränningsmotor som helst. Indikeringen görs på en fyrsiffrig LED-indikator, mätnoggrannheten är 50 rpm.

Beskrivning av varvräknarens funktion på mikrokontrollern PIC16F628

Efter applicering av matningsspänningen börjar den digitala varvräknaren omedelbart verifiera antalet varv. "SELECT"-knappen väljer ett av nio hastighetsmätningslägen, beroende på typen av fordonssensor.

Det första trycket på "SELECT" kommer att visa det aktuella värdet av antalet pulser som sensorn producerar per svänghjuls varv. Initialt inställd på 2 pulser per varv. Följaktligen kommer indikatorn att visa P-2.0. Varje efterföljande tryck på "SELECT" kommer att gå igenom alla tillgängliga värden (0,5; 1; 2; 3; 4; 5; 6; 7; 8 pulser/varv)

När valet av önskat pulsvärde är slutfört, kommer varvräknaren efter cirka 5 sekunder att komma ihåg det i minnet på PIC16F628-mikrokontrollern och gå in i driftläge för att mäta varv. Nästa gång du slår på varvräknaren är det inte längre nödvändigt att ställa in pulserna igen.

För korrekt drift av den digitala varvräknaren är det nödvändigt att vara uppmärksam på utformningen av ingångskretsen. För varje enskilt tändsystem (beroende på bilmärke) kan det vara nödvändigt att justera betygen så att varvräknaren inte reagerar på högre övertoner, och reagerar stadigt på den huvudsakliga.

I den uppdaterade firmwareversionen (tacho_univ_new) har en 2-sekunders indikatortestfunktion lagts till för att identifiera deras eventuella fel.

En varvräknare är en enhet som låter dig mäta rotationshastigheten (rotationshastigheten) för en mekanism (axel, rotor, motorskiva). Måttenheten för rotationshastighet är vanligtvis varv per minut. Den traditionella metoden för att mäta rotationshastighet är baserad på implementeringen av hastighetsåterkoppling: en likströmsgenerator används, som är ansluten till den roterande mekanismen på ett sådant sätt att spänningen som induceras vid generatorterminalerna är proportionell mot rotationshastigheten på skaftet.

I den här artikeln kommer vi att titta på designen av en varvräknare baserad på en PIC-mikrokontroller som inte har fysisk kontakt med den roterande delen av mekanismen för att mäta dess rotationshastighet. Denna teknik är baserad på en optisk metod för att bestämma rotationshastigheten, vilket kräver användning av en infraröd LED i kombination med en fotodiod.

Grunden för enheten i vårt fall är en kompakt utvecklingskort som produceras av företaget.

Varvräknaren låter dig mäta rotationshastigheter upp till 99960 rpm med en upplösning på 60 rpm. Resultatet visas på en LCD-indikator med två rader.

StartUSB för PIC-felsökningskortet är baserat på en Microchip-mikrokontroller med stöd för USB 2.0-gränssnittet. Dessutom har kortet kontaktdynor med mikrokontrollerin-/utgångslinjesignaler, samt ett område för prototypframställning och anslutning av ytterligare enheter. USB-datainsamlingsenheter, kommunikationsenheter och USB mp3-spelare kan utvecklas på basis av detta kort.

En utmärkande egenskap hos StartUSB for PIC-kortet är att mikrokontrollern som är installerad på kortet har en förinstallerad USB-starthanterare, vilket eliminerar behovet av att använda en extra programmerare. Dessutom tillhandahåller företaget ett gratis USB-bootloader-program för en persondator, med vilket användaren enkelt kan programmera mikrokontrollern. En USB-starthanterare för mikrokontrollern (firmware) tillhandahålls också.

Med den optiska metoden för att bestämma rotationshastigheten sänder en infraröd LED IR-pulser och en fotodiod fångar den reflekterade signalen. Om ytan på den roterande delen är mörk och grov kommer den reflekterade signalen att vara försumbar, så vi använder en bit vitt papper klistrat på den roterande delen. Om hela ytan på delen är ljus och reflekterande, måste du använda en bit mörkt papper så att en del av IR-strålningen absorberas under ett helt varv. I alla fall kommer vi att få en puls vid utgången av signalomvandlings- och matchningskretsen för varje fullt varv av den roterande delen.

Schematiskt diagram över IR-sensorn och signalmatchningskretsen från fotodioden

Diagrammet visar att om en hög nivå dyker upp på IR Tx-stiftet, kommer transistorn (npn) som styr IR-LED:n att öppnas. Den reflekterade signalen kommer in i fotodioden i signalomvandlingskretsen och anpassningskretsen för räkning av mikrokontrollern tas från transientkollektorn (pnp). Under normala förhållanden är fotodiodresistansen hög och transistorn är alltid avstängd. Utgången från kretsen (transistorkollektorn) dras till jord. Om den reflekterade IR-signalen faller på fotodioden, minskar dess motstånd och transistorn öppnas, därför uppträder en hög nivå vid utgången.

I kommer vi att titta på att ansluta sensorn och LCD-indikatorn till mikrokontrollern, huvudpunkterna i konfigurationen av den inbyggda timern för mikrokontrollern för att lösa vårt problem, såväl som utformningen av varvräknaren.

Vad är det förresten varvräknare? En varvräknare är en enhet som används för att mäta RPM (varv per minut) för en roterande kropp. Varvräknare är gjorda på basis av kontakt eller icke-kontakt sådana. Beröringsfria optiska varvräknare använder vanligtvis en laser eller infraröd stråle för att övervaka rotationen av någon kropp. Detta görs genom att beräkna tiden det tar för en rotation. I det här materialet, hämtat från en engelsk sida, kommer vi att visa dig hur du gör en bärbar digital optisk varvräknare med hjälp av Arduino Uno. Låt oss överväga en utökad version av enheten med en LCD-skärm och en modifierad kod.

Varvräknarkrets på en mikrokontroller

Schematisk reservdelslista

  • Mikrokrets - Arduino
  • Motstånd - 33k, 270 ohm, 10k potentiometer
  • LED-element - blått
  • IR LED och fotodiod
  • 16 x 2 LCD-skärm
  • 74HC595 skiftregister

Här, istället för en spårsensor, används en optisk - reflektion av strålen. På så sätt behöver de inte oroa sig för tjockleken på rotorn, antalet blad kommer inte att ändra avläsningen, och den kan läsa trumvarven - vilket spårsensorn inte kan.

Så först och främst behöver du en IR-emitterande LED och en fotodiod för sensorn. Hur man monterar den visas i steg-för-steg-instruktioner. Klicka på bilden för att förstora storleken.

  • 1. Först måste du slipa LED och fotodiod för att göra dem platta.
  • 2. Vik sedan pappersremsan enligt bilden. Gör två sådana strukturer så att lysdioden och fotodioden passar tätt in i den. Koppla ihop dem med lim och måla dem svarta.
  • 3. Sätt i LED och fotodiod.
  • 4. Limma ihop dem med superlim och löd trådarna.

Motståndsvärden kan variera beroende på vilken fotodiod du använder. Potentiometern hjälper till att minska eller öka sensorns känslighet. Löd givartrådarna enligt bilden.

Varvräknarkretsen använder ett 74HC595 8-bitars skiftregister med en 16x2 LCD-display. Gör ett litet hål i huset för att fixera LED-indikatorn.

Löd ett 270 ohm motstånd på lysdioden och sätt in den i stift 12 på Arduino. Sensorn sätts in i ett kubiskt rör för att ge ytterligare mekanisk styrka.

Det är allt, enheten är redo för kalibrering och programmering. Du kan ladda ner programmet från denna länk.

Video av en hemmagjord varvräknare som arbetar


Högspänningssäkerhetsanordning - elektrisk igelkott. Idag fortsätter vi våra samtal om de strukturer som behövs för att skydda vårt hem. Enheten som vi nu ska överväga är avsedd för att skydda en lägenhet, kontor, stuga och bil. Enheten kallas en högspännings elektrisk igelkott!

Denna digitala varvräknare är lämplig för att räkna varvtalet för nästan alla typer av förbränningsmotorer. Varvräknarens mätfel är endast 50 varv/minut. En fyrsiffrig LED-display används för att visa resultatet.
För att konfigurera driftläget måste du använda knappen "Välj". Första tryckningen visar aktuellt driftläge på displayen. Standarddriftläget är det tredje, när sensorn producerar två pulser per varv av svänghjulet. Följaktligen kommer inskriptionen P-2.0 att visas på displayen.

Varje efterföljande tryck på knappen växlar varvräknarens driftläge till nästa. Det finns nio av dem totalt: 0,5, 1, 2, 3, 4, 5, 6, 7, 8 pulser/varv, de ställer in antalet pulser som ges av sensorn per varv på svänghjulet. Ju högre antal pulser, desto mer exakt är mätningen.

Efter att ha valt driftläge måste du vänta 5-10 sekunder. Under denna tid kommer varvräknaren att registrera driftläget i mikrokontrollerns minne och gå in i driftläge. I framtiden kommer varvräknaren omedelbart att växla till driftläge när ström kopplas på. Om det finns ett behov av att konfigurera om varvräknaren, måste du trycka på "Välj"-knappen och konfigurera varvräknaren igen.

Det är värt att uppmärksamma parametrarna och designen av ingångskretsen. För en specifik typ av tändning är vissa justeringar av betygen möjliga, på grund av olika tändanordningar i olika typer av bilar. Detta är nödvändigt för att varvräknaren ska fungera bra med grundläggande övertoner och inte reagerar på högre övertoner. Utan sådan justering är exakt drift av varvräknaren omöjlig.

Den uppdaterade firmwareversionen innehåller en funktion för kontroll av indikatorer. Detta är nödvändigt för att utföra ett två-sekunders test för att identifiera sensorfel.

Bifogade filer:

Firmware

Enkel monoblock bilförstärkare baserad på TDA1560Q Gaslös strömförsörjning för fordon baserad på IRS2153 för bärbara datorer och mobiltelefoner Extern USB-kontakt i bilradio