Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 207
Из них просматривают:
Аналоги: 87. Даташиты: 60. Инструкции: 2. Новости: 13. Остальное: 2. Профиль пользователя: 6. Расчёты: 1. Теги: 2. Форум: 34.
Участников: 2
Гостей: 205

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

1 2 3


Re: Симуляция в Proteus
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Цитата:

grom пишет:
Почему ток не идет и нулевое напряжение на вольтметре?

R3 - в свойствах случайно не цифровой?



Re: Полноценный IB металлодетектор на ARDUINO
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Есть небольшие изменения в схеме. Связанно это стем что есть разброс параметров IRF7105. В некоторых случаях высокого уровня с выхода 555 не хватает для полного закрытия Р-канального мосфета сборки, сборка греться и повышается ток потребления, решается это включением в цепь питания IRF7105 диода и уменьшением сопротивления на выходе ТХ с 10 до 8,2 Ом для сохранения уровня тока в контуре ТХ.

Прикреплённый файл:



jpg  KVANT_1.2.JPG (102.87 KB)
5122_65eb88bf7dd62.jpg 900X798 px



Re: SDR гетеродин на Si5351, без котроллера.
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Выкладывать исходники не буду по разным причинам, но могу помочь в написании кода.

Вот так открываем СОМ-порт (например СОМ1)

HANDLE h_COM ;
h_COM = CreateFile ("\\\\.\\COM1", GENERIC_READ GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
if ( h_COM == INVALID_HANDLE_VALUE) ShowMessage("Error" );

Перед закрытием программы надо закрыть СОМ-порт, иначе при повторном открытии будет ошибка.
CloseHandle (h_COM) ;

Дальше нужны функции которые будут дёргать выводы СОМ порта в соответствии с протоколом I2C.

#define SI5351_ADDR 0x60

  // TxD-SDA
#define _I2C_SDA_HI()  ClearCommBreak(h_COM);  //TxD = 1
#define _I2C_SDA_LO()  SetCommBreak(h_COM);// TxD = 0
  // DTR-SCL
#define _I2C_SCL_HI()  EscapeCommFunction(h_COM, CLRDTR);// DTR = 1
#define _I2C_SCL_LO()  EscapeCommFunction(h_COM, SETDTR);// DTR = 0

#define _I2C_INIT()   _I2C_SDA_HI(); _I2C_SCL_HI();
#define _I2C_START() _I2C_SDA_LO(); _I2C_SCL_LO(); _I2C_SDA_HI();
#define _I2C_STOP()  _I2C_SCL_HI(); _I2C_SDA_HI();
#define _SendBit(data, bit) if(data&1<<bit){_I2C_SDA_HI();} else{_I2C_SDA_LO();} _I2C_SCL_HI(); _I2C_SCL_LO();

void i2c_SendByte(byte data){
    _SendBit(data, 7);
    _SendBit(data, 6);
    _SendBit(data, 5);
    _SendBit(data, 4);
    _SendBit(data, 3);
    _SendBit(data, 2);
    _SendBit(data, 1);
    _SendBit(data, 0);
    _I2C_SDA_HI();  // recv ACK
    _I2C_SCL_HI();
    _I2C_SCL_LO();
  }

  void i2c_start(){ _I2C_INIT(); _I2C_START();}
  void i2c_stop() { _I2C_STOP();}
  void i2c_beginTransmission(byte addr){ i2c_start(); i2c_SendByte(addr << 1); };
  bool i2c_write(byte s_byte){ i2c_SendByte(s_byte); return 1; };
  byte i2c_endTransmission(){ i2c_stop(); return 0; };


 void si5351_write(byte regAddr, byte data)
   {
    i2c_beginTransmission(SI5351_ADDR);     // The I2C address of the Si5351A
    i2c_write((byte) regAddr);
    i2c_write((byte) data);
    i2c_endTransmission();
   }


Дальше нужна библиотека для si5351, я использовал эту подробнее про функции тут, код переноситься в C++ Builder практически без изменений, надо только заменить функции I2C.
Можно использовать любую Ардуиновскую библиотеку , просто заменив функции для I2C на наши:

  i2c_beginTransmission(SI5351_ADDR);
  i2c_write(byte);// byte - байт для отправки.
  i2c_endTransmission();



 


Отредактировано пользователем ken 08.01.2024 0:38:38
Отредактировано пользователем ken 08.01.2024 0:49:29


SDR гетеродин на Si5351, без котроллера.
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Понадобился мне для экспериментов с SDR приёмниками гетеродин. Есть у меня Si5351, но все проекты с Si5351 обычно с контроллером, дисплеем и тд, при этом сама обработка сигнала в компьютере и без него никак. Так почему-бы не исключить контроллер и всю его обвязку?
И всё получилось) Не без минусов, частота устанавливаться медленно, потому как прямого доступа к портам давно нет, а через API функции очень медленно. Плавно перестраивать не получиться но вот сканировать с каким-то шагом вполне можно, да ненужна плавня настройка для SDR гетеродина, она будет в программе SDR приёмника.
Программа позволяет использовать Si5351 и как гетеродин с преобразованием частоты вверх или вниз (режим F1) либо просто как генератор частоты с диапазоном 8кГц...160МГц.
И грустного - у меня нифига не Si5351 а китайский клон MS5351M и он категорически отказывается в режиме (I-Q) работать ниже 2,8 МГц.
Программа в бета версии, я вроде погонял её на всех режимах, но могут быть какие-то баги, если что обращайтесь - будем исправлять.
Так-же не знаю насколько точно держит разность фаз во всей полосе частот.
Для этого приёмника должно подойти идеально без переделок (в режиме F/4).
Список частот можно редактировать вручную, (файл Si5351_IQ.txt) главное что-бы в правильном формате и этот файл всегда находился в одной папке с программой. Я записал туда средние частоты любительских диапазонов полюс CB сетка С.
Для подключения нужен USB->UART преобразователь с сигналом DTR, либо напрямую с COM порта, через простой преобразователь уровней, правда не пробовал через COM порт, на моих компах их нет.



Прикреплённый файл:



jpg  SDR VFO.JPG (83.75 KB)
5122_6599bc0ed64a7.jpg 900X636 px
zip Si5351_SDR_VFO_v1.0.zip Размер: 599.26 KB; Просмотры: 62



Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Да, я тоже пришёл к такой конфигурации, но придётся добавить коммутатор сигналов управления, в принципе надо добавить ещё один корпус 74HC4053.



Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Нашёл интересную статью Генерация сигналов с фазовым сдвигом при помощи Si5351

Учитывая, что RDivider’s недоступны, минимальное значение Fpll составляет 600 МГц, а максимальное значение CLKx_PHOFF равно 127, мы никак не можем получить частоту, скажем, 3.5 МГц.
Для решения этой проблемы в коде есть небольшой хак. Для частот в интервале 1.4-4.725 МГц используется частота Fpll ниже 600 МГц.
Эксперименты показали, что PLL срывает, когда он работает на частотах ниже 177 МГц. Это дает минимальную частоту 177 / 127 = 1.4 МГц.

Думаю если нужны частоты ниже - можно и на D-триггерах сделать, на низких частотах они приемлемо работают.
Но главное:

Из хорошего — схема демонстрирует стабильную работу на частотах до 100 МГц. Это максимальная частота, которую мой драйвер Si5351 может генерировать с фазовым сдвигом 90°. В отличие от D-триггеров, Si5351 прекрасно справляется с задачей на высоких частотах.



Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Цитата:

Kosmonavt пишет:
Рекомендую к сборке вот такой SDR-приёмник.


Тут вот люди провели исследование и выяснилось что схема на двух триггерах( как в представленной вами схеме) даёт самую большую ошибку разбаланса уже на 14 мГц. Склонен верить, поэтому отказался от такого варианта.
Открыть изображение в новом окне


Цитата:

evildesign пишет:
О проблемах квадратурных сигналов у Si5351 пишет Дмитрий Руднев:


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



Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
По теме SDR.
Изучал эту тему, основная проблема это разбаланс фаз управления квадратурным детектором, выше 10 мГц проблемы у всех простых схем. Можно добиться баланса на одной частоте, но не в широком диапазоне. Но у SI5351 три независимых канала, что легко позволяет реализовать гибридную схему. Преобразование вверх - первая промежуточная 38мГц ( SAW TV фильтр-ПЧ ) за ним SDR идеально настроенный на одну частоту - 38мГц.
И я нашёл такой проект.



Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Цитата:

Появилась потребность в трехфазном генераторе с возможностью регулировки фаз (вперед\назад), желательно на ардуино.

Нужен синус или меандр? Мало информации - какой двигатель, есть ли какие-то схемы того что с сейчас.
На вскидку - есть проект BLDC на Ардуине, там три фазы, и обратная связь.
Вот ещё проект, проще некуда.


Отредактировано пользователем ken 19.12.2023 0:28:56


Re: кто чё делает
Младший сотрудник
Зарегистрирован:
11.12.2010 22:59
Из: Кишинёв
Сообщений: 29
Не в сети
Ещё проект на SI5351 и Arduino
Открыть изображение в новом окне

Пишут что приёмник работает в AM, FM, SSB. Как..? Посмотрел по быстрому скетч,пока мало что понял.
Но если вы думаете что этот приёмник нереальный - есть проект полноценного трансивера!.
Открыть изображение в новом окне








Разное

Интересно

Хранение мелких крепежных деталей. Для любого радиолюбителя когда-то возникает необходимость иметь какое-то количество - болтиков, винтиков, шайб. Это набора вполне достаточно для любого крепежа. А вот хранить это все - в одном месте - можно в баночках из-под растворимого кофе. В баночках - на 50 гр или 25 чашек. В каждую такую баночку вмещается 3 коробочки из-под монпасье (леденцов). В каждой коробочке из-под леденцов можно хранить достаточное колическо деталей мелкого крепежа. На банке сделать надпись - допустим, М3. Винты, шайбы, гайки.