https://usamodelkina.ru/16572-analogovyj-voltmetr-iz-servomotora.html В этой статье мы рассмотрим, как мастер-самодельщик реализовал свою идею изготовления вольтметра используя сервомотор.
Для изготовления такого вольтметра мастер использует: Raspberry Pi с Raspian и с установленными модулями Pi-Plates Python 3, TINKER Pi-Plate, провода, сервомотор 9G, толстый картон, двусторонний скотч, оргстекло.
Из картона мастер вырезает указательную стрелку.
Или можно напечатать ее на 3D-принтере. Файл для печати по этой ссылке.
Стрелку закрепляет к рычагу сервомотора двусторонним скотчем.
Из оргстекла вырезает панель.
Прикручивает ее к корпусу сервомотора.
Распечатывает шкалу (скачать файл можно здесь).
Наклеивает шкалу на оргстекло.
Подсоединяет серводвигатель к плате согласно схеме. Для измерения напряжения нужно использовать провода, подключенные к GND и AIN 1.
Дальше нужно откалибровать вольтметр.
Включает Raspberry Pi. Создает сеанс Python3, загружает модуль TINKERplate и устанавливает режим канала цифрового ввода-вывода 1, как «серво». Теперь сервопривод должен переместится в положение 90 градусов.
Дальше устанавливает стрелку вольтметра на 6В.
Вводит TINK.setSERVO (0,1,15), чтобы переместить стрелку в положение 0V.
Вводит TINK.setSERVO (0,1,165), чтобы переместить сервопривод в положение 12V.
При отклонении стрелки от заданных показаний нужно подкорректировать значения 15 и 165
Дальше нужно загрузить код.
import piplates.TINKERplate as TINK
import time
TINK.setDEFAULTS(0) #return all ports to their default states
TINK.setMODE(0,1,'servo') #set Digital I/O port 1 to drive a servo
lLimit=12.0 #The lower limit = 0 volts
hLimit=166.0 #The upper limit = 12 volts
while(True):
analogIn=TINK.getADC(0,1) #read analog channel 1
#scale the data to an angle in the range of lLimit to hLimit
angle=analogIn*(hLimit-lLimit)/12.0
TINK.setSERVO(0,1,lLimit+angle) #set servo angle
time.sleep(.1) #delay and repeat
Все готово.
Автор: pogranec
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев