Вопрос по аналоговым входам
- Войдите на сайт для отправки комментариев
Здравствуйте.
Есть Arduino Mega2560 и LiPo аккумулятор, состоящий из трёх элементов. Отдельный элемент не рекомендуется разряжать ниже 3 В, поэтому нужно контролировать напряжение на каждом элементе. У аккумулятора есть разъём с 4-мя контактами: 1-общий, 2-выход с первого элемента (4,2 В), 3-выход с первого и второго элементов (8,4 В), 4-выход с трёх элементов (12,6 В). Для 3 и 4 контакта сделал делители: 1 к 2 (по 1 МОм) и 1 к 3 (1 2 МОм), 2 оставил так (напряжение не превышает 5 В). При подключении к аналоговым входам Ардуино даже в отсутствии внешнего питания Ардуино запускается. Выяснил, что это происходит з-за 2 контакта аккума. Сделал к нему тоже делитель как и к 3-му (1 к 2). Ардуно запускаться перестал. Но обнаружилась другая проблема. Вот значения AnalogRead для 3 элементов (напряженя с делителей):
1: 388 (первый замер после включения) 447 442 436 447 451 423 444 442 432 (реальное значение - 1,74 В)
2: 689 690 689 690 690 665 690 690 689 690 (3,49 В)
3: 727 726 726 726 725 726 726 726 726 726 (3,31 В)
Собственно вопросов несколько: почему запускалась Ардуно, почему так скачут значения одного элемента, в то время как 2 других достаточно стабильны.
Буду благодарен за любые подсказки.
Помоему, нельзя мерять напряжение источника от которого и сама ардуина питается. Но не факт. Потому что знаком такой факт, что если мультиметром простым китайским мерять напряжение кроны, которая стоит внутри самого мультиметра, то он глючит, а может и отключится.
попробуй к другим портам ардуины подключится, сразу с тремя делителями
Попробовал с другими аналоговыми входами - результат тот же. Интересно, что при отключенном питании Ардуины, на выходах делителей, воткнутых в аналоговые входы напряжение порядка 0,5 В. При включении питания напряжение становится нормальным. Похоже на какие-то диоды, может защитные. Но вопрос так и остаётся: почему одно напряжение так скачет?
если не найдешь как победить - попробуй через один аналоговый вход с мультиплексором cd4051
Победил :) Поскольку первый выход с делителя заведомо меньше 2,5 В, использовал встроенное в Мегу опорное напряжение 2,56 В - analogReference(INTERNAL2V56). Значения стали стабильными. Так же вычитал в руководстве Атмеги, что первое считанное с аналогового входа значение неверное (после любых манипуляций с ним, в частности после выбора опорного напряжения), поэтому его не использую. Теперь всё работает как надо.
Здравствуйте, а можно поподробнее у меня такая же проблема с замером напряжения.
Ну я использовал встроенную возможность Меги - опорное напряжение 2,56 В (с помощью команды analogReference(INTERNAL2V56). Скачки пропали, почему не очень понятно. Странность была в том, что скачки был только на одном входе, где напряжение около 1,8 В. На других входах с напряжением около 3,5 В всё стабльно было.
Я, правда, до сих пор не понял, почему стартовала Ардуина с отключённым питанием, когда на аналоговый вход попадало напряжение порядка 4 В. Мстика :)
Спасибо, разобрался. Начал дальше мучать ардуину.
Я, правда, до сих пор не понял, почему стартовала Ардуина с отключённым питанием, когда на аналоговый вход попадало напряжение порядка 4 В. Мстика :)
При прямом подключении вашего питания на аналоговый вход происходит запитка контроллера через внутренний защитный диод.
Падение напряжения до 3 вольта на банку, это только при токах до 1С. А вообще, если хотите долгой жизни батареи, то ниже 3,4-3,5 не допускайте
При прямом подключении вашего питания на аналоговый вход происходит запитка контроллера через внутренний защитный диод.
Ага, я что-то подобное предположил, когда получил 0,5 В на входах вместо 1,8 - 3.6 В.
Падение напряжения до 3 вольта на банку, это только при токах до 1С. А вообще, если хотите долгой жизни батареи, то ниже 3,4-3,5 не допускайте.
Спасибо за предупреждение! Я сейчас поставил ограничение на 3.3 В, значит нужно будет чуть поднять.
Приветствую форумчан Arduino.ru! Пару недель назад приобрел Arduino Mega1280, давно хотел приобрести такую вещь, сделать зарядное с контролем всего что можно.. и на сколько можно каналов.. и всего что можно заряжать, и всем управлять! (ведь "она" все это может) Захотел в первую очередь померить напр на батарейке.. Доселе я лишь макросы в Екселе делал.. Поэтому сразу столкнулся с проблемой - как вынуть данные из проги Ардуино и посмотреть их в компе.. и конечно в Екселе, чтобы с графиками и пр. там это удобно (на мой взгляд). Несколько дней (ночей) лазил по инету все скачивал, но так и не смог что-нибудь толком запустить кроме voltmeter.exe .. ))) Правда, после многих изощрений по инсталляции всяких библиотек, пару раз запустился Ексель с одной программой http://ingenegros.com.ar/Microcontroladores/graficar-con-el-excel-mediciones-tomadas-por-arduino.html и напряжение тоже скакало от 0 до 5 в на каждом канале.. (мерил по двум аналоговым каналам 0 и 1 прога называется "два потециометра") Потом все завалилось и то работает как попало, то Ардуино отказывается реагировать..
В общем, если можно, покажите код прораммы как там вставлять эту analogReference(INTERNAL2V56) и куда, ну и как это все посмотреть (и сохранить данные) доступно в компе с исходным кодом, чтобы можно было потом разобраться что к чему.. Благодарен за ответ.
Ага, вроде нашел как http://wiring.org.co/reference/analogReference_.html
Код
Теперь надо узнать как в Екселе посмотреть...
Update от Администратора: чтобы код был отформатирован как сейчас, пользуйтесь кнопкой вставки кода - вторая кнопка над окном редактирования сообщений, красные скобочки с подписью code.