Obsah:
- Zásoby
- Krok 1: Vytvorte ukazovateľ
- Krok 2: Pripojte ukazovateľ k servo ramenu
- Krok 3: Odstrihnite záložku
- Krok 4: Pripojte servo k Backer
- Krok 5: Vytlačte mierku
- Krok 6: Aplikujte na Backer mierku
- Krok 7: Elektrická montáž
- Krok 8: Konečná montáž / kalibrácia
- Krok 9: Kód 1
- Krok 10: Kód 2
- Krok 11: Zbaliť
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Úvod
Predtým, ako boli LED diódy a obrazovky počítačov bežnými metódami na zobrazovanie informácií, záviseli inžinieri a vedci od analógových panelových meračov. V skutočnosti sa dodnes používajú v mnohých riadiacich miestnostiach, pretože:
- dá sa urobiť dosť veľký
- poskytnúť informácie na prvý pohľad
V tomto projekte použijeme servo na zostrojenie jednoduchého analógového merača a potom ho použijeme ako jednosmerný voltmetr. Všimnite si toho, že mnohé diely pre tento projekt, vrátane plechu TINKERplate, sú k dispozícii tu:
Pi-Plates.com/TINKERkit
Zásoby
- TINKERplate Pi-Plate pripojená k Raspberry Pi so systémom Raspian a s nainštalovanými modulmi Pi-Plates Python 3. Viac nájdete na:
- Päť prepojovacích drôtov mužského až mužského pohlavia
- Servomotor 9G
- Okrem toho budete potrebovať obojstrannú lepiacu pásku, hrubú lepenku na podloženie šípky a biely papier. Poznámka: rozhodli sme sa, že náš analógový merač bude odolnejší, a tak sme pomocou 3D tlačiarne vyrobili ukazovateľ a nejaké šrotové plexisklo na podložku.
Krok 1: Vytvorte ukazovateľ
Najprv si z lepenky vystrihnite ukazovateľ dlhý 100 mm (áno, niekedy používame metriku). Tu je súbor STL, ak máte prístup k 3D tlačiarni: https://www.thingiverse.com/thing:4007011. Ak chcete ukazovateľ, ktorý sa zužuje na ostrý hrot, vyskúšajte tento:
Krok 2: Pripojte ukazovateľ k servo ramenu
Hneď ako vyrobíte ukazovateľ, pripevnite ho pomocou obojstrannej pásky na jedno z ramien dodávaných so servomotorom. Potom zatlačte rameno na hriadeľ.
Krok 3: Odstrihnite záložku
Odrežte kus lepenky približne 200 mm široký a 110 mm vysoký. A potom odrežte malý zárez 25 mm x 12 mm na spodnom okraji pre servomotor. Budete musieť odsadiť zárez asi 5 mm napravo od stredu, aby ste kompenzovali umiestnenie hriadeľa na servo. Hore môžete vidieť, ako vyzeralo naše plexisklo, než sme odrezali vrch a stiahli ochrannú fóliu. Všimnite si toho, že na vyrezanie zárezu sme použili pílu na kov a dremel.
Krok 4: Pripojte servo k Backer
Potom zasuňte servo na miesto pomocou montážnych úchytiek v spodnej časti. Na upevnenie použite upevňovacie skrutky, ktoré sa dodávajú so servom, ako kolíky. Ak použijete lepenku alebo vŕtačku s bitom 1/16 , ak budete používať drevo alebo akryl, budete musieť najskôr v týchto miestach najskôr vyraziť dieru. vpravo chýba diera a vkliní sa do medzery. Nebuď ako my.
Krok 5: Vytlačte mierku
Vytlačte si mierku uvedenú vyššie. Vystrihnite pozdĺž prerušovaných čiar a všímajte si umiestnenie zvislých a vodorovných čiar okolo zárezu. Pomocou týchto línií zarovnajte mierku okolo hriadeľa serva. Kópiu tejto stupnice na stiahnutie nájdete tu: https:// pi-plate/downloads/Voltmeter Scale.pdf
Krok 6: Aplikujte na Backer mierku
Vyberte zostavu ramena/ukazovateľa zo servo hriadeľa a umiestnite kus papiera so stupnicou na vrúbkovaný podkladový materiál z tretieho kroku. Umiestnite ho tak, aby čiary okolo zárezu boli vycentrované na servo. Po zapnutí servomotora opäť zapneme ukazovateľ.
Krok 7: Elektrická montáž
Pripojte servomotor a „vodiče“k platničke Pi-Plates TINKERplate podľa vyššie uvedeného diagramu. Akonáhle je merač zostavený, vaše sondy voltmetra budú červené a čierne vodiče pripojené k analógovému bloku vľavo. Červený vodič umiestnite na kladný pól a čierny vodič na záporný pól zariadenia, ktoré plánujete merať.
Krok 8: Konečná montáž / kalibrácia
- Po vykonaní elektrického zapojenia vykonajte nasledujúce kroky:
- Zapnite Raspberry Pi a potom otvorte okno terminálu
- Vytvorte reláciu terminálu Python3, načítajte modul TINKERplate a nastavte režim digitálneho I/O kanála 1 ako „servo“. Mali by ste počuť, ako sa servo pohybuje do polohy 90 stupňov.
- Vysuňte rameno serva späť na hriadeľ s ukazovateľom nasmerovaným priamo hore v polohe 6V.
- Napíšte TINK.setSERVO (0, 1, 15) a presuňte servo do polohy 0V. Ak nie celkom pristane na 0, zadajte ho znova, ale pod iným uhlom, napríklad 14 alebo 16. Môžete zistiť, že nasmerovanie serva na pohyb vpred a vzad v malých krokoch nemá žiadny vplyv na ukazovateľ - je to spôsobené na bežný mechanický problém s ozubenými kolesami nazývanými vôľa, o ktorých budeme diskutovať nižšie. Akonáhle budete mať uhol, ktorý umiestni ukazovateľ na 0V, napíšte ho ako svoju NÍZKU hodnotu.
- Napíšte TINK.setSERVO (0, 1, 165) a presuňte servo do polohy 12V. Opäť platí, že ak nie celkom pristane na 12, zadajte ho znova, ale s rôznymi uhlami, napríklad 164 alebo 166. Keď budete mať uhol, ktorý umiestni ukazovateľ na 12 V, napíšte ho ako svoju VYSOKÚ hodnotu.
Krok 9: Kód 1
V ďalšom kroku sa zobrazí program VOLTmeter.py. Môžete to buď napísať sami pomocou ID Thonny na Raspberry Pi, alebo skopírovať nižšie do svojho domovského adresára. Všimnite si riadkov 5 a 6 - tu zadáte kalibračné hodnoty získané v poslednom kroku. Pre nás to bolo:
lLimit = 12,0 #naša NÍZKA hodnota
hLimit = 166,0 #naša VYSOKÁ hodnota
Akonáhle je súbor uložený, spustite ho zadaním: python3 VOLTmeter.py a stlačením klávesu v okne terminálu. Ak sa drôty sondy ničoho nedotýkajú, ukazovateľ sa presunie na miesto 0 voltov na stupnici. V skutočnosti môžete vidieť, ako sa ihla pohybuje trochu dopredu a dozadu, pretože zachytáva hluk 60 Hz z okolitých svetiel. Pripojením červenej sondy na svorku +5 V na analógovom bloku ukazovateľ skočí na značku 5 voltov na merači.
Krok 10: Kód 2
importovať pipety. TINKERplate ako TINK
čas importu TINK.setDEFAULTS (0) #vráťte všetky porty do ich predvolených stavov TINK.setMODE (0, 1, 'servo') #set Digitálny I/O port 1 na pohon servo lLimit = 12,0 #Dolná hranica = 0 voltov hLimit = 166,0 #Horná hranica = 12 voltov, kým (True): analogIn = TINK.getADC (0, 1) #prečítajte analógový kanál 1 #škálovajte údaje na uhol v rozmedzí od lLimit do hLimit uhol = analogIn*(hLimit -lLimit) /12.0 TINK.setSERVO (0, 1, lLimit+uhol) #set uhol serva cas.spánok (.1) #oneskorenie a opakovanie
Krok 11: Zbaliť
Takže je to tu, použili sme novú technológiu na obnovu toho, čo bolo v päťdesiatych rokoch minulého storočia. Neváhajte si vytvoriť svoje vlastné váhy a podeľte sa o ne s nami
Začal sa to ako jednoduchý projekt, ale rýchlo sa stupňoval, keď sme mysleli na ďalšie vylepšenia. Môžete tiež zistiť, že ukazovateľ niekedy nesedí na správnom mieste - je to z dvoch dôvodov:
- Vnútri servomotorov existuje niekoľko prevodových stupňov, ktoré po zostavení trpia bežným problémom, ktorý sa nazýva vôľa. Viac si o tom môžete prečítať tu.
- Máme tiež podozrenie, že náš servomotor nie je v celom svojom rozsahu celkom lineárny.
Ak sa chcete dozvedieť viac o vnútornom fungovaní servomotorov, prečítajte si tento dokument. A aby ste videli ďalšie projekty a doplnky pre Raspberry Pi, navštívte našu webovú stránku Pi-Plates.com.