Собираем HAM Синтезатор на Si5351, этап 2 – МК+LCD1602

Автор: | 08.01.2023

Продолжим, начало тут, будем собирать схему обвязки микроконтроллера

Монтируем компоненты в следующем порядке:

  • SMD компоненты;
  • кварцевый резонатор ZQ1;
  • колодку под микроконтроллер;
  • разъем для программирования микроконтроллера;
  • PLS-ки для подключения кнопок, энкодера и USB>TTL преобразователя для CAT управления.

И в завершении устанавливаем LCD1602, отверстия на плате синтезатора получились не совсем ровно по осям с отверстиями на LCD, на доли мм, видимо футпринт LCD для DipTrace криво сделан, доработка круглым надфилем решает «проблему», если стойки брать с резьбой меньше 3 мм то надфиль не понадобится!

Необходимые контакты LCD с основной платой синтезатора соединил выводами от млт резисторов, таким образом в дальнейшей сборке можно безболезненно отогнуть LCD для монтажа оставшихся компонентов.

Далее устанавливаем микроконтроллер в колодку, устанавливаем перемычку J13 Led, перемычку сделал для возможности отключения подсветки LCD1602, вместо перемычки можно по вешать кнопку с фиксатором, а кнопку вывести на переднюю панель будущего трансивера

Подаем питание на плату синтезатора и подстроечным резистором R1 устанавливаем контрастность дисплея так, чтобы был виден только верхний ряд закрашенных знакомест как на картинке ниже, микроконтроллер же у нас пока пустой

Теперь приступаем к ответственному моменту — программированию микроконтроллера.

Подключаем программатор, в моем случае простенький USBAsp

подаем питание на плату синтезатора, выбираем микроконтроллер ATmega168  и пробуем прочитать микроконтроллер по кнопке Чтение

Отлично! Теперь стираем все по кнопке Стереть все

Работает! Далее переходим на вкладку Fuses и устанавливаем значения как на картинке ниже

Программируем Fuses по кнопке Программирование

Замечательно! Теперь переходим на вкладку Program, выбираем файл прошивки и программируем микроконтроллер

Без ошибок! По окончании программирования синтезатор перезагрузится и мы увидим заставку, после заставки дисплей будет пустым, на шине i2c у нас пока ни чего нет, поэтому программа синтезатора просто не понимает, что ей делать дальше! Ниже видео процесса программирования

Теперь изменим значение Fuses как на картинке ниже, а именно добавим бит EESAVE, это необходимо для того, чтобы в процессе перепрограммирования микроконтроллера не затирался EEPROM в котором будут хранится все настройки/калибровки синтезатора

Пока все, можно передохнуть!

Продолжение следует…

73!

Собираем HAM Синтезатор на Si5351, этап 2 – МК+LCD1602: 10 комментариев

  1. Георги

    Здравствуйте,
    Может быть вы меня не поняли или я не правильно выразился.
    Я имел в виду, что на линии IC2 нет ничего, кроме сишек,но это сейчас не имеет значения.
    На плате есть si5351 х 2.
    Я опишу проблему по-другому.
    Если транзисторы Q1 и Q2 не вставлены, то все в норме и программа
    запускается и все работает.
    Но если они на своем месте, то программа зависает и на дисплее отображается только LSB.
    Несколько раз менял транзисторы Q1,Q2 на BS170 и 2N7002 но ничего не меняется.
    Вероятно ключ для управления линией SCL на Q3 капризничает и работает не так как надо.
    Я десятки раз все проверил на наличие холодной пайки или чего-то еще, но ничего не нашел.
    Все так, как должно быть.
    Перед монтажом платы проверяю все элементы и транзисторы.
    Георги, 73! LZ1GBY

    1. Radio9OFG Автор записи

      Здравствуйте, Георги!
      Попробуйте Q1 и Q2 заменить на BSS138 такие транзисторы стоят на модулях Si5351. Вероятно, что некорректно работает преобразователь уровней. Чтобы убедится, что проблема в Q1/2, можно убрать Q3 и если преобразователь уровней корректно работает, то на выходах обоих Si5351 будет выставляться одинаковая частота.
      73!

  2. Георги

    Да. От туда брал.
    После заставки на дисплей стоит только надпис LSB.
    На шине i2c у меня пока ни чего не стоит
    Несколько раз менял транзисторы Q1,Q2 на BS170.
    и 2N7002 и ничего не меняется.
    Вероятно ключ для управления линией SCL на Q3
    капризничает и работает не так как надо.
    Все R которые я использовал, имеют точность 1 процент.
    Я полностью повторил ваш проект Step II.
    Жаль, что я потратил столько времени и денег на этот проект .
    Ну ладно.
    С уважением, Георги
    73! LZ1GBY

    1. Radio9OFG Автор записи

      Георги, Вы пишите, что на шине I2C ничего нет, потому программа и застревает на поиске Si5351, моя ошибка, надо было в программу добавть сообщение об ошибке, что Si5351 не найдена. Поставьте ее и все будет работать.
      73!

  3. Георги

    Здравствуйте,
    При програмирование контролера, avrdude выдает ошибку:
    » detected as Intel Hex
    avrdude.exe: ERROR: address 0x2010 out of range at line 513 of C:\Users\georg\ODrive\Работен плот\HAM_synt_R9OFG_2.0b.hex
    avrdude.exe: read from file ‘C:\Users\georg\ODrive\Работен плот\HAM_synt_R9OFG_2.0b.hex’ failed
    avrdude.exe: safemode: Fuses OK (E:01, H:DC, L:CF)»
    Скажите пожолуйста где надо копат?
    73 LZ1GBY

    1. Radio9OFG Автор записи

      Георги, добрый день! Попробовать полностью очистить мк, сбросить фьюзы по умолчанию потом повторить этап программирования как в инструкции написано.

      1. Георги

        Здравствуйте,
        У меня процесор Atmega168PA U.
        Подходит он или нет?
        73 LZ1GBY

        1. Radio9OFG Автор записи

          Здравствуйте! Да подходит, можно и 368-ю в DIP корпусе, тоже будет работать

          1. Георги

            Здравствуйте,
            Вот что получается после программирования микроконтроллера,
            как в инструкции написано. Заставка идет и все. Больше ничего.
            Сишки работатет. На выходе частота соответствует 14 МГц.
            Процесор Atmega168PA. Кнопки не работает. FUNC тоже.
            Я тоже пробовал и с Atmega328PU но и здесь информации на дисплее нет.
            Только верхний ряд закрашенных знакоместа
            Подскажите пожалуйста, что делать дальше
            С уважением Георги
            73! LZ1GBY

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *