Модуль памяти для HK 2,4GHz 6Ch |
Обзоры - Модельное оборудование |
Автор: Олег (Рига, Латвия) |
Приобрел вот этот пульт http://rc-aviation.ru/obzorm/40-modelthing/211-hobby-king-24 .
Предназначен для приобщения к моделизму сына (9 лет). Очень хороший аппарат за эту цену. Из принципиальных недостатков только два – нет памяти на несколько моделей и нет экспонент. Поиск путей улучшения пульта привёл на этот сайт Назначение прибора – быстрая смена настроек пульта под разные модели в поле Для достижения поставленной цели достаточно просто сохранить в памяти настройки нескольких моделей и обеспечить запись этих настроек в пульт напрямую, без компьютера. Изменение настроек прямо в поле значительно усложняет программу, к тому же настраивать с использованием LCD дисплея в 2 строки по 16 символов очень неудобно. Для этого лучше приобрести пульт посеръёзнее. Всё-таки цена прибора должна быть адекватна стоимости пульта. Так как одновременно использую 2 – 3 модели, то память сделал на 5 моделей. Можно и больше, ограниченно только объёмом EEPROM. Использование прибора простое: - Настраиваем пульт через компьютер на модель номер 1 - Подключаем пульт к прибору - Выбираем на экране модель номер 1 - Нажимаем кнопку «Чтение» и записываем настройки пульта в прибор - Подключаем пульт к компьютеру и настраиваем на модель номер 2 - Подключаем пульт к прибору - Выбираем на экране модель номер 2 - Нажимаем кнопку «Чтение» и записываем настройки пульта в прибор - И т.д. - В поле подключаем прибор к пульту - Выбираем на экране номер модели - Нажимаем кнопку «Запись» и записываем настройки модели в пульт Важно! Сначала включаем прибор, потом пульт!
ОПИСАНИЕ ПРИБОРА
Основа прибора – микроконтроллер ATmega 8535. Выбор микроконтроллера определялся наличием двух ненужных чипов в столе. Большой объём памяти (ОЗУ и ЕЕPROM), наличие USART, удобный для макетирования корпус позволили быстро собрать макет и отладить программу. Программа Программа написана на С, компилятор CodeVisionAVR2.05.0 Professional. В конце статьи имеется НЕХ файл и проект целиком, кто разбирается в программировании, сможет подкорректировать под свои нужды. Проект некоммерческий, разрешено свободное копирование и использование по своему усмотрению.
Перекопал Интернет, не удалось найти подробной информации по пульту, кроме этой Структура программы не совсем соответствует правилам написания программ на С, специально не использовались пользовательские функции, почти все действия производятся в функции main. Конечно, использование функций позволяет повысить эффективность программы и облегчает написание и модификацию сложных программ, но сильно затрудняет понимание работы программы другим программистом, особенно не очень опытным. Данная программа написана для того, чтобы в ней мог разобраться человек, не очень хорошо владеющий С. Использование комментариев так же в этом помогает. По этой же причине не применяются прерывания для организации задержек, меньше вероятность запутаться для начинающего программиста. Процессор всё равно ничем не занят во время задержек. Такой стиль написания программы значительно облегчает перенос кода на другие микроконтроллеры и другие компиляторы. В дежурном режиме контроллер опрашивает состояние кнопок. При нажатии кнопки «Чтение» PIND.4 прибор выдаёт в пульт запрос на считывание настроек 55 FA 00. Пульт в ответ выдаёт 55 FD и 67 байт параметров. Эти данные записываются в EEPROM в массив с номером, заданным переменной model. При успешной записи параметров выдаётся сообщение Reading OK и номер модели, при сбое выдаётся сообщение Reading ERROR . При нажатии кнопки «Запись» PIND.5 прибор выдаёт в пульт 55 FF и 67 байт из EEPROM в массиве с номером, заданным переменной model. Пульт в ответ возвращает полученные данные для контроля правильности передачи. Если возвращённые данные совпадают с переданными, то выдаётся сообщение Writing OK и номер модели, при сбое выдаётся сообщение Writing ERROR. Если ответ не получен, выводится сообщение Verify ERROR. Схема На тренерский разъём пульта выводится USART микроконтроллера с логическими сигналами TTL уровня, в приборе то же самое, поэтому не требуется никакого согласования. Единственное, для безопасности, надо установить в пульте и приборе последовательно с сигнальными проводами ограничительные резисторы (R1, R2) по 200 – 350 Ом ( на случай к.з. при подключении). LCD дисплей подключен по 4-х проводной схеме. Светодиоды D1, D2 дублируют сообщения на дисплее и при желании могут не устанавливаться. Просто удобнее пользоваться, не надо всматриваться в дисплей – моргнул зелёным, значит всё хорошо, моргнул красным, всё плохо. Резисторы R3, R4 регулируют контрастность дисплея и может понадобиться подстройка под конкретную модель. Кварц обязательно указанный на схеме! И уделите особое внимание разводке, особенно земли. Все земляные проводники должны соединяться только в одной точке – на выводе 11. Должна получиться звезда. Для одного сигнала – один провод! Иначе замучаетесь бороться с наводками. Разъём Р1 предназначен для программирования микроконтроллера и соответствует стандарту фирмы ATMEL. Конструкция У меня имелся в наличии готовый корпус от прибора подобного назначения, я использовал его. Питание от батарейки Крона через стабилизатор на 5 В. Кнопки задействовал не все. Сигнальный разъём я установил D-Sub 15 контактов на приборе и на пульте. Эти разъёмы надёжнее механически, правда громоздкие. На схеме номера контактов указаны для родного тренерского разъёма пульта.
Cхема, прошивка и проект в сборе можно скачать сдесь
Часть вторая На основе Arduino Mega Часть третья На основе Arduino Pro Mini
|