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

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

Ответ
 
Опции темы
Старый 12.01.2018, 23:23   #661
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 29
Регион: 86
Сообщений: 416
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Вот такой красавчик получился. Очень доволен результатом.

Тока вот с прошивкой для микроконтроллера питания attiny24 беда, думал обойдусь малой кровью напишу её на ардуино и пусть пашет себе спокойно. Не тут то было, arduino на attiny24 работает ну ооочень не стабильно, в какойто момент вроде даже всё заработало нормально но через некоторое время всю плату начало передёргивать из за нестабильной прошивки в Attiny. Поэтому придётся качать AtmelStudio и учится писать прошивку для AVR на чистом C. Благо там прошивочка маленькая думаю много времени не займёт
Миниатюры
Нажмите на изображение для увеличения
Название: T9VC2ZjBGcU.jpg
Просмотров: 296
Размер:	105.8 Кб
ID:	48993   Нажмите на изображение для увеличения
Название: cqt2xAjX8OQ.jpg
Просмотров: 298
Размер:	90.6 Кб
ID:	48994   Нажмите на изображение для увеличения
Название: Haa0bdxkvW4.jpg
Просмотров: 171
Размер:	100.8 Кб
ID:	48995   Нажмите на изображение для увеличения
Название: r0_uN43DwyY.jpg
Просмотров: 143
Размер:	118.4 Кб
ID:	48996   Нажмите на изображение для увеличения
Название: LKe6sZPMJi0.jpg
Просмотров: 276
Размер:	58.8 Кб
ID:	48997  

Нажмите на изображение для увеличения
Название: 4XGAr18fnUU.jpg
Просмотров: 142
Размер:	68.8 Кб
ID:	48998  
Alekssandr вне форума   Ответить с цитированием
Старый 13.01.2018, 06:09   #662
alexfox
Старший Пользователь
 
Регистрация: 23.06.2015
Город: Новосибирск
Регион: 54
Машина: Infiniti FX35
Сообщений: 146
alexfox is a glorious beacon of lightalexfox is a glorious beacon of lightalexfox is a glorious beacon of lightalexfox is a glorious beacon of lightalexfox is a glorious beacon of lightalexfox is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Alekssandr Посмотреть сообщение
Поэтому придётся качать AtmelStudio и учиться писать прошивку для AVR на чистом C. Благо там прошивочка маленькая думаю много времени не займёт
AtmelStudio - громоздкий и не удобный...
Посмотри лучше в строну: CodeVisionAVR (ver. 3.12) гораздо удобнее.
Могу скинуть рабочий дистрибутив.
alexfox вне форума   Ответить с цитированием
Старый 13.01.2018, 14:09   #663
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 29
Регион: 86
Сообщений: 416
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Спасибо, я уже установил AtmelStudio и написал прошивку, сейчас пытаюсь реализовать софтовый UART (в attiny24 нет железного UART) для настройки таймингов включения отключения блоков питания с приложения. TX канал уже передаёт данные а вот с RX посложнее.
Alekssandr вне форума   Ответить с цитированием
Старый 14.01.2018, 14:20   #664
papant
Старший Пользователь
 
Регистрация: 11.10.2015
Возраст: 40
Город: Йошкар-Ола
Регион: 12
Машина: Kia Sorento 2011
Сообщений: 182
papant is on a distinguished road
По умолчанию

парни, читаю как разговор космонавтов
с замиранием сердца наблюдаю )
papant вне форума   Ответить с цитированием
Старый 14.01.2018, 14:40   #665
Rage2
Гуру
 
Регистрация: 06.11.2009
Возраст: 32
Город: Nizhniy Novgorod
Регион: 52
Машина: Ford Focus III
Сообщений: 1,778
Rage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant futureRage2 has a brilliant future
По умолчанию

Цитата:
Сообщение от papant Посмотреть сообщение
парни, читаю как разговор космонавтов
с замиранием сердца наблюдаю )
Аналогично!
Rage2 вне форума   Ответить с цитированием
Старый 14.01.2018, 15:00   #666
awtoap
Гуру
 
Аватар для awtoap
 
Регистрация: 19.09.2009
Возраст: 40
Город: Мелитополь
Регион: Украина
Сообщений: 2,010
awtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to behold
По умолчанию

Цитата:
парни, читаю как разговор космонавтов
с замиранием сердца наблюдаю )
Как для меня фраза что нибудь в ведроиде подкрутите и все наладится
awtoap на форуме   Ответить с цитированием
Старый 15.01.2018, 23:46   #667
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 29
Регион: 86
Сообщений: 416
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Походу я нашёл идеальный подход к пробуждению и засыпанию планшета. Проверил работает просто шикарно.

На своём устройстве DIXOM поднял HID 1 Generic Desktop и в нём есть команды System Wake Up и System Sleep.

System Wake Up........говорит "проснись"
System Sleep.............говорит "усни"

И так самое главное
1) На планшете в настройках поставил минимальное время работы подсветки экрана (15сек, меньше нельзя )
2) В прошивке написал, после включения ACC чтоб каждые 5 сек отправлял System Wake Up
3) В прошивке написал, после отключения ACC, 1 раз отправляет System Sleep.

В итоге всё получается очень просто
Подключаем планшет, телефон, ios устройство и т.п. которые понимают HID к моему устройству по USB и они никогда не засыпают пока есть сигнал АСС (так как каждые 5 сек приходит команда проснись (System Wake Up)), как только он пропал всё засыпает)

Там есть ещё много всего, вот список команд...
Цитата:
1 Generic Desktop
0x00 Undefined
0x01 Pointer
0x02 Mouse
0x03 Reserved
0x04 Joystick
0x05 Game Pad
0x06 Keyboard
0x07 Keypad
0x08 Multi-axis Controller
0x30 X
0x31 Y
0x32 Z
0x33 Rx
0x34 Ry
0x35 Rz
0x36 Slider
0x37 Dial
0x38 Wheel
0x39 Hat Switch
0x3A Counted Buffer
0x3B Byte Count
0x3C Motion Wakeup
0x40 Vx
0x41 Vy
0x42 Vz
0x43 Vbrx
0x44 Vbry
0x45 Vbrx
0x46 Vno
0x80 System Control
0x81 System Power Down
0x82 System Sleep
0x83 System Wake Up
0x84 System Context Menu
0x85 System Main Menu
0x86 System App Menu
0x87 System Menu Help
0x88 System Menu Exit
0x89 System Menu Select
0x8A System Menu Right
0x8B System Menu Left
0x8C System Menu Up
0x8D System Menu Down
0x90 D-pad Up
0x91 D-pad Down
0x92 D-pad Right
0x93 D-pad Left
Alekssandr вне форума   Ответить с цитированием
Старый 25.01.2018, 00:33   #668
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 29
Регион: 86
Сообщений: 416
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Прошивка блока питания на ATTINY24 для платформы DIXOM-C12

Микроконтроллер работает от внутреннего генератора на частоте 1Мгц, прошивка занимает 752байта паймяти из доступных 2кБ, и 10 байт оперативки из доступных 128 байт. В общем ещё есть место для фантазий.

Прошивка очень простая, в принципе этого более чем достаточно для нормальной работы платы, все тайминги можно регулировать.

Так как счётчик тикает каждые 100мс, то 1 это 100мс, 10 это 1000мс т.е. 1 секунда и т.д.


PHP код:
#define F_CPU 1000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

#define POWER_33v      _BV(PB0)
#define TABLET_POWER_1 _BV(PB1)
#define TABLET_POWER_2 _BV(PB2)
#define POWER_5v       _BV(PA7)
#define BUZZER         _BV(PA6)
#define ACC            _BV(PA5)
#define OTG_MODE       _BV(PA4)
#define REMOT          _BV(PA3)
#define REMOT_OU       _BV(PA0)

unsigned long timerOFF   0;
unsigned long timerOn    0;
int adc_value 0;


int main(void)
{
            
DDRB |=  POWER_33v;        // OUTPUT
            
DDRB |=  TABLET_POWER_1;   // OUTPUT
            
DDRB |=  TABLET_POWER_2;   // OUTPUT
            
DDRA |=  POWER_5v;         // OUTPUT
            
DDRA |=  BUZZER;           // OUTPUT
            
DDRA |=  OTG_MODE;         // OUTPUT
            
DDRA |=  REMOT;            // OUTPUT
            
DDRA |=  REMOT_OU;         // OUTPUT            
               
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS0);
            
ADMUX=0x05;

        
  while(
1){ 
               
              
ADCSRA |= (1<<ADSC);         //Запуск конвертации АЦП
              
while (ADCSRA & (1<<ADSC));  //Ждём завершение конвертации АЦП    
              
adc_value ADCW;            //Забираем значение АЦП

              
if (adc_value 200)
              {    
///////////////////////////////////////////////////ACC Выключен////////////////////////////////////////////////////
                
timerOn  =0;               //Обнуляем счётчик включения
                
if (timerOFF<=33000000){  //Если таймер выключения меньше 33 млн          
                 
timerOFF ++;             //То прибавляем 1 каждые 100мс
                
}
                
//              PORTA |=  BUZZER; 
                
if(timerOFF==1)       {  PORTA |=  BUZZER;             } //Включаем пищалку    
                
if(timerOFF==4)       {  PORTA &= ~BUZZER;             } //Отключаем пищалку    
                
if(timerOFF==100)     {  PORTA &= ~REMOT;              } //Отключаем питание REMOT
                
if(timerOFF==120)     {  PORTA &= ~REMOT_OU;         } //Отключаем питание REMOT2 OU (операционные усилители)
                
if(timerOFF==300)     {  PORTB &= ~POWER_33v;         } //Отключаем питание переферии 3.3v
                
if(timerOFF==300)     {  PORTA &= ~POWER_5v;         } //Отключаем питание USB HUB
                
if(timerOFF==200)     {  PORTA &= ~OTG_MODE;          } //перехватываем управление ОТГ у stm32                
                
if(timerOFF==2200)    {  PORTB &= ~TABLET_POWER_2;     } //Отключаем 2-ю фазу питания планшета
                
if(timerOFF==13000000){  PORTB &= ~TABLET_POWER_1;     } //через 2 недели отключаем полностью питание планшета
                            
               
}else {
///////////////////////////////////////////////////ACC Включён////////////////////////////////////////////////////
                 
timerOFF =0;         //Обнуляем счётчик таймера отключения
                 
if (timerOn<=100){   //Если таймер включения меньше 100
                      
timerOn++;      //То прибавляем 1 каждые 100мс
                 
}
                
//     PORTA &= ~BUZZER; 
                 
if(timerOn==1)       { PORTA |= BUZZER;             } //Включаем пищалку
                 
if(timerOn==4)       { PORTA &= ~BUZZER;             } //Отключаем пищалку                
                 
if(timerOn==20)      { PORTB |= TABLET_POWER_1;    } //Включаем 1-ю фазу питания планшета
                 
if(timerOn==20)      { PORTB |= TABLET_POWER_2;    } //Включаем 2-ю фазу питания планшета
                 
if(timerOn==20)      { PORTA |= POWER_5v;          } //Включаем питание USB HUB        
                 
if(timerOn==20)      { PORTB |= POWER_33v;         } //Включаем питание переферии 3.3v                 
                 
if(timerOn==20)      { PORTA |= OTG_MODE;          } //Отдаём управление режимом отг STM32
                 
if(timerOn==20)      { PORTA |= REMOT_OU;          } //Включаем питание операционных усилителей
                 
if(timerOn==60)      { PORTA |= REMOT;             } //Включаем питание REMOT                 
                                                
              

        
_delay_ms(100); //задержка 100мс для таймеров
        
} return (0);

Alekssandr вне форума   Ответить с цитированием
Старый 25.01.2018, 00:53   #669
oleg707
Гуру
 
Аватар для oleg707
 
Регистрация: 16.04.2014
Возраст: 34
Город: Gdynia
Регион: другой - для добавления сообщить ab
Машина: Ford Escape
Сообщений: 2,290
oleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond reputeoleg707 has a reputation beyond repute
По умолчанию

А где спящий режим ? Внутренний генератор неточный, но по идее не страшно. Если нет спящего, то можно хоть на 128 кГц крутить, потребление в простое снизишь. ( я понимаю, что тинька и так ничего не ест)
oleg707 вне форума   Ответить с цитированием
Старый 25.01.2018, 01:09   #670
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 29
Регион: 86
Сообщений: 416
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Пока нет времени разбираться со спящим режимом, много дел на ANDROID и STM32.

Плата в режиме отключённого АСС с включённой 1-й фазой блока питания планшета потребляет 0.007А при 12В (Меня это устраивает). В будущем по шаманю над прошивкой возможно ещё получиться ниже сделать.
Alekssandr вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

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



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


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