Продолжим, начало тут, будем собирать схему обвязки микроконтроллера
Монтируем компоненты в следующем порядке:
- 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!
Здравствуйте,
Может быть вы меня не поняли или я не правильно выразился.
Я имел в виду, что на линии IC2 нет ничего, кроме сишек,но это сейчас не имеет значения.
На плате есть si5351 х 2.
Я опишу проблему по-другому.
Если транзисторы Q1 и Q2 не вставлены, то все в норме и программа
запускается и все работает.
Но если они на своем месте, то программа зависает и на дисплее отображается только LSB.
Несколько раз менял транзисторы Q1,Q2 на BS170 и 2N7002 но ничего не меняется.
Вероятно ключ для управления линией SCL на Q3 капризничает и работает не так как надо.
Я десятки раз все проверил на наличие холодной пайки или чего-то еще, но ничего не нашел.
Все так, как должно быть.
Перед монтажом платы проверяю все элементы и транзисторы.
Георги, 73! LZ1GBY
Здравствуйте, Георги!
Попробуйте Q1 и Q2 заменить на BSS138 такие транзисторы стоят на модулях Si5351. Вероятно, что некорректно работает преобразователь уровней. Чтобы убедится, что проблема в Q1/2, можно убрать Q3 и если преобразователь уровней корректно работает, то на выходах обоих Si5351 будет выставляться одинаковая частота.
73!
Да. От туда брал.
После заставки на дисплей стоит только надпис LSB.
На шине i2c у меня пока ни чего не стоит
Несколько раз менял транзисторы Q1,Q2 на BS170.
и 2N7002 и ничего не меняется.
Вероятно ключ для управления линией SCL на Q3
капризничает и работает не так как надо.
Все R которые я использовал, имеют точность 1 процент.
Я полностью повторил ваш проект Step II.
Жаль, что я потратил столько времени и денег на этот проект .
Ну ладно.
С уважением, Георги
73! LZ1GBY
Георги, Вы пишите, что на шине I2C ничего нет, потому программа и застревает на поиске Si5351, моя ошибка, надо было в программу добавть сообщение об ошибке, что Si5351 не найдена. Поставьте ее и все будет работать.
73!
Здравствуйте,
При програмирование контролера, 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
Георги, добрый день! Попробовать полностью очистить мк, сбросить фьюзы по умолчанию потом повторить этап программирования как в инструкции написано.
Здравствуйте,
У меня процесор Atmega168PA U.
Подходит он или нет?
73 LZ1GBY
Здравствуйте! Да подходит, можно и 368-ю в DIP корпусе, тоже будет работать
Здравствуйте,
Вот что получается после программирования микроконтроллера,
как в инструкции написано. Заставка идет и все. Больше ничего.
Сишки работатет. На выходе частота соответствует 14 МГц.
Процесор Atmega168PA. Кнопки не работает. FUNC тоже.
Я тоже пробовал и с Atmega328PU но и здесь информации на дисплее нет.
Только верхний ряд закрашенных знакоместа
Подскажите пожалуйста, что делать дальше
С уважением Георги
73! LZ1GBY
Здравствуйте, Георги!
Прошивку с этой страницы брали? Там полная документация и схема в том числе.