Специальные цены   новые товары
Закрытая тема
Страница 6 из 70 ПерваяПервая ... 4 5 6 7 8 16 ... ПоследняяПоследняя
Показано с 201 по 240 из 2785

Самодельный передатчик (часть 2)

Тема раздела Самодельная электроника, компьютерные программы в категории Общие вопросы; Сообщение от Nick_Shl Интересно, потому что смысла сказанного я не понимаю . Сами пункты у меня тоже статические и хранятся ...

  1. #201
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от Nick_Shl Посмотреть сообщение

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



    У меня наоборот - обновление экрана без прерываний. На главном экране 10 раз в секунду - таймер с сотыми секунды . Обновление всего экрана занимает приблизительно 16 мс - тестировал на железе. Генерация импульсов идёт в прерывании. Все остальные задачи сидят на другом таймере. Для них предусмотрена разрешение прерываний что бы генерация импульсов шла без проблем и не реентерабельность, что бы не подвесить пульт.

    Про симуляцию: Нафиг! У меня с ней были постоянные проблемы. Отлаживатся на железе нужно. Я использовал STK500 совместимый бутлоадер(могу выложить) + вывод отладочной информации в UART. Для связи использовал USB шнурок от старого телефона с конвертером USB-UART внутри.
    Дело в том что я меню реализовал как статическую таблицу переходов, где хранятся не адреса а номера функций отрисовки экрана(структуры не всегда корректно отображаются в протеусе):





    Код:
     void InitDisp(void);    
      void ShowDisp(void);
      void ShowMainDisp(void );
      void ShowStdMenuDisp(void );
      void ShowSelectModelDisp (void );
      void ShowCopyModelDisp (void );   
    .......................................................................
    
    #define MainDisp                                    0
           #define MainMenuDisp                         1
                    #define ModelMenuDisp               2
                            #define SelectModelDisp     3
                            #define SaveModelDisp       4  
                            #define ModelNameDisp       5
                            #define SetTransDisp        6 
                    #define ControlsMenuDisp            7
                            #define MixerDisp           8
                            #define CurveDisp           9 
    ..............................................................................          
    
      
    
    flash unsigned char  *MenuTxt[] =
    {
      "MENU\0",
        "MAIN\0",
           "Model\0",
           "Select\0",
           "Save\0", 
           "Name\0",
           "Trns.\0",
         "Controls\0",
           "Mixers\0",
           "Curve\0", 
       .....................................................
    
    
    flash unsigned char MenuTable[MenuMaxItems][MenuMaxStruct] =      
    {
    //-----------NameMenuDisp-----------|---- ExitDisp-----------|-ExitItem---|--Items--|-IsEndDisp --|----------------- ItemsDisp=MenuMaxDeep-10-------------------------------|
            { MainDisp,                          _NONE_ ,              0,           0  ,       1,            _NONE_,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {  MainMenuDisp,                     MainDisp,             0,           4,         0,            ModelMenuDisp,ControlsMenuDisp,OptionMenuDisp, SaveMenuDisp,_NONE_ },  
            {     ModelMenuDisp,                 MainMenuDisp,         0,           4,         0,            SelectModelDisp,SaveModelDisp, ModelNameDisp,SetTransDisp ,_NONE_}, 
            {       SelectModelDisp,             ModelMenuDisp,        0,      MAX_MODELS,     1,             _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       SaveModelDisp,               ModelMenuDisp,        1,      MAX_MODELS,     1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       ModelNameDisp,               ModelMenuDisp,        2, MAX_MODELS_NAME+1,   1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       SetTransDisp,                ModelMenuDisp,        3,           0,         1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {     ControlsMenuDisp,              MainMenuDisp,         1,           4,         0,            MixerDisp,CurveDisp,ChanelDisp, AdvanceCtrDisp ,_NONE_},
            {       MixerDisp,                   ControlsMenuDisp,      0, MaxControlsNames+1, 1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       CurveDisp,                   ControlsMenuDisp,      1,   CURVE_NODES+1,    1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       ChanelDisp ,                 ControlsMenuDisp,      2,           4,        1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {       AdvanceCtrDisp,              ControlsMenuDisp,      3,           4,        1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {     OptionMenuDisp,                MainMenuDisp,          2,           3,        0,            TimerMenuDisp,BatareyDisp,MonitorDisp ,_NONE_ ,_NONE_},
            {        TimerMenuDisp,              OptionMenuDisp,        0,           0,        1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_}, 
            {        BatareyDisp,                OptionMenuDisp,        1,           0 ,       1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {        MonitorDisp,                OptionMenuDisp,        2,           0 ,       1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {     SaveMenuDisp,                  MainMenuDisp,          3,           3 ,       0,           SaveAllDisp,CopyModDisp ,CopyCtrDisp  ,_NONE_ ,_NONE_},
            {        SaveAllDisp ,               SaveMenuDisp,          0,           1 ,       1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {        CopyModDisp,                SaveMenuDisp,          1,           1 ,       1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_},
            {        CopyCtrDisp,                SaveMenuDisp,          2,           3 ,       1,            _NONE_ ,_NONE_ ,_NONE_ ,_NONE_ ,_NONE_}
      
         
    
    };//end menutable
    собственно само переключение :

    Код:
     JoyMenuSelect(); \\ реакция на енкодер
    
     switch(CurDispState.CurDisp)
          
        
          {
          case MainDisp : ShowMainDisp();
          break;
             case MainMenuDisp: ShowStdMenuDisp();
             break;
                  case ModelMenuDisp: ShowStdMenuDisp();
                  break;
                  case SelectModelDisp : ShowSelectModelDisp();
                  break;
                  case SaveModelDisp: ShowSaveModelDisp();
                  break; 
                  case ModelNameDisp: ShowModelNameDisp();
                  break;        
             case ControlsMenuDisp: ShowStdMenuDisp();
             break;
    ........................................................................
    По прерываниям spi- по даташиту сосетуют использовать прерывания при высоких значениях предделителя от 64 и выше. Обидно терять циклы для ожидания готовности spi.

    На счет железа согласен(пример глюки протеуса при записи еепром), однако мое железо бедет корректироватся в зависимости от реализации программы, а возится с макеткой лень

    Кстати случайно наткнулся на такой проектик http://www.smartpropoplus.com/dnn/Ho...6/Default.aspx
    Правда насколько я понял используется декдирование с помощю аудиокарты.
    Последний раз редактировалось VRV; 10.12.2009 в 12:32.

  2.  
  3. #202

    Регистрация
    07.01.2008
    Адрес
    Крым
    Возраст
    56
    Сообщений
    874
    Записей в дневнике
    7
    Цитата Сообщение от EagleB3 Посмотреть сообщение
    Файл надо заложить в какое-нибудь файлохранилище
    Например, torrents.ru

  4. #203

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Цитата Сообщение от msv Посмотреть сообщение
    Уж очень хочется нормально отлаживаться в протеусе (7.5 SP3), а он, зараза, не хочет адресовать больше 256 байт епрома.
    Глючит. И 7.6SP0 глючит. Он нормально (вроде как) сохраняет/читает с адресов дальше 0x00ff, но не ватчит. Даже через волатил не ватчит.

    На всякий случай еще задал вопрос здесь.

    Цитата Сообщение от Nick_Shl Посмотреть сообщение
    Смотрел - нет экрана, а это много слесарщины. Не хочу.
    Насчет много слесарщины - в VG400 место "под дисплей" очень тонкое. Я взял дисплей с полупропусканием и подсветкой (TIC154+TB1038S), и пришлось стачивать бортики окантовки (чтобы стекло дисплея поднялось "на себя"). Гравером, вручную, выдерживая равную высоту - это еще то скульптуротворчество. Потом выровнял "холодной сваркой" - собирался резьбовые стойки вклеить, но толщина слоя там получилась никакая. Вот и пришлось пружины мутить. И еще плюс стачивать понижения под головки винтов на нижней крышке. Так что количество слесарщины вполне сравнимо (КМК) с притыканием дисплея во внешней коробочке.

    А с дисплеем во внешней коробочке (корпус от старого пейджера?) можно очень красиво и юзефульно выступить! Навесить дисплей на кронштейне, можно даже с изменяемым углом наклона. Я собирался так сделать, если бы стал врезаться в корпус Сигнала (Алексей Гореликов мне подарил). Он весь такой параллелепипедальный с закругленными гранями - внешний дисплей бы на нем получился очень-очень к месту.

    Ну да на вкус и цвет, как говорится...

    Цитата Сообщение от DD! Посмотреть сообщение
    А не подскажете где VG400 за 10 евро продают
    Я в Москве оторвал. С рук, б/у. Повезло...
    Последний раз редактировалось EagleB3; 10.12.2009 в 17:38.

  5. #204

    Регистрация
    20.11.2007
    Адрес
    харьков,украина
    Возраст
    47
    Сообщений
    96
    Цитата Сообщение от Nick_Shl Посмотреть сообщение
    На счёт этого не знаю. Думаю кнопок + ручек более чем достаточно для управления. А энкодерам место для управления триммерами. Я раньше такую мысль высказывал, а потом оказалось что это не моё ноу-хау - у старших моделей футаб именно так и сделано . Вот только реализовать в железе 4-ре энкодера для управления триммерами не тривиальная задачка...
    наконец энкодер вместо кнопок
    а нельзя ли сделать как то так что бы все управлялось с одного колеса как в футабе ?

  6.  
  7. #205

    Регистрация
    20.03.2007
    Адрес
    Minneapolis, MN, US
    Возраст
    38
    Сообщений
    344
    Цитата Сообщение от DD! Посмотреть сообщение
    Не подскажете какой самый большой шаг у ЛПС, по ЛУТ получает делать платы для FT232R, а у нее шаг 0,65, да и мне кажется что с помощью ЛУТ можно делать платы еще с меньшим шагом, главное терпение.
    Шаг 0,5. Получается ножка 0,25 и межноговое пространство 0,25...
    А насчёт терпения: я уже натерпелся когда плату делал. Первая получилась с первого раза а от вторая...

    Цитата Сообщение от DD! Посмотреть сообщение
    И можно поподробнее как вы отлаживаете и если есть что выложить - выкладываейте. заранее спасибо
    Всё очень просто. В CodeVisionAVR есть всё что надо: программатор и терминал. Для прошивки нужно прошить бутлоадер с поддержкой STK500 протокола. Бутлоадер можно взять тут. Компилировать нужно WinAVR. Зашивать в область бутлоадера и прошить фузы с загрузкой через бутблок. Перед компиляцией нужно подрпавить F_CPU в makefile и в коде определения для входа:
    Код:
    #ifdef __AVR_ATmega128__
    #define BL_DDR  DDRD
    #define BL_PORT PORTD
    #define BL_PIN  PIND
    #define BL0     PIND5
    #define BL1     PIND4
    Код немного подправлен, возможна работа только через UART0(можно легко исправить) - он сидит на порту программатора, так что проблем нет.
    Далее добавляем код:
    Код:
    // *****************************************************************************
    // ***   Работа с COM портом - сгенерирована CodeVisionAVR   *******************
    // *****************************************************************************
    #define RXB8 1
    #define TXB8 0
    #define UPE 2
    #define OVR 3
    #define FE 4
    #define UDRE 5
    #define RXC 7
    
    #define FRAMING_ERROR (1 << FE)
    #define PARITY_ERROR (1 << UPE)
    #define DATA_OVERRUN (1 << OVR)
    #define DATA_REGISTER_EMPTY (1 << UDRE)
    #define RX_COMPLETE (1 << RXC)
    
    // USART0 Receiver buffer
    #define RX_BUFFER_SIZE0 32
    char rx_buffer0[RX_BUFFER_SIZE0];
    
    #if RX_BUFFER_SIZE0 < 256
        unsigned char rx_wr_index0, rx_rd_index0, rx_counter0;
    #else
        unsigned int rx_wr_index0, rx_rd_index0, rx_counter0;
    #endif
    
    // This flag is set on USART0 Receiver buffer overflow
    bit rx_buffer_overflow0;
    
    // USART0 Receiver interrupt service routine
    interrupt [USART0_RXC] void usart0_rx_isr(void)
    {
        char status, data;
        status = UCSR0A;
        data = UDR0;
        if((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN)) == 0)
        {
            rx_buffer0[rx_wr_index0] = data;
            if(++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0 = 0;
            if(++rx_counter0 == RX_BUFFER_SIZE0)
            {
                rx_counter0 = 0;
                rx_buffer_overflow0 = 1;
            };
        };
    }
    
    #ifndef _DEBUG_TERMINAL_IO_
    // Get a character from the USART0 Receiver buffer
    #define _ALTERNATE_GETCHAR_
    #pragma used+
    char getchar(void)
    {
        char data;
        while(rx_counter0 == 0);
        data = rx_buffer0[rx_rd_index0];
        if (++rx_rd_index0 == RX_BUFFER_SIZE0) rx_rd_index0 = 0;
        #asm("cli")
        --rx_counter0;
        #asm("sei")
        return data;
    }
    #pragma used-
    #endif
    
    // USART0 Transmitter buffer
    #define TX_BUFFER_SIZE0 32
    char tx_buffer0[TX_BUFFER_SIZE0];
    
    #if TX_BUFFER_SIZE0 < 256
        unsigned char tx_wr_index0, tx_rd_index0, tx_counter0;
    #else
        unsigned int tx_wr_index0, tx_rd_index0, tx_counter0;
    #endif
    
    // USART0 Transmitter interrupt service routine
    interrupt [USART0_TXC] void usart0_tx_isr(void)
    {
        if(tx_counter0)
        {
            --tx_counter0;
            UDR0 = tx_buffer0[tx_rd_index0];
            if(++tx_rd_index0 == TX_BUFFER_SIZE0) tx_rd_index0 = 0;
        };
    }
    
    #ifndef _DEBUG_TERMINAL_IO_
    // Write a character to the USART0 Transmitter buffer
    #define _ALTERNATE_PUTCHAR_
    #pragma used+
    void putchar(char c)
    {
        while(tx_counter0 == TX_BUFFER_SIZE0);
        #asm("cli")
        if(tx_counter0 || ((UCSR0A & DATA_REGISTER_EMPTY) == 0))
        {
            tx_buffer0[tx_wr_index0] = c;
            if(++tx_wr_index0 == TX_BUFFER_SIZE0) tx_wr_index0 = 0;
            ++tx_counter0;
        }
        else UDR0 = c;
        #asm("sei")
    }
    #pragma used-
    #endif
    
    // *****************************************************************************
    // ***   Конец кода работы с COM портом   **************************************
    // *****************************************************************************
    Он нужен для вывода в UART. Теперь можно выводить отладочную информацию в UART:
    Код:
    #ifdef DEBUG
        printf("MODEL_Init(%d);\r", ModelNum);
        delay_ms(1);
    #endif
    Большинство проблемных мест так отлаживал. Потому как в Протеусе вообще ничего сделать не могу - как-то он отладку по исходному коду хреново делает. Или глючит. Например вместо линии при некоторых условиях получалась ерунда. Надоело с ним баловался...


    Цитата Сообщение от VRV Посмотреть сообщение
    По прерываниям spi- по даташиту сосетуют использовать прерывания при высоких значениях предделителя от 64 и выше. Обидно терять циклы для ожидания готовности spi.
    Ясно. Просто у меня экран с контроллером KS0108, а там 8 бит данных + доп сигналы. Управлять им приходится полностью программно.

    Цитата Сообщение от VRV Посмотреть сообщение
    На счет железа согласен(пример глюки протеуса при записи еепром), однако мое железо бедет корректироватся в зависимости от реализации программы, а возится с макеткой лень
    Так может с этого и стоит начать? Стделать ТЗ, развести плату, сделать. Разводить с заделом на будущее - все неиспользуемые ноги на разёмы.
    После первой сделаете вторую - без всех недостатков . Именно так было у меня. Вначале сделал одну, увидел недостатки и сделал вторую версию.

    Цитата Сообщение от EagleB3 Посмотреть сообщение
    Я взял дисплей с полупропусканием и подсветкой (TIC154+TB1038S)
    Вот себе хочу именно такую комбинацию, только с TB1025S(белая).Кстати, сколько стоит такая комбинация в $ ?
    Жаль что трёхцветных подсветок на такие TICи нет...

  8. #206

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Цитата Сообщение от Nick_Shl Посмотреть сообщение
    Вот себе хочу именно такую комбинацию, только с TB1025S(белая).Кстати, сколько стоит такая комбинация в $ ?
    Я брал в "Тритоне", причем взял и зеленую, и белую - чтобы посмотреть и решить какая лучше. Благо цена на них смешная.
    Зеленая имеет приятный салатовый оттенок - ее и решил поставить. Белый мне показался очень холодным, мертвым каким-то.
    Все подсветки стоили по $2 +/-30 центов (белая = 63руб, зеленая = 52руб (голубая - столько же). И дисплей 225 руб.

    ... А можно про бутлоадер популярно в двух словах (или ссылочку)? Никогда такой штукой не пользовался. Что он дает? В чем его прелесть при наличии программатора и разъеме SPI, выведенном наружу в укромном месте? Можно ссылочку на какое-нибудь доходчивое нравоучение?

    ...Я уже писал здесь где-то, что пользуюсь CVAVR с USB-шным программатором = аналог AVRISP, причем он умеет принимать отладочную информацию по SPI-шинам, тем же, по которым идет внутрисхемное программирование. Так что в любую программу добавляются два малюсеньких кусочка (описание линий и альтернативная функция putchar) + вызов инициализации в main. И все - вывод putchar'ом и printf'ом перенаправляются в SPI. UART камня можно при этом вообще не использовать и не инициализировать.
    AStudio с этим программатором тоже прекрасно работает. Она проверяет версию фирмвари подключенных к ней программаторов и ругается, если версия слишком старая. так вот в моем программаторе версия фирмвари меняется из того же терминала: double "Enter", видим запрос и вводим желаемую версию.

    Для ATMEGA8535 первый кусочек выглядит так:

    Код:
    #define MOSI PORTB.5
    #define MISO PORTB.6
    #define   SCK PORTB.7
    #define MMS_OutNull 0b11100000 //MOSI, MISO, SCK = Out, Null
    
    
    // Declare your global variables here
    
    void init_debug(void)
    {
      PORTB=0x00;
      DDRB=MMS_OutNull;     //MISO, MOSI, SCK = Out, Pullup     //0x38
      MOSI=1;               //сигнал MOSI = используется как SS
      delay_us(500);
      MOSI=0;
      delay_us(500);
    }
    
    void putchar( char c)
    {
      unsigned char n;
      for (n=0;n<8;n++)
      {
        if (c & 1) MISO=1; // сигнал MISO = данные
        else MISO=0;
        SCK=0;             // сигнал SCK = clock
        delay_us(30);
        SCK=1;
        delay_us(30);
        c=c>>1;
      }
    }
    Одна мелкая неприятность - CVAVR почему-то не любит, когда терминал и программатор на одном COM-порту (а именно так оно в этом случае и получается); при запуске терминала каждый раз выдает предупреждение о возможном конфликте и не реагирует на кнопку Reset в интерфейсе терминала.

    P.S. Прошивку программатора я брал из другого места, которое сейчас почему-то недоступно. если кому-то потребуется - пишите, пришлю или выложу.
    Последний раз редактировалось EagleB3; 11.12.2009 в 11:03.

  9. #207

    Регистрация
    20.03.2007
    Адрес
    Minneapolis, MN, US
    Возраст
    38
    Сообщений
    344
    Цитата Сообщение от EagleB3 Посмотреть сообщение
    Я брал в "Тритоне", причем взял и зеленую, и белую - чтобы посмотреть и решить какая лучше. Благо цена на них смешная.
    Зеленая имеет приятный салатовый оттенок - ее и решил поставить. Белый мне показался очень холодным, мертвым каким-то.
    Все подсветки стоили по $2 +/-30 центов (белая = 63руб, зеленая = 52руб (голубая - столько же). И дисплей 225 руб.
    Ещё жёлтая думаю должна быть симпатичной. Жаль, что у них ничего толком про почту не расписано - боюсь в Беларусь могут и не отправить. Да и со способами оплаты ничего не ясно...

    Цитата Сообщение от EagleB3 Посмотреть сообщение
    ... А можно про бутлоадер популярно в двух словах (или ссылочку)? Никогда такой штукой не пользовался. Что он дает? В чем его прелесть при наличии программатора и разъеме SPI, выведенном наружу в укромном месте? Можно ссылочку на какое-нибудь доходчивое нравоучение?
    С ссылкой сложно. Я искал в поиске. Конкретно про выложенный бутлоадер можно найти глянув в заголовок файлов что я выложил и забив в поисковике. Смысл бутлоадера в том, что бы запускатся перед программой и выполнять какие либо действия перед передачей ей управления. Например обновление прошивки. Это у нас она открытая, а если проект коммерческий, то прошивка должна быть защищена от "пионеров". Её шифруют, а бутлоадер перед записью дешифрует. Бутлоадер записывается в специальную область. Команды записи во флеш работают только из этой области. Для защиты самого лоадера его область можно закрыть на запись, что бы он сам себя не грохнул.
    Теперь про прелесть для нас: 128-ая мега шьётся не через SPI, а через UART. И если вы вывели прошивочный разъём, то вывели и UART. Я же его вывел в виде миниджека на боковую строну. А на кабеле ответный разъём - как у наушников. Количество необходимых проводов уменьшается с 5/6-ти до 3-х.

    Цитата Сообщение от EagleB3 Посмотреть сообщение
    ...Я уже писал здесь где-то, что пользуюсь CVAVR с USB-шным программатором = аналог AVRISP, причем он умеет принимать отладочную информацию по SPI-шинам, тем же, по которым идет внутрисхемное программирование.
    Сразу минус: всё программно. У меня же UART работает по прерываниям - меньше вносимые погрешности.

    Цитата Сообщение от EagleB3 Посмотреть сообщение
    Одна мелкая неприятность - CVAVR почему-то не любит, когда терминал и программатор на одном COM-порту (а именно так оно в этом случае и получается); при запуске терминала каждый раз выдает предупреждение о возможном конфликте и не реагирует на кнопку Reset в интерфейсе терминала.
    Есть такое, но в версии 2 меня как-то не особо напрягает. Главное закрыть терминал перед открыванием программатора и наоборот...

  10.  
  11. #208
    DD!
    DD! вне форума

    Регистрация
    11.11.2008
    Адрес
    Рязань
    Возраст
    36
    Сообщений
    117
    EagleB3: про бут лоадер у ди халта хорошо написано http://easyelectronics.ru/avr-uchebn...otloadera.html

  12. #209

    Регистрация
    07.07.2004
    Адрес
    Москва
    Возраст
    46
    Сообщений
    24
    У меня другая мысль была по поводу использования UART - сохрянять и восстанавливать настройки передатчика на компьютере. Или передавать на другой передатчик. У меня передатчика два, работают в режиме тренер-ученик. Было бы здорово иметь возможность передавать настройки. Для обмена между передатчиками вообще ничего кроме проводов не надо, а для обмена с компом нужен либо преобразователь уровней, либо радикальнее сразу переходник со специализированной микросхемой для подключения в USB.

  13. #210

    Регистрация
    07.01.2008
    Адрес
    Крым
    Возраст
    56
    Сообщений
    874
    Записей в дневнике
    7
    Можно использовать FDTI232RL USB-UART. Обвески практически никакой.

  14. #211

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Цитата Сообщение от Евгений Зайцев Посмотреть сообщение
    У меня другая мысль была по поводу использования UART - сохрянять и восстанавливать настройки передатчика на компьютере
    Вот потому я на своей плате кодера разъем SPI наружу и вывел. Хочешь - EEPROM (со всеми настройками) слей, хочешь - залей. И как UART работает - по крайней мере в направлении "из кодера наружу" - я выше написал...

  15. #212
    DD!
    DD! вне форума

    Регистрация
    11.11.2008
    Адрес
    Рязань
    Возраст
    36
    Сообщений
    117
    Цитата Сообщение от Texnik Посмотреть сообщение
    Можно использовать FDTI232RL USB-UART. Обвески практически никакой.
    вот еще одна микросхема АРМ надо

  16. #213

    Регистрация
    07.07.2004
    Адрес
    Москва
    Возраст
    46
    Сообщений
    24
    Цитата Сообщение от DD! Посмотреть сообщение
    вот еще одна микросхема АРМ надо
    Я не уверен, что надо ее в передатчик ставить. В свое время купил за 300 рублей интерфейс к телефону Sony-Erricson. Внутри UART-USB преобразователь Profilic PL2003. Хвост к телефону сразу обрезал и сделал трехпиновый разъем - RX, TX, земля. В результате, любое устройство с UART подключается через USB легко и непринужденно.

  17. #214
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Между делом созрела очередная версия..
    Предполагаю мягко говоря неодназначную реакцию пользователей моей проги, и схему надо менять, и структура eeprom опять поменялось ( конфигурацию со старой версии не восстановить), но что поделать, прогресс не удержишь...

    1. Устранена "сиплость" звуков использованием аппаратной генерацией меандра. К сожалению для этого пришлось изменить схему. Бузер теперь следует подключить к PE3, а переключатель SW2_1, который сидел на этой ноге, к PE1. Зато теперь можем насладится кристально чистыми рингтонами...
    2. Возможность изменения всех параметров и навигации по меню крутилкой AddProp. Для включения этого, находясь в режиме редактирования параметра (когда циферка мигает), достаточно сдвинуть пот на 10%. Тк. пот все же не энкодер, параметр устанавливается пропорционально абсолютному углу резистора. Если требуется более точная коррекция значения, всегда можно воспользоваться обычным способом- стрелками вверх/вниз. Находясь в меню, так же можно двигаться по пунктам накручивая этот резистор.
    3. В опциях сделано подменю "Alarms". Там кроме установки контроля батареи, можно теперь установить порог звуковой сигнализации выход за минимальный порог тока в антене.
    4. Изменена логика обработки сигналов (см диаграмму). Определены два уровня конструктора каналов - логический (индивидуальные настройки для режимов полета) и физический (не зависит от режима). Идея такая- конструируем сначала логический канал, не задумываясь в какую сторону стоят сервы ( это уже "физика"). И на последнем этапе подстраиваемся под механическую реализацию приводов. Убрал реверс до микшера, тк можно (и нужно, если этого требует логика) использовать отрицательные значения микшера. На физическом уровне можно накручивать субтриммеры (точная установка "нуля" сервы), нижнюю и верхнюю границы ее отклонения (EPA) и реверс.
    5. Добавлен контроль CRC EEPROM. При включении, если что не так, будет противный звук с предложением все сбросить по умолчанию.
    6. Устранен случайно найденный серьезный косяк всех предыдущих версиях. Если использовать очень сложные микшеры для какого-нибудь канала (задать ненулевые значения для всех контролов), при уменьшения его ниже некоторого значения, формирование PPM срывалось. Теперь все хорошо..
    Нажмите на изображение для увеличения
Название: diagram.jpg
Просмотров: 262
Размер:	87.6 Кб
ID:	304145
    http://narod.ru/disk/15888420000/3310_1_8.rar.html
    Хочу предупредить- версия только что "из под пера", о найденных косяках старайте сообщать без особого раздражения...

  18. #215

    Регистрация
    17.11.2006
    Адрес
    Нижний Новгород
    Возраст
    57
    Сообщений
    347
    А AddProp - это который на 8 канал?
    Может полную схему выложишь?

  19. #216
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    AddProp - дополнительный пропорциональный канал, у меня обычный переменный резистр. Окончательной схемы нет, буду благодарен если кто-нибудь её нарисует.
    Забыл о главном..
    7.Наибольно популярные кривые (линейная, экспанента, логорифм) теперь можно задать единственным параметром. Отрицательное значение соответствует экспоненциальной кривой, положительное-логорифмической, 0- догодайтесь сами...
    Возможность накручивать произвольную кривую по точкам осталась.

  20. #217

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Цитата Сообщение от Denn Посмотреть сообщение
    Может полную схему выложишь?
    По идее оно выглядит вот так. Архив 256Кб, внутри BMP на 10 метров. Сконвертировать можете сами во что угодно.

  21. #218
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Прошу уточнить на схеме: PF0- датчик тока антены, PF1- датчик температуры, PD0- тахометр.

  22. #219

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    А схемы этих датчиков есть? По уму бы их следовало бы сразу на схему добавить...
    Датчик температуры, кажется, LM35? Тогда с ним вопросов нет.
    А датчик тока? А тахометр?

    ...Кстати, я, когда исследовал историю этой ветки, так и не понял в чем прелесть датчика температуры. Это выносной зонд, температуру головки ДВС измерять? Или как?

  23. #220

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Ну не могу молчать! Ну распирает меня!!!

    Сегодня сделал печатную плату под "Санву VG400". Получилось ПРОСТО СУПЕР!!!!!
    Кому интересно и кто трафика не боится - вот общий вид снизу (542Кб) и макро вид одного участка (854Кб). Это я не наилучший участок фотал - она по качеству ВСЯ ТАКАЯ!

    Еще не сверленая, не луженая и в размер не обрезалась. Протравлена, помыта, канифольным лаком покрыта - от него на дорожках "шагрень" и разводы. На макро снят участок возле ног 17..28. Две пары площадок под 0805 почти по центру - это конденсаторы обвязки кварца. Ширина дорожек 20th (0,508мм).

    Делалось с фоторезистом ПНФ-ВЩ.
    Крестики - "прицелы" для совмещения слоев верха и низа.

    Цитата Сообщение от msv Посмотреть сообщение
    Прошу уточнить на схеме: PF0- датчик тока антены, PF1- датчик температуры, PD0- тахометр.
    Сделано. Текстом. И про буззер безвстроенногенераторный - тоже. Новая ссылка на схему
    Последний раз редактировалось EagleB3; 12.12.2009 в 23:31.

  24. #221
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от vvvv Посмотреть сообщение
    наконец энкодер вместо кнопок
    а нельзя ли сделать как то так что бы все управлялось с одного колеса как в футабе ?
    пару постов назад кидал проект в протеусе с меню на знкодере(колесо+кнопка=от мыши)

    EagleB3, по собственному опыту, старайся не делать ререходов под смд, их тогда паять трудно, а так симпатично. После 5 числа ожидаю свою вг400, буду ломать

    И еще вопрос больше к моделистам, кто активно использует пульты. Какие функции в основном задействованы? Какие лишние? Каких не хватает? Если у кого есть желание и терпение-накидайте примерную структуру ВАШЕГО меню. Если подобный вопрос обсуждался- кинте ссылку.

  25. #222
    DD!
    DD! вне форума

    Регистрация
    11.11.2008
    Адрес
    Рязань
    Возраст
    36
    Сообщений
    117
    Видимо нет, просто температуру среды мерять. У меня стоит какойто подобный от микрочипа, этого когда покупал не было. И еще хотел давно спросить: когда датчик калибруешь, показания должны быстро скакать?

  26. #223
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Схема формирователя тахометра отсюда:
    http://radiokot.ru/circuit/digital/m...03/index.shtml
    У меня несколько изменена, но и оригинальная думаю будет работать.
    Датчик тока антенны можно здесь разглядеть:
    http://forum.rcdesign.ru/attachment....2&d=1252103959
    (мой ВЧ-модуль).
    В датчике температуры особого смысла нет, просто был свободны вход АЦП..
    TMP36 - стоит в корпусе передатчика, подальше от всяких "грелок". Бывает итересно глянуть температуру, особенно зимой..
    Какие функции в основном задействованы?
    Я не пользуюсь двойными расходами. Вместо этого расходы настраиваю в режимах полета. Но это как-бы стандарная функция и убирать их совсем пока не тороплюсь..

  27. #224

    Регистрация
    17.11.2006
    Адрес
    Нижний Новгород
    Возраст
    57
    Сообщений
    347
    По поводу схемы:
    Появилась новая версия Splan 7 . Много хорошего!
    http://kazus.ru/forums/showthread.php?t=13740&page=28

  28. #225
    DD!
    DD! вне форума

    Регистрация
    11.11.2008
    Адрес
    Рязань
    Возраст
    36
    Сообщений
    117
    Цитата Сообщение от msv Посмотреть сообщение
    Схема формирователя тахометра отсюда:
    http://radiokot.ru/circuit/digital/m...03/index.shtml
    там на схеме перепутаны все ножки операционника, сначала долго думал почему не работает

    PS: msv, не ответете на счет показаний датчика температуры при калибровке?

  29. #226
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Конечно ничего скакать не должно. Гляньте осцилографом, что идет с датчика на вход ацп. Датчик нужно обязательно шунтировать емкостью по питанию в непосредственной близости, и выход мне тоже пришлось шунтировать, иначе с него шел возбуд..

  30. #227
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от EagleB3 Посмотреть сообщение
    Глючит. И 7.6SP0 глючит. Он нормально (вроде как) сохраняет/читает с адресов дальше 0x00ff, но не ватчит. Даже через волатил не ватчит.



    Неожиданно нашлось решение, точнее даже не решение а просто оно заработало.
    Выдрал мегу со старого проекта- в еепром пишется и трассируется до конца. Сылка http://narod.ru/disk/15823597000/encoder.rar.html , единственное , что было замечено при переносе мк на новый лист волшебство пропадает и снова глюк до 255 ячейки. Т.е. проверять прошивку нужно на этом листе. Если у кото разберется в чем проблема- сообщите, будет интересно узнать в каком месте искривлены руки

  31. #228
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Похоже довыпендривался с чехардой версий до первой помидорины на форуме...
    Ну когда то ж надо начинать..
    Сейчас хочу написать движок для менюшек, по заветам Nick_Shl.
    С тем, что сейчас наворочено, может разобраться только автор (да и то с трудом..).
    Жутко не хватает прелестей ++, инкапсуляция, перегрузка функций, наследование и проч. радостей объект.ориентированного программирования. Ну ничего справимся. Вот только по срокам ничего обещать не могу..

  32. #229
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от msv Посмотреть сообщение
    Похоже довыпендривался с чехардой версий до первой помидорины на форуме...
    Ну когда то ж надо начинать..
    Сейчас хочу написать движок для менюшек, по заветам Nick_Shl.
    С тем, что сейчас наворочено, может разобраться только автор (да и то с трудом..).
    Жутко не хватает прелестей ++, инкапсуляция, перегрузка функций, наследование и проч. радостей объект.ориентированного программирования. Ну ничего справимся. Вот только по срокам ничего обещать не могу..
    Основная причина, по которой начал переписывать выложенное, невозможность разобратся с меню в исходниках + хотелось убрать/добавить свои функции.
    Сейчас в очередной раз переписал движок меню(отличается от прев. поста). Основная концепция- свободное добавление/удаление/перемещение пунктов и подпунктов, с сохранением понятной структуры. Процедура отрисовки самого меню стандартная, а конечные пункты, при выборе которых изменяются параметры вынесены в отдельные процедуры, которые входят в описание меню в качестве адресов. Также перенес генерацию звука, обработку энкодера и обновление буфера на прерывания(можно усложнять математику, т.к. освобождается время мк).

  33. #230
    Забанен
    Регистрация
    01.12.2008
    Адрес
    Киев
    Возраст
    32
    Сообщений
    95
    2 msv, скажите пожалуйста, печатка останетса прежней, поменяетса только прошивка?
    А то я начал работу над платой кодера и не хочетса ее потом выкидывать!
    Спасибо, буду следить за розвитием проекта и ждать новой прошивки!

  34. #231
    msv
    msv вне форума

    Регистрация
    05.03.2008
    Адрес
    Новокузнецк
    Возраст
    58
    Сообщений
    2,376
    Пока в очередной версии предполагается только внутренний редизайн, правда весьма серьезный. Схема, функциональность да и внешний вид не изменится.

  35. #232

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    Я лично развел плату под последние изменения msv (с переносом звука).
    И сделал так, чтобы ни одна ныне пустая нога процессора не осталась без дорожки с контактной площадкой - потом будет можно легко проводишку припаять, если занадобится.

    Собираюсь выложить проект в Протеусе (плата под Санву VG400 + TIC154; может, кому сгодится типа референса), но сначала хочу свою железяку запустить. Вдруг косяки всплывут...

  36. #233
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от EagleB3 Посмотреть сообщение

    Собираюсь выложить проект в Протеусе (плата под Санву VG400 + TIC154; может, кому сгодится типа референса), но сначала хочу свою железяку запустить. Вдруг косяки всплывут...
    Біло бі неплохо, тк тоже под санву расчитіваю.

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

    Предваврительно обявленные функции отрисовки. При этом само меню рисует функция ShowStdMenuDisp(void ) , а остальные- экраны ввода параметров.
    Код:
     void ShowMainDisp(void );
      void ShowStdMenuDisp(void );
      void ShowSelectModelDisp (void ); 
      void ShowSaveModelDisp (void );
      void ShowCopyModelDisp (void );   
      void ShowModelNameDisp (void );  
      void ShowMixerDisp (void );
      void ShowCurveDisp (void );
      void ShowSetingTimerDisp (void );
      void ShowBatareyDisp (void );        
      void ShowSoundDisp (void );  
      void ShowDRExpDisp( void ); 
      void ShowChReversDisp ( void );    
      void ShowCHLimitDisp( void );    
      void ShowMonitorDisp ( void );
      void ShowSaveAllDisp ( void );
      void ShowCopyModDisp  ( void ); 
      void ShowCopyCtrDisp ( void );
    Сама структура меню- все ясно и понятно(перемещение строк внутри таблицы влечет изменение меню на экране-удобно переносить и добавлять пункты)
    Код:
    flash MENU_STRUCT MenuTable[MenuMaxItems]=      
    {
    //-|---NameMenuDisp---|------|level|--|----Param-|-------|---------FUNC----------
    {"SCR",                       0,        0,                   &ShowMainDisp},
    {   "Main",                   1,        0,                   &ShowStdMenuDisp},
    {     "Model",                2,        0,                   &ShowStdMenuDisp},
    {       "Select",             3,    MAX_MODELS,              &ShowSelectModelDisp},
    {       "Save",               3,    MAX_MODELS,              &ShowSaveModelDisp},
    {       "Name",               3,    MAX_MODELS_NAME+1,       &ShowModelNameDisp},
    {       "Mode",               3,        0,                   &ShowStdMenuDisp},//&&
    {     "Settings",             2,        0,                   &ShowStdMenuDisp},
    {       "Controls",           3,        0,                   &ShowStdMenuDisp},
    {          "Curve",           4,    CURVE_NODES+1,           &ShowCurveDisp },
    {          "DR&Exp",          4,        3,                   &ShowDRExpDisp},
    {       "Chanels",            3,        0,                   &ShowStdMenuDisp},
    {          "Mixers",          4,   MAX_OUT_CHANS+1,          &ShowMixerDisp},
    {          "CH limit",        4,        4,                   &ShowCHLimitDisp},
    {          "CH revers",       4,    MAX_OUT_CHANS,           &ShowChReversDisp},
    {     "Options",              2,        0,                   &ShowStdMenuDisp},
    {       "Timer",              3,        0,                   &ShowSetingTimerDisp},
    {       "Sound",              3,        1,                   &ShowSoundDisp},
    {       "Batarey",            3,        3,                   &ShowBatareyDisp},
    {       "Monitor",            3,        0,                   &ShowMonitorDisp},
    {     "Save&Copy",            2,        0,                   &ShowStdMenuDisp},
    {        "Save All",          3,        1,                   &ShowSaveAllDisp},
    {        "Copy MDL",          3,        1,                   &ShowCopyModDisp},
    {        "Copy CH",           3,        3,                   &ShowCopyCtrDisp}
    
                                               
    };//end menutable

    Ну и процедуры перемещения по меню
    Код:
    
    void CalcMenu(void)
    {
    unsigned char i,k;
    k=0;
    CurDispState.SubItems=0;
     for (i=CurDispState.CurDisp+1;i<MenuMaxItems;i++)
     { 
       if (MenuTable[i].MenuLvl==MenuTable[CurDispState.CurDisp].MenuLvl) {break;} 
       if (MenuTable[i].MenuLvl==MenuTable[CurDispState.CurDisp].MenuLvl+1) 
       {CurDispState.SubItemArr[k]=i;k++;}
     }
     CurDispState.SubItems=k;
    }
    
    void EnterMenu(void)
    {
    
    
    
    if (CurDispState.CurDisp)
    {
    CurDispState.CurDisp=CurDispState.SubItemArr[CurDispState.SelectPos];
    CalcMenu();
    }
    else
    {
    CurDispState.CurDisp=1;
    CalcMenu();
    }
    CurDispState.SelectPos=0;
    CurDispState.CurVal=0;
    CurDispState.CurVal2=0;   
    CurDispState.IsSelected=0;
    CurDispState.AddVal=0;
    }
    
    void ExitMenu(void)
    {
    unsigned char l,i;
    
    
    if (MenuTable[CurDispState.CurDisp].MenuLvl>1) //??
     
     {
        l=CurDispState.CurDisp;
        for (i=CurDispState.CurDisp;i>0; i--) 
        {
            if (MenuTable[i].MenuLvl==MenuTable[CurDispState.CurDisp].MenuLvl-1) {CurDispState.CurDisp=i;break;}
        }
     
        CalcMenu(); 
    
        for (i=0;i<CurDispState.SubItems; i++)
         {
         if (l==CurDispState.SubItemArr[i]) {break;}
        } 
         CurDispState.SelectPos=i;
     } 
     else
     {
      CurDispState.CurDisp=0;   //go main scr
     } 
     
    
    }
    
    
    void DrawFunc(FuncPtr Function)
    {
    //	if ((void*)Function == NULL)
    //	  return;
    
    	((FuncPtr)Function)();
    }
    
    
     void ShowDisp (void)
    {  
    
     
       
    
     
     if (IsKeyChange()||CurDispState.NeedUpdate) 
     {  JoyMenuSelect();  
     CurDispState.NeedUpdate=0;
     DrawFunc (MenuTable[CurDispState.CurDisp].Func);
     }
     
    
    
    }

  37. #234

    Регистрация
    15.05.2009
    Адрес
    Москва
    Возраст
    54
    Сообщений
    1,672
    А может ли кто-нибудь прояснить: в чем состоит смысл каскада, собранного на VT2 и кусочке 4066 с выводами "10, 11, 12"?

    ... Допер! Кажется. Я так понимаю, это предохранитель от обрыва шнурка. Если "PPM in" перестает приходить на базу VT2, то, независимо от положения SA13 ("Тренер-Ученик") на кодер пойдет "свой" PPM, а не внешний.

    Так?
    Последний раз редактировалось EagleB3; 19.12.2009 в 20:44.

  38. #235
    VRV
    VRV вне форума

    Регистрация
    25.09.2009
    Адрес
    Sevastopol
    Возраст
    40
    Сообщений
    75
    Цитата Сообщение от EagleB3 Посмотреть сообщение
    А может ли кто-нибудь прояснить: в чем состоит смысл каскада, собранного на VT2 и кусочке 4066 с выводами "10, 11, 12"?

    ... Допер! Кажется. Я так понимаю, это предохранитель от обрыва шнурка. Если "PPM in" перестает приходить на базу VT2, то, независимо от положения SA13 ("Тренер-Ученик") на кодер пойдет "свой" PPM, а не внешний.

    Так?
    А есть ли смысл делать каскад для подключения 2 пульта, если данная опция вряд ли когда будет использована?

  39. #236
    ubd
    ubd вне форума

    Регистрация
    17.03.2003
    Адрес
    г.Осинники, Кемеровская обл
    Возраст
    40
    Сообщений
    4,270
    Так?
    Да.


    А есть ли смысл делать каскад для подключения 2 пульта, если данная опция вряд ли когда будет использована?
    Если ты не собираешься когото обучать полётам и не собираешься передатчик к симулятору подключать, то не нужна. Тренерский разъём, этот как бы неотемлемая часть любой более менее нормальной аппаратуры.

  40. #237

    Регистрация
    20.12.2004
    Адрес
    Минск
    Возраст
    47
    Сообщений
    556
    Цитата Сообщение от msv Посмотреть сообщение
    Между делом созрела очередная версия..
    Сергей, подскажите, почему не проходит калибровка пропорциональных ручек?
    Кручу ручки и крутилку 8-го канала - все ок. Ставлю по центру - точки выделяются квадратиками, как я понимаю, что центр ОК, нажимаю кнопку "Вправо" и после калибровки термометра выдает ошибку калибровки?

    Плюс заметил, что в мониторе триммеры воздействуют на свои каналы, а в главном меню при отображении положения триммров каналы 3 (Trottle) и 2 (Elevator) попутаны местами. Думаю, что это из-за того, что у меня МОDE1?

    И еще - огромное СПАСИБО за разработку!

  41. #238

    Регистрация
    20.04.2009
    Адрес
    Евпатория, Крым
    Возраст
    43
    Сообщений
    64
    Не Сергей но отвечу.
    необходимо правильно выставить напряжение на ARef процентов на 10-20 больше чем на ручке и если надо подобрать сопротивления в пропорциональном канале

  42. #239

    Регистрация
    14.05.2009
    Адрес
    Красноярск
    Возраст
    37
    Сообщений
    12
    Доброе время суток, Уважаемые!
    Пока собирался взяться за изгатовление передатчика, пока преобретал всё нужное. Упустил из виду данную тему. Как понимаю много изменилось и в схеме, и в прошивке.
    Не могли бы выложить одним архивом рабочую схему и прошивку с исходником?
    Наворотов типа тахометра, термометра и т.п. не требуется...

  43. #240

    Регистрация
    20.04.2009
    Адрес
    Евпатория, Крым
    Возраст
    43
    Сообщений
    64
    пост №2214 и чуть ниже

Закрытая тема

Похожие темы

  1. РЕВО (REVO) - вопросы и ответы (часть 2)
    от Airliner-rc в разделе Авто Off-Road
    Ответов: 5912
    Последнее сообщение: 24.06.2020, 16:42
  2. Belt-CP (часть 2)
    от WarHawk в разделе Вертолеты других производителей
    Ответов: 1097
    Последнее сообщение: 28.08.2012, 21:35
  3. Продам Передатчик Hitec 2.4GHz Optic 6, Rx Optima 7
    от PigTail в разделе Барахолка. Аппаратура
    Ответов: 19
    Последнее сообщение: 01.12.2010, 18:19
  4. Помогите починить передатчик BEV 2.4G 500mW
    от Vladimir_N в разделе Полеты по камере, телеметрия
    Ответов: 13
    Последнее сообщение: 25.07.2010, 22:59
  5. Куплю Передатчик ET-4 2.4Ghz для LAMA V4
    от ILS в разделе Барахолка. Аппаратура
    Ответов: 0
    Последнее сообщение: 24.07.2010, 16:49

Ваши права

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