Steering wheel cleaner: Rozdiel medzi revíziami
Zo stránky SensorWiki
(16 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 19: | Riadok 19: | ||
[[Súbor:Setretaz.png|náhľad|Reťazová zostava]] | [[Súbor:Setretaz.png|náhľad|Reťazová zostava]] | ||
[[Súbor:KoncovySpinac.PNG|náhľad|Použitý spínač]] | |||
# Arduino Nano | # Arduino Nano | ||
Riadok 25: | Riadok 26: | ||
# RGB diódu | # RGB diódu | ||
# Guličkové ložiská 4x12x4mm | # Guličkové ložiská 4x12x4mm | ||
# Valčekovú reťaz 04A-1 | # Valčekovú reťaz 04A-1 | ||
# 2x reťazová spojka | # 2x reťazová spojka 04A-1 | ||
# Reťazové koleso | # Reťazové koleso 04A-1 | ||
# Motor s prevodovkou | # Motor s prevodovkou | ||
# Napájací zdroj 12V | # Napájací zdroj 12V | ||
Riadok 35: | Riadok 36: | ||
# Tyč s priemerom 4mm | # Tyč s priemerom 4mm | ||
# Skrutky a matice | # Skrutky a matice | ||
== Návod na výrobu == | == Návod na výrobu == | ||
Riadok 79: | Riadok 100: | ||
== Analýza == | == Analýza == | ||
V tejto časti | V tejto časti sú rozanalyzované jednotlivé diely a uvedené technické údaje, prípadne priložené .stl súbory. | ||
=== DC motor === | |||
[[Súbor:Lasercut.PNG|náhľad|Úchyt motora]] [[Súbor:Valcek.PNG|náhľad|Vodiaci valček]][[Súbor:Kolečko.PNG|náhľad|Hnacie koliesko]] | |||
Elektromotor s prevodovkou sú svalmi čistiaceho systému. Dôležité bolo zabezpečiť dostatočne silný pohon, aby bol schopný prekonať pôsobiace trenie v systéme. Trecia sila tu zoháva významnú úlohu, keďže pri slabom dotyku čistiaceho bežca s volantom by volant nemusel byť dostatočne vyčistený a naopak pri veľmi silnom dotyku s volantom by s ním motor nemusel ani pohnúť. Na nasledujúcom obrázku je zobrazený motor spolu s technickými parametrami. | |||
[[Súbor:TechParamMotor.png |center| 500 px]] | |||
=== Napájací zdroj === | |||
Celý pohonný systém je napájaný zdrojom jednosmerného napätia. Parametre zdroja vidno na obrázku nižsie. | |||
[[Súbor:ZdrojParam.png|center| 500 px]]] | |||
=== Dôležité súbory === | |||
* .svg súbor pre laserové rezanie [[Médiá:Motormount.svg | uchytenia motora]]. | |||
* .stl súbor pre 3D tlač vodiaceho [[Médiá:VodiaciValcek.stl| valčeka]]. | |||
* .stl súbor pre 3D tlač reťazového [[Médiá:Hnaciekoliesko.stl| kolieska]]. | |||
== Popis riešenia == | == Popis riešenia == | ||
=== Koncept === | |||
Predpokladá sa, že budúcnosťou automobilizmu sú zdieľané vozidlá. Teda nebude mať, každý vlastné auto, ale autá sa búdu akoby požičiavať. Tu nastáva otázka ako auto udržať čisté s pravidelným zásahom človeka po každom použití. Jedným z prvkov, ktoré by mohli byť odpoveďou na túto otázku je aj samočistiaci volant. Koncept volantu a celého projektu spočíva v automobile, ktorý sa po opustení vozidla vyčistí sám. Takéto vozidlo by malo obsahovať prostriedky a systémy, ktoré po každom užívateľovi uvedú auto do hygienického stavu. | |||
=== Aktuálne riešenie === | |||
Momentálne riešenie je vybavané tlačidlom, ktoré simuluje pokyn na začatie čistenia. Po tom ako arduino obdrží tento pokyn rozbliká sa varovná ledka a po chvíli sa rozpohybuje čistiaci bežec. Po urobení prejdení celého obvodu volantu sa bežec zastaví v pôvodnej polohe. Následne sa rozbliká ledka a potom sa rozsvieti na zeleno v tom momente je čistenie ukončené. A zároveň volant je pripravený na bežné používanie alebo ďalšie čistenie. | |||
''' Počas testovania sa ukázalo, že hnacie koliesko vytačené 3D tlačou nevydrží záťaž a pretočilo sa na hriadeli motora. Preto bolo nahradené kovovým.''' | |||
Toto riešenie je príprava na výsledný produkt, ktorého vizualizáciu môžeme vidieť v gife na konci tejto dokumentáce. V záverčenej fáze bude tlačidlo simulujúce udaloať na začatie čistenia nahradené iným spôsobom, ktorý vygeneruje príkaz pre zahájenie čistenia. V praxi by to mohol byť senzor v sedadle, ktorý by dal vedieť systému, že šofér opustil auto a môže sa zahájiť čistenie. | |||
=== Zapojenie === | |||
Zapojenie celého systému je znázornené na obrázku nižšie. Pre ilustráciu sú v obtázku použité tlačidlá, ktoé boli k dispozícií v programe an tvorbu schém. Reálne bolo použité Arduino Nano a aj iné tlačidlá. Je ľubovolné ako si zvoliíme piny pre jednotlivé tlačidlá a farby RGB diódy je dôležité zohladniť to v zdrojovom kóde. Rovnako aj napájanie bolo realizované sieťovým zdrojom napätia nie 9V batériov ako je v obrázku. | |||
[[Súbor:Scheme.PNG|center]] | |||
=== Algoritmus a program === | |||
V nasledujúcej časti vidíme zdrojový kód čistiaceho systému volantu. Volant sa môže nachádzať v dvoch stavoch: | |||
# Keď je čistí, teda čistiaci bežec je v pohybe. | |||
# Keď je v stave šoférovania, teda bežec je v pokoji | |||
Prechody medzi stavmi sú sprevádzané blikaním RGB ledky. | |||
<source lang="c"> | <source lang="c"> | ||
int | /******* definovanie pinov *******/ | ||
const int motorPin=2; | |||
const int greenPin=6; | |||
const int bluePin=7; | |||
const int redPin=8; | |||
const int eventPin=10; /* pin sledujúci udalosť pri ktorej sa spustí čistenie */ | |||
const int polohaPin=9; /* pin sledujúci polohu čistiaceho bežca, keď je v pôvodnej polohe zastaví sa motor */ | |||
/******* pomocná premenná definujúca stav volantu *******/ | |||
bool motorIsRunning=false; | |||
void setup() { | |||
Serial.begin(9600); | |||
pinMode(motorPin, OUTPUT); | |||
pinMode(greenPin, OUTPUT); | |||
pinMode(bluePin, OUTPUT); | |||
pinMode(redPin, OUTPUT); | |||
pinMode(eventPin, INPUT); | |||
pinMode(polohaPin, INPUT); | |||
digitalWrite(greenPin,HIGH); | |||
} | |||
void loop() { | |||
if(!motorIsRunning){ | |||
if(digitalRead(eventPin)){ | |||
startCleaning(); | |||
motorIsRunning=true; | |||
} | |||
} | |||
if(motorIsRunning){ | |||
// Serial.println(digitalRead(polohaPin)); | |||
if(digitalRead(polohaPin)){ | |||
stopCleaning(); | |||
motorIsRunning=false; | |||
} | |||
} | |||
} | |||
/******** Funkcia sa zavolá v stave ked je vypnutý motor a rozbehne ho **********/ | |||
void startCleaning(){ | |||
for(int i=1;i<5;i++){ | |||
blinkYellow(); | |||
} | |||
digitalWrite(redPin,HIGH); | |||
delay(1000); | |||
digitalWrite(motorPin,HIGH); | |||
delay(1000); | |||
} | |||
/******** Funkcia sa zavolá v stave ked motor beží a vypne ho **********/ | |||
void stopCleaning(){ | |||
digitalWrite(motorPin,LOW); | |||
for(int i=1;i<5;i++){ | |||
blinkRed(); | |||
} | |||
digitalWrite(redPin, LOW); | |||
delay(500); | |||
digitalWrite(greenPin,HIGH); | |||
} | |||
/***** Funkcia pre blikanie žltou farbou **********/ | |||
void blinkYellow(){ | |||
digitalWrite(greenPin,HIGH); | |||
digitalWrite(redPin, HIGH); | |||
delay(400); | |||
digitalWrite(greenPin,LOW); | |||
digitalWrite(redPin, LOW); | |||
delay(400); | |||
} | |||
/***** Funkcia pre blikanie červenou farbou **********/ | |||
void blinkRed(){ | |||
digitalWrite(redPin, LOW); | |||
delay(400); | |||
digitalWrite(redPin, HIGH); | |||
delay(400); | |||
} | } | ||
</source> | </source> | ||
Zdrojový kód: [[Médiá:SteeringWheelCleaner1.ino|SteeringWheelCleaner.ino]] | |||
=== Výsledok === | === Výsledok === | ||
Riadok 133: | Riadok 240: | ||
Výsledný mechanizmus, ktorý bol vytvorený v tomto projekte bude v ďalšej fáze implementovaný do reálneho volantu, ktorý by sa mal podobať volantu na animácii. Pred tým však, bude znížená hlučnosť mechanizmu, použitím vodiacich ozubených koliesok namiesto valčekov. Tie budú podobne ako valčeky vytlačené na 3D tlači. K reťazi bude čistiaci bežec pripojený pružinovým systémom, ktorý doposiaľ nebol otestovaný. | Výsledný mechanizmus, ktorý bol vytvorený v tomto projekte bude v ďalšej fáze implementovaný do reálneho volantu, ktorý by sa mal podobať volantu na animácii. Pred tým však, bude znížená hlučnosť mechanizmu, použitím vodiacich ozubených koliesok namiesto valčekov. Tie budú podobne ako valčeky vytlačené na 3D tlači. K reťazi bude čistiaci bežec pripojený pružinovým systémom, ktorý doposiaľ nebol otestovaný. | ||
[[Súbor:Mechanizmuskomplet.png |center| | Výsledný mechanizmus: | ||
[[Súbor:Mechanizmuskomplet.png |center|600 px]] | |||
Video funkčného systému: | |||
[[Súbor:Cast1.gif|center|600 px]] | |||
[[Súbor:Cast2.gif|center|600 px]] | |||
[[Súbor:Gifvol.gif |center| | Plánovaný výsledok: | ||
[[Súbor:Gifvol.gif |center|600 px]] | |||
[[Category:DTV2019]] | [[Category:DTV2019]] |
Aktuálna revízia z 20:04, 5. jún 2019
Autor: | Marek Trebuľa | |
Študijný odbor: | Robotika a kybernetika | 3. Bc. (2019) |
Opis projektu
Cieľom projektu je navrhnúť mechanický a elektronický systém pre pohon čistiaceho mechanizmu automobilového volantu.
![](/sensorwiki/images/thumb/a/a4/Gifvol.gif/300px-Gifvol.gif)
Prečo?
Budúcnosť automobilizmu o 20 - 30 rokov predpokladá, že autá budú zdieľané, bude fungovať tzv. "carsharing". Tu nastáva otázka čo s hygienou týchto vozidiel. Hygiena volantu je dôležitá, keďže s ním budú prichádzať ľudia do kontaku pri každej jazde.
Potrebný materiál
Na zostrojenie prototypu pohonného systému pre čistič volantu budete potrebovať:
![](/sensorwiki/images/thumb/f/f3/Setretaz.png/300px-Setretaz.png)
- Arduino Nano
- Kontaktné pole
- 2x spínač
- RGB diódu
- Guličkové ložiská 4x12x4mm
- Valčekovú reťaz 04A-1
- 2x reťazová spojka 04A-1
- Reťazové koleso 04A-1
- Motor s prevodovkou
- Napájací zdroj 12V
- Rezistory
- Tranzistor
- Prepojovacie vodiče
- Tyč s priemerom 4mm
- Skrutky a matice
Návod na výrobu
Príprava materálu
Prototyp sa skladá z niekoľkých väčších celkov, ktoré bolo potrebné vyrobiť pred kompletizáciou.
- 2x maketa volantu vyfrézovaná CNC frézou z MDF dosky hrubej 8mm. Do tejto makety sa budú neskôr osádzať vodiace valčeky a tiež bude o nu priprevnený hnací motor na španovacom mechanizme.
- Na lasery bolo vyzrezané uchytenie motora z preglejky 5mm hrubej.
- Vodiace valčeky boli vytlačené 3D tlačou.
- Reťazové koleso prenášajúce moment motora na reťaz bolo vytlačené 3D tlačou.
- Z mosadznej tyčky o priemere 4mm boli vyrobené osky pre vodiace valčeky, ktoré spolu s oskami budú osadené v ložiskách. Dĺžka osky je 22mm.
Postup
- Do oboch makiet boli vhodne zavŕtané osadenia pre ložiská. Vonkajší priemer ložiska je 12mm preto aj tieto zapustenia boli vŕtané vrtákom hrúbky 12mm. Ďalej boli vyvŕtané otvory pre uchytenie španovacieho systému reťaze, ktorého súčasťou je aj motor s prevodovkou.
![](/sensorwiki/images/thumb/c/c0/Zapustenie.png/800px-Zapustenie.png)
- Na mosadzné osky boli osadené vodiace valčeky spolu s ložiskami.
![](/sensorwiki/images/7/7e/Loziskoplusvalcek.png)
- Motor s prevodovkou bol uchytený do španovacieho úchytu.
![](/sensorwiki/images/5/5a/Spanovak.png)
- Na výstupný hriadeľ prevodovky bolo nasadené reťazové koleso.(Pozn.: ak kúpite reťazové koleso bez závitu na zaisťovací šrób je potrebné navŕtať a vyrezať závit do náboja reťazového kolesa)
- Následne motor + prevodovka + španovací úchyt + reťazové koleso bolo primontované na maketu. Španovací systém bol nastavený tak, aby pri zakladaní reťaze bol čo najvolnejší.
- Do makety boli vložené ložiská spolu s vodiacimi valčekmi.
- Bola zmeraná potrebná dĺžka valčekovej reťaze a tá bola následne upravená na požadovanú dĺžku.
![](/sensorwiki/images/thumb/a/a4/Mechanizmuskomplet.png/800px-Mechanizmuskomplet.png)
- Po založení reťaze je možné priložiť k valčekom z druhej strany druhý kus makety a celý volant spojiť dokopy šróbami.
![](/sensorwiki/images/thumb/b/ba/Set.png/800px-Set.png)
- Posledný krok čo sa mechanickej časti týka je došpanovanie reťaze.
- Na záver urobiť elektrické zapojenie podľa schémy.
![](/sensorwiki/images/thumb/e/e1/Electric.jpg/800px-Electric.jpg)
Analýza
V tejto časti sú rozanalyzované jednotlivé diely a uvedené technické údaje, prípadne priložené .stl súbory.
DC motor
Elektromotor s prevodovkou sú svalmi čistiaceho systému. Dôležité bolo zabezpečiť dostatočne silný pohon, aby bol schopný prekonať pôsobiace trenie v systéme. Trecia sila tu zoháva významnú úlohu, keďže pri slabom dotyku čistiaceho bežca s volantom by volant nemusel byť dostatočne vyčistený a naopak pri veľmi silnom dotyku s volantom by s ním motor nemusel ani pohnúť. Na nasledujúcom obrázku je zobrazený motor spolu s technickými parametrami.
![](/sensorwiki/images/thumb/7/7c/TechParamMotor.png/500px-TechParamMotor.png)
Napájací zdroj
Celý pohonný systém je napájaný zdrojom jednosmerného napätia. Parametre zdroja vidno na obrázku nižsie.
![](/sensorwiki/images/thumb/3/32/ZdrojParam.png/500px-ZdrojParam.png)
]
Dôležité súbory
- .svg súbor pre laserové rezanie uchytenia motora.
- .stl súbor pre 3D tlač vodiaceho valčeka.
- .stl súbor pre 3D tlač reťazového kolieska.
Popis riešenia
Koncept
Predpokladá sa, že budúcnosťou automobilizmu sú zdieľané vozidlá. Teda nebude mať, každý vlastné auto, ale autá sa búdu akoby požičiavať. Tu nastáva otázka ako auto udržať čisté s pravidelným zásahom človeka po každom použití. Jedným z prvkov, ktoré by mohli byť odpoveďou na túto otázku je aj samočistiaci volant. Koncept volantu a celého projektu spočíva v automobile, ktorý sa po opustení vozidla vyčistí sám. Takéto vozidlo by malo obsahovať prostriedky a systémy, ktoré po každom užívateľovi uvedú auto do hygienického stavu.
Aktuálne riešenie
Momentálne riešenie je vybavané tlačidlom, ktoré simuluje pokyn na začatie čistenia. Po tom ako arduino obdrží tento pokyn rozbliká sa varovná ledka a po chvíli sa rozpohybuje čistiaci bežec. Po urobení prejdení celého obvodu volantu sa bežec zastaví v pôvodnej polohe. Následne sa rozbliká ledka a potom sa rozsvieti na zeleno v tom momente je čistenie ukončené. A zároveň volant je pripravený na bežné používanie alebo ďalšie čistenie.
Počas testovania sa ukázalo, že hnacie koliesko vytačené 3D tlačou nevydrží záťaž a pretočilo sa na hriadeli motora. Preto bolo nahradené kovovým.
Toto riešenie je príprava na výsledný produkt, ktorého vizualizáciu môžeme vidieť v gife na konci tejto dokumentáce. V záverčenej fáze bude tlačidlo simulujúce udaloať na začatie čistenia nahradené iným spôsobom, ktorý vygeneruje príkaz pre zahájenie čistenia. V praxi by to mohol byť senzor v sedadle, ktorý by dal vedieť systému, že šofér opustil auto a môže sa zahájiť čistenie.
Zapojenie
Zapojenie celého systému je znázornené na obrázku nižšie. Pre ilustráciu sú v obtázku použité tlačidlá, ktoé boli k dispozícií v programe an tvorbu schém. Reálne bolo použité Arduino Nano a aj iné tlačidlá. Je ľubovolné ako si zvoliíme piny pre jednotlivé tlačidlá a farby RGB diódy je dôležité zohladniť to v zdrojovom kóde. Rovnako aj napájanie bolo realizované sieťovým zdrojom napätia nie 9V batériov ako je v obrázku.
Algoritmus a program
V nasledujúcej časti vidíme zdrojový kód čistiaceho systému volantu. Volant sa môže nachádzať v dvoch stavoch:
- Keď je čistí, teda čistiaci bežec je v pohybe.
- Keď je v stave šoférovania, teda bežec je v pokoji
Prechody medzi stavmi sú sprevádzané blikaním RGB ledky.
/******* definovanie pinov *******/
const int motorPin=2;
const int greenPin=6;
const int bluePin=7;
const int redPin=8;
const int eventPin=10; /* pin sledujúci udalosť pri ktorej sa spustí čistenie */
const int polohaPin=9; /* pin sledujúci polohu čistiaceho bežca, keď je v pôvodnej polohe zastaví sa motor */
/******* pomocná premenná definujúca stav volantu *******/
bool motorIsRunning=false;
void setup() {
Serial.begin(9600);
pinMode(motorPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(eventPin, INPUT);
pinMode(polohaPin, INPUT);
digitalWrite(greenPin,HIGH);
}
void loop() {
if(!motorIsRunning){
if(digitalRead(eventPin)){
startCleaning();
motorIsRunning=true;
}
}
if(motorIsRunning){
// Serial.println(digitalRead(polohaPin));
if(digitalRead(polohaPin)){
stopCleaning();
motorIsRunning=false;
}
}
}
/******** Funkcia sa zavolá v stave ked je vypnutý motor a rozbehne ho **********/
void startCleaning(){
for(int i=1;i<5;i++){
blinkYellow();
}
digitalWrite(redPin,HIGH);
delay(1000);
digitalWrite(motorPin,HIGH);
delay(1000);
}
/******** Funkcia sa zavolá v stave ked motor beží a vypne ho **********/
void stopCleaning(){
digitalWrite(motorPin,LOW);
for(int i=1;i<5;i++){
blinkRed();
}
digitalWrite(redPin, LOW);
delay(500);
digitalWrite(greenPin,HIGH);
}
/***** Funkcia pre blikanie žltou farbou **********/
void blinkYellow(){
digitalWrite(greenPin,HIGH);
digitalWrite(redPin, HIGH);
delay(400);
digitalWrite(greenPin,LOW);
digitalWrite(redPin, LOW);
delay(400);
}
/***** Funkcia pre blikanie červenou farbou **********/
void blinkRed(){
digitalWrite(redPin, LOW);
delay(400);
digitalWrite(redPin, HIGH);
delay(400);
}
Zdrojový kód: SteeringWheelCleaner.ino
Výsledok
Výsledný mechanizmus, ktorý bol vytvorený v tomto projekte bude v ďalšej fáze implementovaný do reálneho volantu, ktorý by sa mal podobať volantu na animácii. Pred tým však, bude znížená hlučnosť mechanizmu, použitím vodiacich ozubených koliesok namiesto valčekov. Tie budú podobne ako valčeky vytlačené na 3D tlači. K reťazi bude čistiaci bežec pripojený pružinovým systémom, ktorý doposiaľ nebol otestovaný.
Výsledný mechanizmus:
![](/sensorwiki/images/thumb/a/a4/Mechanizmuskomplet.png/600px-Mechanizmuskomplet.png)
Video funkčného systému:
![](/sensorwiki/images/d/d8/Cast1.gif)
![](/sensorwiki/images/7/7a/Cast2.gif)
Plánovaný výsledok:
![](/sensorwiki/images/a/a4/Gifvol.gif)