» nite » DIY nápady »Tachometer pre skútre

Tachometer pre skútre

Upozorňujem vás na môj ďalší remesláa to rýchlomer pre skútre.
Pozadie je nasledujúce: Pre potešenie z prekonania fyzickej nečinnosti bola zakúpená doska Rollersurf. Pretože na doske sú iba dve kolesá, jazda na nej vyžaduje pocit rovnováhy, môžete na nej len „stáť“. Keď som sa ubezpečil, že po nepretržitom pohybe vo vzdialenosti asi 700 metrov sa zdá, že sa kolesá zachytili v piesku a pohyb bol veľmi ťažký, obrátil som sa na internet a na špecialistov. Ukázalo sa, že v dôsledku nadmernej mäkkosti materiálu kolesa pre moju hmotnosť je materiál kolesa veľmi horúci a mäkčený, kontakt s vozovkou sa zvyšuje a zvýšená viskozita kolesa sťažuje ovládanie a vytvára točivý moment. Po výmene kolies za tvrdší kotúč sa dosky významne zvýšili, rovnako ako ľahkosť ovládania. Na tej istej dlhej trati sa nestalo známe brzdenie, rýchlosť sa naďalej zvyšovala, čo viedlo k nepríjemnému poklesu.
Myšlienka zmerať rýchlosť a obmedziť zrýchlenie prišla pravdepodobne po páde :) Tam bol prototyp z roku 2014, kde bolo také zariadenie vytvorené, ale pre iný typ dosky, kde sa rovina rotácie kolesa príliš nepohybovala relatívne relatívne k doske a elektronika sa dá umiestniť na samotnú dosku jej pripojením k senzoru na kolese flexibilným drôtom.
V mojom prípade by snímač aj elektronika nemali byť umiestnené na konzole kolesa, pretože konzola (koliesko) sa sama otáča okolo svojej osi kruhovým spôsobom vzhľadom na rovinu dosky.
Vzhľad valčekového surfovania


Realizácia. Špecifikácia signálu bola vybraná spoločnosťou BlueTooth z dôvodu dostupnosti tejto technológie a jej prítomnosti v inteligentných hodinkách Samsung SM-V700. Modul BlueTooth bol vybraný ako kontrolér HC-05 Arduino Mini Pro, ale následne nahradený holým ovládačom AtMega168A, bola vybraná batéria Li-Pol s kapacitou 500 mAh, aby vyhovovala rozmerom kolieska a odhadovanej spotrebe energie. Ako senzor rotácie bol Hallov senzor SS49E na rozdiel od prototypu vybraný ako operačne stabilnejší. V súlade s tým bola skica mierne modernizovaná. Priechod magnetu namontovaného v náboji kolesa je analyzovaný dvoma bodmi: prvá aktivácia - magnet vstupuje do zóny citlivosti - „čata“ a druhá aktivácia - magnet opúšťa citlivosť senzora - „zostup“.Ovládač počíta tieto udalosti v stanovenom časovom období - 1 sekundu a odošle prijaté číslo cez komunikačný kanál do zariadenia Android a súčasne analyzuje prichádzajúce signály. Program na prijímanie, zobrazovanie a správu modulu bol vytvorený na základe prototypu v prostredí Android Studio. Poskytuje niektoré zlepšenia súvisiace so zvyšovaním odolnosti proti hluku. Rovnako ako prototyp, aj pri výpočte rýchlosti a vzdialenosti. Ako sa zdá, uloží sa aj užitočná funkcia zapnutia / vypnutia „svetlometu“ - LED nasmerovanej vpred.
Blok bez krytu

Viditeľné vľavo hore: červená kontrolka LED na ochranu proti prepätiu, spínač nabíjania a práce, batéria; dole: zelený modul VT, mikrokontrolér AtMega168A so zapustenými svorkami je prilepený na chrbát hornou časťou puzdra.
Kryt bloku s magnetickým snímačom

Modul vyzerá takto:
Blok na kolieskach

Na fotografii vidíte hlavný vypínač, kontakty pre pripojenie nabíjačky, na druhej strane jednotky v rohu nad - LED - „svetlomet“.
Prototypový program bol doplnený o schopnosť vydávať zvukové a vibračné signály pri rôznych udalostiach (zapnutie / vypnutie svetlometu, výstražný signál pri prekročení stanovenej maximálnej rýchlosti).
Testovanie na stole - na fotografii nižšie, ešte testované na ceste, čakanie na leto :)
Testovanie na stole

Projekt Android Studio má veľký zväzok, uverejním ho niekde s odkazom, ak existuje záujem, prinesiem náčrt s komentármi.
V prítomnosti záujmu som pripravený zdieľať nápady, skúsenosti.
Otázka \ topic sa automaticky uverejní v sociálnej sieti. site site - zostaňte naladení, kde nájdete odpovede:

Vhodný pre tému

Súvisiace témy

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť
1 komentár
Autor
Skica firmvéru ATMega168A:
/*
* Mega168 !!!
*/
#include "timer-api.h"

int Polarita = -1; // polarita impulzu vstupného signálu (v mojom prípade záporná)
int prahová hodnota = 500; // prahová hodnota spúšťacieho impulzu čítaného impulzu 1/2 Vcc = 512
int CountTurn = 0; // uložte počet otáčok za účtovné obdobie
int LED = 13; // LED pripojená k pinu PB5
int InputSignal = A5; // vstup pre Hallov senzor
int TurnNumber = 0; // akumulovaný počet otáčok
int DeltaT = 28; oneskorenie spredu na určenie konca impulzu pre stabilitu
bool Tick = false; // počiatočná hodnota, zatiaľ žiadne zaškrtnutie

neplatné nastavenie ()
{
Serial.egegin (9600); // na ladenie
timer_init_ISR_2Hz (TIMER_DEFAULT); // získajte 1-sekundové oneskorenie !!!
pinMode (LED, VÝSTUP); // výstup signálu na podsvietenie (svetlomet)
pinMode (InputSignal, INPUT); // vstup pre Hallov senzor
}

void loop () // tu robíme spracovanie signálov zo senzora a ovládania svetlometu
{
if (Tick) // povolenie na vykonanie bloku if v pevne stanovenom časovom intervale
// pošlite počet otáčok
{
Serial.println (String (CountTurn) + ";"); // na ladenie
Zaškrtnite = false; // pripravte stopu. časový interval
CountTurn = 0; // vynulujte počet otáčok po prenose do smartfónu
}

inak // ak kliešte ešte neprišli, akumulujeme počet otáčok, zapneme / vypneme svetlomet
{
// akumulácia otáčok
ak (analogRead (InputSignal) {
delay (DeltaT); // zatiaľ nič nečítajú
ak (analogRead (InputSignal)> Treshold) // prišla zadná hrana
{
CountTurn ++; akumulujú sa počet otáčok po príchode zadnej hrany
}
}

// ovládanie svetlometov
if (Serial.available ()> 0) // prečíta znak z BTSerial
{
char command = Serial.read ();
prepínač (príkaz)
{
prípad '0': digitalWrite (LED, LOW); brzda; // zapnite svetlomet
prípad '1': digitalWrite (LED, HIGH); break; // Vypnite svetlomet
}
}
}
}

void timer_handle_interrupts (int timer)
{
Tick ​​= true;
}

Odporúčame vám prečítať si:

Ruku pre smartphone ...