Цифровой бакометр, спидометр и т.д.

все по электропроводке и оборудованию
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Цифровой бакометр, спидометр и т.д.

Сообщение izolyator »

хочу сделать цифровой индикатор уровня топлива. нужна помощь программиста по микроконтроллерам типа pic16f873-04. цифровой спидометр и одометр уже работают, спасибо "analarc"
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Клубная Совесть

Re: Цифровой бакометр

Сообщение Клубная Совесть »

Блин... половина слов для меня - новые.
izolyator респект!
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

вот собственно прибор
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
andrei@5
Сообщения: 284
Зарегистрирован: 01 дек 2009, 20:52
Бус: T-3 86г.1.9 DI (1Z)AHU
Откуда: Хмельницкий,Украина

Re: Цифровой бакометр

Сообщение andrei@5 »

Привет izolyator!Я тоже этим увлекаюсь,но не лучше ли будет сделать имплантацию нового щитка приборов от VW,AUDI с диз. двигателем?Как на мой взгляд это будет более информативно.Читать приборы будет легче,а затраты могут быть меньше.Что ты думаешь по этому поводу?
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

менять щиток приборов не хотел изначально, а затраты на такой прибор не велики - все детали с контроллером 500р, да и тросик у нас от колеса, а не от коробки, для другого щитка пересчет делать надо, а это может только программист. а этот прибор показывает скорость и пробег суточный и общий, переключается синей кнопкой, а красная кнопка для изменения яркости индикаторов. Сейчас делаю правую сторону- цифровой термометр, бортовой вольтметр и указатель уровня топлива, все цифровые, проблема только с уровнем топлива, старый программист не хочет больше помагать. лень. вот и ищу другого
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
olezhok
Друг клуба
Сообщения: 1004
Зарегистрирован: 22 янв 2010, 20:45
Бус: VW T3 Multivan, 82г. 2.0 ABK
Откуда: Курск
Контактная информация:

Re: Цифровой бакометр

Сообщение olezhok »

А можно подробнее- какой датчик используется, схемку бы увидеть....Бакометр можно сделать и аналоговым, например полоску светодиодов....У меня тахометр+термометр реализован следующим образом. Себестоимость 580рэ+ работа . Прибор БК-08 по моему....
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

вот схемка бортового вольтметра, на его основе и хочу бакометр, а датчик уровня родной, что в баке болтается
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
olezhok
Друг клуба
Сообщения: 1004
Зарегистрирован: 22 янв 2010, 20:45
Бус: VW T3 Multivan, 82г. 2.0 ABK
Откуда: Курск
Контактная информация:

Re: Цифровой бакометр

Сообщение olezhok »

Так такое устройство должно замерять либо падение напряжения на реостате либо его сопротивление.В чистом виде не пойдет.....
Изображение
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

это естественно, я солью соляру и буду заливая по 2 л. записывать показания датчика, потом рассчитаю таблицу напряжение-литры, а контроллеру надо только сравнивать входное напряжение с кодами в памяти и выводить инфу на 2х разрядный индикатор
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

вот вольтметр:
:020000040000FA
:100000008312031385018601870183160230850060
:100010000030860000308700C330810004309F002C
:10002000831249309F008B01A501A601A701A00101
:10003000A9013F2081010B11FF30A3000B1D1E28D9
:100040001F154F20A90B25285C200B111E280F39E6
:1000500082078234DE34433446341E34263422345C
:10006000CE34023406340A343234A33452342334C6
:100070002B3403398207803440341034203425086F
:100080002720A5080319FF30A10026082720A20079
:10009000A21027082720A300F230A400080087013F
:1000A000A00A2019A0012130200784000008860042
:1000B00020083920870008001F195C281E08A800A6
:1000C00069200800280E2720A10028082720A20068
:1000D0000800A501A601A7012530840005307E2077
:1000E0001E08A8002508A802A50164307E20840A05
:1000F0000A307E202808A7003F200800A802031C21
:0A0100008328800A7E28A807080063
:02400E00713F00
:00000001FF

но он на 4 разряда, а надо только 2 разряда, я переделаю схему вольтметра в бакометр и выложу
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

вот схема бакометра, а таблицу напряжение-литры, сделаю завтра, там обратная зависимость: 1,37v-60л, 3,75- пусто
вот спидо-одо, теперь начну разводить плату под термо+вольт+бакометр
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось izolyator 25 апр 2011, 07:26, всего редактировалось 1 раз.
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

;* Автовольтметр на PIC 16F873 *
;****************************************
;=====================================================================================

list p=16F873
#include
__config _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF

; Кварц 4 МГц


; Программная коррекция хода на +150 сек в сутки

; Переменные
; Номер активного анода
INDNO equ 0x20

; Буфер дисплея, разряды хранятся в виде комбинаций сегментов
IND01 equ 0x21 ; десятки вольт
IND02 equ 0x22 ; единицы вольт
IND03 equ 0x23 ; десятые вольт
IND04 equ 0x24 ; буква U

; Цифры для вывода - разряды 10, 1, 0.1
dVolt equ 0x25
eVolt equ 0x26
cVolt equ 0x27
VOLTS equ 0x28
DELAY equ 0x29

; Программа

bcf STATUS, RP0 ; Банк 0
bcf STATUS, RP1
clrf PORTA
clrf PORTB
clrf PORTC

bsf STATUS, RP0 ; банк 1

movlw b'00000010'
movwf TRISA ; AN1 на ввод, остальные на вывод
movlw b'00000000'
movwf TRISB ; RB - вывод
movlw b'00000000'
movwf TRISC ; RC - вывод

; будем использовать
; TMR0 - для динамической индикации

; выключаем подтягивающие резисторы (не нужны)
; устанавливаем TMR0 на внутренний такт с предделителем 16 (4 мс на цифру, 16 мс на все = 62Гц)
movlw b'11000011' ; 256 * 1 мкс * 16 = 4,096 мс
movwf OPTION_REG

; Конфигурируем АЦП
; Старшие биты преобразования в регистр ADRESH (левое выравнивание)
; | 3 бита не используются
; | | конфигурация ножек 0,1 и 3 - аналоговые, 2 и 4-7 цифровые
; | | |
; |---====
movlw b'00000100'
movwf ADCON1

bcf STATUS,RP0 ; банк 0

; продолжаем с АЦП
; от 1,25 до 5 МГц рекомендуется Fosc/8
; | номер канала для аналогового преобразования AN1 (3 нога)
; | | Бит запуска/завершения (при установке конфигупации=0)
; | | |не используется
; | | ||включить питание модуля АЦП
; --===|||
movlw b'01001001'
movwf ADCON0

clrf INTCON ;

; инициализируем переменные:
clrf dVolt
clrf eVolt
clrf cVolt
clrf INDNO
clrf DELAY

call FILL_VB ; заполнение видеобуфера 7-сегментными кодами

clrf TMR0
bcf INTCON,T0IF

; для отладки +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
movlw b'11111111'
movwf IND03

MAIN_LOOP
; проверить таймер 0 для динамической индикации
btfss INTCON,T0IF ; если таймер закончил отсчет, то идем менять разряд
goto MAIN_LOOP ; иначе повторяем проверки в цикле

; все, что ниже, выполняется 1 раз в 4 мс (на 4МГц)
bsf ADCON0,2 ; запуск измерения (пока измеряет, займемся индикацией)
call ChAnod ; переключение разрядов индикатора
decfsz DELAY,f
goto BypassOut
call GetVolts ; вызов процедуры измерения 1 раз в секунду
BypassOut
bcf INTCON,T0IF ; обнулить таймер 0
goto MAIN_LOOP


; перекодировка цифры в код 7-сегментного индикатора
SEG7 ; в счетчиках не само значение, а (10-значение)
andlw 0x0F ; на всякий случай
addwf PCL,f
; gfbadepc ноль в бите зажигает сегмент
retlw b'10000010' ; 0
retlw b'11011110' ; 1
retlw b'01000011' ; 2
retlw b'01000110' ; 3
retlw b'00011110' ; 4
retlw b'00100110' ; 5
retlw b'00100010' ; 6
retlw b'11001110' ; 7
retlw b'00000010' ; 8
retlw b'00000110' ; 9
retlw b'00001010' ; 10 A
retlw b'00110010' ; 11 b
retlw b'10100011' ; 12 C
retlw b'01010010' ; 13 d
retlw b'00100011' ; 14 E
retlw b'00101011' ; 15 F

; вычисление бита включения разряда по номеру активного анода
ACOD
andlw 0x03 ;на всякий случай
addwf PCL,f
; 1243 единица в бите зажигает разряд
retlw b'10000000' ; 0
retlw b'01000000' ; 1
retlw b'00010000' ; 2
retlw b'00100000' ; 3

FILL_VB ; заполнить видеобуфер
movfw dVolt
call SEG7
movf dVolt,f
btfsc STATUS,Z
movlw b'11111111'
movwf IND01
movfw eVolt
call SEG7
movwf IND02
bcf IND02,1 ; десятичная точка
movfw cVolt
call SEG7
movwf IND03
movlw b'11110010' ; сенменты c-d-e
movwf IND04
return


ChAnod
;обслуживание индикации
;(каждый раз после отсчета таймером полного цикла 4 мс х 4 разряда = 62 Гц)
clrf PORTC ; выключили разряд

incf INDNO,f
btfsc INDNO,2
clrf INDNO ; INDNO = цикл( 1,2,3,0 )

movlw IND01
addwf INDNO,w
movwf FSR
movfw INDF
movwf PORTB ; IND01[INDNO] -> PORTB

movfw INDNO
call ACOD
movwf PORTC ; включили следующий разряд

return

GetVolts
; ожидание завершения измерения
btfsc ADCON0,2
goto GetVolts
; извлечение результата измерения
movfw ADRESH
movwf VOLTS

; addwf VOLTS,f
; rrf VOLTS,f

call DisplayDEC
return

DisplayHEX
; преобразование в шестнадцатиричный код
swapf VOLTS,w
call SEG7
movwf IND01
movfw VOLTS
call SEG7
movwf IND02
return

DisplayDEC

clrf dVolt
clrf eVolt
clrf cVolt

movlw dVolt
movwf FSR

movlw 5
call GetDecDig ; в dVolt теперь ЦЕЛОЕ(VOLTS/5)
; в VOLTS остаток от деления на 5
movfw ADRESH
movwf VOLTS ; восстановим VOLTS
movfw dVolt
subwf VOLTS,f ; VOLTS = VOLTS - 1/5*VOLTS = 4/5 * VOLTS = 0,8 VOLTS
clrf dVolt

movlw d'100'
call GetDecDig

incf FSR,f
movlw d'010'
call GetDecDig

movfw VOLTS
movwf cVolt

call FILL_VB
return

GetDecDig ; эта подпрограмма на самом деле не дает десятичную цифру,
subwf VOLTS,f ; а делит VOLTS нацело на число из REGW
btfss STATUS,C ; частное записывает в INDF
goto LT_DIG ; в VOLTS остается остаток
GE_DIG ; INDF перед обращением нужно занулить
incf INDF,f
goto GetDecDig
LT_DIG
addwf VOLTS,f
return

end ;конец программы
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
zacora
Сообщения: 161
Зарегистрирован: 25 фев 2010, 20:07
Бус: а6, т2а, т3 DG-AT, т5, меч1800
Откуда: Электросталь
Контактная информация:

Re: Цифровой бакометр

Сообщение zacora »

шансы есть, я бы сделал таблицу с точностью 1 литр и накопление результата измерения напряжения, чтобы цыфры не прыгали. и еще эту таблицу с возможностью корректировки, чтобы можно было на любой датчик этот бакометр повесить и любой объем бака. вижу это где-то так. кстати, может поцивильнее индикатор примастырить? к-либо графичесикй?
t/ 9о9 I69 oO Oo
Аватара пользователя
olezhok
Друг клуба
Сообщения: 1004
Зарегистрирован: 22 янв 2010, 20:45
Бус: VW T3 Multivan, 82г. 2.0 ABK
Откуда: Курск
Контактная информация:

Re: Цифровой бакометр

Сообщение olezhok »

накопление результата и корректировка результата это очень хорошо.Индикатор то можно поцивильнее, но он будет выделяться на фоне семисегментных индикаторов.Дождемся Изолятора, что он скажет.
Изображение
Аватара пользователя
zacora
Сообщения: 161
Зарегистрирован: 25 фев 2010, 20:07
Бус: а6, т2а, т3 DG-AT, т5, меч1800
Откуда: Электросталь
Контактная информация:

Re: Цифровой бакометр

Сообщение zacora »

как в оригинале датчик включается по схеме?
t/ 9о9 I69 oO Oo
Аватара пользователя
olezhok
Друг клуба
Сообщения: 1004
Зарегистрирован: 22 янв 2010, 20:45
Бус: VW T3 Multivan, 82г. 2.0 ABK
Откуда: Курск
Контактная информация:

Re: Цифровой бакометр

Сообщение olezhok »

Выложил скан кусочка схемы. Это для дизельных двигателей.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

сегодня солью всю солярку из бака и буду наливать по 1 л. если датчик будет видеть разницу в 1л. то здорово, тогда можно сделать прибор с такой точностью, а семисегментный индикатор меня вполне устраивает, т.к. есть большой выбор по размерам и цвету. а выводить на панель ЖК, много информации в одном месте, да и мелко все. люблю красненькие огоньки...а датчик -одна нога на землю, другая через прибор на +10 стабилизированное. дело в том, что у датчика на нашем баке очень нелинейная характеристика. ну если сделать возможность программировать из салона машины нажатием кнопок... это слишком. Таких машин как у меня много и сделанная и отлаженная система потом пригодится всем бусоводам
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
zacora
Сообщения: 161
Зарегистрирован: 25 фев 2010, 20:07
Бус: а6, т2а, т3 DG-AT, т5, меч1800
Откуда: Электросталь
Контактная информация:

Re: Цифровой бакометр

Сообщение zacora »

померяй сопротивление датчика в крайних положениях
t/ 9о9 I69 oO Oo
Аватара пользователя
izolyator
Друг клуба
Сообщения: 1662
Зарегистрирован: 29 июл 2009, 10:14
Бус: Т3 1,7 D снова дизель
Откуда: Санкт-Петербург

Re: Цифровой бакометр

Сообщение izolyator »

датчик включается одним концом на землю другим через стрелочный прибор на +10 стаб.
вот таблица после вчерашних заливаний по литру в бак соотв. литры, омы, вольты, после 55 литров показания не меняются, видимо поплавок упирается в бак
1 196 3,31
2 182 3,23
3 173 3,17
4 167 3,13
5 160 3,08
6 153 3,02
7 142 2,93
8 140,7 2,92
9 133,7 2,86
10 126,7 2,79
11 122,7 2,75
12 117,5 2,7
13 108,5 2,6
14 106 2,57
15 103,6 2,54
16 101,6 2,52
17 99,8 2,5
18 96,3 2,45
19 95,8 2,45
20 93,3 2,41
21 91,8 2,39
22 90,1 2,37
23 87,1 2,33
24 85,6 2,31
25 84,3 2,29
26 81,3 2,24
27 79,6 2,22
28 78,4 2,2
29 76,6 2,17
30 75,3 2,15
31 74 2,13
32 72,2 2,1
33 70,2 2,06
34 68,3 2,03
35 66,7 2
36 65 1,97
37 63,4 1,94
38 62 1,91
39 60,5 1,88
40 58,9 1,85
41 57,6 1,83
42 57 1,82
43 56,4 1,8
44 55 1,77
45 53,6 1,74
46 50,9 1,69
47 49,6 1,66
48 48,4 1,63
49 47,1 1,6
50 44,5 1,54
51 43,5 1,52
52 42,2 1,48
53 40,8 1,45
54 39,6 1,42
55 37,7 1,37
Андрей, 9516615904, а "Изолятор", так завод называется где я работаю
Аватара пользователя
vfrc
Сообщения: 1610
Зарегистрирован: 13 май 2009, 11:04
Бус: Т3, 1985г., 5МКПП, 2.0Е.
Откуда: Беларусь. г.Гомель

Re: Цифровой бакометр

Сообщение vfrc »

Дык а бенз же будет плёскаться и показания будут очень быстро меняться, циферки будут бегать быстро - фик увидишь
Боксера спрашивают:
А зачем вам голова?
Боксер: для адекватной оценки окружающей среды!
Журналист в а*уе
Боксер грустно: да шучу, ем я туда...
Ответить