Показано с 1 по 10 из 340

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Местный
    Регистрация
    04.06.2008
    Сообщений
    120
    Вес репутации
    389

    По умолчанию AVC-Lan адаптер на arduino

    Начало здесь

    Купить Arduino для этого проекта.

    Итак как и обещал выкладываю схему.


    В схему добавлен ключ для управления AZ-FM
    Вот схема и разведенная печатная плата в формате Eagle
    shema.rar
    Прошивка
    AVCLan_sheild.rar
    Прошивку распаковываем в каталог arduino-0016. Если до уже были какие-то версии прошивки нужно удалить объектные файлы
    C:\arduino-0016\hardware\libraries\AVCLanDrv\AVCLanDrv.o
    C:\arduino-0016\hardware\libraries\BuffSerial\BuffSerial.o

    Проверить работу можно любым терминалом, подключившись к com-порту на скорости 250000. Я использую для этого putty
    Данную схему уже можно использовать как драйвер тачскрина, кнопок на голове и на руле.
    для этого устанавливаем и настраиваем драйвер
    avclan-mini-driver.rar
    Подробности по настройке драйвера, а так же программа калибровки тачскрина здесь
    В новой версии добавлена возможность писать лог сообщений от головы.

    Для теста отправки сообщения голове в терминале жмем кнопку S (в верхнем регистре).

    Цитата Сообщение от ak1976 Посмотреть сообщение
    После пары месяцев испытаний, поездки на море, можно писать об успешном завершении написании прошивки.

    Прошивка работает с четыремя видами плат, вид платы настраивается в sketchbook\libraries\AVCLanDrv\config.h
    в нем надо расскоментировать одну из четырех строк
    //#define AVCLAN_ST485
    //#define AVCLAN_PCA82C250
    //#define AVCLAN_MINI_PCA82C250
    //#define AVCLAN_RESISTOR

    Платы:
    1. AVCLAN_ST485
    Плата на базе arduino и драйвера на микросхеме ST485
    Нажмите на изображение для увеличения. 

Название:	AVCLAN_ST485.png 
Просмотров:	5240 
Размер:	10.3 Кб 
ID:	9652
    Схема и разведенная плата в формате Eagle во вложении. Схема также содержит ключ для управления адаптером AZ-FM
    AVCLan_sheild1_1.rar

    2. AVCLAN_PCA82C250
    Плата на базе arduno и драйвера на микросхеме PCA82C250
    Нажмите на изображение для увеличения. 

Название:	AVCLan_sheild2.png 
Просмотров:	6770 
Размер:	12.4 Кб 
ID:	9654
    Схема и разведенная плата в формате Eagle во вложении. Я поленился рисовать на ней ключ для AZ-FM. Желающие могут его скопировать из предыдущей схемы и прописать команды для и его инициализации и работы в config.h
    AVCLan_sheild2.rar

    3. AVCLAN_MINI_PCA82C250
    Плата avclan-mini в которой перепаян кварц на 16МГц и заменен микропроцессор на ATMega168 (в теории должно работать и с ATMega8, но с бутлоадером уже не помещается, только если программаторам заливать прошивку). Так же для этого варианта пришлось снизить скорость com-порта до 115200. Бутлоадер я взял от ардуино, только поправил его чуток, т.к. светодиод на плате находится на другой ноге.

    4. AVCLAN_RESISTOR
    Плата на базе arduino и драйвера на 4х резисторах.
    Нажмите на изображение для увеличения. 

Название:	AVCLan_sheild3.png 
Просмотров:	4538 
Размер:	5.0 Кб 
ID:	9656
    Схема в формате Eagle во вложении. Честно говоря, этот вариант теоретический, в железе я его не собирал.
    AVCLan_sheild3.rar

    Я собрал и опробовал с 1 по 3 варианты плат. Мне больше понравился вариации на микросхеме PCA82C250 (потому как сразу заработал на большинстве голов) вариант на микросхеме ST485 иногда требовал подбора номинала резисторов R2, R3, R6
    В машине у меня сейчас работает перепрошитый вариант на avclan-mini. У друга, который делал прошивку с навигацией на ST485.

    Собственно прошивка.
    sketchbook_20100805.rar
    Прошивка для arduino-018 распаковываем архив в папку с ардуино. Выставляем тип платы в файле sketchbook\libraries\AVCLanDrv\config.h
    Компилируем и заливаем.

    Прошивка разбита на три части:
    1. Собственно драйвер AVCLan - библиотека AVCLanDrv отвечает за работу с шиной AVCLan и выполняет всю грязную работу за нас.
    2. Скетч AVCLan_mini.pde - основная программа, в которой собираются все части прошивки и описаны все сервисные функции, ее тоже не придется править.
    3. Ну и самая изменяемая часть прошивки - это драйвера устройств. В данном случае CD чейнджера - библиотека AVCLanCDch. Так же есть библиотека AVCLanNavi, которая написана на базе прошивки kostya78rus и эмулирует навигацию и чейнджер. Ее мой друг выложит чуть позже.

    Подключается библиотека с эмулируемым устройством в файле AVCLan_mini.pde в строке
    #include <AVCLanDrv.h>

    Теперь, что умеет текущая прошивка.
    1. Автоматическое определение адреса головы. Определяет адрес стабильно, за два месяца работы сбоев не было. Адрес можно задать и вручную.
    2. Сервисные функции (для запуска нужно набрать в терминале соответствующую команду)
    P - вывод конфигурации (адрес головы (который определился и который зашит в eeprom), адрес эмулируемого устройства, режим "только чтение", количество переполнений буфера отправки в com-порт
    M - включение / выключение режима "только чтение", т.е. любую прошивку можно превратить в снифер, который будет только слушать шину.
    V - вывод версий компонетнов
    S - начало команды отправляемой в шину (формат совместим с AVCLan-mini)
    W - конец прямой команды, например S002574901903W
    Q - конец широковощательной команды
    H - конец задания адреса головы, например S0110H (S0000H - для автоматического определения адреса головы)
    ? - помощь по командам
    команды для отладки железа
    h - выставляет высокий уровень на шине AVCLan
    l - выставляет низкий уровень на шине
    i - освобождает шину, переходит в режим чтения
    M - отправляет тестовое сообщение в шину (1 360 140 050001121063)
    3. При нормальном приеме в com-порт выводится принятое сообщение, при ошибке строка R#, где #-код ошибки.
    4. При ошибке в отправке сообщения, выводится строка W#, где #-код ошибки и сообщение отправляется повторно. Количество повторов в константе MAXSENDATTEMP в файле config.h, по умолчанию 3 раза.

    Если есть интерес, процесс написания собственной прошивки для эмуляции какого-нибудь устройства могу описать.
    Написание сводится к описанию запросов головы и ответов на них.
    Все вопросы и ответы хранятся в PGMEM, т.е. ограничений на количество описываемых запросов и ответов (как было в прошивке AVCLan-mini) нет. Точнее количество ограничено объемом флеш памяти МК.
    Так же реализовано описание запросов по шаблону, т.е. можно описать множество запросов статуса E2 одной строкой (разные головы немного по разному запрашивают статус и как раз с этим были проблемы в пошивке AVCLan-mini).

    Весь софт можно взять от AVCLan-mini

    Единственно, что был дописан драйвер, точнее в него был добавлен новый функционал. Он теперь умеет регистрировать горячие клавиши и по ним выполнять определенные действия (запускать программы, посылать нажатие клавиш, отправлять сообщения в AVCLan)
    Обновленный драйвер с исходниками во вложении. В нем же мой файл avclan.ini с настройками.
    avclan-mini-driver_20100805.rar
    Для облегчения описания горячих клавишь служит программа ShowHotKey.exe, она показывает коды клавишь, которые нужно записать в avclan.ini

    Я собрал вот такую платку, она у меня совместно с нарульным пультом JVC эмулирует небольшую клавиатуру. И теперь с этого пульта, я могу не только переключать треки в центрефуге и изменять масштаб в гармине, но и регулировать громкость головы (даже когда она играет свое собственное радио)

    P.S. Chip а как отредактировать свой старый пост? Хотел все это выложить в шапке темы, но так и не нашел как. Раньше вроде можно было.
    Последний раз редактировалось Chip; 23.03.2016 в 13:32.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 9 (пользователей: 0 , гостей: 9)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •