Самодельный передатчик (часть 1)
ATmega128 программитуется через JTAG или SPI. При программировании через SPI сигналы MOSI и MISO от программатора надо заводить на RXD и TXD порта UART0 (2 и 3 ножки) а не на SPI. Тактовая частота заводится на SCK (11 нога). Этой особенностью м128 отличается от других мег. SPI порт у ATmega128 при программировании не используется, за исключением тактового сигнала SCK.
ATmega128 программитуется через JTAG или SPI. При программировании через SPI сигналы MOSI и MISO от программатора надо заводить на RXD и TXD порта UART0 (2 и 3 ножки) а не на SPI. Тактовая частота заводится на SCK (11 нога). Этой особенностью м128 отличается от других мег. SPI порт у ATmega128 при программировании не используется, за исключением тактового сигнала SCK.
Сиречь на схеме все правильно и баран таки я. Thanx.
…
… может кто то все таки поможет, не из ленивых?
… Очень не хочется лезть во внутрь, все заново разбирать, резать…
Во! вы тоже ленивый. Не поверю, что у “нас” буржуйские запчасти есть, а у “Вас” их не продают.
Я Вам наводку дам. Ищите по тексту (вроде файл Меню.С) вот такие вещи:
lcd_line ( x,y,x1,y1,modе); // Обычная линия
lcd_dashline (x, y,x1, y1) ; // Пунктирная линия
lcd_rectangle(x, y, x1,y1,color); // Прямоугольник
lcd_fillrect (x, y, x1, y1,color); // закрашенный прямоугольник
lcd_setxy(x,y); // установка координат курсора
Ну и корректируете чиселки x,y,x1,y1 так, чтобы изображение на вашем дисплее помещалось. Вродебы и сложного ничего нет, даже “С” знать не обязательно.
Если в программировании не силен, то просто возьми исходники, и поиском с заменой замени во всем проекте “curmodel.trimmer[FLY_MODE]” - на “curmodel.trimmer[1]”, после этого откомпилируй и прошей заново контроллер. Тримера во всех режимах будут одинаковы. Так делать не совсем правильно, в плане “эстетики” программирования, но за то максимально просто, ошибиться негде.
Да нет ошибочка все таки вылезла!!!
После такой замены триммера действительно устанавливаются для всех режимов одинаково. Однако запоминаются только в режиме idle.
Ткните пожалуйста носом где копать в исходниках 😵
СИ потихоньку пытаюсь учить, но сам разобраться не могу.
Да нет ошибочка все таки вылезла!!!
После такой замены триммера действительно устанавливаются для всех режимов одинаково. Однако запоминаются только в режиме idle.Ткните пожалуйста носом где копать в исходниках 😵
СИ потихоньку пытаюсь учить, но сам разобраться не могу.
Обрати внимание на строчки:
в variables.c :
eeprom char trimmer[MAX_MODELS][MAX_MODES][4]; - в этом 3х мерном массиве сохраняются все тримера.
char trimmer[MAX_MODES][4]; - ну а в этом двумерном массиве хранятся значения текущих тримеров.
Ну и в остальных местах проекта что-то аналогичное…
Ты хочешь, чтобы во всех режимах у тебя тримера были одинаковыми. Не красивый путь - я тебе посоветовал, поставить вместо “переменной координаты”
в массиве единичку. Логично тоже сделать и в массиве епрома сделать тоже. Либо вобще исключить ненужное измерение.
З.Ы. можно почитать про многомерные массивы, структуры ( записи) в любой книжке, должно с этим вопросом стать попонятнее. max_modes - константа указывающая количество полетных режимов, т.е. реально равняется 3 (при объявлении массива указывает его размер), а FLY_MODE - переменная, - принимает разные значения в зависимости от того, какой режим включен…
Вопрос к тем, кто уже доработал передатчик: а как вы крепили дисплей в корпусе? Если можно , ответьте подробно!
У меня в корпус от Еская индкатор стал в верхнюю часть. Закрепил термоклеем, почти год держится.
А у меня на супер-клее держиться.
Спасибо, но хотелось бы поподробнее:
Есть дисплеи - только стекло, а есть с рамкой - какой лучше ставить?
Как лучше прижимать контакты к дисплею?
Спасибо, но хотелось бы поподробнее:
Есть дисплеи - только стекло, а есть с рамкой - какой лучше ставить?
Как лучше прижимать контакты к дисплею?
Лучше брать с рамкой, в рамке есть контакты. К контактам удобно паять обрезок 80 проводного шлейфа от жесткого диска. У сомой рамки ненужный пластик отпиливается, в нужном - по вкусу, можно просверлить дырочки в удобных местах, наклеить на него “ушки” под винтики, или приклеить саму рамку к корпусу. Кстати, рамка является рассеивателем для подсветки…
Странно, что вопрос про крепление дисплея вобще возник. Если сделал кодер, переделал тримера под кнопочные и т.д. автоматом подразумевается, что с креплением дисплея проблем не будет.
З.Ы. У меня дисплей припаян на контактах на макетку, макетка привинчена к штатым местам крепления дисплея в корпусе. Правда у меня и дисплей не такой, а с торчащими контактами ( в том числе и крепежными) и корпус от эклипса.
З.Ы.Ы. Разговаривал с Женей (Фокусом), сказал что очень мало свободного времени, но работы над новой версией идут и все почти готово. Форумчанам ждать немного осталось.
Спасибо!
На днях хотел добавить ограничение длительности канального импульса ( 0,9 … 2,1 мс ), но не понял, где она окончательно вычисляется.
Если кто подскажет - буду признателен!
…длительности канального импульса ( 0,9 … 2,1 мс ), но не понял, где она окончательно вычисляется.
…
Содер.С:
interrupt [TIM1_COMPA] void timer1_compa_isr(void) // прерывание, в котором собственно говоря и идет вычисление импульсов 😃
{char i;LED2=1;
if (nb<curmodel.num_ch)
{
if (nb<curmodel.num_ch-1)CHcalc(nb+1);
ICR1H=output[nb]>>8; //заливаем длительность канала
ICR1L=output[nb]&0b11111111;nb++;
}…
Переменные output[] считаются в процедуре CHcalc(), которая в файле матч.с
Может так :
interrupt [TIM1_COMPA] void timer1_compa_isr(void) // прерывание, в котором собственно говоря и идет вычисление импульсов
{char i;
LED2=1;
if (nb<curmodel.num_ch)
{
if (nb<curmodel.num_ch-1)
CHcalc(nb+1);
ICR1H=output[nb]>>8; //заливаем длительность канала
ICR1L=output[nb]&0b11111111;
if (ICR1H>=9 && ICR1L>=216) { ICR1H=9; ICR1L=216; } // макс длит 2,1 мс
if (ICR1H<=2 && ICR1L<=216) { ICR1H=2; ICR1L=216; } // мин длит 0,9 мс
nb++;
}
Заказал десяток плат данного кодера, завтра будут готовы. Кому нужно - в личку.
Какую версию ты заказал? И из какого поста?
Какую версию ты заказал? И из какого поста?
Последнюю
Здравствуйте люди!
три дня читал эту тему, всю не прочитал все равно. 😁 😵
может мне ктото показать где лежит схема на которую можна прошить модулятор Фокуса, а еще лучше, если кто то вышлет ее мне на майл.
Спасибо всем
Держи.
Держи.
Merci Denn
Вопрос к тем, кто сам делал ВЧ блок по схеме ТХ-40 :
кто-нибудь измерял мощность ВЧ сигнала на нагрузке ( 60 ом )?
У меня получается 0,45 Вт при питании 9,4 и 0,9 Вт при 12 В.
И ток потребления 130 и 170 мА.
Я дорабатывал “Сигнал” под кварц от GWS , так там легко получил 1 Вт, но там получается два удвоения частоты…