Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Ремонт, модернизация » Аналоговый вольтметр из сервомотора

    Аналоговый вольтметр из сервомотора


    В этой статье мы рассмотрим, как мастер-самодельщик реализовал свою идею изготовления вольтметра используя сервомотор.
    Для изготовления такого вольтметра мастер использует: 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

    Все готово.
    Вопрос\тема автоматически публикуется в соц. сети сайта - следите и там за ответами:

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Переделка канцелярского степлера для работы с листами любого размера

    Ремонт дисплея модуля Lego NXT

    Добавить комментарий

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

    Последние комментарии

    Все комментарии