Перейти к содержанию

Аналоговый компаратор ATmega8


Гость химик

Рекомендуемые сообщения

Добрый вечер. Помогите разобраться с этой приблудой.

Суть: если на инвертирующем входе компаратора напряжение становится выше, срабатывет прерывание.

Регистры вытавил так:

ACSR=0b01001010;

SFIOR=0b00001000;

Вход 0 от внутреннего ИОН, вход 1 от ноги АЦП PORTC.0. Вроде бы все правильно, но в протэусе не работает. Может ли кто проверить правильность установки регистров?

 

Здесь скриншот Протэуса и файлы CVAVR+Protteus

001.rar

post-2789-1324699962_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

Вот примерчик мигания светодиода по превышению напряжения на ножке _https://winavr.scienceprog.com/avr-gcc-tutorial/avr-comparator-c-programming-example.html

Изменено пользователем kan
Ссылка на комментарий
Поделиться на другие сайты

эта конструкция

ADCSRA&=~(1<<ADEN);//make sure ADC is OFF

делает логическое и с не единицей, т.е. ноль выставляет. Но по идее он там и так.

 

Желательно также выставить адрес на мультиплексоре. У тебя этого тоже нет.

Компаратор сработает на любой пик напряжения, вероятно лучше все таки мерять действующее, если планируется чемто потом его регулировать.

Почитай, что я послал на твоей параллельной ветке. Может делать твой мегадевайс из тех исходников?

Еще не пойму зачем тебе 12 разрядов и выносной АЦП, если и 10 бортовых хватает, чтобы фиксировать величину действующего напряжения до 724В?

Кстати куда у тебя светодиод на картинке прикручен?

PORTD&=0b00000001;

Изменено пользователем kan
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...
...

Еще не пойму зачем тебе 12 разрядов и выносной АЦП, если и 10 бортовых хватает, чтобы фиксировать величину действующего напряжения до 724В?

...

Есть нюанс, кроме двух точек переменки мне нужно оцифровывать датчик тока с диференциальным выходом по напряжению. Ставить двухканальный паралельный АЦП отдельно для датчика не рентабильно.

Ссылка на комментарий
Поделиться на другие сайты

Есть нюанс, кроме двух точек переменки мне нужно оцифровывать датчик тока с диференциальным выходом по напряжению. Ставить двухканальный паралельный АЦП отдельно для датчика не рентабильно.

Можно поставить дифференциальный усилитель на ОУ, как у Хоровиц - Хилла, а можно мерить ток через датчик Холлаpost-71-1325888430_thumb.png, картинка из _https://content.honeywell.com/sensing/prodinfo/solidstate/technical/hallbook.pdf, там же в приложении методика расчета. Можно сделать пропил в какой нибудь гайке, установить в пропил (зазор) пропорциональный датчик холла - ss495, намотать на гайку силовой провод. 1 виток на вскидку даст насыщение ss495 (5В) в районе 80 А, больше витков - меньше ток насыщения.

По крайней мере так защищали в сварочнике дорогущие ИГБТ транзисторы. См. _https://arvresearch.nm.ru/text/sensor.dhtml. В качестве бонуса - полная гальваническая развязка.

Успехов, Сергей.

Изменено пользователем kan
Ссылка на комментарий
Поделиться на другие сайты

Можно поставить дифференциальный усилитель на ОУ, как у Хоровиц - Хилла, а можно мерить ток через датчик Холлаpost-71-1325888430_thumb.png, картинка из _https://content.honeywell.com/sensing/prodinfo/solidstate/technical/hallbook.pdf, там же в приложении методика расчета. Можно сделать пропил в какой нибудь гайке, установить в пропил (зазор) пропорциональный датчик холла - ss495, намотать на гайку силовой провод. 1 виток на вскидку даст насыщение ss495 (5В) в районе 80 А, больше витков - меньше ток насыщения.

По крайней мере так защищали в сварочнике дорогущие ИГБТ транзисторы. См. _https://arvresearch.nm.ru/text/sensor.dhtml. В качестве бонуса - полная гальваническая развязка.

Успехов, Сергей.

Я думал использовать ACS756SCA-050B-PFF-T. По сути это тоже датчик Холла. Соотношение - на 1А по входу на выходе 40мВ, при напряжении питания 5В. На ss495 обратил внимание, по цене он в четыре раза дешевле, но здесь возня с расчетами.

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...

Устройство уже практичеки готово. Задача разбита на пункты и большинство за отпуск зделал. Вот на одном пока и застрял.

 

Инициализирую аналоговый компаратор с такими параметрами: 0b01001010, нужно чтобы он срабатывал, когда напряжение на инверсном входе выше, чем на прямом. В PROTEUSE все работает как и задумано, а в железе сразу же после инициализации компаратора на включение возникает прерывание, причем при любом раскладе на входах.

post-2789-1343616958_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...