Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

V-USB, Atmega328 и 16MHz

Ср мар 12, 2014 11:06:10

Здравия желаю,
Имеем: Arduino pro mini 16MHz/5V
Схема подключения:
СпойлерИзображение
Преобразователя 3.3В нет. Всё питается от USB. Но при питании от внешнего БП ситуация не меняется.

вот тут взята.
В качестве теста использовались сорцы HID Serial по ссылке выше и оригинальный V-USB.
Задача: подключить ардуину к ПК без лишних заморочек (как то смена кварца - он оооочень мелкий и найти на 12MHz тяжело). Пересылать данные на ПК (желательно через виртуальный ком-порт).
Информация: Из того, что нашел, в оригинальной V-USB для работы на Atmega328p с 16MHz надо:
1. В Makefile сменить тип МК и частоту F_CPU (при этом в usbconfig.h частота в килогерцах будет задана как (F_CPU/1000))
2. В usbconfig.h сменить порты (ну это опционально)
3. Иногда требуется сменить PID (пробовал и с оригинальным 03e8 и с другими из прилагающейся документации.
На HID Serial немного иначе. Так как ардуиновский компилятор плевал на мейкфайлы, то частоту в килогерцах мы указываем прямо в usbconfig.h как 16000
В обоих случаях эксперементировал с прилагающимися экземплами (hid-mouse в v-usb и hello world в HID Serial).
Результат: на данный момент устройство на компьютере есть в обоих вариантах провишки (с разными PIDами) и называется оно USB Device, но не работает:
Для устройства не установлены драйверы. (Код 28)
Нажмите "Переустановить" для переустановки драйверов этого устройства.

При попытке переустановить драйвера, выдает ошибку:
Произошла ошибка при установке устройства
Ошибка установки вследствие того, что драйвер функции не указан для этого устройства

Подопытные системы win2k, XP, win7x64 - везде одно и тоже.
Вот... Вроде все легко и элементарно, а не получается.
Подскажите пожалуйста, как мне заставить ардуину работать с ПК.
С Уважением,

Re: V-USB, Atmega328 и 16MHz

Чт мар 13, 2014 16:35:29

Коты, я на вас так надеялся :)
Рассказываю:
1. Берем здесь исходник cdc232
2. меняем в мейк-файле частоту на 16мгц и проц ат328п
3. собираем и шьем
4. ставим ардуине либо стабилитроны на 3.6В на линии данных, либо питание всего мк 3.3В
5. радуемся
Проблема была в том, что по спецификациям всяким-разным и по программе - линии данных должны быть согласованы. Отсутствие согласования допустимо при каких-то там других скоростных режимах... вникать в это уже не стал.
Прилагаю кекс, зашив который в ардуино про мини, получаем усб-уарт переходник
cdcmega.hex
(7.45 KiB) Скачиваний: 724

Re: V-USB, Atmega328 и 16MHz

Чт янв 31, 2019 19:15:59

Тоже так было. Учитывая что у вас 16 мегагерц, значит питание пять вольт. УСБ у меня не заработал при пятивольтовых уровнях. Повесил пару стабилитронов через резисторы на линии данных чтоб ограничить уровни с Меги и все завелись именно с этой библиотекой..
Ответить