Считывание напряжения и управление напряжением
Всем привет!
Закупили для научной лаборатории два контроллера arDuino Nano V.7 https://duino.ru/arduino.html
Один контролер должен считать напряжение от 0 до 5 Вольт, и в программе на PC необходимо записать это значение во Float переменную.
Вторым контроллером необходимо из программы на PC подать напряжение от 0 до 5 Вольт.
Подскажите, пожалуйста, что почитать по этой теме. Программа на PC может быть написана на MATLAB или C++. Покажите примеры программ как обращаться с контроллером.
Спасибо!
Re: Считывание напряжения и управление напряжением
на самом деле эти две простенькие задачки может выполнять одна Arduino
Пример вольтметра
Чтобы на ШИМ выходе ардуины (D9) получить напряжение Vcc/2
Достаточно вот такого кода
Код:
void setup()
{
pinMode(9, OUTPUT);
analogWrite(9, 128);
}
void loop()
{
}
Но что бы получить идеальное постоянное напряжение понадобится RC фильтр
Re: Считывание напряжения и управление напряжением
Помогите пожалуйста с программкой, очень нужно для нужд российской науки.
Есть контроллер, с помощью него нужно управлять системой:
- на одну пару контактов нужно уметь подавать напряжение от 0 до +1.2 Вольт
- на вторую пару контактов нужно уметь подавать напряжение от 0 до +5.0 Вольт
- с третьей пары нужно снять показание тока от 0 до 0.1 милиАмера (ток постоянный, снимается с фотоумножителей Hamamatsu)
- с четвёртой пары нужно снять показание напряжения от 0 до + 5.0 Вольт (кстати, а до 10 Вольт можно снимать значения?)
Контроллер подключен к PC как COM порт. Какими командами из внешней программы на PC (пусть это будет С++ или MATLAB) нужно задавать напряжение и считывать напряжение и ток?
Спасибо!
Re: Считывание напряжения и управление напряжением
К сожалению у меня не хватает времени свои проекты завершить.
Re: Считывание напряжения и управление напряжением
Подскажите с этой темой, пожалуйста: на пару контактов нужно уметь подавать напряжение от 0 до +5.0 Вольт (и на другую пару от 0 до +1.2 Вольта)
Контроллер: Nano (ATMEGA 328, CH340)
Re: Считывание напряжения и управление напряжением
А в чем вопрос я не понял?
Re: Считывание напряжения и управление напряжением
Начну с простых вопросов, пожалуй.
Не сразу всё мне понятно.
1) analogWrite(9, 2.5 * (255.0 / 5.0)); // D9
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
Если подключить щуп A0 к D9 (где я ожидаю увидеть 2.5 вольта), я вижу широтно-импульсную модуляцию. И из неё мне нужно сгладить эту ШИМ до нужных мне 2.5 Вольт. Вопрос как? Здесь пишут про RC фильтр: http://fablabs.ru/wiki/index.php/RC-...82%D0%BE%D1%82
Но супергладко у них тоже не получается. Как мне быть?
2) Я меряю влоб напряжение между щупами A0 и AGRN, вставляю между ними батарейку на 1.5 Вольт, и вижу что 1.5 Вольт не показывает, я вижу только шум. Почему?
Re: Считывание напряжения и управление напряжением
Цитата:
Но супергладко у них тоже не получается. Как мне быть?
П фильтр с применением электролита и керамики поможет сгладить все пульсации
Цитата:
Я меряю влоб напряжение между щупами A0 и AGRN, вставляю между ними батарейку на 1.5 Вольт, и вижу что 1.5 Вольт не показывает, я вижу только шум. Почему?
А что такое AGRN? Меряете чем? Если осциллографом, то нужно перевести вход на измерение постоянки
Re: Считывание напряжения и управление напряжением
Про фильтр я не понял мысль. Покупать возможности у нас нет. Как его самому смастерить для сглаживания?
AGRN - это земля на стороне аналоговой стороны A. Т.е. батарейку я меряю между щупами A0 и AGRN. Программно нужно analogRead(A0) поменять?
Re: Считывание напряжения и управление напряжением
Цитата:
Про фильтр я не понял мысль. Покупать возможности у нас нет.
Я Вам и не предлагал покупать
Цитата:
AGRN - это земля на стороне аналоговой стороны A. Т.е. батарейку я меряю между щупами A0 и AGRN.
Смотрю на ардуину нано вер.7 и в упор не вижу такого контакта