Я поправил меню настроек и генерацию частоты. Подмените в скетче два файла из архива.
Там все понятно из каментов к парметрам. Должны генерироваться все три чатсоты согласно раскладке Волны
Вопросы по NanoVFO
Re: Вопросы по NanoVFO
- Attachments
-
- NanoVFO_volna.zip
- (2.25 KiB) Downloaded 447 times
Re: Вопросы по NanoVFO
Подменил, собрал, залил. При частоте на индикаторе 3.500.000 частотомер кажет 3.508.799. Где-то надо умножить на 1000, щас гляну подробней, поразбираюсь.
Re: Вопросы по NanoVFO
вот правильный код - вставьте его. забыл 500кгц приполюсовать
Code: Select all
void UpdateFreq()
{
vfo_set_freq(
trx.Freq+Settings[ID_IFFREQ], // первый гетеродин всегда сверхзу на частоту 1й ПЧ. инверсия боковой!
Settings[ID_BFO1], // второй гетеродин константа (8,3МГц)
500000 + (trx.sideband == LSB ? Settings[ID_BFO2_USB] : Settings[ID_BFO2_LSB]) // с учетом инверсии боковой
);
}
Re: Вопросы по NanoVFO
Сильно картина не изменилась. Первая ПЧ так и плюсует 8.8 килогерц вместо 8.8 мегагерц (домножение на 1000 почему-то не сработало), а второй гетеродин кажет какие-то странные, "плавающие" 3.7 МГц вместо 8.3 МГц. Третий гетеродин не смотрел еще, сперва с этими разберусь.
Re: Вопросы по NanoVFO
Не, никак не получается. Уж всяко поизвращался, куски кода между freq_calc.h вставлял туда и обратно, безрезультатно. Со вторым гетеродином вообще туман: когда из рабочего кода freq_calc.h, который тут вчера выкладывал, убрал множитель CLK1_MULT, второй гетеродин показал те самые странные "плавающие" 3.7 МГц. Пытался множители по аналогии прописать для CLK0, но опять не заработало. Ладно, пусть пока как есть, две частоты формирует и ладно. Потом придумается что-нибудь, может, со временем. А вообще сишное программирование, особенно с ардуиновским акцентом - лютая жуть, "адЪ и израиль" (с)
Конструкции языка вообще непонятны.

Re: Вопросы по NanoVFO
Ага, там кГц надо в Гц перевести - умножить на 1000. Склероз. Вот так пробуйте
PS ничего там сложного в программировании ардуины нет - обычный C/C++
Code: Select all
void UpdateFreq()
{
vfo_set_freq(
trx.Freq+long(1000)*Settings[ID_IFFREQ], // первый гетеродин всегда сверхзу на частоту 1й ПЧ. инверсия боковой!
long(1000)*Settings[ID_BFO1], // второй гетеродин константа (8,3МГц)
500000 + (trx.sideband == LSB ? Settings[ID_BFO2_USB] : Settings[ID_BFO2_LSB]) // с учетом инверсии боковой
);
}
Re: Вопросы по NanoVFO
Да, теперь все ожило. Только ФНЧ придется переделать слегка, коль скоро частота гетеродина теперь на всех диапазонах суммируется с ПЧ. И плату синтезатора нужно будет переделать тоже, т.к. на данной у меня третий гетеродин не разведен был. Но это на пол-дня работы, без проблем. Пересоберу дивайс, проверю все еще раз и отпишусь по итогу, но пока все вполне похоже на правду, благодарю! 

Re: Вопросы по NanoVFO
Я сделал так как написано в документации по "Волне" - первый гетеродин всегда выше частоты приема. Это правильно потому что минимизирует количество пораженных точек по диапазонам.Только ФНЧ придется переделать слегка, коль скоро частота гетеродина теперь на всех диапазонах суммируется с ПЧ.
Re: Вопросы по NanoVFO
Дык, я же ничего не говорю против, наоборот! Тут в ФНЧ пару кондеров поменять и все. А вот на CQHAMе все твердят, что вообще ФНЧ не нужен, дескать, прямоугольник правильнее идеологически даже в случае диодного смесителя. Это чудесно, но ФНЧ я все же поставлю... на всякий случайUR5FFR wrote:Я сделал так как написано в документации по "Волне" - первый гетеродин всегда выше частоты приема. Это правильно потому что минимизирует количество пораженных точек по диапазонам.

Re: Вопросы по NanoVFO
Прямоугольник в любом случае лучше синуса. Но схемотехника волны такая древняя что там пофиг