Разъем
LCD+KEY
Порядок выводов на LCD остался тем же как и раньше,
только в середину разъема добавились 2 вывода на кнопки (5,6)
1 - общий
2 - +5 питание LCD
3 - A0 LCD
4 - E LCD
5 - 1-й ряд кнопок
6 - 2-й ряд кнопок
7 - DB7 LCD, а так же 1-й столбец кнопок
8 - DB6 LCD, а так же 2-й столбец кнопок
9 - DB5 LCD, а так же 3-й столбец кнопок
10 - DB4 LCD, а так же 4-й столбец кнопок
названия выводов LCD экрана взяты из описания
MT-16S2H
Разъем фокусера
1..5 - на мотор (1-й
+12В
идет
на центральный контакт биполярных шаговиков, 2, 3, 4, 5 -
фазы)
контакты термодатчиков:
6 - общий
7 - +5В питание
8 - SCK шины I2C термометров; а так же нижний концевик
(замыкает
контакт на общий)
ограничения хода фокусера
9 - SDA шины I2C термометров; а так же верхний концевик
(замыкает
контакт на общий)
ограничения хода фокусера
Используемые мной термометры -
DS1621 или
DS1631, номер датчика
определяется его контактами A0...A3
"датчик облачности"
MLX90614,
номер
определяется прошивкой
Для стабильной работы датчиков на длинном проводе надо
добавить
сопротивление 2..3кОм между +5 и SDA (7 и 9 ноги разъема)
Разъем колеса фильтров
1..5 - на мотор (1-й
+12В
идет на центральный контакт биполярных шаговиков, 2, 3, 4, 5 -
фазы)
6 - общий
7 - +5В (отключаемый транзистором) питания датчиков положения
(оптопары
либо датчики холла)
8 - вход датчика Home - замыкает контакт на общий в момент
прохождения
1-го фильтра
9 - вход датчика Sensor - замыкает контакт на общий в момент
прохождения каждого фильтра (и 1-го тоже)
Схема провода программатора (для
бесплатной программы PonyProg2000 ) осталась
та же
текущая прошивка и
фьюзы
Исходники прошивки компилируются WinAvr (использовалась версия
WinAvr
20071221)
Все варианты откомпилированных прошивок (в разных директориях)
отличаются ключами в makefile.
В каждом makefile есть очень важная строка -
CDEFS = -DF_CPU=$(F_CPU)UL -D_FILTERWHEEL_ -D_FOCUSER_
-DLCD_WIDTH=20
-DHAVE_SHUTDOWN -DTWO_WIRE -DF_MICROSTEP -DCLOUD_SENSOR
Добавляя или убирая в эту строку дефайны получаются разные
виды прошивок
-D
_FILTERWHEEL_ - есть
колесо
фильтров
-D
_FOCUSER_ - есть
фокусер
-D
F_MICROSTEP - есть
микрошаг
на фокусере, этот ключ требует измененной схемы -
для униполярных двигателей
(двигатель на 12В
и ток до 0.5А) или
для
биполярных
на L6219 (ток до 0.7A, напряжение не выше 7В)
-D
LCD_WIDTH=20 -
экран 20
символов (либо 16)
-D
HAVE_SHUTDOWN
- по приходу прерывания INT0 (выключение питания) сохраняется
число
фокуса, для этого в схеме должно быть пара резисторов между 0
и +12В
подключенных к ноге INT0
-D
TWO_WIRE -
термодатчики I2C
(ds1621)
-D
CLOUD_SENSOR - есть
ИК датчик
"температуры неба", работает при включенном -DTWO_WIRE (датчик
на той
же шине I2C)
-D
ONE_WIRE -
термодатчики one
wire (Ds1820), этот ключ требует добавления в makefile
дополнительных
исходников -
(строка makefile) SRC = ../filterwheel2.c
../onewire.c ../ds18x20.c
ключи
TWO_WIRE и
ONE_WIRE нельзя включать
одновременно. Или то или другое.
-D
VOLTAGE_METER - есть
измеритель напряжения питания (+12 идет через делитель из пары
резисторов на одну из ног ADC), добавлял
LazyBSD
Далее, выбор типа микроконтроллера заодно выбирает
тип схемы
MCU = atmega8 - прошивки только фокусера или только
колеса, для
старой схемы на atmega8
MCU = atmega16 - прошивка фокусера + колеса, для
текущей схемы
на atmega16
Текущая версия схемы колеса + фокусера (вариант для
униполярных
двигателей) + микрошаг на фокусере + термодатчики I2C +
сохранение
значения фокуса при выключении + USB подключение к компьютеру
через
микросхему FT232RL
схема,
плата,
плата для печати