|
|
  |
Измеритель уровня топлива, Первый проект на AVR |
|
|
|
Mar 30 2007, 14:44
|

Участник

Группа: Свой
Сообщений: 72
Регистрация: 27-06-06
Из: Msk
Пользователь №: 18 401

|
Цитата(alex2103 @ Mar 30 2007, 14:24)  Код ... ... 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; } не лучьше ли сдалать так: Код // старшее знакоместо if (digits[1] < 10) PORTD = led[digits[1]]; else PORTD = 0xBF;
// младшее знакоместо if (digits[0] < 10) PORTB = led1[digits[0]]; else PORTB = 0xBF; кстати зачем заводить два массива-знакогенератора? лучше сделать подключение сегментов одинаково на обоих портах.
|
|
|
|
|
Mar 30 2007, 19:17
|
Участник

Группа: Новичок
Сообщений: 29
Регистрация: 16-03-07
Из: МО, г.Балашиха
Пользователь №: 26 210

|
>> Вот как это красиво организовать? Дык написано ж было... "В цикле путём сравнения значений таблицы с out находишь номер члена таблицы меньше или больше out, как удобнее, и уже его выводишь на экран." Или надо код написать? Может стоит хотя б какую-нить книжку по Си почитать, там обычно примеров разных циклов предостаточно. В книгах однозначно основы разжеваны куда более чётко и методично, чем наши несвязные советы.
По процедуре вывода, сорри, был неправ, вроде бы работать должно. Про оптимизацию кода уже подсказали выше.
После увеличения паузы между измерениями и фильтра "мин/макс" изменилось ли что-то? Или всё равно показания скачат?
|
|
|
|
|
Mar 30 2007, 22:28
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
Цитата После увеличения паузы между измерениями и фильтра "мин/макс" изменилось ли что-то? Или всё равно показания скачат? С показаниями все отлично! Спасибо. Цитата Может стоит хотя б какую-нить книжку по Си почитать, там обычно примеров разных циклов предостаточно. Читаю Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. Наверное ненадолго я перестану вас мучать глупыми вопросами...на выходных доделаю датчик и проведу эксперимент, сниму зависимость литры/ацп... Кстати никто не подскажет как поведет себя пепроволочный переменный резистор в баке? Бензин резистивный слой не погубит?
|
|
|
|
|
Jul 6 2007, 05:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387

|
Недавно видел схему простого емкостного уровнемера - идея датчика следующая - (генератор на 555) задающий конденсатор представлят собой цепочку последовательнго включенных конденсаторов, располагаемых на планке, ну а с другой стороны отводы типа иголочек. И мне кажется, что опорный генератор (конденсатор) нужен, если его пластина также есть часть сенсора, но в неосушаемой области. Посмотрите по линкам - может что покажется интересным http://www.merl.com/projects/iGlassware/http://www.discovercircuits.com/PDF-FILES/capgage.pdf
--------------------
aka Vit
|
|
|
|
|
Jul 6 2007, 20:29
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 7-03-07
Из: г. Запорожье
Пользователь №: 25 945

|
sensor_ua, спасибо за ссылки. Жаль с английским туго  Как я понял датчик в баке является частью генератора. Изменение емкости датчика влияет на частоту генерации... Буду смотреть проекты частотомеров на МК чтоб эту частоту измерить и оценить уровень жидкости. В МК я все еще ламер
|
|
|
|
|
Nov 19 2007, 13:54
|
Группа: Новичок
Сообщений: 3
Регистрация: 19-11-07
Пользователь №: 32 453

|
Скажите а где взять прошивку для решения датчика из журнала Схемотехника 1,2007 . Их сайт dian.ru не отвечает.
|
|
|
|
|
Nov 20 2007, 08:27
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Я вот тоже не понял, почему автору не понравился штатный датчик уровня топлива? Допустим, по Вашему мнению, показания прыгают - Вам это не нравится... А почему тогда показания не прыгают у стрелки на табло? Потому что у неё время интегрирования чуть ли не 10 секунд. И даже если топливо плещется на кочках, то всё успевает сгладиться. Я уверен, что увеличение времени интегрирования до десятков секунд решит любую проблему непостоянности показаний. Добавлю ещё, что существует множество ботовых компьютеров, в которых вход измерителя топлива цепляется к штатному датчику. И всё нормально показывает. Имеется в них и калибровка. Доливаешь в бак литр - нажимаешь кнопку. И так пока весь не откалибруешь.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Nov 22 2007, 06:46
|
Группа: Новичок
Сообщений: 3
Регистрация: 19-11-07
Пользователь №: 32 453

|
Устройство очень полезное тем что нет движ. частей . У меня на двух машинах это вызывает разные неполадки. И не всегда понятно когда в пути надо дозапрвить бак а когда можно подождать и доехать до заправки с хорошим качественным бензином. Скачки показаний действительно на многих машинах убираются за счет инерционочсти показометра.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|