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

EagleB3
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. Прошивку программатора я брал из другого места, которое сейчас почему-то недоступно. если кому-то потребуется - пишите, пришлю или выложу.

Nick_Shl
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 меня как-то не особо напрягает. Главное закрыть терминал перед открыванием программатора и наоборот…

Евгений_Зайцев

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

Texnik

Можно использовать FDTI232RL USB-UART. Обвески практически никакой.

EagleB3
Евгений_Зайцев:

У меня другая мысль была по поводу использования UART - сохрянять и восстанавливать настройки передатчика на компьютере

Вот потому я на своей плате кодера разъем SPI наружу и вывел. Хочешь - EEPROM (со всеми настройками) слей, хочешь - залей. И как UART работает - по крайней мере в направлении “из кодера наружу” - я выше написал…

DD
Texnik:

Можно использовать FDTI232RL USB-UART. Обвески практически никакой.

вот еще одна микросхема😁 АРМ надо;)

Евгений_Зайцев
DD:

вот еще одна микросхема😁 АРМ надо;)

Я не уверен, что надо ее в передатчик ставить. В свое время купил за 300 рублей интерфейс к телефону Sony-Erricson. Внутри UART-USB преобразователь Profilic PL2003. Хвост к телефону сразу обрезал и сделал трехпиновый разъем - RX, TX, земля. В результате, любое устройство с UART подключается через USB легко и непринужденно.

msv

Между делом созрела очередная версия…
Предполагаю мягко говоря неодназначную реакцию пользователей моей проги, и схему надо менять, и структура eeprom опять поменялось ( конфигурацию со старой версии не восстановить), но что поделать, прогресс не удержишь…😃

  1. Устранена “сиплость” звуков использованием аппаратной генерацией меандра. К сожалению для этого пришлось изменить схему. Бузер теперь следует подключить к PE3, а переключатель SW2_1, который сидел на этой ноге, к PE1. Зато теперь можем насладится кристально чистыми рингтонами… 😃
  2. Возможность изменения всех параметров и навигации по меню крутилкой AddProp. Для включения этого, находясь в режиме редактирования параметра (когда циферка мигает), достаточно сдвинуть пот на 10%. Тк. пот все же не энкодер, параметр устанавливается пропорционально абсолютному углу резистора. Если требуется более точная коррекция значения, всегда можно воспользоваться обычным способом- стрелками вверх/вниз. Находясь в меню, так же можно двигаться по пунктам накручивая этот резистор.
  3. В опциях сделано подменю “Alarms”. Там кроме установки контроля батареи, можно теперь установить порог звуковой сигнализации выход за минимальный порог тока в антене.
  4. Изменена логика обработки сигналов (см диаграмму). Определены два уровня конструктора каналов - логический (индивидуальные настройки для режимов полета) и физический (не зависит от режима). Идея такая- конструируем сначала логический канал, не задумываясь в какую сторону стоят сервы ( это уже “физика”). И на последнем этапе подстраиваемся под механическую реализацию приводов. Убрал реверс до микшера, тк можно (и нужно, если этого требует логика) использовать отрицательные значения микшера. На физическом уровне можно накручивать субтриммеры (точная установка “нуля” сервы), нижнюю и верхнюю границы ее отклонения (EPA) и реверс.
  5. Добавлен контроль CRC EEPROM. При включении, если что не так, будет противный звук с предложением все сбросить по умолчанию.
  6. Устранен случайно найденный серьезный косяк всех предыдущих версиях. Если использовать очень сложные микшеры для какого-нибудь канала (задать ненулевые значения для всех контролов), при уменьшения его ниже некоторого значения, формирование PPM срывалось. Теперь все хорошо…

    narod.ru/disk/15888420000/3310_1_8.rar.html
    Хочу предупредить- версия только что “из под пера”, о найденных косяках старайте сообщать без особого раздражения… 😃
Denn

А AddProp - это который на 8 канал?
Может полную схему выложишь?

msv

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

EagleB3
Denn:

Может полную схему выложишь?

По идее оно выглядит вот так. Архив 256Кб, внутри BMP на 10 метров. Сконвертировать можете сами во что угодно. 😒

msv

Прошу уточнить на схеме: PF0- датчик тока антены, PF1- датчик температуры, PD0- тахометр.

EagleB3

А схемы этих датчиков есть? По уму бы их следовало бы сразу на схему добавить…
Датчик температуры, кажется, LM35? Тогда с ним вопросов нет.
А датчик тока? А тахометр?

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

EagleB3

Ну не могу молчать! Ну распирает меня!!! 😃

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

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

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

msv:

Прошу уточнить на схеме: PF0- датчик тока антены, PF1- датчик температуры, PD0- тахометр.

Сделано. Текстом. И про буззер безвстроенногенераторный - тоже. Новая ссылка на схему

VRV
vvvv:

наконец энкодер вместо кнопок
а нельзя ли сделать как то так что бы все управлялось с одного колеса как в футабе ?

пару постов назад кидал проект в протеусе с меню на знкодере(колесо+кнопка=от мыши)

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

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

DD

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

msv

Схема формирователя тахометра отсюда:
radiokot.ru/circuit/digital/…/index.shtml
У меня несколько изменена, но и оригинальная думаю будет работать.
Датчик тока антенны можно здесь разглядеть:
rcopen.com/files/000000000000000000000000
(мой ВЧ-модуль).
В датчике температуры особого смысла нет, просто был свободны вход АЦП…
TMP36 - стоит в корпусе передатчика, подальше от всяких “грелок”. Бывает итересно глянуть температуру, особенно зимой…

Какие функции в основном задействованы?

Я не пользуюсь двойными расходами. Вместо этого расходы настраиваю в режимах полета. Но это как-бы стандарная функция и убирать их совсем пока не тороплюсь…

DD
msv:

Схема формирователя тахометра отсюда:
radiokot.ru/circuit/digital/…/index.shtml

там на схеме перепутаны все ножки операционника, сначала долго думал почему не работает

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

msv

Конечно ничего скакать не должно. Гляньте осцилографом, что идет с датчика на вход ацп. Датчик нужно обязательно шунтировать емкостью по питанию в непосредственной близости, и выход мне тоже пришлось шунтировать, иначе с него шел возбуд…