Моделирование в протеусе

Ответить
Matveyct
Рядовой
Сообщения: 3
Зарегистрирован: 30 ноя 2020, 03:45
Имя: Матвей

Моделирование в протеусе

Сообщение Matveyct »

Добрый день. Имею проблему с моделированием в Протеусе аналоговых входов. После компиляции скетч подкидываю в модель, после запуска идут ошибки предупреждения по адресам, методом эксперементов определил что это не связано со Skale и Шимом.
Нужно просто регулировать шим потенциометром. Извиняюсь может где то описано решение но найти не смог. На учебных роликах в железе работает. Где может быть нестыковка.?
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Моделирование в протеусе

Сообщение RedSky »

Нужно подключить питание 5в и землю.
Matveyct
Рядовой
Сообщения: 3
Зарегистрирован: 30 ноя 2020, 03:45
Имя: Матвей

Моделирование в протеусе

Сообщение Matveyct »

Итак все подключено. Приведу скрины пока не идет. Пробовал другой вариант кода также не работает.
Шим работает только его регулировка кнопками цифровым сигналом

Думаю надо контроллер как нибудь, сконфигурировать в протеусе на аналог.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Моделирование в протеусе

Сообщение RedSky »

Matveyct писал(а): 30 ноя 2020, 15:05 Итак все подключено
AVCC не подключен. Это питание ацп.
Какие настройки контроллера в IDE? Как установлены фьюзы в протеусе?

Отправлено спустя 5 минут 24 секунды:
Для масштабирования нужно использовать функцию map, или просто делить на 4.
А так шим всегда будет "0" (temp*0.25) т. к. temp целое число.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2419
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 21 раз

Моделирование в протеусе

Сообщение Dryundel »

[ref]Matveyct[/ref], Вам реально требуется голая Atmega 328, или Вы моделей Arduino не нашли?
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 13 раз
Поблагодарили: 100 раз
Контактная информация:

Моделирование в протеусе

Сообщение aidar_i »

Где проект в Протеус? И проект в FLPROG тоже нужно выкладывать, а не картинки. Что Вы там в настройках поставили в атмеге?
В Протеус есть атмега с обвязкой под Ардуино.
Под названием темы нужно писать короткое сообщение, а не все сообщение копировать и туда ставить.
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Моделирование в протеусе

Сообщение Labu559 »

Здравствуйте ув.[ref]Matveyct[/ref],
Matveyct писал(а): 30 ноя 2020, 15:05 Думаю надо контроллер как нибудь, сконфигурировать в протеусе на аналог.
Правильно думаете. По скринам: нужно в setup() прописать что-то на счёт Вашего А0 типа (ссылка)

Код: Выделить всё

pinMode(A0, INPUT);
Конфигурировать пин 6 (или другой), как вывод ШИМ для analogWrite() нет необходимости. Если крайние выводы Вашего потенциометра подключены к Gnd и Vcc, то указывать analogReference(DEFAULT) тоже нет необходимости, оно (опорное напряжение) и так принято по умолчанию. Так как аналоговые сигналы с А0 и ШИМ являються беззнаковыми целочисленными значениями 0...1023 (10 бит), 0...255 (8 бит), соответственно, то analogRead(analogPin) перерассчитывается для analogWrite(pwmPin, temp) как:

Код: Выделить всё

 byte temp = (byte(analogRead(A0)>>2)); analogWrite(6, temp);
Выбор 6 пина для вывода ШИМ сигнала не слишком удачный - цитирую отсюда : "...На выводах 5 и 6 генерируется ШИМ-сигнал с коэффициентом заполнения большим, чем заданное ожидаемое значение. Это происходит в результате взаимодействия с функциями millis() и delay(), которые используют тот же внутренний таймер, что применяется для генерирования ШИМ-сигнала. Данный эффект более ярко выражен при малых значениях задаваемого коэффициента заполнения (0 - 10) и может проявляться в неполном выключении выводов 5 и 6 при коэффициенте равном 0..." ещё одна ошибка у Вас- рассчёт производится для типа float (1023.0/255.0), а запись делаете в переменную типа int. Как видите выше достаточно типа byte temp.
Успехов! :)
Matveyct
Рядовой
Сообщения: 3
Зарегистрирован: 30 ноя 2020, 03:45
Имя: Матвей

Моделирование в протеусе

Сообщение Matveyct »

Dryundel, Aidar_i
Большое спасибо. Решение было на поверхности. Поставил библиотеки Arduino в Proteuse.
С темой согласен не сразу понял.
По кодам буду постепенно осваивать программы. Это все таки частичка первого проекта на Arduino. Оновной почти доделал
Fl Prog это хорошо но коррекцию уже делать в коде.
Еще раз всем спасибо
Ответить

Вернуться в «Wiki»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя