» Θέματα » Επισκευή, εκσυγχρονισμός »Αναλογικό βολτόμετρο από τον σερβοκινητήρα

Αναλογικό βολτόμετρο από τον σερβοκινητήρα


Σε αυτό το άρθρο, θα εξετάσουμε πώς ο Δάσκαλος συνειδητοποίησε την ιδέα του να κατασκευάσει ένα βολτόμετρο χρησιμοποιώντας ένα σερβοκινητήρα.
Για να κατασκευάσει ένα τέτοιο βολτόμετρο, ο πλοίαρχος χρησιμοποιεί: Raspberry Pi με Raspian και με εγκατεστημένες μονάδες Pi-Plates Python 3, TINKER Pi-Plate, καλώδια, 9G σερβοκινητήρα, παχύ χαρτόνι, διπλής όψης ταινία, πλεξιγκλάς.

Από τον αρχηγό του χαρτονιού κόβει το βέλος.
Αναλογικό βολτόμετρο από τον σερβοκινητήρα

Ή μπορείτε να το εκτυπώσετε σε έναν εκτυπωτή 3D. Αρχείο για εκτύπωση σε αυτό τη σύνδεση.
Το βέλος είναι στερεωμένο στο σερβο μοχλό με ταινία διπλής όψης.

Από το plexiglass κόβει το πλαίσιο.


Το βιδώνει στο σώμα του σερβοκινητήρα.

Εκτυπώνει μια κλίμακα (κατεβάστε το αρχείο εδώ).

Βάζει μια κλίμακα στο plexiglass.

Συνδέει τον σερβοκινητήρα στην πλακέτα σύμφωνα με το διάγραμμα. Για να μετρήσετε την τάση, πρέπει να χρησιμοποιήσετε καλώδια συνδεδεμένα με GND και AIN 1.

Στη συνέχεια πρέπει να βαθμονομήσετε το βολτόμετρο.
Περιλαμβάνει Raspberry Pi. Δημιουργεί μια συνεδρία Python3, φορτώνει τη μονάδα TINKERplate και ρυθμίζει τη λειτουργία ψηφιακού καναλιού I / O 1 σε "servo". Τώρα ο σερβο θα πρέπει να μετακινηθεί σε 90 μοίρες.
Στη συνέχεια, ορίζει το βέλος του βολτόμετρου σε 6V.
Εισάγει το TINK.setSERVO (0,1,15) για να μετακινήσετε το βέλος στη θέση 0V.
Εισάγει το TINK.setSERVO (0,1,165) για να μετακινήσετε το σερβο στη θέση 12V.
Εάν το βέλος αποκλίνει από τις αναγνώσεις, πρέπει να ρυθμίσετε τις τιμές 15 και 165

Στη συνέχεια, πρέπει να κατεβάσετε τον κώδικα.
εισαγάγετε piplates.TINKERπλαίσιο ως TINK
χρόνο εισαγωγής
TINK.setDEFAULTS (0) # επιστρέφει όλες τις θύρες στις προεπιλεγμένες καταστάσεις τους
TINK.setMODE (0,1, 'servo') #set Ψηφιακή θύρα εισόδου / εξόδου 1 για την κίνηση ενός σερβο

lLimit = 12.0 # Το κατώτερο όριο = 0 βολτ
hLimit = 166.0 # Το ανώτερο όριο = 12 βολτ

ενώ (True):
analogIn = TINK.getADC (0,1) #αναγνώριση αναλογικού καναλιού 1
#scale τα δεδομένα σε μια γωνία στην περιοχή του lLimit να hLimit
γωνία = αναλογικήIn * (hLimit-lLimit) /12.0
TINK.setSERVO (0,1, lLimit + γωνία) #set σερβο γωνία
time.sleep (.1) #delay και επαναλάβετε

Όλα είναι έτοιμα.
Ερώτηση \ θέμα δημοσιεύεται αυτόματα στο κοινωνικό. δίκτυο δικτύου - μείνετε συντονισμένοι για απαντήσεις εκεί:

Κατάλληλο για θέμα

Σχετικά θέματα

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...