Attiny25 PWM и ADC

AVR версия программы

Attiny25 PWM и ADC

Сообщение Andrey0016 (Андрей) » 07 дек 2017, 15:21

Добрый день.
НЕ могу понять что я делаю не так.
Суть. Программа, измеряет напряжение в линии, и при нужном напряжении включает генерацию на выводе (делаю ШИМом аппаратным).
Также подключены 2 светодиода. Один моргает постоянно, говорит о том что программа работает. Второй загорается только в тот момент, когда нужно включить ШИМ.
Первый вопрос. После включения, светодиод первый моргает стабильно и медленно, но стоит только мне подать нужно напряжение на вход ADC (то напряжение, при котором должен включится ШИМ), как частота его миганий сразу увеличивается, и больше не восстанавливается до начального медленного.
И второй вопрос - не получается сделать так, чтоб была не просто генерация на выводе, а она была прерывистой. То есть, например 300мсек генерация, затем 300мсек нет генерации и так далее.

Прошу помощи.
У вас нет доступа для просмотра вложений в этом сообщении.
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
(Харьков)
Ученик
Ученик
Информация о пользователе

Re: Attiny25 PWM и ADC

Сообщение andrewproffi (Андрей) » 07 дек 2017, 16:08

убери из основного цикла включение и выключение шим, замени на установку нужной скважности (0 - чтобы выключить)
Аватар пользователя
Ник: andrewproffi
Имя: Андрей
(Томск)
Разработчик
Разработчик
Информация о пользователе

Re: Attiny25 PWM и ADC

Сообщение Yushik (Андрей) » 07 дек 2017, 16:30

Сильно в вашу программу я не вникал, попробуйте так. Я подправил по общепринятым нормам, под Attiny25 компилироваться у меня не хотело (ругалось на прерывания) переделал под Attiny13, возможно у меня проблема с Attiny25.fcd
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: Attiny25 PWM и ADC

Сообщение Andrey0016 (Андрей) » 07 дек 2017, 17:45

Спасибо за советы, завтра попробую.
Но вопрос со светиком так и мучает меня. Счёт идёт по прерываниям, то есть должен одинаково стабильно мигать, а он почему то при первом включении шима увеличивает частоту миганий и больше не нормализуется, даже если ШИМ отключился...

По поводу не компиляции тиньки 25, там в прерываниях изменения по timsk. В 25 нет timsk0, есть просто timsk.
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
(Харьков)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Attiny25 PWM и ADC

Сообщение andrewproffi (Андрей) » 08 дек 2017, 03:16

в железе работу проверял?
может как то пересекаются таймеры шим и прерывания, я не стал сильно вникать. после переделки как я рекомендовал выше, частота миганий постоянная.
Аватар пользователя
Ник: andrewproffi
Имя: Андрей
(Томск)
Разработчик
Разработчик
Информация о пользователе
Вернуться наверх

Re: Attiny25 PWM и ADC

Сообщение Andrey0016 (Андрей) » 08 дек 2017, 08:34

Yushik писал(а):Сильно в вашу программу я не вникал, попробуйте так. Я подправил по общепринятым нормам, под Attiny25 компилироваться у меня не хотело (ругалось на прерывания) переделал под Attiny13, возможно у меня проблема с Attiny25.fcd


Спасибо, работает. Только Вы указали вначале весь порт Б в ноль. При такой записи ацп нормально не считывается. Вернул по своему - заработало.
Также большое спасибо что поправили файлик протеуса. Нfконец то он заработал!

Есть большое НО. После исправлений, частота ШИМа невероятно низкая (зато стабильная). При 8МГц и включенном делителе в фузах (ckdiv8) всего лишь 30Гц. Если в фузах отключить делитель то частота вырастает до 250Гц. А настройки флоукода пишут невероятные значения. Мне хотя бы 1кГц добиться или около того.
Когда-то МИМ писал что нужно Си вставку сделать, что аппаратный ШИМ глючит, но что конкретно прописать я незнаю :(
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
(Харьков)
Ученик
Ученик
Информация о пользователе
Вернуться наверх

Re: Attiny25 PWM и ADC

Сообщение Andrey0016 (Андрей) » 08 дек 2017, 09:47

Нашел ответ на свой вопрос.
Почему-то если делать изменения в макросе PWM, никаких изменений с ШИМ не происходит.
НО, если увеличить количество прерываний, то увеличивается и частота ШИМ. Странно, видимо где-то они пересекаются. Недостаток знаний делает свое дело.
С Ув. Андрей
Ник: Andrey0016
Имя: Андрей
(Харьков)
Ученик
Ученик
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: Taska, Vovan_G5, Прохожий