Угломер на Arduino на потенциометре

amateur
Offline
Зарегистрирован: 19.11.2017

Возникла необходимость измерения угла наклона,но акселерометр достать не удалось.Решил сделать на потенциометре.R-10кОм. Скетч прилагаю,изменял методом подбора,но удалось достигнуть только измерения 1-2 углом точно 60 и 45,а другие углы идут не точно,например 30 градусов-40 градусов на экране. Что можете подсказать? Использование готовых модулей невозможно из-за срочности и нахождения в глуши лесов с GPRS.

P.S. Данила,15 лет.Первый шаг в мир Ардуино.

amateur
Offline
Зарегистрирован: 19.11.2017
#include <Wire.h>
#include <LiquidCrystal.h>
int PotenciometPin = A0; // select the input pin for the potentiometer
int Value=0;
float Value_volt=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("Angle");
delay(500);
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(" - ____V "); // Устанавливаем курсор на вторую строку и нулевой символ.
lcd.setCursor(0, 1); 
Value = analogRead(PotenciometPin); 
lcd.print(Value);// 
lcd.setCursor(7, 1);
Value_volt=(float)4.8/100*Value;
lcd.print(Value_volt);
delay(300); 
}

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

мошт ты потанцометр логарифмический взял?

amateur
Offline
Зарегистрирован: 19.11.2017

Похоже на то,я сделал map 1023 в 270 и на 90 градусов норм,а на 180 уже 320.Надо где-то на свалке искать А советский.

SLKH
Offline
Зарегистрирован: 17.08.2015

составь табличку и нарисуй график "угол - Value"

да, и схему покажи, как потенциометр подключен. "случаи всякие бывают..."

SLKH
Offline
Зарегистрирован: 17.08.2015

amateur пишет:

Похоже на то,я сделал map 1023 в 270 и на 90 градусов норм,а на 180 уже 320.Надо где-то на свалке искать А советский.

или дописать программу, а она пересчитает напряжение в угол.

amateur
Offline
Зарегистрирован: 19.11.2017

SLKH,Подскажите,что использовать для перевода В в градусы.Не вручную же таблицу составлять?

Подключен на А0-движок.5в-земля-края.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

amateur пишет:

Не вручную же таблицу составлять?

Именно так :)

SLKH
Offline
Зарегистрирован: 17.08.2015

amateur пишет:

SLKH,Подскажите,что использовать для перевода В в градусы.Не вручную же таблицу составлять?

дак как угодно. в любом слуяае сначала именно вручную и составить, т.к. автоматического угломера на ардуино у нас ещё нет.

а дальше в программе:

вариант 1: таблица (массив) из 1024 значений. думать не надо, греби себе, да греби.

вариант 2: таблица из 10-20-50-100 (сколько нравится) значений, с интерполяцией (линейной или логарифмической) для промежуточных напряжений.

вариант 3: по экспериментально полученной таблице вычислить формулу зависимости сопротивления от угла поворота, закодировать соотв. функцию.

в реале для подобных задач в основном применяется вариант 2. 

 

===========

да, ещё: потенциомер - штука шумная. простой rc-фильтр между движком и аналоговым входом не помешает, + желательно несколько раз считывать напряжение и для дальнейших вычислений использовать средние значания. конкретные примеры программ многократно обсуждались на форуме.

amateur
Offline
Зарегистрирован: 19.11.2017

Удалось найти советский линейный сп3-4ам и китайский А 10кОм.Проверил,но изменений никаких.

1023-2700

0-23

512-1350

Может с ним проще?

Есть еще энкодер из мышки,подключил,но показывает только при резких поворотах, а при постоянном плавном движении ничего нет.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Что значит ничего нет? там разве не оптика?

amateur
Offline
Зарегистрирован: 19.11.2017

Не дает значительного изменения сигнала. 1 гр за 2-4 ступеньки.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Так, как Вы им пользуетесь-то? Тут что угадайка какая-то? Нужна помощь, давайте скетч и схему. Энкодер же - не потенциометр, ему и скетч нужен другой и схема включения не такая.

b707
Offline
Зарегистрирован: 26.05.2017

amateur пишет:

Удалось найти советский линейный сп3-4ам и китайский А 10кОм.Проверил,но изменений никаких.

парень, ты в школе математику проспал, что ли?? Имея уже готовый угломер, в котором всего-то надо табличку правильных значений составить - ты зачем ищещь какие-то другие потенциометры и энкодеры? Головой воспользуйся по назначению, твой первый вариант может мерить углы правильно, его всего лишь настроить надо.

amateur
Offline
Зарегистрирован: 19.11.2017

Спасибо всем! Составил прогрессию и все работает правильно.