Оглавление:

Плата для разработки Atmega16 / 32 с ЖК-дисплеем: 8 шагов
Плата для разработки Atmega16 / 32 с ЖК-дисплеем: 8 шагов

Видео: Плата для разработки Atmega16 / 32 с ЖК-дисплеем: 8 шагов

Видео: Плата для разработки Atmega16 / 32 с ЖК-дисплеем: 8 шагов
Видео: Универсальная плата ATmega16 или ATmega8 2024, Ноябрь
Anonim
Плата для разработки Atmega16 / 32 с ЖК-дисплеем
Плата для разработки Atmega16 / 32 с ЖК-дисплеем
Плата для разработки Atmega16 / 32 с ЖК-дисплеем
Плата для разработки Atmega16 / 32 с ЖК-дисплеем
Плата для разработки Atmega16 / 32 с ЖК-дисплеем
Плата для разработки Atmega16 / 32 с ЖК-дисплеем

Эта инструкция показывает, как сделать свою собственную плату разработки для процессоров Atmega16 или Atmega32. Интернет полон самодельных плат разработки, но я думаю, что еще есть место для другой. Эта плата была очень полезна в моих проектах, и я фактически спроектировал и сделал ее для одного из моих проектов. Что она предлагает? - ISP-разъем. - Регулируемое опорное напряжение для AREF с триммером. - 8 светодиодов, подключенных к PORTA со съемными перемычками, так что вы можете использовать светодиоды также с другими портами. - шипы для PORTA, PORTB, PORTC и PORTD. - модифицированные шипы для ЖК-экрана (4 бита) - разъем последовательного порта RS232 - съемный модуль rs232 - регулируемый 5 В Что вам понадобится? (детали для основной платы) - 1x процессор Atmega16 или Atmega32 - 1x кристалл (сколько МГц будет на ваш выбор) - 2 конденсатора по 27 пФ для кристалла - 1x стабилизатор напряжения 7805 - 1x конденсатор емкостью 47 мкФ 16 В - 3 конденсатора 100 нФ - 1x Разъем постоянного тока 2, 1 мм или 2, 5 мм (что вы хотите использовать) - 1x потенциометр 1K - 8x светодиодов (любого цвета) - 8x резисторов 330 Ом - много шипованных планок Детали для модуля rs232 - Max232 IC - 4x 0, 1 мкФ конденсаторы - 2 светодиода (зеленый и красный) - 2 резистора 330 Ом

Шаг 1: печатные платы

Платы
Платы
Платы
Платы

Имеются схемы с обеих плат и pdf-файл содержит распечатанные файлы с этих плат. Вы можете вытравить свои доски по этим изображениям. В zip-файле собраны все Eagle-файлы с этих досок. Не стесняйтесь изменять их, как хотите.

Шаг 2: травление или фрезерование

Травление или фрезерование
Травление или фрезерование
Травление или фрезерование
Травление или фрезерование

Эти доски можно изготовить двумя способами: травлением или фрезерованием. Я не химик, поэтому воспользовался последним вариантом. Я сделал свою мельницу из этих замечательных инструкций, поэтому, если у кого-то есть еще NC-Mill и он хочет использовать его для изготовления этих досок, просто дайте мне знать, и я пришлю G-коды.

Шаг 3: пайка

Пайка
Пайка
Пайка
Пайка

На картинке ниже показано название компонента и его место на плате.

Шаг 4: Тестирование

Тестирование
Тестирование

Прежде чем мы сможем протестировать нашу плату для разработки, нам понадобится кабель AVR-программатора. Вот хорошее руководство о кабеле для программирования. Нам понадобится всего 6 проводов. SCK, MISO, MOSI, RST, Ground и + 5V, поэтому в моем разъеме всего 6 контактов. ВАЖНО! Для сигналов SCK, MISO, MOSI и RST требуются резисторы на 390 Ом, которые обычно припаяны на плате, но я хотел сэкономить место на плате, и поэтому резисторы находятся внутри кабеля. Без этих резисторов программирование не будет работать. Нам также нужно проложить кабель между модулем rs232 и основной платой. На картинке также есть пара «тестовых проводов», которые действительно пригодятся, когда мы собираемся протестировать нашу плату.

Шаг 5: Программирование и простая программа тестирования

Программирование и простая программа тестирования
Программирование и простая программа тестирования

Далее нам понадобятся несколько «тестовых» программ для тестирования нашей платы. ВАЖНЫЙ! Мы должны отключить JTAG из PORTC, если мы этого не сделаем, lcd-модуль не будет работать, поэтому он необходим. В Linux мы можем сделать это с помощью команды avrdude: avrdude -p m16 -c stk200 -U lfuse: w: 0xe4: m -U hfuse: w: 0xd9: m Эта команда отключает JTAG и устанавливает внутренний генератор 8Mhz и использует его. На нашей плате есть внешний кристалл, но люди используют кристаллы разного размера, поэтому эта команда безопасна для всех. Если вы хотите использовать внешний кристалл, вот сайт для расчета правильных предохранителей. Будьте осторожны с программированием предохранителей. Если вы установите неправильные значения предохранителей, ваш процессор перестанет работать. Есть способ восстановить его с помощью внешнего импульса, но будем надеяться, что вам это не нужно =) Простая программа тестирования: #include (avr / io.h) int main (void) {DDRA = 0xff; // установить порт как outputDDRB = 0xff; DDRC = 0xff; DDRD = 0xff; PORTA = 0x00; // отключаем все подтягивания PORTB = 0x00; PORTC = 0x00; PORTD = 0x00;} Пришло время включить плату и отправить эту небольшую тестовую программу на процессор с winavr или чем-то еще. Теперь мы можем это проверить. наши порты работают корректно. Подсоедините один конец провода к одной из головок светодиода и коснитесь другим концом каждого шипа порта шаг за шагом. Светодиод должен светиться каждый раз. Если не светит, значит с пайкой что-то не так. Помните также, что все светодиоды работают.

Шаг 6: Тестирование последовательного порта

Тестирование последовательного порта
Тестирование последовательного порта
Тестирование последовательного порта
Тестирование последовательного порта

Если все сработало, самое время протестировать наш модуль rs232. Существует небольшая программа, которая проверяет, что наши TX и RX работают. Использование в Linux: Создайте файл с именем Makefile и скопируйте в него текст ниже. Код Makefile предполагает, что вы используете Atmega16 и ваш программный кабель - stk200. Не забудьте установить правильные разрешения для ваш последовательный порт / dev / ttyS0CC = / usr / bin / avr-gccCFLAGS = -g -Os -Wall -mcall-prologues -mmcu = atmega16 -std = gnu99OBJ2HEX = / usr / bin / avr-objcopy AVRDUDE = / usr / bin / avrdude: $ (TARGET).hex $ (AVRDUDE) -p m16 -P / dev / parport0 -c stk200 -u -U flash: w: test.hex%.obj:%.o $ (CC) $ (CFLAGS) $ <-o $@%.hex:%.obj $ (OBJ2HEX) -R.eeprom -O ihex $ <$ @ clean: rm -f *.hex *.obj *.oЗагрузите указанный файл serial.c и поместите он находится в той же папке, где находится Makefile. Включите плату разработки и проложите кабель между модулем rs232 и основной платой. Светодиоды на модуле должны загореться. Поместите тестовый провод между контактом PA0 и контактом некоторых светодиодов. Используйте свой терминал и перейдите в папку, где находится test.c и Makefile. Подключите ISP-программатор к плате. Теперь пришло время отправить наш код в процессор, и это происходит с помощью команды терминала: make Загрузить программное обеспечение под названием GTKterm (Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm Запустите GTKterm и отформатируйте его со скоростью 9600 Кбит / с, 8 бит данных, 1 стоповый бит, без контроля четности, без переполнения. Если все работает, должно быть написано «работает!» на экране GTKterm, когда вы нажимаете кнопку «z» и когда вы нажимаете кнопку «x», светодиод на плате должен загореться, а при нажатии «c» он должен погаснуть.

Шаг 7: Тест LCD-модуля

LCD-модуль Тест
LCD-модуль Тест
LCD-модуль Тест
LCD-модуль Тест

Пришло время протестировать наш LCD-модуль. Прикрепил отличный софт для управления LCD-экраном. Я скачал код с Scienceprog.com и немного изменил его. Запрограммируйте процессор с помощью этого кода и подключите свой ЖК-модуль к плате. Соединения контактов ЖК-модуля: 1 = VSS (Земля) 2 = VDD (5 В) 3 = VO (Земля) 4 = RS5 = R / W6 = E11 = PC412 = PC513 = PC614 = PC7 Мой lcd-модуль содержит 2 разъема (см. Рисунок), потому что текст идет вверх ногами, если поставить модуль как положено. Зеркально отзеркалил и приклеил новый разъем на другую сторону. Теперь это работает в обоих направлениях.

Шаг 8: некоторые видео

Диммерные акселерометры

Рекомендуемые: