Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 29
  1. #11
    Местный Аватар для avgefke
    Регистрация
    18.05.2010
    Сообщений
    188
    Вес репутации
    220

    По умолчанию Re: Замена PIC в M2-ATX

    Цитата Сообщение от SBorovkov Посмотреть сообщение
    мозги не идеальные, но рабочие. Лично меня купленный интеллект не устраивает и я его собираюсь подменить на устраивающий. Ну и заодно поделиться с общественностью наработками.
    Базару нет! Это похвально! А может его вааще не надо покупать а может он должен быть оценен по достоинству. Может он должен стоить столько сколько стоит 500р в базарный день! Тогда и притензий к нему никаких что взять с недоразвитых-)

  2. #12
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    Спаял небольшую платку, которую можно воткнуть вместо PIC, тестирую.
    Скажите свое мнение - как вам кажется, этих настроек хватит? Или добавить еще что-то?
    Массивы в начале - это режимы, которые можно выбрать джамперами. К примеру, если не поставлен ни один из джамперов, то используются 0-е элементы всех трех массивов, а если стоят все 4 джампера, то 15-е элементы.

    Идея такая: если комп используется в ждущем режиме, то выставляется:
    TurnOffByButtonTimeout - в секунды-минуты, это пауза до нажатия кнопки power.
    Затем HardOffToSleepTimeout выставляется в TurnOffByButtonTimeout+2-5 минут. В этот момент блок питания проконтроллирует, что комп действительно не работает. Если работает, комп будет жестко выключен.
    В конце сработает FullHardOffTimeout, позволяющий рубануть Vsb через пару-тройку дней, во избежание просадки аккумулятора.

    Напряжение питания мониторится абсолютно все время. "доброго" завершения работы компа по неправильным входящим напряжениям не предусмотрено.

    Код:
    int16_t TurnOffByButtonTimeouts[16] PROGMEM ={0,5,5,5,5,5,30,30,30,30,30,30,30,30,30,30}; // время до авт. нажатия Pwr для выключения в зависимости от режима
    int32_t FullHardOffTimeouts[16] PROGMEM ={20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300}; // время до полного выключения питания в зависимости от режима
    int16_t HardOffToSleepTimeouts[16] PROGMEM ={10,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0}; // время до выключения всего кроме Vsb в зависимости от режима
    
    // Если HardOffToSleepTimeout=0, то считается, что комп НЕ РАБОТАЕТ в ждущем режиме
    // То есть когда комп выключится при отсутствии зажигания, с него будет убран Vsb.
    // из этого следует, что в состоянии, когда выключено зажигание, комп нельзя будет включить.
    
    #define FullHardOffOnIncorrectGoSleep true // если true, то в случае, если срабатывает HardOffToSleep, но комп при этом включен, будет произведен FullHardOff (жесткое полное отключение питания), если false, то останется Vsb.
    #define AmplifierOnlyOnIgnition true // если true, то при выключении зажигания усилок сразу выключится.
    
    #define MinVoltageToStartR 11.5 // при напряжении ниже этого комп не включится.
    #define MinVoltageToWorkR 11.7 // при напряжении ниже этого тикает таймер низкого напряжения
    #define MinVoltageToStartAfterLowVoltageStopR 12.5 // если комп отключился по низкому напряжению, то включится он не раньше, чем будет зафиксировано это напряжение.
    #define MinIgnVoltageR 8 // минимальное напряжение на выводе "зажигание", считающееся наличием зажигания
    #define ExtremeLowVoltageR 7 // напряжение, при понижении до которого идет мгновенное отключение блока питания
    #define ExtremeHighVoltageR 18 // напряжение, при превышении которого начинает тикать таймер отключения. Больше 19 не ставить.
    
    #define IgnitionTimeBeforeStartF 0.2 // время в секундах до автоматического включения компа (нажатия power) после включения зажигания. Может быть дробным, 0 - комп не включается автоматически. Но вместе с зажиганием всегда подается Vsb
    #define MaxWorkTimeWithLowVoltage 60 // максимальное время работы в секундах при напряжении ниже MinVoltageToWorkR
    #define TimeBeforeAmpOn 20 // в секундах, время перед включением усилка максимальное значение 65000/SmallCyclesPerSecond
    #define MaxWorkTimeWithExtremeHighVoltage 60 // максимальное время работы при напряжении выше чем ExtremeHighVoltageR. в секундах, максимальное значение 65000/SmallCyclesPerSecond
    Последний раз редактировалось Chip; 25.09.2015 в 19:28.

  3. #13
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    Еще можно наладить связь между компом и блоком питания (точнее контроллером). В результате можно будет, к примеру, смотреть лог произошедших событий и менять настройки.
    Последний раз редактировалось SBorovkov; 08.01.2011 в 16:37.

  4. #14
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    На столе натестировался, теперь будет натурный эксперимент в машине.
    Если все будет нормально - выложу прошивку.

    За габаритные размеры блока питания сама плата контроллера не выходит. Выходят за габариты основной платы по высоте разъемы uart (для потенциального обмена с компом) и разъем прошивки.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	m2-atx-avr.jpg 
Просмотров:	2805 
Размер:	76.8 Кб 
ID:	10727  

  5. #15
    Наисистемниший Аватар для Stasik
    Регистрация
    09.06.2008
    Возраст
    44
    Сообщений
    595
    Вес репутации
    416

    По умолчанию Re: Замена PIC в M2-ATX

    Ну так как оно, научилось мониторить напругу? и отрубать комп?

  6. #16
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    Да, вроде все делает согласно настройкам, которые написаны несколькими сообщениями выше. Но надо потестировать в реальных условиях.

    Единственное, что из серьезного пока не сделал из аналогов m2-atx - следующая штука: Если комп только что включили, а затем выключили зажигание, то m2-atx судя по инструкции, добавляет некоторое время на то, чтобы комп загрузился. И только потом начинает процедуру завершения работы.

    Ну и пока не тестировал работу с джамперами настройки, но там слишком простой код, чтобы в нем были серьезные ошибки.

  7. #17
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    да, кстати, у меня один конденсатор на m2-atx легонько начал надуваться. 1500мкф, 10в. Блок питания используется около двух лет. Так что при случае проверьте, может не только у меня так...

  8. #18
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Замена PIC в M2-ATX

    Конденсаторы на M2-ATX это известная проблема, обычно через 2-3 года раздуваются.

  9. #19
    Наисистемниший Аватар для Stasik
    Регистрация
    09.06.2008
    Возраст
    44
    Сообщений
    595
    Вес репутации
    416

    По умолчанию Re: Замена PIC в M2-ATX

    На новых партиях идут уже другие конденсаторы, мой отпахал уже 4 года, кондюки вздулись, но продолжал работать, поменял БП на новый) перепаивать лень)

  10. #20
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    442

    По умолчанию Re: Замена PIC в M2-ATX

    С радостью сообщаю, что первая версия прошла все мои тесты. Сразу скажу, что запаздывающее отключение сразу после включения (о нем писал чуть выше), я еще не сделал. Также не оттестирована (и закомментирована) работа джамперов, отвечающих за выбор текущего режима, всегда используется нулевой, но я не уверен, что в случае возможности перепрограммирования, джамперы нужны.

    Плата не только включает и выключает комп, усилок, но еще и ведет лог произошедших внешних и внутренних событий, может слать данные о текущем состоянии.
    Поскольку в atmega48 всего 256 байт eeprom, я вынужен был исключить запись какого-либо аналоги времени и пишу только сами события в кольцевом буфере.

    Пример лога, хранящегося в EEPROM (байт, его текстовое описание)
    Код:
    128 Подали питание
    129 Включили зажигание
    148 подали Vsb
    131 Мать запросила включение - включаем
    144 начало полного включения питания 
    148 подали Vsb
    145 окончание включения питания - успешно
    133 Мать запросила выключение
    151 Команда на выключение усилка
    156 Выключение основного питания
    154 Подан импульс включения
    131 Мать запросила включение - включаем
    144 начало полного включения питания 
    148 подали Vsb
    145 окончание включения питания - успешно
    150 Команда на включение усилка
    152 Включен усилок
    130 Выключили зажигание
    151 Команда на выключение усилка
    155 Подан импульс выключения
    133 Мать запросила выключение
    151 Команда на выключение усилка
    156 Выключение основного питания
    129 Включили зажигание
    154 Подан импульс включения
    131 Мать запросила включение - включаем
    144 начало полного включения питания 
    148 подали Vsb
    145 окончание включения питания - успешно
    150 Команда на включение усилка
    152 Включен усилок
    133 Мать запросила выключение
    151 Команда на выключение усилка
    153 Выключен усилок
    156 Выключение основного питания
    137 Очень низкое напряжение
    151 Команда на выключение усилка
    156 Выключение основного питания
    149 убрали Vsb
    Строка - 1 байт eeprom :-).

    Моя плата выполнена двухсторонней, но она допускает и одностороннюю технологию - с тремя перемычками. В общем-то это абсолютно все равно.

    Шестипиновый разъем для программирования, он аналогичен разъему программирования Arduino. Трехпиновый - uart (Rx,Tx,Gnd), если его подключить к компьютеру посредством ft232 или max232, можно пользоваться логом.

    В качестве контроллера можно взять ATMega 48/88/168/328. 48-я на Митинском рынке стоит порядка 80 рублей, могу сказать где именно.

    Во вложениях:
    Полные исходники прошивки для Avr Studio
    Прога, которая позволяет читать лог из платы
    Схема в gif (1200 dpi) и Eagle

    Для работы контроллера надо в нем изменить fuses для работы на частоте 8 МГц от встроенного резонатора (по умолчанию стоит делитеть 8 и частота 1 мегагерц).
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	m2-atx-top.gif 
Просмотров:	408 
Размер:	52.8 Кб 
ID:	10736   Нажмите на изображение для увеличения. 

Название:	m2-atx-bottom.gif 
Просмотров:	403 
Размер:	33.3 Кб 
ID:	10737   Нажмите на изображение для увеличения. 

Название:	m2-atx-avr2.jpg 
Просмотров:	392 
Размер:	30.0 Кб 
ID:	10738   Нажмите на изображение для увеличения. 

Название:	m2-atx-scheme.gif 
Просмотров:	482 
Размер:	21.0 Кб 
ID:	10739  

    Нажмите на изображение для увеличения. 

Название:	m2-atx-plata.gif 
Просмотров:	423 
Размер:	61.8 Кб 
ID:	10740  
    Вложения Вложения

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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