Ок, я понял. Евгений хотел сказать: "Что будет, если измеряемое напряжение будет в точности равно референсному?" Снимаю шляпу. Шарик, ты балбес (с). Несмотря на то, что вариантов значений 1024, делить надо на 1023. Но мозг мой от этого все равно набекрень.
Евгений, а в остальном?
Ну, Вы ведь даже не пытались её компилировать! Ну, как же так? Зачем выносить мозг людям, даже не попытавшись запустить хотя бы компиляцию. Запустите, Вам рассскажут.
int val = 0; // переменная для хранения считываемого значения
float voltage = 0; // измеренное напряжение после делителя
void setup()
{
analogReference(INTERNAL);
}
void loop()
{
//Здесь что-то делаем...
for (int i=0; i <= 9; i++) {
val = val + analogRead(1); // считываем значение c P2
}
voltage = float(val) / 10230.0 * 1.1; // усредняем и переводим в вольты
//далее производим необходимые действия с voltage: по желанию -
//домножим на коэффициент делителя, вычтем напряжение отсечки и т.д.
//делаем что-то ещё.
}
int val = 0; // переменная для хранения считываемого значения
float voltage = 0; // измеренное напряжение после делителя
void setup()
{
analogReference(INTERNAL);
}
void loop()
{
//Здесь что-то делаем...
for (int i=0; i <= 9; i++) {
val = val + analogRead(1); // считываем значение c P2
}
voltage = float(val) / 10230.0 * 1.1; // усредняем и переводим в вольты
//далее производим необходимые действия с voltage: по желанию -
//домножим на коэффициент делителя, вычтем напряжение отсечки и т.д.
//делаем что-то ещё.
}
Вот здесь написано как правильно измерять напряжение питания (ищите раздел "Detecting low voltage")
Есть и по-русски, но предупреждаю: автор стырил материал Ника, формально код правильный, но не до конца разобрался, потому его объяснения местами выглядят бредово.
Вот здесь написано как правильно измерять напряжение питания (ищите раздел "Detecting low voltage")
Есть и по-русски, но предупреждаю: автор стырил материал Ника, формально код правильный, но не до конца разобрался. потому его объяснения иногда выглядят бредово.
По указанным ссылкам объясняется как измерить нестабилизированнное питание самого микроконтроллера посредством измерения опорного напряжения, выдаваемого встроенным источником микроконтроллера, посредством зависимости этого опорного напряжения от напряжения питания.
К сожалению, мне это не подходит. Да, виноват, не прописал в условиях задачи - плата Digispark и исполнительное устройство питаются от внешнего источника 6.6 - 8.4В через встроенные стабилизаторы напряжения. Т.о. микроконтроллер питается от стабилизированного питания 5В, чьё напряжение не особо кореллирует с напряжением источника и, в свою очередь aref встроенного источника тоже не особо будет зависеть от напряжения внешнего источника, которое я хочу померять.
Ну, блин! Вы же написали в посте #41 "Потребовалось измерить напряжение питания". Когда не уточняют чьего питания, всегда имеют в виду своего собственного!
Тогда я вообще не понимаю для чего Вам внутренний рееференс и почему не использовать собственное питание как референс. Если оно стабильное, то точность измерения будет выше.
Ну, блин, я извиняюсь, не понял на момент постановки задачи, что это играет роль. Пишу же, мол, виноват, признаю ошибку
pepelnyy пишет:
. Да, виноват, не прописал в условиях задачи - плата Digispark и исполнительное устройство питаются от внешнего источника 6.6 - 8.4В через встроенные стабилизаторы напряжения.
Так лучше, получается в таком случае analogreference(DEFAULT) и от стабилизированных 5 вольт плясать? Просто опыта не имею. Заранее благодарен за ответ.
Ок, я понял. Евгений хотел сказать: "Что будет, если измеряемое напряжение будет в точности равно референсному?" Снимаю шляпу. Шарик, ты балбес (с). Несмотря на то, что вариантов значений 1024, делить надо на 1023. Но мозг мой от этого все равно набекрень.
Евгений, а в остальном?
Нет устройства пока, не на чем попробовать.
В таком виде компилится без ошибок:
В таком виде компилится без ошибок:
Вы не ответили на первую фразу из #42
Вы не ответили на первую фразу из #42
Если Вы про точность 10% - есть способ точнее? С радостью приму совет. Не то, что устраивает - буду с ней мириться.
Конечно, есть.
Вот здесь написано как правильно измерять напряжение питания (ищите раздел "Detecting low voltage")
Есть и по-русски, но предупреждаю: автор стырил материал Ника, формально код правильный, но не до конца разобрался, потому его объяснения местами выглядят бредово.
Спасибо, ща почитаем.
Конечно, есть.
Вот здесь написано как правильно измерять напряжение питания (ищите раздел "Detecting low voltage")
Есть и по-русски, но предупреждаю: автор стырил материал Ника, формально код правильный, но не до конца разобрался. потому его объяснения иногда выглядят бредово.
По указанным ссылкам объясняется как измерить нестабилизированнное питание самого микроконтроллера посредством измерения опорного напряжения, выдаваемого встроенным источником микроконтроллера, посредством зависимости этого опорного напряжения от напряжения питания.
К сожалению, мне это не подходит. Да, виноват, не прописал в условиях задачи - плата Digispark и исполнительное устройство питаются от внешнего источника 6.6 - 8.4В через встроенные стабилизаторы напряжения. Т.о. микроконтроллер питается от стабилизированного питания 5В, чьё напряжение не особо кореллирует с напряжением источника и, в свою очередь aref встроенного источника тоже не особо будет зависеть от напряжения внешнего источника, которое я хочу померять.
Или я неправильно понимаю, поправьте меня.
Ну, блин! Вы же написали в посте #41 "Потребовалось измерить напряжение питания". Когда не уточняют чьего питания, всегда имеют в виду своего собственного!
Тогда я вообще не понимаю для чего Вам внутренний рееференс и почему не использовать собственное питание как референс. Если оно стабильное, то точность измерения будет выше.
Ну, блин, я извиняюсь, не понял на момент постановки задачи, что это играет роль. Пишу же, мол, виноват, признаю ошибку
. Да, виноват, не прописал в условиях задачи - плата Digispark и исполнительное устройство питаются от внешнего источника 6.6 - 8.4В через встроенные стабилизаторы напряжения.
Так лучше, получается в таком случае analogreference(DEFAULT) и от стабилизированных 5 вольт плясать? Просто опыта не имею. Заранее благодарен за ответ.
Ну, я бы от 5 вольт плясал, конечно. На Aref поставил бо конденсатор (как даташит требует) и работал бы.