Индикатор передач АКПП |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Индикатор передач АКПП |
7.3.2012, 11:37
Сообщение
#101
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
В продолжении темы о переделке приборки и запоздавшая реализация того, о чем писал еще пару лет назад (IMG:style_emoticons/default/smile.gif)
Индикатор положения селектора АКПП. Как уже говорилось, приборки бывают разные, для МТ, для АТ с отдельными индикаторами и для АТ с ЖК индикатором. При замене приборки - по разным причинам - естественно надо найти точно с такой функциональностью как на старой. С подобной проблемой столкнулся и я во время замены своей приборки. В конце концов вопрос решился частично, машина дергаться перестала, но ручные режимы не индицируются. Описываемый блочок и предназначен для восстановления полной функциональности и даже больше - позволит установить МТ приборку на машину с АТ (IMG:style_emoticons/default/wink.gif) Схема девайса, естественно на МК (IMG:style_emoticons/default/tongue.gif) Режимы индицируются на 7-сегментном светодиодном индикаторе, который можно установить в любое удобное место. Я лично буду ставить на место ЖК экранчика. Входные сигналы подаются через делители-согласователи на входы порта А контроллера. На схеме показан только один делитель, конкретное число - до 8-и зависит от потребностей/желаний. Приведу пример, на моей приборке уже есть индикаторы P, D, R, N и дублировать их (кроме Р) я не хочу. Плюс надо чтобы высвечивались L, 2 и 3. Поэтому входных сигналов, и соответственно делителей, у меня будет 4. Остальная функциональность обеспечивается программой. Для моего случая исходник такой: Код '*********************** '* Name : AT.BAS * '* Author : SSh * '*********************** @ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT DEFINE OSC 4 ' Freq. 4 MHz ' ***** Variables ***** state VAR BYTE ' AT selector state TRISA = $FF TRISB = $00 VRCON = 0 CMCON = 7 ' *************************************** ' ********** Main program loop ********** ' *************************************** main: state = PORTA SELECT STATE CASE ' AT selector position CASE %00000001 ' L PORTB = $C7 CASE %00000010 ' 2 PORTB = $A4 CASE %00000100 ' 3 PORTB = $B0 CASE %00001000 ' P PORTB = $8C CASE ELSE ' All other positions PORTB = $FF ' Show none END SELECT GOTO main ' Loop END ' ***** End of Program ***** Распознавание входных сигналов производится в цикле SELECT CASE. Все очень просто. На RA0 идет сигнал с L, RА1 - 2, RA2 - 3, RA3 - P. В зависимости от входного сигнала на выходе формируется соотв. символ, напр., если входной сигнал 00000001 (L), то на выходе (PORTB) имеем С7 в шестнадцатиричном коде, т.е. 11000111 в двоичном. Т.к. мой индикатор - с общим анодом, то для "зажигания" нужных сегментов индикатора на них надо подать "0", что собственно и видно из кода - "0"подается на сегменты d, e, f что в итоге дает симввол "L". Для индикаторов с общим катодом надо просто проинвертировать код, в нашем примере будет 00111000. P.S. Пишу подробно для того, чтоб все желающие могли-бы переделать код "под себя" (IMG:style_emoticons/default/smile.gif) Исходник - как и для большинства девайсов - в PicBasic Pro. Сейчас допишу для всех режимов - покажу на видео как это будет выглядеть (IMG:style_emoticons/default/smile.gif) |
|
|
4.9.2018, 22:16
Сообщение
#102
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 27 Регистрация: 9.6.2011 Из: Борисоглебск, VRN Вне форума Авто: Lancer Cedia MX-E 4G15 (4WD) CVT Репутация: 0 |
Спасибо, SSh, буду пробовать=)
Да, нужны аналоговые входы, поэтому я и пытаюсь отключить АЦП. Возможно где-то косяк ещё и в схемотехнике, т.к. я "тупо" подаю питание +5В на вход проводочком=))) На данный момент аналоговые входы так и не заработали, кроме RA4. Если делать их цифровыми, то они срабатывают от прикосновения пальца или стайлуса от планшета=)))) Но работают как надо! PS: ещё я заметил, что microBasic тяжело переваривает hex и bin числа в одной программе... |
|
|
5.9.2018, 5:24
Сообщение
#103
|
|
Технический Маньяк-Гуру Группа: Администраторы Сообщений: 7044 Регистрация: 3.6.2009 Из: Армения Вне форума Авто: Lancer IX, AT Репутация: 263 |
Да, нужны аналоговые входы, поэтому я и пытаюсь отключить АЦП. А как при отключенном АЦП вход может работать в качестве аналогового? (IMG:style_emoticons/default/blink.gif) На данный момент аналоговые входы так и не заработали, кроме RA4. RA4 не может быть аналоговым, только RA0, 1, 2, 3 и 5, см. таблицу 1.1 в даташите. RA4, согласно этой таблице, помимо своей основной функции (I/O) может служить также в качестве тактирующего входа, но никак не аналоговым. Кстати, этот порт при работе на выход имеет открытый исток, поэтому в некоторых случаях для корректной работы его надо притягивать к плюсу питания через резистор. |
|
|
6.9.2018, 21:30
Сообщение
#104
|
|
Начинающий Технический Маньяк Группа: Технический Маньяк Сообщений: 27 Регистрация: 9.6.2011 Из: Борисоглебск, VRN Вне форума Авто: Lancer Cedia MX-E 4G15 (4WD) CVT Репутация: 0 |
Да, нужны аналоговые входы, поэтому я и пытаюсь отключить АЦП. А как при отключенном АЦП вход может работать в качестве аналогового? (IMG:style_emoticons/default/blink.gif) На данный момент аналоговые входы так и не заработали, кроме RA4. RA4 не может быть аналоговым, только RA0, 1, 2, 3 и 5, см. таблицу 1.1 в даташите. RA4, согласно этой таблице, помимо своей основной функции (I/O) может служить также в качестве тактирующего входа, но никак не аналоговым. Кстати, этот порт при работе на выход имеет открытый исток, поэтому в некоторых случаях для корректной работы его надо притягивать к плюсу питания через резистор. Нуу... я думал, что отключив АЦП, входы будут только аналоговые, а цифровое преобразование выполняться не будет (IMG:style_emoticons/default/biggrin.gif) Почитав внимательнее английскую документацию, я понял свои ошибки: 1. АЦП отключать не нужно. 2. Входов только 4. На данный момент, после моих экспериментов, 1 контроллер пал смертью храбрых. (IMG:style_emoticons/default/rolleyes.gif) Второй заработал, но два входя в "подпалил". Поэтому у меня отображаются режимы P,N,D,L Конфигурация регистров такая: ADCON0 = %10000001 ADCON1 = %00000111 Единственное, что мучает, так это близость AN4 к выводам осциллятора. Из-за этого дольше горит индикация L, т.к. идут наводки на кварц?! |
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|