ATmega328: как выглядит выходное напряжение PWM DAC?

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

(это моё первое знакомство с микросхемой)

В схеме изучаемого мной устройства вывод PB2 (SS/OC1B) используется в качестве аналогового выхода. В описании устройства говорится, что управляется этот выход с помощью PWM.

Вопрос: как выглядит выходной сигнал PWM DAC?
Там уже отфильтрованное, "гладкое" напряжение, пропорциональное значению кода, поданного на DAC, или там импульсы TTL-уровней, которые надо обработать ФНЧ, чтобы получить "гладкое" напряжение, управляемо изменяющееся в диапазоне от 0 до 5 вольт?
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Реклама
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1635
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

[uquote="catBot",url="/forum/viewtopic.php?p=4226166#p4226166"]или там импульсы TTL-уровней[/uquote]
Да, импульсы ШИМ…
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 362
Зарегистрирован: Вс апр 03, 2022 07:01:29

Сообщение НовыйДень »

Желтый и голубой - выход с пинов, малиновый и синий - после фильтрации RC-фильтром.
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Чтобы не загромождать чужую тему (и не плодить лишнюю), спрошу тут: как определить, на какую максимальную тактовую частоту рассчитан микроконтроллер?
Можно ли (без нарушения технических условий) заменить у микросхемы ATmega328, купленной с платой Arduino 16MHz, кварц, поставив (уже в своём устройстве) резонатор на 20MHz?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

catBot писал(а):как определить, на какую максимальную тактовую частоту рассчитан микроконтроллер?
Проще всего погадать по даташиту :))
20 МГц её официальный предел. (при смене кварца с 16 на 20 МГц фьюзы менять не надо)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Жду, когда приедет плата Arduino Uno.

Вопрос:
  • можно ли на выходе PWM установить чёткий ноль? (не перепрограммируя режим работы выхода)
Мне важно иногда выключать ШИМ, чтобы не появлялись даже самые короткие иголки на этом выходе.
Это возможно? Достаточно ли просто задать DAC'у входное значение == нулю?
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

сделай инвертированный PWM и задай туда FF (FFFF для 16 битного таймера) - будет тебе ровный ноль!

Добавлено after 1 minute 26 seconds:
у прямого PWM с OCR==0 тонкие иголочки пролазят :(
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1635
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

[uquote="catBot",url="/forum/viewtopic.php?p=4254688#p4254688"]
  • можно ли на выходе PWM установить чёткий ноль? (не перепрограммируя режим работы выхода)
[/uquote]
Нет. Иголки на выходе присутствуют при OCR = 0… убрать иголки можно лишь переводом вывода с выхода на вход… при таком подходе нет необходимости изменять OCR если нужен 0… просто переводишь вывод на вход и всё.
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

:(
Прошивка не моя, жутко оптимизирована по скорости исполнения...

Думаю, лучше предусмотреть логический вентиль, которым чистить сигнал. Управляющий потенциал, правильной фазировки, вроде бы имеется.

Спасибо, что предупредили!!!
Друг Кота
Аватара пользователя
Сообщения: 7079
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

Если нет возможности влезть в код, собери RC фильтр (типа dU/dt - с небольшими сопротивлением и емкостью), он эффективно подавит иголки, но пропустит ШИМ сигнал в практически неизменном виде.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Я должен подать этот ШИМ на микросхему управления ключом, - на MCP1401. Не хотелось бы портить её входной сигнал.

Но за совет - спасибо! Буду проверять, что можно сделать.
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Какое ПО или среду разработки посоветуете для ознакомления с Arduino UNO R3 Development board ?
В наборе получил LCD1602.

В конце концов должно получиться это.
Друг Кота
Аватара пользователя
Сообщения: 5852
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж

Сообщение >TEHb< »

Начать можно и с ардуиновской среды, если с программированием совсем сложно. Это позволит на первых парах не тратить внимание на чисто технические моменты работы контроллера. Для полноценного же взаимодействия с процессором нужно что-то серьёзное. Атмел Студия, например, Код Вижн, ИАР может быть (не пробовал), да хоть голый GCC. Лично я сейчас настолько обленился, что вместо специальной среды АВРки программирую в КодБлоксе.
Усложнять просто. Упрощать сложно.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Спасибо!

Сейчас посмотрел сайт microE, там ARV'овские микросхемы упомянуты, ATmega328 входит в список.
Интересно, если у меня есть "полный" microC PRO for PIC, получится ли так же запустить и microC PRO for AVR?

Попробовал запустить Arduino IDE, чтобы среда включилась, мне приходится не только запускать её от имени администратора, но и снимать всю остальную защиту. Для microC достаточно хотя бы просто админских прав.
(win10/64 Enterprise)
Поставщик валерьянки для Кота
Сообщения: 1947
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Если есть проблемы с правами (не знаю почему?), скачайте "портативную версию" и запускайте откуда угодно и как хотите. За столько лет с Arduino IDE у меня не было проблем с правами (ХР/32, 7 32/64, 10/64), особено если администраторски права. А предпочитаю установленную версию.

https://downloads.arduino.cc/arduino-1.8.19-windows.zip
https://www.arduino.cc/en/software/OldSoftwareReleases/
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Именно с "локальной" v1.8.19 и пришлось отключать все уровни защиты. Иначе программа не запускалась (мелькала заставка и тут же пропадала).

Работать через браузер, "в облаке" - не люблю.

Добавлено after 5 hours 33 minutes 18 seconds:
Среда - Arduino v1.8.19, плата - Arduino UNO.

Скетч грузится, но на запрос Tools-Get board info получаю:
BN: Unknown board
VID: 1A86
PID: 7523
SN: Upload any sketch to obtain it
Поставщик валерьянки для Кота
Сообщения: 1947
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Ничего. Не беспокойтесь об этом, и мой китайский Arduino UNO дает "BN: Неизвестная плата".
Выберите плату, которую думаете, что перед вами на столе, залейте Примеры -> Basic -> Blink и вперед.
После n-тая попытка будет легко с любым проектом :).
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 626
Зарегистрирован: Вт июн 23, 2020 17:32:46
Откуда: Санкт-Петербург

Сообщение catBot »

Что такое "прожигание bootloader'а"?
Зачем оно?

И что может означать ошибка, возникающая при попытке "прожечь bootloader"?
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1635
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

Ответить

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