Переменный резистор как указатель угла поворота
- Войдите на сайт для отправки комментариев
Вс, 18/06/2017 - 17:02
Доброго времени суток. Стоит задача сделать переменный резистор как датчик угла поворота. А именно максимальный уго поворота 90 градусов. Т.е. если резистор на 50 КОм то 0 КОм это 0 град. а около 15 КОм это 90 градусов. Так вот подскажите как это реализовать. Мной написан простой скетч где показания резистора устанавливались как 0...1023. Затем я добился того что 0 КОм - 0% а 50КОм - 100%
Скетч:
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(0,1);
lcd.print("OPEN: ");
lcd.setCursor(11,1);
lcd.print("%");
}
void loop() {
int sensorValue = analogRead(A0);
float voltage= sensorValue * (100.0/1023.0);
lcd.setCursor(5,1);
lcd.print(voltage);
delay(100);
}
Если переменный резистор имеет линейную характеристику сопр от угла поворота (тип А), то интерполировать угол кривой 1-го порядка. Если логарифмический, то мучиться с экспонентой или заменить на линейный.
Резистор стоит логорифмический B50K. Мучатся не стоит или всетаки попробовать? Я в програмировании как бы не силен(ПОКА) хотя проект на ардуино не первый. Может у кого образец какойто есть с экспонентой.
Резистор стоит логорифмический B50K. Мучатся не стоит или всетаки попробовать? Я в програмировании как бы не силен(ПОКА) хотя проект на ардуино не первый. Может у кого образец какойто есть с экспонентой.
Точно. Давайте мерить микрометром, отмечать мелом , и рубить топором. Это так правда жизни. Зачем вам ардуина, если результат будет так примерно на глаз. АЦП у ардуины линейна, Если использовать логарифмический, то где будет точно, а где-то "а хер его знает".
Резистор стоит логорифмический B50K. Мучатся не стоит или всетаки попробовать? Я в програмировании как бы не силен(ПОКА) хотя проект на ардуино не первый. Может у кого образец какойто есть с экспонентой.
Точно. Давайте мерить микрометром, отмечать мелом , и рубить топором. Это так правда жизни. Зачем вам ардуина, если результат будет так примерно на глаз. АЦП у ардуины линейна, Если использовать логарифмический, то где будет точно, а где-то "а хер его знает".
Я имею в виду из значений от 0...1023 (все) сделать выборку 0 это 0% а 230 и все что дальше это 100%. А уже с линейкой и топором я справлюсь сам. А вот с кодом нет. Есть какие-либо идеи или я не по адресу? Ибо насмешек и резких в мою сторону вырожений можно пчитать и на любом другом форуме а вот помощи дождешся не везде...
А здесь все просто. Вот с АЦП результат и логарифмируйте. А потом функций map растягивайте. Или вам математически показать.
угол - > логарифм -> напряжение -> АЦП-> взять экспаненту -> результат. Осталось определить у вас резистор дает логафифм или экспаненту.
Newport, я с вами согласен.Ну или те же яйца, только в профиль http://arduino.ru/forum/programmirovanie/lineinaya-interpolyatsiya-0
Короче спасибо, я только зря вам дурю голову. Я пока еще не дорос до написания такого кода. Мне нужно зделать устройство которое будет указывать на какой процент открыта дросельная заслонка в машине. Может есть попроще способ? А да и заслонка механическая двигается тросиком.
BataniQ.Код не шедевр, но вам пойдет . На глаз выставите проценты и хватит вам.
void setup() { Serial.begin(9600); } void loop() { delay (100); int sensorValue = analogRead(/*пин серсора*/A0); if (sensorValue < 100) Serial.println("10%"); else if (sensorValue < 200) Serial.println("20%"); else if (sensorValue < 300) Serial.println("30%"); else if (sensorValue < 400) Serial.println("40%"); else if (sensorValue < 500) Serial.println("50%"); else if (sensorValue < 600) Serial.println("60%"); else if (sensorValue < 700) Serial.println("70%"); else if (sensorValue < 800) Serial.println("80%"); else if (sensorValue < 900) Serial.println("90%"); else Serial.println("100%"); }Если поменяли переменник на переменник с линейной харак-ой - посмотрите пример из ИДЕ " AnalogInOutSerial". Поэксперементируте с ним. Добавьте вывод на ЛСД . Ничего сложного нет.
Даже если переменник не линейный - поиграйтесь . Поймете и дальше легче будет.
а с какой точностью нужно определять этот угол? может энкодер вместо резистора, там точность лучше 0,01 градуса получить можно
Мне нужно зделать устройство которое будет указывать на какой процент открыта дросельная заслонка в машине. Может есть попроще способ? А да и заслонка механическая двигается тросиком.
Идея с переменником неплохая. если это учебный проект. Научится программировать и тд... Но реально на машине это долго не проживает - у вас переменник будет сотни и тысячи раз за поездку елозить по первым 10-20% шкалы - обычный радиорезистор сотрется нафик за пару дней.
Проект учебный!!! Спасибо большое. Буду пробовать что-то делать. И да о износе переменника я и не подумал.
Идея с переменником неплохая. если это учебный проект. Научится программировать и тд... Но реально на машине это долго не проживает - у вас переменник будет сотни и тысячи раз за поездку елозить по первым 10-20% шкалы - обычный радиорезистор сотрется нафик за пару дней.
на машине проживёт ровно столько, сколько должен прожить на машине https://ru.wikipedia.org/wiki/Датчик_положения_дроссельной_заслонки
Не зря, но под процентом открытия понимают объем воздуха прокачиваемый в единицу времени (он еще нелинейно зависит от разряжения и скорости потока), а вовсе не угол открытия заслонки.
на машине проживёт ровно столько, сколько должен прожить на машине https://ru.wikipedia.org/wiki/Датчик_положения_дроссельной_заслонки
я знаю, что такое ДПДЗ и как он устроен. И знаю, как он стирается и начинает глючить.
Мне нужно зделать устройство которое будет указывать на какой процент открыта дросельная заслонка в машине. Может есть попроще способ? А да и заслонка механическая двигается тросиком.
алё, гараж - на дроссельной заслонке стоит датчик, с которого снимается угол открытия дроссельной заслонки электроникой автомобиля.
на машине проживёт ровно столько, сколько должен прожить на машине https://ru.wikipedia.org/wiki/Датчик_положения_дроссельной_заслонки
я знаю, что такое ДПДЗ и как он устроен. И знаю, как он стирается и начинает глючить.
ок. если тебе нужен вечный ДПДЗ, то замени аналоговый на с датчиком Холла.
*бум выепываться или подключимся к штатному ДПДЗ телеги?
А зачем вообще знать положение заслонки? мозги компа им пользуются только для ускорения реакции движка на нажатие педали т.к датчик абсолютного давления или датчик массового расхода воздуха срабатывают с некоторой задержкой. больше он нафиг в движке не сдался.
А зачем вообще знать положение заслонки?
что бы знать.
кэп, ок, для чего знать? :-)
кэп, ок, для чего знать? :-)
ну, во-первых - это красиво(с)