Sadržaj:
- Korak 1: Materijali i alati
- Korak 2: Promjena kotača i priprema kamiona
- Korak 3: Nosač motora za rezanje i zavarivanje
- Korak 4: Montiranje motora i remena
- Korak 5: Sheme ožičenja
- Korak 6: Povezivanje BMS -a
- Korak 7: Prekidač za uključivanje/isključivanje (tipka petlje)
- Korak 8: VESC, indikator baterije i UBEC konektor
- Korak 9: Senzor motora prema Vescu
- Korak 10: Napajanje Raspberry Pi
- Korak 11: Ožičenje Pi, Svjetla i GPS -a
- Korak 12: Stanovanje
- Korak 13: Osnovno postavljanje Pi
- Korak 14: Postavite projekt na svoj Pi
- Korak 15: Postavljanje načina kioska Raspberry Pi
- Korak 16: Kako to radi
Video: Električna longboard s mogućnošću praćenja: 16 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovaj projekt se sastoji od električne longboard ploče koja zadržava rutu uz pomoć pi od maline pi. Te se sesije čuvaju u bazi podataka mySQL i prikazuju se na mojoj web stranici napravljenoj s mikrookvirom 'Flask'.
(Ovo je školski projekt koji je napravljen za 3 tjedna)
Korak 1: Materijali i alati
Ovaj projekt zahtijeva vještinu lemljenja i koštat će oko 500 eura.
Materijali:
Svi materijali i veze do dobavljača nalaze se na stranici Bill of Material.
Alati:
- Lemilica + lim
- Kliješta
- Pištolj za vruće ljepilo
- Odvijači i imbus ključ
- Pinceta bi ponekad mogla dobro doći
- Rezač/skidač žice
U ovom projektu koriste se tokarski stroj, laserski rezač i 3D pisač!
Korak 2: Promjena kotača i priprema kamiona
Prije svega, skinuo sam te male bijele kotače sa svoje longboard. Zatim sam uklonio kuglične ležajeve i stavio ih u narančaste kotače od 90 mm.
Kamion na koji će biti montiran motor treba malu prilagodbu. Kotač s zupčanikom ne stane na kamion longboard -a koji sam kupio, pa sam tokarskim strojem morao rezati oko 1 cm.
i montirao ih na kamione, osim kotača s brzinom (nasumično sam odabrao desnu, stražnju stranu).
Korak 3: Nosač motora za rezanje i zavarivanje
Nosač motora od aluminija napravio sam laserskim rezačem po dimenzijama sa gornje slike.
Položaj nosača je važan. Treba ga nagnuti što je više moguće bez dodirivanja ploče, a budući da imam veliki motor, nije li kut toliko velik. Slučajno poznajem zavarivača pa ga je isprva malo zavario, a zatim sam, da bih testirao pozicioniranje, gurnuo kamione s jedne na drugu stranu da vidim je li dotaknuo ploču.
Nakon što sam cijelu ploču završio, odradio sam probnu vožnju, a nosač motora se olabavio pa to objašnjava zašto će moj motor na sljedećim fotografijama izgledati oštećen;) Nakon toga zamolio sam poznanika da ga potpuno zavari.
Korak 4: Montiranje motora i remena
Upotrijebite 4 podebljana slova M4*14 za postavljanje motora na nosač.
Nakon toga morate pričvrstiti remenicu motora sa 12 zubaca na osovinu motora. Pazite da se sitni podebljani font nalazi na ravnom dijelu osovine!
Sada možete uzeti jedan od pojaseva i staviti ga oko remenice, uzeti točak sa zupčanikom i okretati ga dok cijeli pojas ne bude oko zupčanika.
Pritegnite maticu na kamionu kako vam kotač ne bi otpao i to je to.
Korak 5: Sheme ožičenja
Elektroničke komponente spojene su prema gornjim dijagramima.
Prvi je potpuna shema elektronike.
Drugi dijagram prikazuje sve spojeve električnog longboard dijela, 6s UBEC do 12V ide na sljedeći dijagram. Taj dijagram prikazuje krug svjetla i senzora koje kontrolira malina Pi.
Kao što ste vjerojatno već vidjeli, tft zaslon ima žensko zaglavlje koje zauzima mnoge igle. Igle koje su nam potrebne za serijsku komunikaciju s GPS modulom. Tako sam lemio žice na iglicama koje su nam potrebne (slika 4-6) na ženski priključak koji se priključuje na Pi.
Korak 6: Povezivanje BMS -a
Za dijagram povezivanja koristio sam comsa42 njegove nepotrebne stvari.
Koristio sam balansnu ploču BMS (sustav za upravljanje baterijom) za punjenje lipoa kako bih ih mogao ostaviti u kućištu i napuniti ih "pametnim punjačem" putem vodootporne istosmjerne utičnice
Lemio sam dva kabela za priključak za punjenje na BMS-u, jedan na P- (crni), a drugi na P+ (crveni). (Ovi kabeli ne moraju biti tako debeli jer će proći samo 2 ampera priključak za punjenje)
NAPOMENA: U početku sam koristio DC utičnicu s vijcima, ali sam je kasnije zamijenio vodootpornom DC utičnicom iz BOM -a. Nemojte još lemiti utikač ili ćete imati problema kad ga poželite staviti u kućište.
Spojio sam dvije baterije u seriju s jednim od 'XT60 2 serijskog utikača' koji sam kupio. Uključio sam to muško zaglavlje u žensko i lemio sam na njega debelu crvenu i crnu žicu. Crvena žica ide na B+ i BMS, a crna na B-.
Zatim balansni kabeli za baterije. Koristio sam dva od kupljenih balans kablova i isključio crvenu žicu za balansiranje za bateriju jedan i posljednju crnu žicu za bateriju dva s obje strane. Ne trebaju nam jer su iste kao i debele žice baterija koje smo već spojili. Zatim ga lemite ispravnim redoslijedom poput dijagrama.
NAPOMENA: U sredini sam spojio uzemljenje s pozitivom iz sljedeće baterije, ali to zapravo nije potrebno jer serijski konektor to već čini.
Korak 7: Prekidač za uključivanje/isključivanje (tipka petlje)
Umjesto da kupim prekidač protiv iskrenja od 60 dolara, napravio sam petlju. Princip je jednostavan. Napravite prekid u krugu i da biste uključili ploču, uključite XT90 konektor protiv iskrenja i krug je zatvoren, bez ikakvih iskri.
Prvo sam zalemio žicu na muški utikač (slika 2-4), a zatim neke 3,5 mm konektore za metak na ženski XT90 utikač.
Za spajanje na baterije koristio sam muški XT60 konektor na ženski XT60 konektor, ali s prekidom u crvenoj žici. Zatim sam lemio konektore metaka na krajeve gdje sam prerezao žicu na pola, tako da mogu priključiti žensko zaglavlje XT90 umjesto da ga lemim izravno na kabel. Zato ga uključite i voila, prekidač za uključivanje/isključivanje je gotov.
Korak 8: VESC, indikator baterije i UBEC konektor
Napravio sam vlastiti '3 paralelno s 1 priključkom' lijepljenjem 3 zaglavlja XT60 (slika 1) i lemljenjem žice na pozitive stabla i žice na negative stabla (slika 2-6). Zatim sam mu zalemio muški konektor i zaštitio gole kabele nekom crnom trakom. (slika 7-9)
VESC & Pokazatelj
Lemite muški utikač XT60 na VESC kablove za napajanje i na kabele indikatora postotka/napona baterije.
uBEC
Odvojite 2 kabela za balansiranje i lemljenje muškog kraja na muški utikač XT60. Ženski krajevi spojeni su na ulaznu stranu uBEC -a (pretvarača napona).
NAPOMENA: Prerezao sam žice balansa 'malo' kraće, ali to je bila pogreška pa ih ostavite netaknutima;)
Korak 9: Senzor motora prema Vescu
Pomoću dva koračna kabela spojite osjetnik motora na VESC. Motor ima 5 pinova, 2 za napajanje na stablu za Hall -ove senzore (1 pin na Hall -senzor).
Izvucite četiri kabela sa 4 -pinske strane i uzmite dodatnu žicu s drugog koračnog kabela, malo ih skratite i zalemite neke muške igle na kraj. Poredajte ih ispravnim redoslijedom kao na slikama
Da biste sve osigurali, upotrijebite termoskupljajuće cijevi i traku! Kada to završi, jedino što trebate učiniti je samo ih rasporediti pravim redoslijedom od VESC -a do motora.
Korak 10: Napajanje Raspberry Pi
Trebamo pretvarač od 12V do 5V koji će napajati malinu pi putem USB -a, pa sam odmah pomislio na auto punjač. To je jeftino i praktično rješenje.
NAPOMENA: Prije nego što ga otvorimo, morate se sjetiti koji je to port koji može isporučiti 2,1 Amper jer Pi to treba.
Stoga uklonite naljepnicu i odvrnite gornji dio autopunjača, a zatim olabavite iglu na dnu. Nakon toga će se lako otvoriti, lemiti oprugu (+12V) i metalni zakrivljeni predmet (GND) i zamijeniti ih s 2 od tih žica za ravnotežu (lemiti mušku stranu na PCB).
Kad je to učinjeno, provjerio sam je li sve u redu tako što sam spojio istosmjernu utičnicu na žice i uključio ga u izvor napajanja LED diode te izmjerio izlazni USB napon (dva vanjska su +5V i GND).
Ako je sve ispravno, gole metalne dijelove možete sakriti nekim termoskupljajućim cijevima i trakom.
NAPOMENA: Dubbelcheche provjerite polaritet na punjaču, jer može biti različit.
Korak 11: Ožičenje Pi, Svjetla i GPS -a
Sada snaga za svjetla.
Od našeg uBEC -a primamo 12V i to nam treba za prednja svjetla, stražnja svjetla i punjač za automobil. Malina pi ne može isporučiti dovoljno struje niti napona za napajanje LED -a pa ćemo morati koristiti tranzistor. 12V će se koristiti kao izvor napajanja, a malina pi će ih uključivati i isključivati kontroliranjem baze NPN tranzistora (2N222: slika 2) pa lemimo to na ploču za izradu prototipa.
Prvo je stražnje svjetlo stražnje strane longboard-a, a malina pi će doći sprijeda pa će se kabel morati produžiti (slika 3-5). Stražnje svjetlo ima 3 žice. Crna (negativna), žuta (svjetlo za trčanje/zadnje svjetlo), crveno (svjetlo za kočenje/zaustavljanje). No, budući da postoji samo vrlo mala razlika između kočnice i svjetla za hod, odlučujem se koristiti crvenu žicu i pustiti žutu na miru. Umetnite dugačku mušku žicu u predviđeni metal stražnjeg svjetla i savijte je sve dok se žica više ne može olabaviti. Učinite to za crnu i crvenu žicu.
Za stražnja svjetla, lemite ih paralelno. Zatim ploča za izradu prototipova. Lemite ženske krajeve dviju žica za balansiranje na ploču i upotrijebite bakrenu žicu za rasprostiranje 12V po cijeloj ploči. Zatim dodajte tranzistore, jedan za prednja svjetla i jedan za stražnja svjetla. Kolektor -> 12V, odašiljač -> GND en bazu na otpornik, a zatim na žicu sa ženskim krajem, koja će stati na maltene pi GPIO pinove (pinovi 20 i 21). Punjač za automobil može se napajati na 12V, zatim umetnite USB kabel u ispravan USB ulaz i stavite kraj mikro USB -a u malinu pi.
GPS veze:
PI GPS
3.3V -> Vin
GND -> GND
RX -> TX
TX -> RX
NAPOMENA: Samo 2 osnovna pina tranzistora trebaju vanjski otpornik za ograničavanje struje. Svjetla ih ne trebaju jer su ugrađena u LED diode.
Korak 12: Stanovanje
Zamotao sam dijelove koji pripadaju zajedno u plastične folije kako bih se uvjerio da su sve žice sigurne i da ih je kasnije lakše staviti u kućište. Dizajnirao sam sve dijelove u izumitelju i ispisao ih svojim 3D pisačem. Dostupne su sve datoteke izumitelja (.ipt) i datoteke pisača/rezača (.stl). Dizajni su vrlo osnovni.
Stražnja strana (električni dijelovi longboard)
Možete staviti indikator baterije u ženski XT90 utikač, a zatim staviti plastičnu kutiju. Nakon što se kućište zaglavilo, popravio sam utikač XT90 vrućim ljepilom tako da ostane zaglavljen kad se prekidač izvuče i izvuče. Također sam dodao vijak s unutarnje strane kućišta tik uz zid gdje je pričvršćen utikač XT90 tako da se zid ne može pritisnuti pri uključivanju petlje.
Antena iz GPS modula je duga, vrlo duga. Tako sam dva kraja izvadio iz kutije i presavio žicu u ovaj dio kućišta.
NAPOMENA: Upotrijebite male vijke koji nisu dulji od longboard -a!
Nakon što je to bilo dobro, zamijenio sam testnu DC utičnicu vodootpornom. Zalemio sam neke žice sa ženskim konektorima metaka na žice i muške konektore metaka na žicama koje su pričvršćene na BMS ploču. Još jednom, žice ne moraju biti tako debele jer punjač isporučuje samo oko 2 ampera. Također će biti lakše priključiti utičnicu u kućište s nekim manjim žicama …
Prednja strana (malina pi sa GPS -om i svjetlima)
Gurnite zaslon u stražnju stranu kućišta. Stavite sve kabele unutar kućišta i pričvrstite ih. Također biste mogli staviti neku foliju ili nešto između antene i maline Pi, jer je bila jako magnetska i računala to ne vole uvijek.
NAPOMENA: Budite oprezni kada klizite tft zaslon u kućište kako ne biste oštetili kablove koji kontroliraju dodir. Dogodilo mi se…
Korak 13: Osnovno postavljanje Pi
Prije svega, potrebna nam je SD kartica s Raspbian -om. Raspbian možete preuzeti odavde. Nakon što se to preuzme, možemo instalirati raspbian na SD karticu. Softver možete instalirati pomoću programa Win32Discmanager ili bacača na računalo.
Kad je instaliran, morat ćete dodati datoteku pod nazivom 'ssh' bez proširenja da biste omogućili SSH na pi. Nakon što to učinite, možete pokrenuti malinu i dodati je u svoju mrežu.
Pi neće imati vezu s vašom mrežom pa ćete morati postaviti APIPA adresu, ovo je IP adresa koju će pi imati kada nema vezu s mrežom. Otvorite datoteku 'cmdline.txt' na SD kartici i dodajte APIPI adresu. Na primjer: 'ip = 169.254.10.5'.
NAPOMENA: Pazite da sve stoji na jednoj liniji ili neće uspjeti!
Stavite SD u PI, dodajte mrežni kabel s vašeg pi na računalo, a zatim priključite napajanje.
Nakon toga možete koristiti Putty ili ako koristite mac, samo upotrijebite terminal za stvaranje SSH veze.
Dodavanje bežične veze:
Da biste svom pi dodali novu mrežu, upišite ovu naredbu:
echo ENTER_ YOUR_PASSWORD | wpa_passphrase ENTER_YOUR_SSID >>
/etc/wpa_supplicant/wpa_supplicant.conf
Nakon ponovnog pokretanja trebali biste moći pronaći svoju IP adresu na usmjerivaču i povezati se na svoj pi putem ssh -a s tom IP adresom.
ssh pi@IP_FROM_PI
Uvijek je pronalaženje vašeg ip -a pomalo neugodno pa postavimo naziv hosta kako bismo ga umjesto toga mogli koristiti (za to je potrebna instalacija bonjour na Windows računalu).
sudo raspi-config nonint do_hostname CHOOSE_A_HOSTNAME
NAPOMENA: Da biste ubuduće koristili naziv hosta, trebate upisati SSH pravilo ovako:
ssh USER@YOUR_HOSTNAME.local
Moramo biti sigurni da su pi -jev sustav i paketi ažurirani:
Unesite sljedeću naredbu da biste to shvatili:
sudo apt-get update && sudo apt-get upgrade
Korak 14: Postavite projekt na svoj Pi
Novi korisnik
Napravio sam novog korisnika 'longboard' za ovaj projekt:
Za ovo ćemo morati ići do korijena
sudo -i
Adduser longboard Nova lozinka:> l0ngb0@rd Puni naziv:> električna longboard
Ostatak možete ostaviti prazan. Sljedeće ćemo morati dati korisniku 'longboard' prava sudoa
adduser longboard sudo
Nakon toga ćemo se vratiti našem korisniku longboarda
su longboard
Paketi
Instaliranje nekih paketa za projekt. Paketi za hosting web stranice baze podataka
python3 -m pip install --user --upgrade pip == 9.0.3
sudo apt install -y python3-mysqldb mysql-poslužitelj uwsgi nginx uwsgi-plugin-python3 rabbitmq-poslužitelj
Baza podataka konektora, web stranice paketa i knjižnice za GPS/tijdzone detektiranje
python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib argon2 libgeos-dev pytz tzwhere
Postavljanje baze podataka
Provjerite status mysqla
sudo systemctl status mysql
Unosom ove naredbe možete vidjeti da MySQL sluša samo 127.0.0.1 -> nedostupan s mreže, samo lokalni (na pi self).
ss -lt | grep mysql
Pokrenite klijenta kao roo
sudo mysql
Stvorite korisnike:
CREATE USER 'project-admin'@'localhost' IDENTIFIKIRANO '@min_l0ngb0@rd';
CREATE USER 'project-longboard'@'localhost' IDENTIFIKIRANO 'l0ngb0@rd';
Stvaranje baze podataka i postavljanje privilegija:
CREATE DATABASE longboard_db;
ODOBRI SVE PRIVILEGIJE NA longboard_db.* 'Project-admin'@'localhost' S GRANT OPTION; > GRANT SELECT, INSERT, UPDATE, DELETE ON longboard_db.* TO 'project-longboard'@'localhost'; > FLUSH PRIVILEGIJE;
Pokrenite sql skriptu za stvaranje tablica, također će stvoriti zadanog korisnika za web stranicu:
(korisničko ime: longboard, lozinka: test):
izvor / home / logboard / longboard / longboard_db.sql;
izlaz
Provjerite radi li pokretanje datoteke:
echo 'prikaži tablice;' | mysql longboard_db -t -u projekt -admin -p
Napravite direktorij 'longboard' i klonirajte moj projekt s githuba
mkdir longboard && cd longboard
git clone
Ako ste koristili isti naziv direktorija i korisnika kao ja, ne biste trebali prilagođavati datoteke u direktoriju conf.
Ako niste, trebali biste prilagoditi datoteke (> sudo nano conf/filename.extension)
Nakon što su putovi ispravni, datoteke morate kopirati u direktorij sustava. Postoje usluge stabla.
- Jedan za web mjesto kioska na localhostu.
- Jedan za gps modul s vezom na bazu podataka
- Jedan za web mjesto dostupno na vašoj mreži
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload> sudo systemctl start project1-*> sudo systemctl status project1-*
Kad je sve u redu, trebate ih omogućiti kako bi se automatski pokrenuli kad se pi podigne:
(Ako prethodni korak ne uspije, trebali biste provjeriti putove u konfiguracijskim datotekama)
sudo systemctl omogućiti projekt1-*
Konfiguriranje nginx usluge:
- kopirajte conf/nginx na 'web stranice dostupne' (i dajte mu bolji naziv)
- uklonite vezu na default-config
- veza na novu konfiguraciju/nginx
- ponovno pokrenite da biste aktivirali promjene
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default> sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1> sudo systemctl ponovno pokrenite nginx.service
Provjerite je li nginx preživio:
sudo systemctl status nginx.service
Nakon što to učinite, trebali biste imati web poslužitelj na ip -u vašeg pi -a koji je dostupan na vašoj mreži i web -lokaciju na localhostu za pokretanje i zaustavljanje sesije izvan mreže.
Korak 15: Postavljanje načina kioska Raspberry Pi
Instaliranje paketa
sudo apt-get install chromium-browser x11-xserver-utils unclutter
Unesite datoteku automatskog pokretanja pi korisnika:
sudo nano/etc/xdg/lxsession/LXDE-pi/autostart
Morat ćete komentirati (staviti # ispred retka) postojeće pravilo:
#@xscreensaver -nema prskanja
Zatim dodajte ove retke ispod retka čuvara zaslona
@xset je isključen
@xset -dpms @xset s noblank @chromium-browser --noerrdialogs --kiosk https://127.0.0.1:8080/ --overscroll-history-navigation = 0 --incognito --disable-pinch
Pritisnite ctrl-O, a zatim ctrl-X za ispis i izlaz iz datoteke, a zatim upišite:
sudo raspi-config
Odatle se pomaknite dolje do boot_behaviour i promijenite ovu postavku u podizanje sustava u načinu rada za računalo i prema zadanim postavkama prijavite se kao korisnik pi.
NAPOMENA: da biste izašli iz načina kioska, možete upisati
sudo killall krom-preglednik.
Time ćete zatvoriti sve instance preglednika chromium.
Korak 16: Kako to radi
Kad se pi podigne, vidjet ćete ip adresu na tft ekranu zajedno s popisom svih korisnika ploče.
S ovog zaslona možete započeti sesiju izvan mreže. Također možete kontrolirati svjetla. Ako upišete IP adresu u svoj preglednik, doći ćete na zaslon za prijavu. Možete se prijaviti sa zadanom korisničkom pločom (lozinka: test). ili možete stvoriti novi račun. Kad je to učinjeno, vidjet ćete svoju nadzornu ploču. Ovdje možete vidjeti svoju rutu putovanja i ukupnu udaljenost, vrijeme putovanja. Ako odete na karticu longboard, možete vidjeti trenutačno mjesto ploče, možete uključiti svjetla i započeti snimanje sesije. Nakon što kliknete na 'start session', PI će stalno određivati lokaciju i spremati je u bazu podataka sve dok ne pritisnete 'stop session'. Ako GPS nema popravke, sesija se ne može pokrenuti, dobit ćete upozorenje pri vrhu zaslona. Vaše će sesije biti prikazane na google karti.
Drugoplasirani na natjecanju Make it Move
Preporučeni:
Hoodie sa mogućnošću programiranja Stranger Things: 9 koraka (sa slikama)
Hoodie sa mogućnošću programiranja Stranger Things: Možda nikada nećete morati provoditi vrijeme u košmarnom svijetu čudovišta, ali ponekad samo želite odjenuti majicu koja kaže da biste potpuno MOGLI živjeti tamo ako to želite. Budući da takva majica ne postoji na otvorenom tržištu, odlučili smo napraviti naš
Električna longboard: 6 koraka
Electric Longboard: U ovom uputstvu napravit ćemo električnu longboard s Arduino Uno i Raspberry Pi
Električna longboard: 7 koraka
Electric Longboard: Ovaj je projekt izgrađen jer nisam bio siguran koliko bi lako ili brzo bilo kretati se po novom i mnogo većem kampusu. Sastoji se od: dugačke ploče Santa Cruz, 2 motora koncentratora, esc vanzemaljskog sustava napajanja i baterije sastavljene od 18650 ćelija iz
Električna longboard za početnike (0 kod) + bonus: 3 koraka
Električna duga tabla za početnike (0 kôda) + bonus: htio sam nešto kretati gradom, ali nisu me zanimali skuteri, klizaljke ili motori, pa sam odlučio stisnuti mozak i došao sam na ovo! Ideja je bila učiniti što je moguće jednostavnijim kako ne bi zakazao, a i u međuvremenu
PCB ručni s Arduinom (s mogućnošću bežičnog povezivanja!): 3 koraka
PCB ručni uređaj s Arduinom (s mogućnošću bežičnog povezivanja!): Ažuriranje 28.1.2019Trenutno radim na sljedećoj verziji ovog ručnog uređaja. Projekt možete pratiti na mom YouTube kanalu ili Twitteru.Upozorenje! Pronašao sam pogrešku u rasporedu PCB -a. Lijevi i gornji gumb spojeni su samo na analogne pinove. Popravio sam