American English British English Български Čeština Français Deutsch (Du) Magyar Italiano 日本語 Lietuvių Polski Српски Slovenčina Español (Tú) Türkçe Українська
Select language:

Чёрный ящик на Arduino "SD card logger"

Нужно ли этот "SD card logger" добавить в "БК SECU-3T by alvikagal"

Да
18
95%
Нет
1
5%
 
Total votes : 19
<<

Samtorr

User avatar

Posts: 136

Joined: 16 Jun 2015, 21:45

Your CAR: Golf II 1.3i

SECU version: DIY SECU-3T


Has thanked: 6 times
Been thanked: 75 times

Post 18 Feb 2017, 19:32

Re: Чёрный ящик на Arduino "SD card logger"

alvikagal wrote:Стоит ли в БК добавлять "SD card logger"

Для начала лучше сделать отдельное устройство,ибо не всем кому нужен даталоггер, нужен БК. А для того чтоб устройство было закончено, нужно чтоб оно понимало большинство релизов, а для этого надо либо сделать некий конфигуратор (вариантов несколько, от программы, до структуры пакета в еепром), либо открыть исходники. Разумеется запись каждый раз должна вестись в отдельный файл и не пропадать при отключении питания. А когда это все будет, тогда можно и в БК интегрировать. У Вас фат от Чена?
<<

alvikagal

User avatar

Posts: 2772

Joined: 18 Sep 2013, 01:58

Location: Украина, Павлоград

Your CAR: ВАЗ-21099 1,5л.

SECU version: DIY SECU-3T


Has thanked: 334 times
Been thanked: 449 times

Post 18 Feb 2017, 20:17

Re: Чёрный ящик на Arduino "SD card logger"

Да, от Чена, только GCC ругается на последнюю версию. Много функций нужно дописывать.
60-2/SECU/ДКЗ/бенз-газ/ДД/ДТВ/УДК/ШДГ/ВЗ
Отчёт - viewtopic.php?f=6&t=236
Бортовой компьютер 20*04 - viewtopic.php?p=19996#p19996
SD card logger - viewtopic.php?f=12&t=1029
<<

alvikagal

User avatar

Posts: 2772

Joined: 18 Sep 2013, 01:58

Location: Украина, Павлоград

Your CAR: ВАЗ-21099 1,5л.

SECU version: DIY SECU-3T


Has thanked: 334 times
Been thanked: 449 times

Post 23 Feb 2017, 03:36

Re: Чёрный ящик на Arduino "SD card logger"

Пока разбираюсь как создавать файлы (лыжи так и не едут :lol: ), сделал пока запись следующим образом:
SD карта 1GB, скинул туда 10 файлов по 74MB и в эти файлы будут писаться логи по очереди макс. длительностью 1 час езды, затем открывается следующий и пишется в него.
Когда файлы закончились, переписывается 1 файл.
При каждом новом включении пишется в следующий файл.
Т.е. возможно записать 10 пусков и максимально 10 часов.
Если включить без карты, затем выключить и вставить карту, то сбрасывается счётчик на первый файл.

Пару дней покатаю, проверю, если будет работать как надо, то выложу в первый пост.
60-2/SECU/ДКЗ/бенз-газ/ДД/ДТВ/УДК/ШДГ/ВЗ
Отчёт - viewtopic.php?f=6&t=236
Бортовой компьютер 20*04 - viewtopic.php?p=19996#p19996
SD card logger - viewtopic.php?f=12&t=1029
<<

Samtorr

User avatar

Posts: 136

Joined: 16 Jun 2015, 21:45

Your CAR: Golf II 1.3i

SECU version: DIY SECU-3T


Has thanked: 6 times
Been thanked: 75 times

Post 23 Feb 2017, 12:50

Re: Чёрный ящик на Arduino "SD card logger"

Я сделал отдельный файл-счетчик, расположенный на той же карте (который создается если флешка пустая, или модифицируется) в котором хранится индекс последнего файла. При каждом включении он увеличивается на единицу и создается файл лога вида Log_NN.csv, где NN - это индекс хранимый в файле. Сам код работы с фат, если удалить все лишнее:
  Code:

char str_buff[STR_SIZE]={'\0'};
char str_name[NAME_SIZE]={'\0'};

FATFS FatFs;   /* FatFs work area needed for each volume */
FIL Fil;       /* File object needed for each open file */
FRESULT res;   

main()
{
UINT bw;
UINT br;
UINT cnt_log_name;

//инициализация
...
//FAT FS
f_mount(&FatFs, "", 0);/* Give a work area to the default drive */

//Создаем и/или модифицируем файл-счетчик
    if (f_open(&Fil, "cnt.csv", FA_READ | FA_WRITE | FA_OPEN_ALWAYS) == FR_OK)
    {
        f_read(&Fil, str_name, 4, &bw);
        cnt_log_name=atoi(str_name);
        if(cnt_log_name>=0 && cnt_log_name<1000){cnt_log_name++;}
            else{cnt_log_name=0;}
        sprintf(str_name,"%u\r\n",cnt_log_name);
        Fil.fptr=0;
        f_write(&Fil, str_name, 4, &bw);
        f_close(&Fil);   
    }
    else
                {
                //что-то пошло не так ))
                 ...
                }
           
    for(;;)
    {
         
        //пишем строку в файл (по флагу)
        if(...) //условие записи (интеррвал, событие)
        {
            //получаем параметры
            ...
            //загоняем в str_buff текущее имя файла           
            sprintf(str_buff,"%s%u.csv","log_",cnt_log_name);                   
           
            //пытаемся записать в него
            if (f_open(&Fil, str_buff, FA_WRITE | FA_OPEN_ALWAYS) == FR_OK)
            {   
                unsigned char str_buf_size=0;
                // Create a file
                res=f_lseek(&Fil,Fil.fsize);
               
                if(res==FR_OK)
                {
                    //очищаем буфер
                    unsigned char i=0;
                                       
                    for(i=0;i<STR_SIZE;++i)str_buff[i]='\0';
                   //теперь пишем в str_buff данные                   
                    sprintf(str_buff,...);
                                       
                    //определяем размер буфера (реального)
                      i=0;           
                        for(i=0;i<STR_SIZE;++i)
                        {
                            if(str_buff[i]!='\0')str_buf_size++;
                        }
                                       
                    //пишем в файл только реально использованные символы
                    f_write(&Fil, str_buff, /*STR_SIZE*/str_buf_size, &bw);
                                           
                }
                f_close(&Fil);    // Close the file

              if (bw == str_buf_size)
              {       
                // все ок
                ...
              }
                else
                {
                 //что-то пошло не так ))
                 ...
                }
             
            }
            else
                {
                 //что-то пошло не так ))
                 ...
                }

        }
 
    }//end for
    }//end main


При записи строки, каждый раз текущий файл открывается и закрывается - только так можно гарантировать что при отключении питания там останутся все ранее сделанные записи. Но это несколько уменьшает предельную частоту записи в файл. Зато работает четко и без сбоев.
Подробнее можете глянуть в моем проекте
<<

LVS

User avatar

Posts: 443

Joined: 30 Apr 2013, 23:41

Location: Россия г. Тихорецк п. Братский.

Your CAR: ВАЗ-21074

SECU version: DIY SECU-3


Has thanked: 13 times
Been thanked: 67 times

Post 06 Mar 2017, 07:45

Re: Чёрный ящик на Arduino "SD card logger"

alvikagal надумал и я собрать такое устройство. Вопрос по питанию CD карты, питается она от 3v3 питание берётся от USB 5v ставил стабилизатор или на стабилитроне сделал. Я намечаю стабилизатор поставить. Приведу рисунок разъёмов CD карты, такой подходит. Слот у меня на 10 выводов правда первые два контакты которые замыкаются при вставке CD. И какие фузы выставляются на мегу.
Attachments
ВАЗ-21074 SECU-3_ раздача СТАТИКА 2chiq. Коммутатор на МК PIC12F675 под прошивку 2chiq. БК под SECU-3. Карбюратор ОЗОН. САУВЗ.
<<

alvikagal

User avatar

Posts: 2772

Joined: 18 Sep 2013, 01:58

Location: Украина, Павлоград

Your CAR: ВАЗ-21099 1,5л.

SECU version: DIY SECU-3T


Has thanked: 334 times
Been thanked: 449 times

Post 06 Mar 2017, 08:19

Re: Чёрный ящик на Arduino "SD card logger"

Фьюзы я оставлял по умолчанию, которые были в ардуино про мини. Вечером выложу.
Питание понижал стабилизатором 3,3В.
Контакты подключать только те, что на схеме.
60-2/SECU/ДКЗ/бенз-газ/ДД/ДТВ/УДК/ШДГ/ВЗ
Отчёт - viewtopic.php?f=6&t=236
Бортовой компьютер 20*04 - viewtopic.php?p=19996#p19996
SD card logger - viewtopic.php?f=12&t=1029
<<

LVS

User avatar

Posts: 443

Joined: 30 Apr 2013, 23:41

Location: Россия г. Тихорецк п. Братский.

Your CAR: ВАЗ-21074

SECU version: DIY SECU-3


Has thanked: 13 times
Been thanked: 67 times

Post 06 Mar 2017, 19:11

Re: Чёрный ящик на Arduino "SD card logger"

На картинке правильно отображены, буду руководствоваться по этому изображению. А фузы буду ждать.
ВАЗ-21074 SECU-3_ раздача СТАТИКА 2chiq. Коммутатор на МК PIC12F675 под прошивку 2chiq. БК под SECU-3. Карбюратор ОЗОН. САУВЗ.
<<

alvikagal

User avatar

Posts: 2772

Joined: 18 Sep 2013, 01:58

Location: Украина, Павлоград

Your CAR: ВАЗ-21099 1,5л.

SECU version: DIY SECU-3T


Has thanked: 334 times
Been thanked: 449 times

Post 06 Mar 2017, 19:17

Re: Чёрный ящик на Arduino

Это распиновка микроСД, а нужно SD карты.
Верхняя картинка SPI, подключать по ней переходник, а в него вставлять микроСД.
Image

Фьюзы:
60-2/SECU/ДКЗ/бенз-газ/ДД/ДТВ/УДК/ШДГ/ВЗ
Отчёт - viewtopic.php?f=6&t=236
Бортовой компьютер 20*04 - viewtopic.php?p=19996#p19996
SD card logger - viewtopic.php?f=12&t=1029
<<

LVS

User avatar

Posts: 443

Joined: 30 Apr 2013, 23:41

Location: Россия г. Тихорецк п. Братский.

Your CAR: ВАЗ-21074

SECU version: DIY SECU-3


Has thanked: 13 times
Been thanked: 67 times

Post 07 Mar 2017, 06:46

Re: Чёрный ящик на Arduino "SD card logger"

За фузы спасибо. Да я микро сразу хочу поставить. У меня есть карт-ридер сломанный там есть слот для микро, если ставить слот для переходника он начинает выходить за габариты корпуса карт-ридера. Твой рисунок переходника что-то не показывается перезагрузи.
Attachments
Работа с SD картой.rar
(123.78 KiB) Downloaded 40 times
ВАЗ-21074 SECU-3_ раздача СТАТИКА 2chiq. Коммутатор на МК PIC12F675 под прошивку 2chiq. БК под SECU-3. Карбюратор ОЗОН. САУВЗ.
<<

LVS

User avatar

Posts: 443

Joined: 30 Apr 2013, 23:41

Location: Россия г. Тихорецк п. Братский.

Your CAR: ВАЗ-21074

SECU version: DIY SECU-3


Has thanked: 13 times
Been thanked: 67 times

Post 08 Mar 2017, 08:45

Re: Чёрный ящик на Arduino "SD card logger"

Нарисовал плату в ЛАЙ для SD card Logger/ Всё-таки хочу сразу использовать микро SD без переходников. Просьба посмотреть правильно я соединил слот карты с МК. После USB стоят 2 перемычки на это не обращайте внимания просто на помню где на моём шнурке подходит Rxd потом поставлю какую нужно.
Attachments
SD_Plata.rar
(114.53 KiB) Downloaded 36 times
ВАЗ-21074 SECU-3_ раздача СТАТИКА 2chiq. Коммутатор на МК PIC12F675 под прошивку 2chiq. БК под SECU-3. Карбюратор ОЗОН. САУВЗ.
PreviousNext

Return to Полезные устройства для автомобиля

Who is online

Users browsing this forum: No registered users and 2 guests

Powered by phpBB® Forum Software © phpBB Group.