Продолжим, начало тут, будем собирать схему обвязки микроконтроллера
Монтируем компоненты в следующем порядке:
- 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!