PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Блоки питания > Разное

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 11:17   #31
Coloss
Новый Пользователь
 
Регистрация: 10.09.2009
Регион: 64
Сообщений: 2
Coloss is on a distinguished road
По умолчанию

Доброго времени суток.
Не мог бы кто нибудь выложить рисунок печатных плат для схем из 1 и 2-го поста...
Заранее благодарен...
Coloss вне форума   Ответить с цитированием
Старый 10.09.2009, 13:35   #32
odessit
Гуру
 
Регистрация: 11.06.2009
Возраст: 43
Город: odessa
Регион: Украина
Машина: 2006 Acura MDX - Navi
Сообщений: 1,121
odessit is on a distinguished road
По умолчанию

а где ты там в 1 и 2 посте увидел печатные платы ???
Оно собиралось насколько вижу на простой универсальной плате
odessit вне форума   Ответить с цитированием
Старый 10.09.2009, 17:33   #33
Coloss
Новый Пользователь
 
Регистрация: 10.09.2009
Регион: 64
Сообщений: 2
Coloss is on a distinguished road
По умолчанию

Цитата:
Сообщение от odessit Посмотреть сообщение
а где ты там в 1 и 2 посте увидел печатные платы ???
Оно собиралось насколько вижу на простой универсальной плате
Ну просто подумал,что они существуют Ладно...будем сами творить
Coloss вне форума   Ответить с цитированием
Старый 11.09.2009, 15:47   #34
Honda_ЛЁТ
Новый Пользователь
 
Аватар для Honda_ЛЁТ
 
Регистрация: 07.04.2009
Возраст: 46
Город: Нефтеюганск
Регион: 86
Машина: 2008\Honda\Accord
Сообщений: 19
Honda_ЛЁТ is on a distinguished road
По умолчанию

Цитата:
Сообщение от odessit Посмотреть сообщение
Сбой при заводке двигателя это непроблемма при подключении
через разьем батареи и использовании Конденсаторов !!!
Купил родной БП от прикуривателя, запитал напрямую от аккумулятора, но при заводке авто комп тухнет. Подскажи пожалуйста к каким контактам подсоединения аккумулятора подпаивать "+ -"? Кондёр как я понял припаять на выход источника питания, 4700 мкФ х 25В пойдёт или побольше?
Honda_ЛЁТ вне форума   Ответить с цитированием
Старый 12.09.2009, 16:33   #35
odessit
Гуру
 
Регистрация: 11.06.2009
Возраст: 43
Город: odessa
Регион: Украина
Машина: 2006 Acura MDX - Navi
Сообщений: 1,121
odessit is on a distinguished road
По умолчанию

кондер надо ставить совместно с диодом. чтобы при просадке кондер не питал сеть автомобиля!!! соответственно в проход чтобы питание шло от акума к кондеру а обратно нет ... померить прибором ...
odessit вне форума   Ответить с цитированием
Старый 12.09.2009, 16:34   #36
odessit
Гуру
 
Регистрация: 11.06.2009
Возраст: 43
Город: odessa
Регион: Украина
Машина: 2006 Acura MDX - Navi
Сообщений: 1,121
odessit is on a distinguished road
По умолчанию

4700 врядле хватит у меня стоят 3 по 9000мф ... немного с запасом на зииму ...

по поводу к каким контактам непонял ... вопроса ....

ну минус к минусу = к плюсу желательно протянуть прямые провода от акума ...
odessit вне форума   Ответить с цитированием
Старый 13.09.2009, 11:43   #37
Honda_ЛЁТ
Новый Пользователь
 
Аватар для Honda_ЛЁТ
 
Регистрация: 07.04.2009
Возраст: 46
Город: Нефтеюганск
Регион: 86
Машина: 2008\Honda\Accord
Сообщений: 19
Honda_ЛЁТ is on a distinguished road
По умолчанию

Цитата:
Сообщение от odessit Посмотреть сообщение
4700 врядле хватит у меня стоят 3 по 9000мф ... немного с запасом на зииму ...
Во спасибо. Всё понял .

Цитата:
Сообщение от odessit Посмотреть сообщение
по поводу к каким контактам непонял ... вопроса ....

ну минус к минусу = к плюсу желательно протянуть прямые провода от акума ...
Я имел ввиду контакты подключения родного аккумулятора (EEPC 701), там их штук 8-мь помоему, ты же советовал от них запитаться или пойдет от от сетевого (зарядочного) разъёма?

Прямой "+" от аккумулятора ч/з предохранитель я провёл.
Honda_ЛЁТ вне форума   Ответить с цитированием
Старый 13.09.2009, 14:02   #38
odessit
Гуру
 
Регистрация: 11.06.2009
Возраст: 43
Город: odessa
Регион: Украина
Машина: 2006 Acura MDX - Navi
Сообщений: 1,121
odessit is on a distinguished road
По умолчанию

а топ не пробовал читать ????

На предидущей странице есть фото КАк подрубать к бат разьему ...
odessit вне форума   Ответить с цитированием
Старый 22.09.2009, 03:29   #39
-qwerty-
Новый Пользователь
 
Регистрация: 22.09.2009
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Сообщений: 3
-qwerty- is on a distinguished road
По умолчанию

Толи я что-то не понял, толи оно не работает.
В общем при попытке перейти на AtTiny25 впрямую ничего не получилось, пришлось курить маны.
В итоге было найдено кучка ошибок в коде программы, особенно если всё делать по манам.
Пришлось програмить своё заново, и оно того стоило!
В данный момент программа может работать как на Tiny15, так и на 25/45/85 (последние особо дёшевы в Чип и Дип, 220 рублей за tiny25 и всего 110 за tiny85).

Програмил на AVR-GCC в AVR Studio, код громозок и есть куда оптимизировать, но лень, очень лень.
Выкладываю свою разработку в исходнике, кому надо - оптимизируйте.
AVR Studio нахаляву забрать можно на сайте атмела, WinAVR найти в гугле.
Если кто на выходе в 2 раза сократит прогу, то пойдёт и на tiny15, хотя, ИМХО, проще купитьт 45 или 85 тиню в Чип и Дип.

Шил все тини с помощью UniProf (версию не помню, но последняя с ручным апдейтом exe файла).

Код:
#include <avr/io.h>
#include <avr/interrupt.h>

#define ON_PROCESS 1
#define ON 2
#define OFF_PROCESS 3
#define OFF 4
#define SYSTEM_FAIL 10

// ïðåäíàñòðîéêè.. ïðèìåðíî â ñåêóíäàõ :)
#define initTimer						4	// ÷àñòîòà ïðîâåðêè òàéìåðîì
#define initButtonDelay					2	// çàäåðæêà êíîïêè 2ñåê
#define initBeforeStartDelay			5	// âðåìÿ äî âêëþ÷åíèÿ 10ñåê. 
#define initAfterStartDelay				90	// çàäåðæêà ïîñëå âêëþ÷åíèÿ 90ñåê âðåìÿ íóæíîå íà ñòàðò âèíäå.

#define initBeforeOFFDelay				150	// âðåìÿ äî îòêëþ÷åíèÿ 150ñåê
#define initBeforeOFFDelay_Multipler	2	// ìíîæèòåëü 2 .=> 150ñåê*2 = 300ñåê = 5ìèí
#define	initPowerDownDelay				120	// âðåìÿ îæèäàíèÿ âûêëþ÷åíèÿ êîìïà âî âðåìÿ âûêëþ÷åíèÿ

int PC_State;
int BeforeStartDelay;
int ButtonDelay;
int AfterStartDelay;
int BeforeOFFDelay;
int BeforeOFFDelay_Multipler;
int PowerDownDelay;

int Timer_step;

int main ( void )
{
	DDRB = (1<<PB4)|(1<<PB1)|(1<<PB0); // èíèöèàëèçèðóåì ïèíû 0,1 è 4 äëÿ ââîäà èíôû
	TCCR0B = (1<<CS02)|(1<<CS00); // òàéìåð CLK/1024
	TIMSK = (1<<TOIE0); // âêëþ÷àåì òàéìåð
	sei();

	PORTB = 0x00; // óñòàíàâëèâàåì âñå ñîñòîÿíèÿ â 0 äëÿ íà÷àëà ìîîíèòîðèíãà

	Timer_step = initTimer;
	PC_State = OFF;
	BeforeStartDelay = 0;
	ButtonDelay = 0;
	AfterStartDelay = 0;
	BeforeOFFDelay = 0;
	BeforeOFFDelay_Multipler = 0;
	PowerDownDelay = 0;

	for(;;)
	{
	}
	return 0;
}

// PB0 - OUT BUTTON
// PB1 - OUT POWER
// PB2 - IN USB
// PB3 - IN ACC
// PB4 - OUT LED

void p_OFF()
{
	if ( PINB & (1<<PB3) ) // ïîÿâèëîñü acc
	{
		PC_State = ON_PROCESS; // ïåðåõîäèì â ðåæèì âêëþ÷åíèÿ
		BeforeStartDelay = initBeforeStartDelay; // îæèäàíèå äî íàæàòèÿ êíîïêè
		ButtonDelay = initButtonDelay; // êàê äîëãî æàòü êíîïêó
		if ( !(PORTB & (1<<PB1)) )
		{
			PORTB |= (1<<PB1); // âêëþ÷àåì áëîê ïèòàíèÿ
		}
	}
}

void p_ON_PROCESS()
{
	if ( BeforeStartDelay > 0 ) // òàéìàóò äî íàæàòèÿ êíîïêè
	{
		if ( !( PINB & (1<<PB3) ) ) // à âäðóã acc ïðîïàëî ïîêà ìû êíîïêó åù¸ íå íàæàëè?
		{
			if ( PORTB & (1<<PB1) )
			{
				PORTB &= ~(1<<PB1); // îòïóñêàåì êíîïêó...
			}
			PC_State = OFF; // ïåðåõîä â ðåæèì ñëåæåíèÿ çà âêëþ÷åíèåì
			return;
		}
		BeforeStartDelay --; // ìèíóñóåì òàéìàóò
	}else{ // ïîåõàëè âêëþ÷àòü êîìï
		if ( ButtonDelay > 0 ) // äåðæèì êíîïêó íàæàòîé
		{
			if ( !( PORTB & (1<<PB0) ) )
			{
				PORTB |= (1<<PB0); //òóïî æì¸ì êíîïêó
			}
			ButtonDelay --;
		}else{
			if ( PORTB & (1<<PB0) ) // ïðîâåðêà íà îòïóùåííîñòü êíîïêè
			{
				PORTB &= ~(1<<PB0); // îòïóñêàåì êíîïêó
				AfterStartDelay = initAfterStartDelay; // çàäà¸ì òàéìåð äî ïîÿâëåíèÿ USB
			}else{
				if ( AfterStartDelay > 0 )  // æä¸ì äî ïîÿâëåíèÿ óñá ïî òàéìåðó
				{
					AfterStartDelay--;
				}else{ // ïðîâåðÿåì ñòàòóñ USB
					if ( PINB & (1<<PB2) ) // usb ïîÿâèëîñü, óõîäèì â ðàáîòó.
					{
						PC_State = ON;
						return;
					}else{
						PC_State = SYSTEM_FAIL; // à íåòó óñá, ãîâíî ñëó÷àåòñÿ...
						return;
					}
				}
			}
		}
	}
}

void p_ON()
{
	// ïðîïàäàíèå USB
	if ( !( PINB & (1<<PB2) ) ) // ïðîïàëî USB. æîïà êîðî÷å.
	{
		PC_State = SYSTEM_FAIL;
		return;
	}
	if ( !( PINB & (1<<PB3) ) ) // ïðîïàäàíèå ACC
	{
		PC_State = OFF_PROCESS;
		BeforeOFFDelay = initBeforeOFFDelay; // èíèöèàëèçàöèÿ òàéìåðà äî âûêëþ÷åíèÿ
		BeforeOFFDelay_Multipler = initBeforeOFFDelay_Multipler; // èíèöèàëèçàöèÿ òàéìåðà  ìíîæèòåëÿ
		ButtonDelay = initButtonDelay; // êàê äîëãî æàòü êíîïêó
		PowerDownDelay = initPowerDownDelay; // êàê äîëãî æäàòü ïîòóõàíèÿ êîìïà
	}
}

void p_OFF_PROCESS()
{
	if ( !( PINB & (1<<PB2) ) ) // íåò îòâåòà ñ usb
	{
		PC_State = SYSTEM_FAIL; // íàõóé ïàäàåì è âñ¸ ãàñèì
		return;
	}
	if ( BeforeOFFDelay_Multipler == 0 ) // òèïà òàéìåð ñ ìíîæèòåëåì íà íóëå.
	{
		if ( ButtonDelay > 0 ) // ïîêà äåðæèì êíîïêó, è äàæå åñëè íå äåðæèì.
		{
			if ( !( PORTB & (1<<PB0) ) )
			{
				PORTB |= (1<<PB0); // íàæèìàåì êíîïêó åñëè åù¸ íå íàæàòà
			}
			ButtonDelay --; // ìèíóñóåì òàéìåð íàæàòîé êíîïêè.
		}else{
			if ( PORTB & (1<<PB0) ) // îòïóñêàåì êíîïêó åñëè îíà åù¸ íàæàòà
			{
				PORTB &= ~(1<<PB0);
			}
			if ( PowerDownDelay > 0 ) // òèïà æä¸ì ïðîñòîãî âûêëþ÷åíèÿ
			{
				PowerDownDelay--; // íó è ìèíóñóåì òàéìåð îæèäàíèÿ âûêëþ÷åíèÿ
			}else{
				PC_State = SYSTEM_FAIL; // ïðîâàëèâàåìñÿ â system_fail â ëþáîì ñëó÷àå
			}
		}
	}else{
		if ( BeforeOFFDelay == 0 )
		{
			BeforeOFFDelay = initBeforeOFFDelay; // âîññòàíàâëèâàåì òàéìåð îòêëþ÷åíèå
			BeforeOFFDelay_Multipler--; // ìèíóñóåì ìíîæèòåëü òàéìåðà âûêëþ÷åíèÿ
		}else{
			if ( PINB & (1<<PB3) ) // ACC âíåçàïíî ïîÿâèëîñü, ñëó÷àþòñÿ ãëþêè...
			{
				PC_State = ON;
				return;
			}
		}
		BeforeOFFDelay --;
	}
}

void p_SYSTEM_FAIL()
{
	if ( PORTB & (1<<PB1) ) // åñëè âêëþ÷åíû áëîêè ïèòàíèÿ...
	{
		PORTB &= ~(1<<PB1); // ...âûêëþ÷àåì íàõåð
	}
	if ( PINB & (1<<PB3) ) // òèïà åñòü ACC
	{
		if ( PORTB & (1<<PB4) ) // ìèãàíèå ñâåòîäèîäà ERROR
		{
			PORTB &= ~(1<<PB4); // âûêëþ÷àåì ñâåòîäèîä
		}else{
			PORTB |= (1<<PB4); // âêëþ÷àåì ñâåòîäèîä
		}
	}else{
		PC_State = OFF; // ñáðàñûâàåì ñîñòîÿíèå. àññ íåò âñ¸ ðàâíî.
		if ( PORTB & (1<<PB4) ) // ìèãàíèå ñâåòîäèîäà ERROR
		{
			PORTB &= ~(1<<PB4); // âûêëþ÷àåì ñâåòîäèîä
		}
	}
}

ISR(TIMER0_OVF_vect)
{
	Timer_step--;
	if ( Timer_step == 0 )
	{
		if ( PC_State == OFF )
		{
			p_OFF();
		}

		if ( PC_State == ON_PROCESS )
		{
			p_ON_PROCESS();
		}

		if ( PC_State == ON )
		{
			p_ON();
		}

		if ( PC_State == OFF_PROCESS )
		{
			p_OFF_PROCESS();
		}

		if ( PC_State == SYSTEM_FAIL )
		{
			p_SYSTEM_FAIL();
		}

		Timer_step = initTimer;
	}
}
PS Знать бы АСМ получше, на нём бы написал

Последний раз редактировалось -qwerty-; 29.09.2009 в 22:34.
-qwerty- вне форума   Ответить с цитированием
Старый 24.09.2009, 06:04   #40
yurich38
Старший Пользователь
 
Регистрация: 28.09.2008
Возраст: 41
Город: irkutsk
Регион: 38
Машина: impreza
Сообщений: 128
yurich38 will become famous soon enough
По умолчанию

За такое, огромный респект!! )
з.ы. комментарии в коде зачетные
yurich38 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 19:56.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot