Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Úvod
Než byly LED diody a počítačové obrazovky běžnými metodami pro zobrazování informací, záviseli inženýři a vědci na analogových panelových měřičích. Ve skutečnosti se v řadě dispečinků dodnes používají, protože:
- může být docela velký
- poskytnout informace na první pohled
V tomto projektu použijeme servo ke konstrukci jednoduchého analogového měřiče a poté jej použijeme jako stejnosměrný voltmetr. Všimněte si, že mnoho dílů pro tento projekt, včetně TINKERplate, je k dispozici zde:
Pi-Plates.com/TINKERkit
Zásoby
- Pi-Plate TINKERplate připojená k Raspberry Pi se systémem Raspian as nainstalovanými moduly Pi-Plates Python 3. Více viz:
- Pět propojovacích kabelů mezi mužem a mužem
- Servomotor 9G
- Kromě toho budete potřebovat oboustrannou lepicí pásku, tlustou lepenku na podporu šipky a bílý papír. Poznámka: rozhodli jsme se, že náš analogový měřič bude odolnější, takže jsme použili 3D tiskárnu na výrobu ukazatele a šrotu plexiskla na podložku.
Krok 1: Vytvořte ukazatel
Nejprve si z kartonu vystřihněte ukazatel o délce 100 mm (ano, někdy používáme metriku). Zde je soubor STL, pokud máte přístup k 3D tiskárně: https://www.thingiverse.com/thing:4007011. Ukazatel, který se zužuje na ostrý hrot, zkuste tento:
Krok 2: Připevněte ukazatel na servo rameno
Jakmile vytvoříte ukazatel, připevněte jej pomocí oboustranné pásky k jednomu z ramen dodávaných se servomotorem. Poté zatlačte rameno na hřídel.
Krok 3: Cut Backer
Odřízněte kus lepenky přibližně 200 mm široký a 110 mm vysoký. A pak uřízněte malý zářez 25 mm na 12 mm na spodní hraně servomotoru. Budete muset odsadit zářez asi 5 mm napravo od středu, abyste kompenzovali umístění hřídele na servu. Nahoře vidíte, jak vypadalo naše plexisklo, než jsme přeřízli vršek a stáhli ochrannou fólii. Všimněte si toho, že jsme použili řezací pilu a Dremel k vyříznutí zářezu.
Krok 4: Připojte servo k Backeru
Poté zasuňte servo na místo pomocí montážních jazýčků na spodní straně. Pomocí upevňovacích šroubů, které jsou dodávány se servem, držte na místě. Pokud použijete lepenku nebo vrtačku s bitem 1/16 , pokud použijete dřevo nebo akryl, možná budete muset v těchto místech nejprve vyrazit ostrou tužku. Všimněte si, jak jsme náš zářez udělali příliš široký, což vedlo k našroubování pravice postrádá díru a zaklíní se do mezery. Nebuď jako my.
Krok 5: Vytiskněte měřítko
Vytiskněte výše uvedenou stupnici. Řezejte podél přerušovaných čar a všímejte si umístění svislých a vodorovných čar kolem zářezu. Pomocí těchto čar vyrovnejte měřítko kolem hřídele serva. Kopii této stupnice ke stažení najdete zde: https:// pi-plate/downloads/Voltmeter Scale.pdf
Krok 6: Aplikujte měřítko na Backer
Vyklopte sestavu ramene/ukazatele ze servo hřídele a umístěte kus papíru s měřítkem na vrubový podkladový materiál z kroku tři. Umístěte jej tak, aby linie kolem zářezu byly vystředěny na servu. Po zapnutí servomotoru ukazatel znovu zapneme.
Krok 7: Elektrická montáž
Připojte servomotor a „vodiče“k desce TINKERplate Pi-Plates podle výše uvedeného schématu. Jakmile je měřič sestaven, vaše sondy voltmetru budou červené a černé vodiče připojené k analogovému bloku vlevo. Umístěte červený vodič na kladný pól a černý vodič na záporný pól zařízení, které chcete měřit.
Krok 8: Konečná montáž / kalibrace
- Po provedení elektrického připojení proveďte následující kroky:
- Zapněte Raspberry Pi a otevřete okno terminálu
- Vytvořte relaci terminálu Python3, načtěte modul TINKERplate a nastavte režim digitálního I/O kanálu 1 jako „servo“. Měli byste slyšet pohyb serva do polohy 90 stupňů.
- Posuňte rameno serva zpět na hřídel s ukazatelem směřujícím přímo nahoru v poloze 6V.
- Zadejte TINK.setSERVO (0, 1, 15) a přesuňte servo do polohy 0V. Pokud nesedí úplně na 0, zadejte jej znovu, ale pod jiným úhlem, například 14 nebo 16. Můžete zjistit, že nasměrování serva na pohyb vpřed a vzad v malých krocích nemá žádný vliv na ukazatel - to je způsobeno na běžný mechanický problém s ozubenými koly nazývanými vůle, o nichž budeme diskutovat níže. Jakmile budete mít úhel, který umístí ukazatel na 0V, zapište si ho jako svoji NÍZKOU hodnotu.
- Zadejte TINK.setSERVO (0, 1, 165) a přesuňte servo do polohy 12V. Opět platí, že pokud není úplně na 12, zadejte jej znovu, ale s různými úhly, například 164 nebo 166. Jakmile budete mít úhel, který umístí ukazatel na 12V, zapište si to jako svoji VYSOKOU hodnotu.
Krok 9: Kód 1
V dalším kroku se zobrazí program VOLTmeter.py. Můžete jej buď zadat sami pomocí ID Thonny na Raspberry Pi, nebo zkopírovat níže do svého domovského adresáře. Všimněte si řádků 5 a 6 - zde připojíte kalibrační hodnoty získané v posledním kroku. Pro nás to bylo:
lLimit = 12,0 #naše NÍZKÁ hodnota
hLimit = 166,0 #naše VYSOKÁ hodnota
Jakmile je soubor uložen, spusťte jej zadáním: python3 VOLTmeter.py a stisknutím klávesy v okně terminálu. Pokud se dráty sondy ničeho nedotýkají, ukazatel se přesune na místo 0 voltů na stupnici. Ve skutečnosti můžete vidět, jak se jehla pohybuje tam a zpět jen trochu, protože zachycuje hluk 60 Hz z okolních světel. Připojením červené sondy ke svorce +5 V na analogovém bloku přeskočí ukazatel na značku 5 voltů na měřiči.
Krok 10: Kód 2
import piplates. TINKERplate jako TINK
čas importu TINK.setDEFAULTS (0) #vraťte všechny porty do jejich výchozích stavů TINK.setMODE (0, 1, 'servo') #set Digitální I/O port 1 pro řízení servo lLimit = 12,0 #Dolní limit = 0 voltů hLimit = 166,0 #Horní mez = 12 voltů, zatímco (True): analogIn = TINK.getADC (0, 1) #čtěte analogový kanál 1 #měřítko dat na úhel v rozmezí lLimit až hLimit úhel = analogIn*(hLimit -lLimit) /12.0 TINK.setSERVO (0, 1, lLimit+úhel) #set úhel servo času.spánek (.1) #zpoždění a opakování
Krok 11: Zabalte
Takže tady to je, použili jsme novou technologii k obnovení toho, co bylo v padesátých letech nejmodernější. Neváhejte si vytvořit vlastní váhy a sdílet je s námi
Začalo to jako jednoduchý projekt, ale rychle se stupňovalo, když jsme přemýšleli o dalších vylepšeních. Můžete také zjistit, že někdy ukazatel nepřistane na správném místě - je to ze dvou důvodů:
- Uvnitř servomotorů je řada ozubených kol, která po sestavení trpí běžným problémem, který se označuje jako vůle. Více si o tom můžete přečíst zde.
- Máme také podezření, že náš servomotor není v celém svém rozsahu zcela lineární.
Chcete -li se dozvědět více o vnitřním fungování servomotorů, přečtěte si tento dokument. A chcete-li zobrazit další projekty a doplňky pro Raspberry Pi, navštivte naše webové stránky na adrese Pi-Plates.com.