Описание: Как получить? Как посчитать? |
Поиск в теме | Версия для печати |
elmot |
Отправлено: 24 Февраля, 2014 - 09:03:00
|
Гуру
Сообщений всего: 1141
Дата рег-ции: Дек. 2010
|
1) Это литий, заводим через делитель на АЦП и меряем любым МК.
2) Не удивляйтесь, если вдруг реальная емкость акка окажется не 8000мАч, а где-нибудь 2000. Оч подозрительно выглядит. Маловат. А китайцы такие китайцы... Литий лучше покупать в проверенных местах, а не на ебеях или китайских биржах.
3)Конвертер - бог знает, непонятно, что у него с токами. Выглядит нормально, но чота больно дешев. По баксу - недорого, если что не так не оч жалко такой.
4) Я делал видео через распберри, мне не понравилось. Лучше получается через роутер. Распебрри на боте вообще какая-то странная штука. Для простых задач слишком много жрет и слишком много наворотов, а для сложных, типо распознавания - слишком туп. Плюс проблемы с USB и отсутствие других интерфейсов.
на правах рекламы:
http://roboforum.ru/wiki/OR-WRT |
|
|
GPPSoft |
Отправлено: 24 Февраля, 2014 - 14:49:26
|
Капитан
Сообщений всего: 40
Дата рег-ции: Март 2010
|
Спасибо за ответ!
elmot пишет:Это литий, заводим через делитель на АЦП и меряем любым МК.
А можно немного по подробнее? Не очень-то шарю.
elmot пишет:Не удивляйтесь, если вдруг реальная емкость акка окажется не 8000мАч, а где-нибудь 2000. Оч подозрительно выглядит. Маловат. А китайцы такие китайцы... Литий лучше покупать в проверенных местах, а не на ебеях или китайских биржах.
Да вот уже тоже понял что тупанул. Но вроде он толстенький. Спросил у продавца, он заверил что может быть чуть ниже. Если не устроит, то обещал вернуть деньгу.elmot пишет:Я делал видео через распберри, мне не понравилось.
Ну не знаю... У меня просто супер показывает. Задержки практически нет. Ну или нет вообще если не придираться и не всматриваться. Вы наверное python или php юзали?
elmot пишет:Распебрри на боте вообще какая-то странная штука. Для простых задач слишком много жрет и слишком много наворотов, а для сложных, типо распознавания - слишком туп. Плюс проблемы с USB и отсутствие других интерфейсов.
Мне часа-полтора покатушек вполне устроят
Платформу взял такую .
p.s: весь софт буду писать сам.(Отредактировано автором: 24 Февраля, 2014 - 14:57:15) |
|
|
elmot |
Отправлено: 24 Февраля, 2014 - 19:59:30
|
Гуру
Сообщений всего: 1141
Дата рег-ции: Дек. 2010
|
GPPSoft пишет:
elmot пишет:Это литий, заводим через делитель на АЦП и меряем любым МК.
А можно немного по подробнее? Не очень-то шарю.
http://www.meanders.ru/delitnapr.shtml
На борту любого МК есть АЦП, которым можно померять поделенное напряжение. Напрямую подавать нельзя - сгорит. Там еще есть кое-каки тонкости, но преодолимые.
Цитата:elmot пишет:Я делал видео через распберри, мне не понравилось.
Ну не знаю... У меня просто супер показывает. Задержки практически нет. Ну или нет вообще если не придираться и не всматриваться. Вы наверное python или php юзали?
Нет, конечно. mjpeg-streamer. Роутер явно лучше работал. Мне было с чем сравнить.
Цитата:
Платформу взял такую .
p.s: весь софт буду писать сам.
Да ради бога. Начинайте с загрузчика
Для начала пойдет, но тоже есть недостатки.
- У таких колес сцепление с поверхностью посредственное, будет мешать.
- Слишком длинная и узкая колесная база, будут проблемы с поворотами.
А вот моторы сразу с энкодерами - толково. |
|
|
GPPSoft |
Отправлено: 25 Февраля, 2014 - 04:00:20
|
Капитан
Сообщений всего: 40
Дата рег-ции: Март 2010
|
elmot пишет:Да ради бога. Начинайте с загрузчика
Да в качестве "загрузчика" Linux-a хватит . Имелся в виду софт для управления железом и передачи-приема изображения. Управление из браузера и мобильного Android устройства. Говорю же, для меня главная "проблема" это железная часть... Так что я тут еще успею "намусорить" в разделах. С софтом думаю проблем не будет.
elmot пишет:Нет, конечно. mjpeg-streamer. Роутер явно лучше работал. Мне было с чем сравнить.
Возможно. Но много факторов влияет на скорость и качество. Я же использую интерфейс V4L и java обертку над ним. Очень советую ее для тех кто программирует на java. Так же отличная библиотека для работы с GPIO и д.р.pi4j . Прикупил еще датчик положения и серву для поворота камеры . Хочется графически отображать положение и заряд аккумулятора на кадрах.elmot пишет:Конвертер - бог знает, непонятно, что у него с токами. Выглядит нормально, но чота больно дешев.
Еще вот такой взял.
elmot пишет:А вот моторы сразу с энкодерами - толково.
Да как я понял там тупо диск с прорезями. Самих датчиков нет. Посоветуете?
Огромное спасибо за советы!(Отредактировано автором: 25 Февраля, 2014 - 04:33:33) |
|
|
elmot |
Отправлено: 25 Февраля, 2014 - 13:03:07
|
Гуру
Сообщений всего: 1141
Дата рег-ции: Дек. 2010
|
GPPSoft пишет:
elmot пишет:Нет, конечно. mjpeg-streamer. Роутер явно лучше работал. Мне было с чем сравнить.
Возможно. Но много факторов влияет на скорость и качество. Я же использую интерфейс V4L и java обертку над ним.
Собственно mjpeg-streamer тоже работает через v4l, только на С и без оберток, так что не думаю, что прога на яве внезапно покажеллучшие результаты. ну да дело хозяйское.
GPPSoft пишет:
Да как я понял там тупо диск с прорезями. Самих датчиков нет. Посоветуете?
Огромное спасибо за советы!
Не, не посоветую. у меня такие моторы без энкодеров. Барахляленькие, но работают. |
|
|
GPPSoft |
Отправлено: 22 Апреля, 2014 - 15:25:05
|
Капитан
Сообщений всего: 40
Дата рег-ции: Март 2010
|
Пытаюсь замерить напряжение аккумулятора с помощью Atmega168 на внутреннем резонаторе 8Mhz с использованием делителя на резисторах.
Код:
CODE:
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 10000.0;
float R2 = 1000.0;
int value = 0;
void setup() {
analogReference(INTERNAL);// опираемся на 1.1 вольт
}
--------------------------------------------------------
void getBatteryStatus(){
value = analogRead(analogInput);
vout = (value * 1.1) / 1023.0;
vin = vout / (R2/(R1+R2));
Serial.println(vin);
}
Но почему-то точность хромает очень сильно. В то время когда мой китайский мультиметр показывает 12.3 вольта, то МК вычисляет 12.10. Интересно, что если я меряю напряжение за конвертером на котором установлено к примеру 8.48, то показания довольно точные, почти один в один. Объясните пожалуйста природу этих отклонений. Спасибо!(Отредактировано автором: 22 Апреля, 2014 - 15:28:27) |
|
|
GPPSoft |
Отправлено: 22 Апреля, 2014 - 17:19:45
|
Капитан
Сообщений всего: 40
Дата рег-ции: Март 2010
|
elmot пишет:Ну это не большое отклонение, ок 2%.
А потом, если от силовой части помеха идет, то там что угодно намеряться может. Надо усреднять. Гуглить скользящее среднее.
Т.е все нормально? Вот человек на одном альтернативном форуме отписался:
Цитата:
Чего тут объяснять? У мультиметра разрешение около 20 бит, у авр - 10 бит. Итог: 5/1024 = 0,00488 v. Чтоб мерить 12 вольт, нужен делитель не менее /3. Итог: 0,00488 * 3 = 0,0146 вольт. Это минимальное разрешение ацп. Теперь возьмем гуляние данных 1 разряд (это елси все очень хорошо сделано). Итог: 0,0146 * 2 = 0.03 вольта.
Почему делим на 1023 ????
Завязывай с флоат...
P.S: вот, когда вчера с этими делителями-ххх разбирался... Сжег одну Raspberry Pi. Фатально. Чертовы провода (Отредактировано автором: 22 Апреля, 2014 - 17:23:34) |
|
|
GPPSoft |
Отправлено: 23 Апреля, 2014 - 09:10:22
|
Капитан
Сообщений всего: 40
Дата рег-ции: Март 2010
|
Роботов пишет:Резисторы-то какие стоЯт? +/- 10% наверное. Отсюда и неточность измерения.
Да, как выяснилось резисторы не очень точные. . Ну и опорное не ровно 1.1. Вообщем совместил, но точность до DT380 не дотягивает . Ну и скачат данные. Как я понял нужно еще искать скользящее среднее. Может еще что-то посоветуете? Спасибо!
Код:
CODE:
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 9990.0;
float R2 = 1015.0;
int value = 0;
//Не очень пока разбираюсь в "низкоуровневом" программировании под МК
//Но как я понял этот код изменяет попорное до 1.1 и меряет его.
long readVcc() {
long result;
// Read 1.1V reference against AVcc
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Convert
while (bit_is_set(ADCSRA,ADSC));
result = ADCL;
result |= ADCH<<8;
result = 1125300L / result; // Back-calculate AVcc in mV
return result;
}
void getBatteryStatus(){
value = analogRead(analogInput);
vout = (value * (readVcc()/1000.0)) / 1023.0;
vin = vout / (R2/(R1+R2));
Serial.println(vin);
delay(500);
}
Вывод(DT830B показывает 12.30):
CODE:
12.57
12.65
12.45
12.57
12.57
12.68
12.53
12.51
12.54
12.68
12.56
12.60
12.57
12.68
12.53
12.48
12.57
12.68
12.53
12.57
12.57
12.68
12.59
12.57
12.57
12.65
12.57
12.57
12.57
12.57
12.57
12.54
Не знаю плохо это или хорошо?(Отредактировано автором: 23 Апреля, 2014 - 09:28:34) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
« Электронная мастерская » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|