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

ubd

Пожалуй, попробую замутить свою простенький проект на бейсике для PICа.

О, я знаю Бейсик для PIC. Мощные проекты на нём делал. Пробовал делать даже кодер. Но не получается правильно формировать пакет РРМ импульсов. Бейсик для этого слишком примитивный, в нём нет прерываний, точнее есть, но только можно сделать одно прерывание, этого мало. Есдинственно, если выводить импульсы другим простеньким процом, типа PIC12Fxxx, а передавать в него по I2C. Пробуй…

fmkit

Только что познакомился с темой и удивился - зачем тачскрин и сложный интерфейс ? навороченных пультов полно а удобных и практичных вааще нет.
Летаю уже 1 год исключително на самодельных пультах, собирается за 20 минут, работает на одной зарядке 30часов, тест на земле дал 5км, где с етим пультом не появлюсь дети с радостью узнают так хорошо знакомый вий нунчак:
www.rcgroups.com/forums/showthread.php?t=1313286
www.youtube.com/fmtvus

Edward_tlt

Ну Питер, ну куда ж без нунчака… Ну нарисуйте схему и положите прошивку в этой ветке и люди потянутся…😃 А вот пока летаю на кодере от Focus-MSV и вроде всё здорово.
Ну хотелось бы конечно и всех остальных упомянуть… Кто помогал советами и может непосредственным участием в этой разработке. Респект!

Aleksey_Gorelikov
EagleB3:

USB-дивайс и альтернативная прошивка для него существуют только для ATmega8, а она, увы, уже ушла в небытие. Купить практически не реально.

Есть еще миллион подобных проектов на других процах.

ВитГо
ubd:

О, я знаю Бейсик для PIC. Мощные проекты на нём делал. Пробовал делать даже кодер. Но не получается правильно формировать пакет РРМ импульсов. Бейсик для этого слишком примитивный, в нём нет прерываний, точнее есть, но только можно сделать одно прерывание, этого мало. Есдинственно, если выводить импульсы другим простеньким процом, типа PIC12Fxxx, а передавать в него по I2C. Пробуй…

одним прерыванием можно очень много сделать если можно задавать временные промежутки между прерываниями…

EHOT

рассматриваю 2 варианта применения кодера:

  1. как переделка имеющегося   JR QATTRO 40MHz (ну чтото дорого щас FM модули(((()
  2. как апгрейд будущей Eurgle 9X

однако, если придется вернуться к заводской прошивке, а потом снова к …
почему бы не сделать смену прошивок как в CHDK для Canon резидентной на карточке SD?
Нужна новая прошивка - переключателем или зажатием какой либо кнопки при влючении - выбрал.
нужна заводская - просто влючаем или вообще извлекаем карточку.
но кажется для ATMega128 это утопия?

belyay

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

МаркАнтоний
belyay:

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

У ds18b20 ужасно медленный протокол обмена данными.

dollop

А куда спешить?
Мне кажется, что выбор пал на TMP36 по причине простоты реализации - на выходе из датчика аналоговый сигнал, который пропорционален значению температуры - берется пустой аналоговый вход у меги и в нужный момент считывается.
Вообще никто не мешает прикрутить в работу кодера протокол 1wire и пользовать DS18B20.

ВитГо
EHOT:

рассматриваю 2 варианта применения кодера:

  1. как переделка имеющегося JR QATTRO 40MHz (ну чтото дорого щас FM модули(((()
  2. как апгрейд будущей Eurgle 9X

однако, если придется вернуться к заводской прошивке, а потом снова к …
почему бы не сделать смену прошивок как в CHDK для Canon резидентной на карточке SD?
Нужна новая прошивка - переключателем или зажатием какой либо кнопки при влючении - выбрал.
нужна заводская - просто влючаем или вообще извлекаем карточку.
но кажется для ATMega128 это утопия?

А в чем тайный смысл скачков между прошивками?
не проще сидеть на одной?
возможности МСВ прошивки перекроют стандартную турниговскую с головой… - смысл на нее перескакивать?

belyay

А если TMP36 заменить на LM35 он вроде тоже аналоговый, а то у нас не найти TMP36

Aleksey_Gorelikov
belyay:

А если TMP36 заменить на LM35…?

EHOT:

почему бы не сделать смену прошивок как в CHDK для Canon резидентной на карточке SD?

Так что мешает то? Исходники есть, делайте!

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

Уважаемые, помогите пожалуйста разобраться. Я занялся разаработкой приложения для редактирования всех параметров пердатчика с компа. Возникла следующая странная проблема. судя по описанию структуры MODEL SET ее объем должен составлять 563 байта (ровно столько должен занимать набор на одну модель) После компиляции в файле .map видно, что на 7 моделей ушло 3927. Т.е. по 561 байт на модель. Где два байта пропали? Начал детально исследовать вопрос. Как оказалось пропадают они между именем модели и началом структуры DEF_MODE. Имя модели выглядит нормально, значения в структуре DEF_MODE тоже совпадают с тем что я вижу в меню передатчика, а вот между ними каша какая-то. Судя по тому что написано в коде

typedef struct {
char name[8]; // Без 0- терминатора!
unsigned char type:1; // heli, plane.
unsigned char modulation:2; // PPM, IPPM, PCM
unsigned char timer_mode:2;
unsigned int timer_set;
unsigned char num_ch: 4;
unsigned char num_freq;
DEF_MODE modes[MAX_MODES];
CHANNEL channels[MAX_CHANS];
} MODEL_SET;

сразу после имени модели должен идти байт типа модели - 0 или 1. а я вижу в памяти совершенно иную картину. следующий байт №10 - тип модуляции вообще исчез - вместо него меняется тот же байт №9 по следующей логике
Plane, iPPM - E2
Plane, PPM - E0
Heli, iPPM - E3
Heli, PPM - E1
Это что оптимизация такая? почему только на этом месте? дальше все по человечески. Объясните пожалуйста. Бьюсь уже несколько дней совершенно безуспешно

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

А где именно смотреть, и почему битовые поля? Ведь в структуре MODEL_SET только байты. Как они в биты превратились?

EHOT
ВитГо:

А в чем тайный смысл скачков между прошивками?
не проще сидеть на одной?
возможности МСВ прошивки перекроют стандартную турниговскую с головой… - смысл на нее перескакивать?

есть мнение, что в некоторый прошивках лучше реализована самолетная/вертолетная/планерная компоненты. вот и может вознинуть необъяснимое желание вернуть старую “взад”