Страница 3 из 9
Re: Цифровой одометр на Atmega8
Добавлено: Сб фев 12, 2011 20:29:58
suman13
Попробуй установить в цепь каждого из сегментов токоограничительный резистор. Это избавит от засветки.
Re: Цифровой одометр на Atmega8
Добавлено: Сб фев 12, 2011 21:14:33
yur4ik
suman13 писал(а):Попробуй установить в цепь каждого из сегментов токоограничительный резистор. Это избавит от засветки.
поставил транзистор пнп эмитер на анод индикатора на колектор +12, повесил резисторы в сегменты-не помогло
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 00:27:20
s64
yur4ik писал(а):suman13 писал(а):Попробуй установить в цепь каждого из сегментов токоограничительный резистор. Это избавит от засветки.
поставил транзистор пнп эмитер на анод индикатора на колектор +12, повесил резисторы в сегменты-не помогло
эмиттер на +12, коллектор на анод индикатора.
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 07:55:37
yur4ik
s64 писал(а):yur4ik писал(а):
поставил транзистор пнп эмитер на анод индикатора на колектор +12, повесил резисторы в сегменты-не помогло
эмиттер на +12, коллектор на анод индикатора.
тоже не помогло все время 0 и 8 горит
похоже лучше всего будет на железе отлаживать
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 09:57:46
yur4ik
кстати заметил такую хрень в проутосе пока нету резисторов в сегментах то ошибки нету в проутосе а как их только установлю то на 0,631 дальше не помню скоко секунд у проца выходит ошибка и загрузка проца 90-100%
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 11:50:56
s64
в железе - сгорит МК.
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 12:12:57
yur4ik
s64 писал(а):в железе - сгорит МК.
блин

Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 13:48:13
Fasterpast
Ну дык работай в протеусе без них, а в железе добавь. Протеус - это такая штука, что надо знать все его ограничения относительно реального мира, и моделировать там схему с поправкой на них.
Сделать так, чтобы более ни менее сложная схема на 100% переносилась с протеуса на железо без изменений - практически невозможно.
Ну а сам протеус собственно никогда не позиционировался как программа для начинающих )
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 15:11:04
yur4ik
Fasterpast писал(а):Ну дык работай в протеусе без них, а в железе добавь. Протеус - это такая штука, что надо знать все его ограничения относительно реального мира, и моделировать там схему с поправкой на них.
Сделать так, чтобы более ни менее сложная схема на 100% переносилась с протеуса на железо без изменений - практически невозможно.
Ну а сам протеус собственно никогда не позиционировался как программа для начинающих )
ну если это так, то тогда все готово.

тогда на днях куплю мк и индикатор и буду собирать в железе
- исходник.rar
- исходник одометра на cvavr
- (38.38 КБ) 221 скачивание
- прошивка.rar
- прошивка одометра для общего анода
- (1.36 КБ) 220 скачиваний
- Модель в proteuse.rar
- модель в проутосе там нужно будет указать только путь к прошивке
- (19.5 КБ) 217 скачиваний
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 17:13:50
s64
а можно объяснить сакральный смысл VT1, который должен выжечь стабилизатор или сгореть сам?
if (PIND.7==0)
{
data1=dat1;
data2=dat2;
data3=dat3;
data4=dat4;
dataa1=dataaa1;
dataa2=dataaa2;
dataa3=dataaa3;
dataa4=dataaa4;
dataa5=dataaa5;
dataa6=dataaa6;
dataa7=dataaa7;
}
Условие в данной схеме будет выполняться всегда, во всяком случае пока не сгорит стабилизатор.
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 17:51:02
yur4ik
s64 писал(а):а можно объяснить сакральный смысл VT1, который должен выжечь стабилизатор или сгореть сам?
if (PIND.7==0)
{
data1=dat1;
data2=dat2;
data3=dat3;
data4=dat4;
dataa1=dataaa1;
dataa2=dataaa2;
dataa3=dataaa3;
dataa4=dataaa4;
dataa5=dataaa5;
dataa6=dataaa6;
dataa7=dataaa7;
}
Условие в данной схеме будет выполняться всегда, во всяком случае пока не сгорит стабилизатор.
почему же оно будет выполнятся всегда? оно не будет выполнятся всегда. В присутствии плюс +5В на ножке будет лог 1 а как только пропадет то программа запишет в еепром данные суточника и общего пробега. а нужен он для того чтобы если пропадет контакт на аккумуляторе чтобы прога записала данные. я только не нарисовал резистор в базу(исправил уже).
после стабилизатора я хотел воткнуть большой электролит в случае если пропадет питание то экран отключится сразу(т.к он будет питаться от 12В), а вот мк хватит того что будет в кондере чтобы записать данные в память
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 18:17:53
s64
вас случайно не индусы учили схемы рисовать?

VT1 нужно перевернуть - эмиттер на +5v, между эмиттером и базой резистор, что бы VT1 открылся и пропускал напряжение на PD7, резистор R2 лишний. данные будут перезаписываться неизвестное количество раз, пока не сядет напряжение.
после стабилизатора я хотел воткнуть большой электролит в случае если пропадет питание то экран отключится сразу(т.к он будет питаться от 12В), а вот мк хватит того что будет в кондере чтобы записать данные в память
а как МК узнает, что напряжение пропало и пора записывать данные?
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 18:38:07
yur4ik
s64 писал(а):вас случайно не индусы учили схемы рисовать?

VT1 нужно перевернуть - эмиттер на +5v, между эмиттером и базой резистор, что бы VT1 открылся и пропускал напряжение на PD7, резистор R2 лишний. данные будут перезаписываться неизвестное количество раз, пока не сядет напряжение.
после стабилизатора я хотел воткнуть большой электролит в случае если пропадет питание то экран отключится сразу(т.к он будет питаться от 12В), а вот мк хватит того что будет в кондере чтобы записать данные в память
а как МК узнает, что напряжение пропало и пора записывать данные?

сори чет я тупанул

ща все исправлю

ну когда пропадет контакт, блин я не знаю как объяснить

Наверно зря я начал с землей, лучше наверно чтобы на базу транзистора приходило +12В.
s64 а если поставить нпн транзистор и базу его повесить на +12В эмиттер на общую шину, коллектор на PD7 между коллектором и базой резистор воткнуть так можно?а то у меня что то уже голова совсем не работает

Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 19:45:43
s64
я бы сделал так. Транзистор IRLML2402.
......
PORTD |= (1<<PD7);// подтяжка к Vcc
DDRD |= (1<<5)|(1<<4)|(1<<1)|(1<<0);
if (PIND.7 != 0)
{
.....
}
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 19:46:03
yur4ik
Если пропадает +12В то на ножку PD7 придет лог 0, программа запишет данные в память
Если пропадет общий и если я не ошибаюсь то получится тоже самое на ножку придет лог 0
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 19:48:33
yur4ik
s64 писал(а):я бы сделал так. Транзистор IRLML2402.
if (PIND.7 != 0)
{
.....
}
а что означает воск знак в данной записи (PIND.7
!= 0)?
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 19:53:56
s64

учите мат. часть. if (PIND.7 != 0) - если не равен нулю.
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 20:01:40
s64
yur4ik писал(а):Если пропадает +12В то на ножку PD7 придет лог 0, программа запишет данные в память
Если пропадет общий и если я не ошибаюсь то получится тоже самое на ножку придет лог 0
на самом деле будет немного не так. Если пропадет +12В, то на PD7 будет логическая 1 и начнется запись в EEPROM. Причем этот процесс будет длиться, пока не сядет напряжение до уровня , установленного fuse BODLEVEL, а если он не установлен, то пока сможет

. Программу необходимо дописать, чтобы сохранение данных происходило 1 раз, иначе ресурс EEPROM очень быстро закончится.
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 20:03:47
yur4ik
s64 писал(а):
учите мат. часть. if (PIND.7 != 0) - если не равен нулю.
ооо ща посмотрел учебник и правда отрицание, странно, а когда читал я его не заметил, выходит читал не внимательно
а вот так можно сделать?
Re: Цифровой одометр на Atmega8
Добавлено: Вс фев 13, 2011 20:05:14
yur4ik
s64 писал(а):yur4ik писал(а):Если пропадает +12В то на ножку PD7 придет лог 0, программа запишет данные в память
Если пропадет общий и если я не ошибаюсь то получится тоже самое на ножку придет лог 0
на самом деле будет немного не так. Если пропадет +12В, то на PD7 будет логическая 1 и начнется запись в EEPROM. Причем этот процесс будет длиться, пока не сядет напряжение до уровня , установленного fuse BODLEVEL, а если он не установлен, то пока сможет

. Программу необходимо дописать, чтобы сохранение данных происходило 1 раз, иначе ресурс EEPROM очень быстро закончится.
каюсь не предусмотрел этого

завтра лучше додеаю а то что то сегодня у меня мозг отдыхает
