Бортовой компьютер на 16F876A
|
|
Олег | Дата: Пятница, 23.03.2012, 23:39 | Сообщение # 141 |
Группа: Пользователи
Сообщений: 6
Статус: Offline
| Михаил, здравствуйте. решил собрать Ваше устройство.пока в процессе=) не подскажите схемку,чтоб прошить пик(самую простую) чтоб не заморачиваться? У меня ВАЗ 2102. сопротивление сообщу на след неделе. не знаете от куда на класике можно взять сигнал на вход тахометра? И кстати, как у кого вообще подключено? Заранее спасибо
|
|
| |
serzhyo | Дата: Воскресенье, 25.03.2012, 22:49 | Сообщение # 142 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Михаил, здравствуйте.Собрал аппарат все работает классно но никак не пойму в MPLAB в какой строке находится константа для того чтоб изменить показания тахометра,у меня автомобиль ОКА котлов в два раза меньше ну и обороты показывает соответственно в два раза меньше.За основу брал исходник с 13 страницы форума перекомпилировал под PIC16F73 (какой был в наличии) ,перерасположил отображение информации на экране(фото),а вот с константой засада....поможите пожалуста.
|
|
| |
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 Уличного датчика как бы и не предусмотрено - один задействован в салоне, другой измеряет температуру двигателя. Но если один из них установить снаружи автомобиля (например, под бампером) - то почему бы и нет? Естественно, потребуется доработка программы.
|
|
| |
Mapoqep | Дата: Среда, 02.05.2012, 20:28 | Сообщение # 150 |
Группа: Пользователи
Сообщений: 2
Статус: Offline
| Хе )) а где это я тогда перепутал. почему то казалось что датчик уличный =) а по дисплейчику почитаю. спасибо
|
|
| |