Страница 1 из 2
МК ATmega8 и поворотники
Добавлено: Чт дек 03, 2009 15:15:27
Fess
Ребят, хочу поставить в машину дополнительные поворотники с разными эффектами, из линейки светодиодов. Один провод от МК будет подведен к лампочке в штатном поворотнике. И теперь нужно сделать так, что бы МК выполнял световые эффекты, только тогда когда мигает поворотник, а в другое время оставался просто включенным, только с не горящими светодиодами.
Как реализовать схему со включением светодиодов, именно в момент моргания поворотника? Только можно, простым доступным языком. Я только учусь...
Добавлено: Чт дек 03, 2009 15:43:44
GP1
для начала посмотрите, нет изучите, ГОСТ на внешние световые приборы авто.

Достали умельцы с ксеноном в обычной оптике, и мигающие стопаки в пробке

Добавлено: Чт дек 03, 2009 15:52:43
Fess
В части ксенона - я тоже против, слепит. Мигающие стопари - это вообще бред, вводит в заблуждение, когда едешь по соседнему ряду, думаешь что хотят перестроиться.
Но я не кому НЕ МЕШАЮ и НЕ ВВОЖУ В ЗАБЛУЖДЕНИЕ!
Добавлено: Чт дек 03, 2009 15:54:32
GP1
смотри ГОСТ!
Добавлено: Чт дек 03, 2009 17:07:19
Fess
Оставьте, пожалуйста, гост в покое. Здесь не юридический форум.
Может ли кто-нибудь, что-нибудь посоветовать ПО ТЕМЕ?
Добавлено: Чт дек 03, 2009 18:33:47
kalobyte
врят ли кто-то будет идиотизм плодить
Добавлено: Пт дек 04, 2009 17:32:50
>TEHb<
Так реч ведь идёт о дополнительных поворотниках, а не о замене штатных. Только проблему не совсем понял. Интересует определение включен\выключен поворотник, а проблема в том, что когда он работает, то поворотник (непосредственно лимпочка) в некоторые моменты не горит, микруха может подумать, что он выключен? Ели так, но надо подключатся до штатной поворониковской мигалки и все дела. Но мне кажется, многие эффекты будут сильно отвлекать.
Добавлено: Пт дек 04, 2009 20:01:47
Saadov
Для начала надо было воспользоваться поиском и посмотреть тут
http://radiokot.ru/circuit/light/run/
Добавлено: Пт дек 25, 2009 04:21:22
Fess
Ребят, бегущие огни это понятно. Я уже давно собрал себе 4 эффекта на 555 и CD4017. Но во первых занимает много места, а во вторых хочется более углубленно разобраться в работе МК.
>TEHb< писал(а): Интересует определение включен\выключен поворотник, а проблема в том, что когда он работает, то поворотник (непосредственно лимпочка) в некоторые моменты не горит, микруха может подумать, что он выключен?
Нет я хочу сказать, что работа повторителя поворотов должна происходить синхронно с морганием лампочкой в штатном поворотнике. При этом каждый следующий запуск повторителей происходит на том же эффекте, на который его настроили в предыдущий раз.
Добавлено: Пт дек 25, 2009 15:01:55
TechMike
>TEHb< писал(а): Интересует определение включен\выключен поворотник, а проблема в том, что когда он работает, то поворотник (непосредственно лимпочка) в некоторые моменты не горит, микруха может подумать, что он выключен?
Нет я хочу сказать, что работа повторителя поворотов должна происходить синхронно с морганием лампочкой в штатном поворотнике. При этом каждый следующий запуск повторителей происходит на том же эффекте, на который его настроили в предыдущий раз.[/quote]
Чтобы определить работают ли поворотники, нужно настроить таймер в МК на например 3 секунды, и если в течении задержи таймера на ножку МК приходит лог1 от поворотников, то они работают, если не приходят, то не работают. При этом будет погрешность по времени определения работы поворотников, равное задержки тацмера.
Добавлено: Пт дек 25, 2009 17:43:28
>TEHb<
И всё равно не вижу проблемы. Замыкается выключатель поворотника, что регистрируется МК. Тут он либо включается, либо выходит из спящего, как хотите. Когда лампочка загорается, то запускается новый цикл мигания микроконтроллером и специальный флаг устанавливается в 1, чтобы новый цикл не запускался на каджом такте. Мигаем, а вместе с этим ждём 0 на входе (лампочка не горит). Продолжает мигать, сбросив флаг. Как только загорелась проверяем флаг. Если 0, то перезапускаем цикл и кстанавливаем его в 1. Так и продолжаем до тех пор, пока не выключили поворотник, тогда простовыключам мигалку и засыпаем. Можно проще, например по переднему фронту на ножке INT0.
Добавлено: Пт дек 25, 2009 20:29:37
SeamaNCOS
По прерыванию int0(int1). Пошол сигнал с поворотника сработала прога на индикацию светадиов(читай датыш). А вообще я тоже противник делать из МШИНЫ "НОВОГОДНЮЮ ЁЛКУ".
Добавлено: Пт дек 25, 2009 20:52:26
>TEHb<
SeamaNCOS писал(а):По прерыванию int0(int1). Пошол сигнал с поворотника сработала прога на индикацию светадиов(читай датыш). А вообще я тоже противник делать из МШИНЫ "НОВОГОДНЮЮ ЁЛКУ".
>TEHb< писал(а):......Можно проще, например по переднему фронту на ножке INT0.
Тут уж кому что ближе. Хотя иногда дополнительная индикация действительно удобна. Вспомните хотябы те же поворотники на крыле.
Добавлено: Пт дек 25, 2009 21:16:35
Neekeetos
Fess писал(а):Нет я хочу сказать, что работа повторителя поворотов должна происходить синхронно с морганием лампочкой в штатном поворотнике. При этом каждый следующий запуск повторителей происходит на том же эффекте, на который его настроили в предыдущий раз.
Если ничего не изобретать с прерываниями то просто подай питание на свой хитрый стробоскоп с реле поворотников, тогда он будет работать исключительно в моменты когда поворотники горят.
Добавлено: Вт дек 29, 2009 05:07:09
Fess
Попробую объяснить:
Есть 5 эффектов. Питание на МК будет подаваться от лампочки штатного поворотника. Я хочу, что бы перед выключением питания МК запоминал, на какой эффект был настроен ранее.
То есть что надо прописать в программе (ассемблер) что бы МК запоминал эффект и в следующее включение начинал с него же!
Вот есть:
http://radiokot.ru/circuit/light/run/26/ после первой картинки третий обзац, слова "Контроллер запоминает последний выбранный вручную кнопкой "next"" и далее! Вот что мне нужно!
Как это реализовать программно?
Добавлено: Вт дек 29, 2009 08:38:17
pyzhman
//здесь восстанавливается номер эффекта
EEAR=0x1FF;
EECR|=(1<<EERE);
numbereffect=EEDR;
//а здесь сохраняется номер эффекта.
while(EECR&(1<<EEWE)); //Ждать готовность EEPROM
EEAR=0x1FF;
EEDR=numbereffect;
EECR|=(1<<EEMWE);
EECR|=(1<<EEWE); //Сохраним текущий эффект в EEPROM
Добавлено: Вт дек 29, 2009 11:59:49
Fess
pyzh_man писал(а)://а здесь сохраняется номер эффекта.
while(EECR&(1<<EEWE)); //Ждать готовность EEPROM
EEAR=0x1FF;
EEDR=numbereffect;
EECR|=(1<<EEMWE);
EECR|=(1<<EEWE); //Сохраним текущий эффект в EEPROM
Так это на С. А как это сделать на ассемблере? Только, желательно, с пояснениями.
Добавлено: Вт дек 29, 2009 13:18:29
pyzhman
;здесь восстанавливается номер эффекта
lab2:
sbic 0x1C,1 ;ожидаем конца записи(если таковая идет)
rjmp lab2
LDI R30,0xFF ;загружаем младший байт адреса EEPROM
LDI R31,0x01 ;загружаем старший байт адреса EEPROM
OUT 0x1F,R31 ;выводим в соответствующие порты
OUT 0x1E,R30
SBI 0x1C,0 ;вэводим флаг чтения
IN numbereffect,29 ;и читаем
;**********************
;а здесь сохраняется номер эффекта.
lab1:
SBIC 0x1C,1 ;ожидаем конца записи(если таковая идет)
RJMP lab1
LDI R30,0xFF ;загружаем младший байт адреса EEPROM
LDI R31,0x01 ;загружаем старший байт адреса EEPROM
OUT 0x1F,R31 ;выводим в соответствующие порты
OUT 0x1E,R30
OUT 0x1D,numbereffect ;выводим данные
SBI 0x1C,2 ;пишем
SBI 0x1C,1
Все это толково описано в datasheet.
Добавлено: Вт дек 29, 2009 18:18:34
Fess
pyzh_man писал(а):Все это толково описано в datasheet.
Мне кажется или я когда-то видел даташит на АТмегу 8 на русском? Случаем ни у кого нет ссылочки? а то яндекс на такой запрос ни бум бум...
Добавлено: Вт дек 29, 2009 19:01:16
>TEHb<
Fess писал(а):Питание на МК будет подаваться от лампочки штатного поворотника.
Прошу вас, не надо! Есть же различные спящие режимы, есть прерывания, есть куча других способов не выключать его! Вы же комп не включаете каждые 7 минут чтобы посмотреть на ответы на форуме.
Ох, чувствую сейчас война по поводу пользы включений начнётся.