реклама на сайте
подробности

 
 
> Измеритель уровня топлива, Первый проект на AVR
alex2103
сообщение Mar 16 2007, 22:33
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945



Очень хочется разобраться в МК... Для этого был куплен ATmega8 и поставлена перед собой задача собрать устройство контроля уровня бензина в баке. smile.gif В баке стоит переменный резистор с поплавком, диапазон примерно 0-60 Ом. Зависимость сопротивление/литры неизвестна angry.gif
К МК подключен сдвоенный семисегментный индикатор от старого системного блока (показывал раньше крутые мегагерцы). У этого индикатора выводы общих анодов запараллелены...из-за этого динамической индикации не получилось и индикатор занимает 14 ног smile.gif
Устройство должно мереть падение напряжения на резисторе в баке и выводить результат в литрах на индикатор.
Сам пока написал функцию для вывода числа 0-99 на индикатор.

Подскажите пожалуйста:
1) как организовать подключение резистора к АЦП (с учетом того, что резистор в баке и токи там должны быть маленькие)
2) как интерпретировать значение АЦП с учетом нелинейности сопротивление/литры?
Спасибо.

З.Ы.:не пинайте сильно...это мой первый опыт работы с МК.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alex2103
сообщение Mar 30 2007, 13:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945



Цитата
Хм, у тебя только 9 градаций? Странно, вроде изначально речь шла о 40-литровом. Чего-то я не пойму тогда изначальной затеи.

9 градаций сделано на время отладки. Потом будет 40.

Цитата
Наливать в бак по литру и записывать показания индикатора на бумажку.

Алгоритм у меня такой же. Только индикатор у меня на 2 символа и out для калибровки я записываю в епром. Налил литр - нажал кнопку, налил еще - нажал. smile.gif

Цитата
В цикле путём сравнения значений таблицы с out находишь номер члена таблицы меньше или больше out, как удобнее, и уже его выводишь на экран.

Вот как это красиво организовать?

Цитата
Кстати, а что за экран? Судя по "плаванию" в элементарном есть подозрение в корректном написании процедуры преобразования целого в ASCI и собственно вывод.


"Экран" от старого системника...на 2 с половиной разряда smile.gif
Вот так с ним работаю:
Код
void leds(char a)
{
unsigned char digits[2];
if(a>=99) // если больше 99, то на индикаторе "Er"-типа ошибка.
{
PORTD=0x86;
PORTB=0x5F;
return;
}
digits[0] =a % 10;
digits[1] =a / 10 % 10;
switch(digits[1])  // в led[] и led1[] храняться коды индикаторов.
{
case 0: PORTD=led[0]; break;
case 1: PORTD=led[1]; break;
case 2: PORTD=led[2]; break;
case 3: PORTD=led[3]; break;
case 4: PORTD=led[4]; break;
case 5: PORTD=led[5]; break;
case 6: PORTD=led[6]; break;
case 7: PORTD=led[7]; break;
case 8: PORTD=led[8]; break;
case 9: PORTD=led[9]; break;
default: PORTD=0xBF;break;
}
switch(digits[0])
{
case 0: PORTB=led1[0]; break;
case 1: PORTB=led1[1]; break;
case 2: PORTB=led1[2]; break;
case 3: PORTB=led1[3]; break;
case 4: PORTB=led1[4]; break;
case 5: PORTB=led1[5]; break;
case 6: PORTB=led1[6]; break;
case 7: PORTB=led1[7]; break;
case 8: PORTB=led1[8]; break;
case 9: PORTB=led1[9]; break;
default: PORTB=0xBF;break;
        }  
}


Еще раз спасибо за содействие! a14.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alex2103   Измеритель уровня топлива   Mar 16 2007, 22:33
- - alex2103   С подключением датчика вроде все понятно. Нужно сд...   Mar 17 2007, 23:50
- - alex2103   неужели никто мне не поможет?   Mar 18 2007, 14:25
- - Massi   ну для начала...смотреть какой ток должен быть...э...   Mar 18 2007, 15:53
- - alex2103   Massi, калибровку так себе и представлял. Бак всег...   Mar 18 2007, 18:23
- - Massi   можно функцию написать...а поправочные коэфициенты...   Mar 19 2007, 10:50
- - alex2103   Прогу за меня писать не надо, мне самому интересно...   Mar 19 2007, 12:03
|- - Валентиныч   Цитата(alex2103 @ Mar 19 2007, 14:03) ......   Mar 19 2007, 16:55
|- - muravei   Цитата(alex2103 @ Mar 19 2007, 12:03) Про...   Mar 19 2007, 17:54
- - Massi   а хаотичные ресеты и подвисания проца это тоже буд...   Mar 19 2007, 12:41
- - alex2103   muravei, спасибо! Жаль что в сети в свободном ...   Mar 20 2007, 09:32
|- - muravei   Цитата(alex2103 @ Mar 20 2007, 09:32) У в...   Mar 20 2007, 10:46
|- - Old1   Цитата(alex2103 @ Mar 20 2007, 10:32) ......   Mar 20 2007, 12:14
- - alex2103   Old1, спасибо огромное, читаю... Вот так собираюс...   Mar 20 2007, 13:27
|- - Валентиныч   Цитата(alex2103 @ Mar 20 2007, 15:27) Вот...   Mar 20 2007, 17:12
- - alex2103   Валентиныч, ОК! Значит сегодня травлю платку ...   Mar 20 2007, 17:36
|- - Валентиныч   Цитата(alex2103 @ Mar 20 2007, 19:36) Есл...   Mar 20 2007, 17:55
- - alex2103   спаял я платку... подключил вместо датчика в баке ...   Mar 22 2007, 23:03
|- - Oldring   Цитата(alex2103 @ Mar 22 2007, 23:03) Не ...   Mar 22 2007, 23:17
- - alex2103   меня вот такая мысль посетила... Конструктивно дат...   Mar 23 2007, 15:32
|- - Валентиныч   Цитата(alex2103 @ Mar 23 2007, 17:32) Кон...   Mar 23 2007, 16:35
- - alex2103   Валентиныч, изначально в баке был проволочный рези...   Mar 23 2007, 17:33
|- - vooon   приведу ваш код, немного лучьше форматированный и ...   Mar 24 2007, 00:24
|- - Demeny   Кодout=(unsigned char)sum/10; Так делать к...   Mar 26 2007, 08:59
- - Massi   ставьте фильтр активный на вход...вытянете все раз...   Mar 24 2007, 10:21
|- - Сергей Борщ   Цитата(Massi @ Mar 24 2007, 09:21) ставьт...   Mar 24 2007, 12:04
- - alex2103   vooon, за подправленный код спасибо. Как я понял в...   Mar 25 2007, 17:26
- - Vladimir Chekin   > Не понравилось что даже при 8бит АЦП значение...   Mar 26 2007, 04:22
- - alex2103   Обвешал по питанию всё КМками и мл. разряд вроде у...   Mar 26 2007, 08:39
- - alex2103   Demeny, спасибо! сделал как вы посоветовали. Т...   Mar 26 2007, 09:24
- - Vladimir Chekin   Из буфера интегратора ничего выкидывать не надо. Ф...   Mar 26 2007, 09:54
- - alex2103   Если резистор не трогать, то показания АЦП теперь ...   Mar 26 2007, 12:31
|- - Demeny   Цитата(alex2103 @ Mar 26 2007, 13:31) Есл...   Mar 26 2007, 13:13
- - alex2103   ЦитатаСоставляем две таблицы равной длины. В одной...   Mar 27 2007, 14:30
- - alex2103   Собрал я свой измеритель и окончательно убедился, ...   Mar 29 2007, 21:11
|- - muravei   Цитата(alex2103 @ Mar 29 2007, 22:11) Соб...   Mar 30 2007, 10:07
- - Vladimir Chekin   Цитатадатчик в виде поплавка с резистором абсолютн...   Mar 30 2007, 01:18
- - alex2103   Вот так провожу измерение Кодunsigned char read_a...   Mar 30 2007, 08:26
- - Vladimir Chekin   Я задавал вопросы про времена, ты привёл код. Как ...   Mar 30 2007, 09:31
- - alex2103   Vladimir Chekin , спасибо за внимание к теме Clo...   Mar 30 2007, 10:29
|- - muravei   Цитата(alex2103 @ Mar 30 2007, 11:29) mur...   Mar 30 2007, 12:16
- - alex2103   Получилась у меня пузырьковая сортировка! Код...   Mar 30 2007, 12:02
- - alex2103   muravei, ну так и раздел форума для "детей...   Mar 30 2007, 12:31
- - Vladimir Chekin   >> Clock frequency, АDC Clock frequency... Я...   Mar 30 2007, 12:40
|- - vooon   Цитата(alex2103 @ Mar 30 2007, 14:24) Код...   Mar 30 2007, 14:44
- - Vladimir Chekin   >> Вот как это красиво организовать? Дык нап...   Mar 30 2007, 19:17
- - alex2103   ЦитатаПосле увеличения паузы между измерениями и ф...   Mar 30 2007, 22:28
- - alex2103   Прикрутил я переменник СП-3 Качесто сего резистор...   Jul 5 2007, 20:35
- - sensor_ua   Недавно видел схему простого емкостного уровнемера...   Jul 6 2007, 05:36
- - alex2103   sensor_ua, спасибо за ссылки. Жаль с английским ту...   Jul 6 2007, 20:29
|- - muravei   Цитата(alex2103 @ Jul 7 2007, 00:29) Изме...   Jul 11 2007, 12:57
- - sergeeff Jr.   А вот такая мысля появилась: почему бы не использо...   Jul 10 2007, 20:40
- - Tcom   А если по ямкам машинка ехать будет, то центр тяже...   Jul 11 2007, 08:39
- - sergeeff Jr.   А если машина будет по ямкам прыгать, то среднее а...   Jul 11 2007, 18:55
- - Alexey Melnichenko   Скажите а где взять прошивку для решения датчика и...   Nov 19 2007, 13:54
- - Krys   Я вот тоже не понял, почему автору не понравился ш...   Nov 20 2007, 08:27
- - rv3dll(lex)   о каких точностях вы говорите -0,25 литра - так...   Nov 20 2007, 08:41
- - Alexey Melnichenko   Устройство очень полезное тем что нет движ. частей...   Nov 22 2007, 06:46
|- - rv3dll(lex)   Цитата(Alexey Melnichenko @ Nov 22 2007, 09...   Nov 22 2007, 07:27
|- - Krys   Цитата(rv3dll(lex) @ Nov 22 2007, 13...   Nov 22 2007, 09:24
|- - rv3dll(lex)   Цитата(Krys @ Nov 22 2007, 12:24) У меня ...   Nov 22 2007, 13:13
|- - Krys   Цитата(rv3dll(lex) @ Nov 22 2007, 19...   Nov 26 2007, 09:17
|- - rv3dll(lex)   Цитата(Krys @ Nov 26 2007, 12:17) Извиняю...   Nov 26 2007, 11:30
- - Alexey Melnichenko   А прошивка есть или нет? того чудо девайса что в С...   Nov 22 2007, 09:45
- - Марк_Я   Проблемы с плеском бензина нет никакой. Даже если ...   Nov 26 2007, 14:57
|- - rv3dll(lex)   Цитата(Марк_Я @ Nov 26 2007, 17:57) Пробл...   Nov 26 2007, 19:08
|- - Krys   Цитата(rv3dll(lex) @ Nov 27 2007, 01...   Nov 28 2007, 08:46
|- - rv3dll(lex)   Цитата(Krys @ Nov 28 2007, 11:46) Во-перв...   Nov 28 2007, 11:10
- - John Silver   А как быть с термокомпенсацией. Замечал у себя: вы...   Jun 9 2011, 10:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 12:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016