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

SVS

Перепрошил, все появилось, поюзаем, поищим глюки, но вроде бы глюки кончились.

ubd

Посмотри какие кондёры стоят до и после Крена 5В. Нужно не более 10 мк ставить иначе слетать ЕЕПРОМ будет. У меня так же слетал, когда поставил кондёры по 10 мк, ЕЕПРОМ не слетает, вот уже больше года.

Более свежих исходников не найдёшь. Есть только те которые с выше описанными глюками. Те кто знает СИ, и собирал для себя этот кодер, исправлял ошиби, но исправленя не выкладывал на форум.

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

Denn

Слышал про глюки при необнулённом EEPROMе. Может быть стоит включить в процедуру калибровки обнуление EEPROM при первом включении?

valera_o

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

Aleksey_Gorelikov
Denn:

Слышал про глюки при необнулённом EEPROMе. Может быть стоит включить в процедуру калибровки обнуление EEPROM при первом включении?

Она при первом включении есть. Слетает в процессе эксплуатации. Бод, монитор питания и кондеры в стабилизаторе - должны помоч. Либо что-то из этих мер, либо их комбинации. 😉

ubd:

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

Я довольно давно отошел от этой версии кодера. Точнее он поэтапно переписался ( да и со временем еще дописывается) заново. Серьезная ошибка была только одна, с индексом. Проявлялась - когда какой-то из каналов работал от середины и в одну сторону - нормально, в другую сторону - или стоял или “кое-как” или от другой ручки. Я указывал на нее и в форуме и Евгению. Вроде бы это было в версии 1. Версия 1.2, насколько я помню, от предъидущей отличалась этой исправленной ошибкой и замедленными в 2 раза тримерами.

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

ubd

Искать сейчас последнюю версию, замучаешься. Проще выложить заново. Это точно самая последняя из работающих версий. Как раз у этой версии тримера замедленны в два раза.

Все пользователи будут очень благодорны вам, если вы исправите ошибки, какие помните, и какие сможете найти. Только не добаляйте ничего лишнего, я имею в виду новых функций, замена экрана, потому как эта версия будет заливаться в старое железо. Пусть всё останется как есть, только без ошибок.

Заранее спасибо!

Aleksey_Gorelikov
ubd:

Искать сейчас последнюю версию, замучаешься. Проще выложить заново. Это точно самая последняя из работающих версий. Как раз у этой версии тримера замедленны в два раза.

Все пользователи будут очень благодорны вам, если вы исправите ошибки, какие помните, и какие сможете найти. Только не добаляйте ничего лишнего, я имею в виду новых функций, замена экрана, потому как эта версия будет заливаться в старое железо. Пусть всё останется как есть, только без ошибок.

Заранее спасибо!

Посмотрю не раньше вторника. Уезжаю в коммандировку.

Aleksey_Gorelikov
Aleksey_Gorelikov:

Посмотрю не раньше вторника. Уезжаю в коммандировку.

Успел пораньше:

mwb007
Aleksey_Gorelikov:

Успел пораньше:

Спасибо !!!

Пошел перепрошиваться.

SVS

Все работает, тока проверил def.c , все заработало, Огромное спасибо

Andrej100
Aleksey_Gorelikov:

Успел пораньше:

if (U_bat<800)
{
PORTG|=0x4;
delay_ms(20);
PORTG&=0xFB;
delay_ms(20);
куда это вставить чтобы работало 😦 .Пробывал в math.h вставлять , при сробатывание вешает пульт.

ubd

Ты куда это вставлял?

В начало что ли?

Тем более если фигурная скобка открылась, то она должна закрыться.

Вот это:

if (U_bat<880) напряжение включения таймера
{
PORTG|=0x4;
delay_ms(20);
PORTG&=0xFB;
delay_ms(20);
};

Вставляется в файл math.C после надписи //работаем с таймером;

Что там сложного?

Тем более в исходниках нет файла с расширением *.h

Andrej100
ubd:

Ты куда это вставлял?

В начало что ли?

Тем более если фигурная скобка открылась, то она должна закрыться.

Вот это:

if (U_bat<880) напряжение включения таймера
{
PORTG|=0x4;
delay_ms(20);
PORTG&=0xFB;
delay_ms(20);
};

Вставляется в файл math.C после надписи //работаем с таймером;

Что там сложного?

Тем более в исходниках нет файла с расширением *.h

Это всё не работает 😦 ,при вкл пишалки начинают дёргатся машинки всех каналов(из за этого уронил самик) 😦
встовлял в math.с

ubd

Дёргаются? Я не пробовал в момент пищания передатчика, включать приёмник с машинками. Я и не думал что так может быть. Попробую завтра. Может быть у тебя что то с аккумами, дохлые сильно?

Ниже мой скрин-сейвер, куда я вставлял эту часть программы.

mwb007
ubd:

Дёргаются? Я не пробовал в момент пищания передатчика, включать приёмник с машинками. Я и не думал что так может быть. Попробую завтра. Может быть у тебя что то с аккумами, дохлые сильно?

Ниже мой скрин-сейвер, куда я вставлял эту часть программы.

Да. Каналы действительно портятся при срабатывании звуковой сигнализации разряда батареи передатчика. Проверял на симуляторе.

ubd

Прикинте, правда дёргаются! Они как бы зависают и не двигаются.
Но это я пробовал делать на версии с варнингами. Новы кодевижн ещё не скачал.
Может быть на версии с исправленными ошибками будет работать?

Aleksey_Gorelikov, объясни почему дёргаются машинки когда пищалка работает? Как от этого избавиться?

leprud

Они дергаются из-за использования delay, в этот момент не срабатываю прерывания таймеров, сиречь не идут сигналы на ВЧ часть

Aleksey_Gorelikov
ubd:

Aleksey_Gorelikov, объясни почему дёргаются машинки когда пищалка работает? Как от этого избавиться?

Я писал, что этот кусок надо вставлять куда угодно, только не в прерывание. Процедура calc() как раз и входит в прерывание ( вызывается в прерывании!). Вот почему машинки дергаются. Прерывание при выполнении delay() затягивается, в итоге и разваливается весь ппм пакет.
Вставляйте пищалку в coder.c d main(), внутри последнего, бесконечного цыкла, там где trim_sound(); и menu(); вызываются, или в одну из этих подпрограмм.

BerliN

Доброго времени суток.
Мож кто поможет 😒 если не сложно последнюю версию под экран Nokia 3310 адаптировать, а то все экраны 3410 которые доставал не хотят работать что только не пробовал 😃 бесполезно, а 3310 завелся почти сразу, но на него все не помещается, приходится только догадываться что там нарисованно. 😢 поможите плз…

ubd

Так это Andrej100, посоветовал эту подпрограмму туда вставлять, и сам же попался на этом. Значит то же СИ не знает, как и я… Знал бы СИ, то не вставлял бы эту подпрограмму куда попало.

Я не заню СИ, потому и спрашиваю, куда точно всталять. Потому как для меня прерывания и безконечный цикл, ничего не значат.

Алексей спасибо за подсказку.

Вставляйте пищалку в coder.c d main(), внутри последнего, бесконечного цыкла, там где trim_sound(); и menu(); вызываются, или в одну из этих подпрограмм.

Значит вот сюда:
Файл Coder.c

Calc(); //первоначальный расcчет;
CHcalc(0);
TIMSK=0x10;
#asm(“sei”)

LED1=0;

while (1)
{

trim_sound();

menu();

if ((U_bat<1000)&&(U_bat>970)) // напряжение включения/выключения таймера
{
PORTG|=0x4;
delay_ms(20);
PORTG&=0xFB;
delay_ms(20);
};

};
}

Правильно?

У меня 3 Li-po стоят, поэтому пищать будет на 10В, и выключаться на 9,7В.

ubd

Да, всё правильно я предположил. Сделал как выше - работает, сигнализирует и при этом управление остаётся в норме.

Andrej100, можешь сделать так же, будет работать.