вечер добрый всем. прошу подсказать как настроить компаратор на атмега 328 в частности на ардуине про мини. вроде делаю все по "инсрукции" Код (C++): DDRD= B00000000; //устанавливаю все порты на вход PORTD = B00000000; //отключаю подтяжку ACSR = ACSR |(1<<ACBG); подключаю опорное напряжение на вход AIN0, в моем случае цифровой пин 6 или по научному PD6 а в итоге на 6 ноге никакого напряжения то и нету. висит 1.9 вольта не смотря на Код (C++): PORTD = B00000000; или это теоретический термин " подключить опорное напряжение к выходу AIN0"? в общем чего я хочу от компаратора добиться. при изменении AIN0<AIN1 или AIN0>AIN1 по прерыванию в основном цикле проверялся бит ACO . больше или меньше нуля. если меньше 0 - включить генерацию шим, 1 - отключить. но пока что то я не могу даже его завести.
нашел статейку www.bhv.ru/books/get_pdf_data.php?id=184164 покурю на ночь. интересно это из какой книжки
Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. (3-е изд. исправленное) http://www.bhv.ru/books/book.php?id=191434
очень осторожно. то есть если бит установлен то и не должно там быть напряжения а если сброшен то на AIN0 можно подавать внешнее опорное напряжение? параллельно или последовательно возник вопрос а что можно использовать в качестве внешнего источник опорного напряжения? стабилитроны? ASM1117 на 3.3 вольта? или внутренний источник обладает достаточной точностью?
??? что? да хоть резисторный делитель. если подходит его уровень, то используй его. Другое дело, что этот уровень предварительно надо измерить - от экземпляра к экземпляру отличается. Это если про точность.
вечер добрый. игра слов. параллельно == пока учусь программировать компаратор думаю что использовать в качестве ИОН. последовательно == после того как освою компаратор все равно к этому вернусь. причина. пишут что точность внутреннего ИОН атмеги328 10%. если перевести это в 400 вольт которые необходимы то возможно напряжение 440 которое быстро убьет мой слюдяной датчик. тогда придется мудрить с дополнительным analogReadом чтоб не было перенапряжения. а "кот" и так настолько перегружен, что важен каждый такт мк. ночью как все уснут, попробую дальше мучить компаратор. (после этого останется освоить USART и SPI)
и то и другое если точность можно подстроить то стабильность хрен с два угадаешь. кто то делал замеры при комнатной температуре и пониженной и вышли как раз эти 10% нестабильности пока варианты MCP1541 или TL431, последний даже удобнее да и дешвле. ждать только долго заказ придется.
Ночер добрый всем. Мучаю свою игрушку. Наконец то перевел генерацию накачки и контроль в Дуню, без всяких внешних источников накачки. Управляется все компаратором в фоне. Если нужно нарисую схему как доберусь до компьютера. А общем ситуация такая на ain0 с стабилитрона идёт 3.9 вольта. На ain1 с делителя 100 мом - 1 мом идёт напряжение с накопительного конденсатора. В скетче вроде все по фен-шую. Как на одном форуме писали пины 6 и 7 (про мини) поставил на вход и записал в них нули типа Код (C++): digitalWrite ( 7, 0); digitalWrite ( 6, 0); Все работает ( почти). Но, когда спалил 7 пин ain1, начал разбираться что к чему. Оказалось компаратор занимается какой-то хренью вместо того чтоб работать правильно. Хотично меняется значение регистра aco . И он соответственно даёт команду на генерацию импульсов. А Дуня через мосфет оказывается так может раскочегарить транс накачки, что напряжение даже не меряется. Мультиметр печально пискнул и вырубился, теперь ещё и мультик покупать новый, (блин). Как не странно Дуня отделалась сгоревшим пином и все, хотя и это странно напряжение конечно было здорово превышено, но ток там порядка 15-30 мкА. Потом стал тестить на другой Дуне, такая же хрень. Однако если притянуть к земле ain1 то все работает так как положено. Господа подскажите почему так получается? Особенность моей схемы? И резистор подтяжки лучше ставить а таком случае? Пока работает с 40 ком, но думаю можно пол мегаома постааить
Ну во-первых емкость порядка 22pF по входу, во вторых входное сопротивление около мегома. Вот и считай неучтёнку в своей схеме.