Talaan ng mga Nilalaman:

RPM Meter Na May STM32: 8 Mga Hakbang
RPM Meter Na May STM32: 8 Mga Hakbang

Video: RPM Meter Na May STM32: 8 Mga Hakbang

Video: RPM Meter Na May STM32: 8 Mga Hakbang
Video: DIY EBike Speed Controller using STM32 With Throttle and Speed Display | Electronics Projects 2024, Nobyembre
Anonim
RPM Meter Na May STM32
RPM Meter Na May STM32

Bagaman medyo istorbo itong bilhin (dahil hindi ito magagamit sa maraming mga tindahan ng internet), nakikita kong kinakailangan upang pag-usapan ang STM32 L432KC. Ang chip na ito ay nararapat sa espesyal na pagmamahal, dahil ito ay ULTRA LOW POWER. Gayunpaman, para sa mga hindi nagmamay-ari ng STM32, maaari itong mapalitan sa proyektong ito ng Arduino Uno. Upang magawa ito, baguhin lamang ang pin ng Interrupt input.

Gumawa tayo ng isang RPM meter gamit ang STM32 L432KC at isang infrared sensor. Ang parehong program na ito ay maaari ding magamit upang sukatin ang bilis ng hangin. Ang tampok na mababang lakas ng microcontroller na ito ay perpekto para sa IOT.

Hakbang 1: Mga Modyul

Mga Modyul
Mga Modyul
Mga Modyul
Mga Modyul

Para sa aming proyekto ngayon, ginagamit namin ang 8-digit na MAX7219CWG, pati na rin ang Infrared Module.

Hakbang 2: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Hakbang 3: Pagpapakita

Pagpapakita
Pagpapakita

Sa aming pagpupulong, mayroon kaming STM32, ang 8-digit na display, at ang input ng pulso. Ang infrared card ay may isang phototransistor at isang LED na nakakakuha ng ilaw sa pamamagitan ng pag-bounce ng isang puting laso. Ang tape na ito ay nakakabit sa isang gulong at, sa bawat pagliko, ay bubuo ng isang pulso, na makukuha ng STM32 makagambala.

Mayroon kaming isang diode at isang kapasitor sa pagpupulong na ginamit upang maiwasan ang ingay ng signal ng pagbabasa ng tape mula sa maabot ang STM32, na kung saan ay gagawan ng kahulugan ang on at off.

Ipinapakita ng demonstrasyon ang aming proyekto, pati na rin ang Minipa meter (parehong gumagana).

Hakbang 4: Assembly

Assembly
Assembly

Hakbang 5: Programa

Gagawa kami ng isang programa kung saan ang infrared module ay magpapalitaw ng isang nakakagambala sa STM32 L432KC bawat "turn," at gagawin namin ang mga kalkulasyon upang maipakita ang RPM sa display.

Hakbang 6: Mga Aklatan

Mga aklatan
Mga aklatan

Idagdag ang sumusunod na "DigitLedDisplay" library.

I-access lamang ang "Sketch >> Isama ang Mga Aklatan >> Pamahalaan ang Mga Aklatan …"

Hakbang 7: Source Code

Mga Aklatan at Variable

Simulan natin ang source code kasama ang library ng DigitLedDisplay. Ipapakita namin ang display object. Itinakda ko ang makagambala na pin, na magiging 12. Gayundin, nagpasok ako ng isang pabagu-bago ng isip operator para sa parehong counter ng RPM at oras upang maiwasan ang anumang mga problema sa banggaan.

/ * Isama ang DigitLedDisplay Library * / # isama ang "DigitLedDisplay.h" / * Arduino Pin upang Ipakita ang Pin 7 sa DIN, 6 sa CS, 5 sa CLK * / // DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); // arduino DigitLedDisplay ld = DigitLedDisplay (4, 2, 3); // STM32 L432KC int pin = 12; // pino de interrupção (módulo IR) pabagu-bago ng unsigned int rpm; // contador de rpm pabagu-bago ng panahon na hindi pinirmahan; // tempo

Pag-set up

Sa Pag-setup, iko-configure namin ang pagpapatakbo ng display, pati na rin ang pag-configure ng pagkagambala bilang Rising.

void setup () {Serial.begin (115200); / * Itakda ang ningning min: 1, max: 15 * / ld.setBright (10); / * Itakda ang bilang ng digit * / ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; timeold = millis (); }

Loop

Sa wakas, natutukoy namin ang agwat ng 1 sa 1 minuto upang mai-update ang display. Pagkatapos linisin ang screen, nai-print namin ang RPM. Ginagawa namin ang pagpapaandar na tatawagin ng makagambala. Kinakalkula namin ang RPM at i-update ang oras.

void loop () {pagkaantala (1000); ld. malinaw (); ld.printDigit (rpm); } walang bisa interruptPin () {rpm = 60 * 1000 / (millis () - timeold); timeold = millis (); }

Hakbang 8: Mga File

I-download ang mga file:

PDF

INO

Inirerekumendang: