Вторник, 30.04.2024, 11:32
| RSS
Главная | Бортовой компьютер на 16F876A - Страница 15 - Форум
Защита, контроль, управление
Форма входа
Логин:
Пароль:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
Форум » ФОРУМ » Автоэлектроника » Бортовой компьютер на 16F876A
Бортовой компьютер на 16F876A
ОлегДата: Пятница, 23.03.2012, 23:39 | Сообщение # 141
Группа: Пользователи
Сообщений: 6
Статус: Offline
Михаил, здравствуйте.
решил собрать Ваше устройство.пока в процессе=) не подскажите схемку,чтоб прошить пик(самую простую) чтоб не заморачиваться?
У меня ВАЗ 2102. сопротивление сообщу на след неделе. не знаете от куда на класике можно взять сигнал на вход тахометра? И кстати, как у кого вообще подключено?
Заранее спасибо
 
serzhyoДата: Воскресенье, 25.03.2012, 22:49 | Сообщение # 142
Группа: Пользователи
Сообщений: 4
Статус: Offline
Михаил, здравствуйте.Собрал аппарат все работает классно но никак не пойму в MPLAB в какой строке находится константа для того чтоб изменить показания тахометра,у меня автомобиль ОКА котлов в два раза меньше ну и обороты показывает соответственно в два раза меньше.За основу брал исходник с 13 страницы форума перекомпилировал под PIC16F73 (какой был в наличии) ,перерасположил отображение информации на экране(фото),а вот с константой засада....поможите пожалуста.
Прикрепления: 5850647.jpg (137.7 Kb)
 
serzhyoДата: Понедельник, 26.03.2012, 22:41 | Сообщение # 143
Группа: Пользователи
Сообщений: 4
Статус: Offline
Михаил если я правильно понял то в этой части программы : ASM
;===========ПОДПРОГРАММА УМНОЖЕНИЯ на 58 - ДЛЯ ТАХОМЕТРА====

MULT_58

;shift accumulator left 1 times
clrc
rlf TAXO_L, f
rlf TAXO_H, f
clrf TAXO_HH
rlf TAXO_HH, f

;copy accumulator to temporary
movf TAXO_HH, w
movwf TEMP2
movf TAXO_H, w
movwf TEMP1
movf TAXO_L, w
movwf TEMP0

;shift temporary left 2 times
clrc
rlf TEMP0, f
rlf TEMP1, f
rlf TEMP2, f
rlf TEMP0, f
rlf TEMP1, f
rlf TEMP2, f

;substract temporary from accumulator
movf TEMP0, w
subwf TAXO_L, f
movf TEMP1, w
skpc
incfsz TEMP1, w
subwf TAXO_H, f
movf TEMP2, w
skpc
incfsz TEMP2, w
subwf TAXO_HH, f

;shift temporary left 3 times
clrc
rlf TEMP0, f
rlf TEMP1, f
rlf TEMP2, f
rlf TEMP0, f
rlf TEMP1, f
rlf TEMP2, f
rlf TEMP0, f
rlf TEMP1, f
rlf TEMP2, f

;add temporary to accumulator
movf TEMP0, w
addwf TAXO_L, f
movf TEMP1, w
skpnc
incfsz TEMP1, w
addwf TAXO_H, f
movf TEMP2, w
skpnc
incfsz TEMP2, w
addwf TAXO_HH, f
RETURN
нужно доавить или убрать количество циклических сдвигов f влево ,вот только не могу понять где какой множитель там где1перенос аккумулятора где 2 переноса и там где 3 переноса регистра.....помогите разобратся пожалуста как изменится множитель если добавить или убрать количество переносов.
 
randrДата: Вторник, 27.03.2012, 21:44 | Сообщение # 144
Группа: Пользователи
Сообщений: 3
Статус: Offline
serzhio,
самое простое для увеличения показаний тахометра в 2 раза - это вызвать 2 раза подпрограмму умножения на 58.

;=============
IZM_T
CALL ADC_T ;СЧИТАЛИ НОВОЕ ЗНАЧЕНИЕ ТАХОМЕТРА

CALL MULT_58
CALL MULT_58 ; ------------------- вот добавь строку !!!!!!!!!!!!!!!!!!!!

MOVF TAXO_H,0
MOVWF NumH ; СТАРШИЙ БАЙТ ТАХОМЕТРА

MOVF TAXO_L,0
MOVWF NumL ; МЛАДШИЙ БАЙТ ТАХОМЕТРА
CALL HEX2DEC
CALL IND_T
RETURN

Но, боюсь, что возрастет погрешность измерения. В Протеусе при моделировании показания тахометра прыгают.
 
serzhyoДата: Среда, 28.03.2012, 12:26 | Сообщение # 145
Группа: Пользователи
Сообщений: 4
Статус: Offline
Поигрался я с множителями точнее с rlf сдвигами добавлял убавлял сравнивая с Proteusом ,так как у меня на двухцилиндровом двигателе на каждый оборот коленвала с датчика хола приходит один импульс то при частоте 30Гц будет 1800 Об.мин из этого и исходил,в протеусе получил 1820 Об.мин ну небольшой разбег есть ну лучше чем меньше в два раза.....хотя и за эту идею спасибо попробую.
 
AdminДата: Среда, 28.03.2012, 17:19 | Сообщение # 146
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата Олег ()
не подскажите схемку,чтоб прошить пик(самую простую) чтоб не заморачиваться? У меня ВАЗ 2102. сопротивление сообщу на след неделе. не знаете от куда на класике можно взять сигнал на вход тахометра?

Самые простые - JDM-программаторы. Только вот беда, что не всегда они хорошо работают. Из таких программаторов самый оптимальный - ExtraPIC, правда, схема не самая простая.

serzhyo, я бы посоветовал Вам вместо умножения на 58 (это константа для моей машины - Mazda Premacy) вычислить необходимый Вам коэффициент и умножать на него. Есть генератор Ассемблера, который формирует необходимый код умножения, достаточно только ввести нужное число (константу). Вот ссылка - _http://www.golovchenko.org/cgi-bin/constdivmul. Если немного работали с Ассемблером, то разберётесь без проблем.
 
serzhyoДата: Четверг, 29.03.2012, 12:24 | Сообщение # 147
Группа: Пользователи
Сообщений: 4
Статус: Offline
Спасибо за ссылочку теперь все ясно и понятно как изменить константу,попробую отпишусь....
 
MapoqepДата: Вторник, 01.05.2012, 22:30 | Сообщение # 148
Группа: Пользователи
Сообщений: 2
Статус: Offline
купил не поглядевши дисплей WH1602D-YYK-CTK... подойдет на замену?

и сразу же вопрос в догонку. реально ли замутить включение обогрева зеркал зимой? датчик же уличный уже есть.
 
AdminДата: Вторник, 01.05.2012, 22:37 | Сообщение # 149
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Про индикаторы только вчера обсуждали в соседней ветке - http://lock.3dn.ru/forum/2-1-51
Уличного датчика как бы и не предусмотрено biggrin - один задействован в салоне, другой измеряет температуру двигателя. Но если один из них установить снаружи автомобиля (например, под бампером) - то почему бы и нет? Естественно, потребуется доработка программы.
 
MapoqepДата: Среда, 02.05.2012, 20:28 | Сообщение # 150
Группа: Пользователи
Сообщений: 2
Статус: Offline
Хе )) а где это я тогда перепутал. почему то казалось что датчик уличный =) а по дисплейчику почитаю. спасибо
 
Форум » ФОРУМ » Автоэлектроника » Бортовой компьютер на 16F876A
Поиск:



T2M © 2024
Сайт управляется системой uCoz