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 pojasa
- Korak 5: Sheme ožičenja
- Korak 6: Povezivanje BMS -a
- Korak 7: Prekidač za uključivanje/isključivanje (ključ 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 projekat na svoj Pi
- Korak 15: Postavljanje režima kioska Raspberry Pi
- Korak 16: Kako to funkcionira
Video: Električna duga tabla koja se može pratiti: 16 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ovaj projekt sastoji se od električne longboard ploče koja održava rutu uz pomoć pi od maline pi. Ove sesije se čuvaju u bazi podataka mySQL i prikazuju se na mojoj web stranici napravljenoj s mikrookvirom 'Flask'.
(Ovo je školski projekat napravljen za 3 sedmice)
Korak 1: Materijali i alati
Ovaj projekt zahtijeva vještinu lemljenja i koštat će oko 500 €.
Materijali:
Svi materijali i veze do dobavljača nalaze se u listu Bill of Material.
Alati:
- Lemilica + lim
- Kliješta
- Pištolj za vruće ljepilo
- Odvijači i imbus ključ
- Pinceta bi vam ponekad mogla dobro doći
- Rezač žice/skidač žice
U ovom projektu se koriste tokarski stroj, laserski rezač i 3D štampač!
Korak 2: Promjena kotača i priprema kamiona
Prije svega, skinuo sam te male bijele kotače sa svoje daske. 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 malo podešavanje. Točak sa zupčanikom ne stane na kamion longboard -a koji sam kupio, pa sam morao tokarskim strojem rezati oko 1 cm.
i montirao ih na kamione, osim kotača s brzinom (nasumično sam odabrao desno, straga).
Korak 3: Nosač motora za rezanje i zavarivanje
Napravio sam aluminijski nosač motora laserskom 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, ugao nije tako veliki. Slučajno poznajem zavarivača pa ga je prvo malo zavario, a zatim sam, da bih testirao pozicioniranje, gurnuo kamione s jedne na drugu stranu da vidim je li dodirnuo ploču.
Nakon što mi je cijela ploča završena, odradio sam probnu vožnju i nosač motora se olabavio pa to objašnjava zašto će moj motor na sljedećim fotografijama izgledati oštećen;) Nakon toga sam zamolio svog poznanika da ga potpuno zavari.
Korak 4: Montiranje motora i pojasa
Koristite 4 podebljana slova M4*14 za postavljanje motora na nosač.
Nakon toga morate pričvrstiti remenicu motora sa 12 zubaca na osovinu motora. Uvjerite se da je sitni podebljani font 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
Komponente elektronike spojene su prema gornjim dijagramima.
Prvi je potpuna shema elektronike.
Drugi dijagram prikazuje sve veze 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 ekran ima žensko zaglavlje koje zauzima mnogo pinova. 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 BMS (sistem za upravljanje baterijom) Balans ploču za punjenje lipoa kako bih ih ostavio u kućištu i napunio 'pametnim punjačem' putem vodootporne DC utičnice
Lemio sam dva kabla za priključak za punjenje na BMS-u, jedan na P- (crni), a drugi na P+ (crveni). (Ovi kablovi 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 problem kad ga poželite staviti u kućište.
Povezao 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 do B+ i BMS, a crna do B-.
Zatim balansni kablovi 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 sa 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ć radi.
Korak 7: Prekidač za uključivanje/isključivanje (ključ 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 direktno 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 konektorom' lijepljenjem 3 zaglavlja XT60 zajedno (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 kablove nekom crnom trakom. (slika 7-9)
VESC i indikator
Lemite muški utikač XT60 na VESC kablove za napajanje i na kablove indikatora procenta/napona baterije.
uBEC
Isključite 2 kabele za balansiranje i lemljenje muškog kraja na muški utikač XT60. Ženski krajevi spojeni su na ulaznu stranu uBEC (pretvarač napona).
NAPOMENA: Prerezao sam žice balansa 'malo' kraće, ali to je bila greška pa ih ostavite netaknutima;)
Korak 9: Senzor motora prema Vescu
Pomoću dva koračna kabela spojite senzor motora na VESC. Motor ima 5 pinova, 2 za napajanje za hodne senzore (1 pinski po hal senzoru).
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 pravilnim redosledom kao na slikama
Da biste sve osigurali, upotrijebite termoskupljajuće cijevi i traku! Kada to završi, preostaje vam samo da ih rasporedite u ispravnom redoslijedu od VESC -a do motora.
Korak 10: Napajanje Raspberry Pi
Potreban nam je 12V na 5V pretvarač koji će napajati malinu pi putem USB -a, pa sam odmah pomislio na punjač za automobil. 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 -u 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 balansiranje (lemite 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 napajanje svog LED utora i izmjerio izlazni USB napon (dva vanjska su +5V i GND).
Ako je sve u redu, gole metalne dijelove možete sakriti nekim termoskupljajućim cijevima i trakom.
NAPOMENA: Dubbelcheck 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 je potrebno za prednja svjetla, stražnja svjetla i punjač za automobil. Raspberry pi ne može isporučiti dovoljno struje ni 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, zadnje svjetlo je stražnje strane longboard-a, a malina pi će doći sprijeda, pa će se kabel morati produžiti (slika 3-5). Zadnje svjetlo ima 3 žice. Crna (negativna), žuta (trčanje/zadnje svjetlo), crvena (kočnica/stop svjetlo). No, budući da postoji samo vrlo mala razlika između kočnice i svjetla za hodanje, odlučio sam upotrijebiti 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 zadnja 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 (iglice 20 i 21). Punjač za automobil može se napajati na 12V, zatim umetnite USB kabel u odgovarajući USB ulaz i stavite mikro USB kraj 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. Svjetlima to ne treba jer su ugrađene u LED diode.
Korak 12: Stanovanje
Zamotao sam dijelove koji pripadaju zajedno u plastične folije kako bih bio siguran da su sve žice sigurne i da ih je kasnije lakše staviti u kućište. Dizajnirao sam sve dijelove u pronalazaču i odštampao ih na svom 3D štampaču. Dostupne su sve datoteke izumitelja (.ipt) i datoteke pisača/rezača (.stl). Dizajn je vrlo jednostavan.
Stražnja strana (električni dijelovi s longboardom)
Možete staviti indikator baterije u ženski XT90 utikač, a zatim staviti plastičnu kutiju. Nakon što se kućište zaglavilo, fiksirao sam XT90 utikač vrućim ljepilom tako da ostane zaglavljen kad se prekidač izvuče i izvuče. Dodao sam i vijak u unutrašnjosti kućišta tik uz zid na koji je pričvršćen XT90 utikač tako da se zid ne može pritisnuti prilikom uključivanja ključa.
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!
Kad je to bilo dobro, zamijenio sam svoj testni DC priključak vodootpornim. 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č daje samo oko 2 ampera. Također će biti lakše spojiti utičnicu u kućište s nekim manjim žicama …
Prednja strana (malina pi sa GPS -om i svjetlima)
Gurnite ekran u stražnju stranu kućišta. Stavite sve kablove unutar kućišta i pričvrstite ih. Možda biste htjeli staviti neku foliju ili nešto između antene i maline Pi, jer je bila jako magnetna i računari to ne vole uvijek.
NAPOMENA: Budite oprezni kada klizite tft ekran u kućište kako ne biste oštetili kablove koji kontrolišu dodir. Desilo 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 koristeći Win32Discmanager ili etcher na računaru.
Kada je instaliran, morat ćete dodati datoteku pod nazivom 'ssh' bez proširenja da biste omogućili SSH na pi. Kada to učinite, možete pokrenuti malinu i dodati je na 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 sa svog pi na računalo, a zatim uključite napajanje.
Nakon toga možete koristiti Putty ili ako koristite mac, samo upotrijebite terminal za stvaranje SSH veze.
Dodavanje bežične veze:
Za dodavanje nove mreže vašem pi možete upisati 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 dosadno pa postavimo ime hosta kako bismo ga umjesto toga mogli koristiti (za to je potrebna instalacija bonjour na Windows računaru).
sudo raspi-config nonint do_hostname CHOOSE_A_HOSTNAME
NAPOMENA: Da biste ubuduće koristili ime hosta, trebate unijeti SSH pravilo ovako:
ssh USER@YOUR_HOSTNAME.local
Moramo biti sigurni da su sistem i paketi pi ažurirani:
Unesite sljedeću naredbu da to shvatite:
sudo apt-get update && sudo apt-get upgrade
Korak 14: Postavite projekat na svoj Pi
Novi korisnik
Kreirao sam novog korisnika 'longboard' za ovaj projekt:
Za ovo ćemo morati ići do korijena
sudo -i
Adduser longboard Nova lozinka:> l0ngb0@rd Potpuni naziv:> električna longboard
Ostatak možete ostaviti prazan. Sljedeće ćemo morati dati korisniku 'longboard' prava sudo -a
addoser 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-server uwsgi nginx uwsgi-plugin-python3 rabbitmq-server
Baza podataka konektora, web stranice paketa i biblioteke 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
Podešavanje baze podataka
Provjerite status mysql -a
sudo systemctl status mysql
Unosom ove naredbe možete vidjeti da MySQL sluša samo na 127.0.0.1 -> nedostupan s mreže, samo lokalni (na pi self).
ss -lt | grep mysql
Pokrenite klijenta kao roo
sudo mysql
Kreirajte korisnike:
CREATE USER 'project-admin'@'localhost' IDENTIFICIRANO '@min_l0ngb0@rd';
CREATE USER 'project-longboard'@'localhost' IDENTIFICIRANO 'l0ngb0@rd';
Kreiranje baze podataka i postavljanje privilegija:
CREATE DATABASE longboard_db;
ODOBRI SVE PRIVILEGIJE NA longboard_db.* 'Project-admin'@'localhost' SA GRANT OPCIJOM; > GRANT SELECT, INSERT, UPDATE, DELETE ON longboard_db.* TO 'project-longboard'@'localhost'; > FLUSH PRIVILEGIJE;
Pokrenite sql skriptu za kreiranje 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 projekat -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 putanje ispravne, morate kopirati datoteke u sistemski direktorij. Postoje usluge stabla.
- Jedan za web lokaciju kioska na localhostu.
- Jedan za gps modul sa povezivanjem na bazu podataka
- Jedan za web lokaciju koja je dostupna 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, trebali biste ih omogućiti kako bi se automatski pokrenuli kada se pi podigne:
(Ako prethodni korak ne uspije, trebali biste provjeriti putanje u konfiguracijskim datotekama)
sudo systemctl enable project1-*
Konfiguriranje nginx usluge:
- kopirajte conf/nginx na 'web stranice dostupne' (i dajte mu bolje ime)
- uklonite vezu do default-config
- veza do nove konfiguracije/nginx
- ponovo 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 ponovo pokrenite nginx.service
Provjerite je li nginx preživio:
sudo systemctl status nginx.service
Nakon što to učinite, trebali biste imati web server na ip -u vašeg pi -a dostupan na vašoj mreži i web lokaciju na localhostu za pokretanje i zaustavljanje sesije van mreže.
Korak 15: Postavljanje režima 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 redove ispod linije č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 da biste ispisali datoteku i izašli iz nje, a zatim upišite:
sudo raspi-config
Odatle se pomaknite prema dolje do boot_behaviour i promijenite ovu postavku u pokretanje u načinu rada za radnu površinu i prijavite se kao korisnik pi prema zadanim postavkama.
NAPOMENA: da biste izašli iz kiosk moda, možete upisati
sudo killall hrom-pregledač.
Ovo će zatvoriti sve instance preglednika chromium.
Korak 16: Kako to funkcionira
Kada se pi podigne, vidjet ćete ip adresu na tft ekranu zajedno sa popisom svih korisnika ploče.
S ovog ekrana možete započeti sesiju van mreže. Takođe možete kontrolisati svoja svetla. 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. Kada je to učinjeno, vidjet ćete svoju nadzornu ploču. Ovdje možete vidjeti rutu putovanja i ukupnu udaljenost, vrijeme putovanja. Ako odete na tab longboard, možete vidjeti trenutnu lokaciju ploče, možete uključiti svjetla i započeti snimanje sesije. Kada 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 ispravku, sesija se ne može započeti, dobit ćete upozorenje pri vrhu ekrana. Vaše sesije će biti prikazane na google karti.
Drugoplasirani na takmičenju Make it Move
Preporučuje se:
Duga sat iz matematike i fizike: 3 koraka (sa slikama)
Dugački sat iz matematike i fizike: Prije nekog vremena sam imao ideju stvoriti vlastiti sat iz fizike/matematike, pa sam ga počeo dizajnirati u Inkscapeu. Svaki sat, od 1 do 12, zamijenio sam formulom Fizika/Matematika: 1 - Eulerova jednadžba2 - Integral 3 - Trigonometrijska funkcija4 - Integral trigonoma
Električna duga tabla za početnike (0 koda) + bonus: 3 koraka
Električna duga tabla za početnike (0 koda) + bonus: Htio sam da se nešto kreće po gradu, 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 propao, a ujedno je i
Fitnes sat koji može pratiti rast bakterija: 14 koraka
Fitnes sat koji može pratiti rast bakterija: Bakterije igraju važnu ulogu u našim životima. Mogli bi biti korisni i dati nam lijekove, pivo, sastojke hrane itd. Kontinuirano praćenje faze rasta i koncentracije bakterijskih stanica ključan je proces. Ovo je važno ro
Poklon kutija koja se može zaključati: 4 koraka (sa slikama)
Poklon kutija koja se može zaključati: Poklon kutija u koju možete utipkati odabir početnih slova kome je i od koga je pomoću potenciometra
Najtanja kožna narukvica koja se može programirati na svijetu!: 6 koraka (sa slikama)
Najtanja kožna narukvica koja se može programirati na svijetu!: Aniomagic, shema dugmadi, tako je nevjerojatan mali widget. To je ambijentalni čitač programa veličine nikla koji se može programirati sa posebno tempiranim bljeskovima svjetlosti. S njom ćemo napraviti najtanju, programabilnu narukvicu na svijetu