Attiny13a потенциометер поднимает напряжение на LM35. Как бороться?
- Войдите на сайт для отправки комментариев
Здравствуйте! Вот схема моего проекта. Есть Attiny13a, которая управляет вентилятором, охлаждающим LED панель и диммирует яркость панели. Показания температуры читаются с LM35, а диммируется с помошью 10К потенциометра. Собственно, все регулируется ШИМом примерно 37кГц.
Вот код:
void setup() { TCCR0A = 2<<COM0A0 | 3<<WGM00; // clear 0c0a at compare match //enable fast pwm TCCR0B = 1<<CS00; } void loop() { analogWrite(0, map(analogRead(3), 0, 1023, 0, 72)); int t = analogRead(2)/2; if (t>80) { int value = (t-80)+55; analogWrite( 1, value); delay(100); } else { analogWrite( 1, 0); } }
Проблема в том, что когда потенциометер стоит на нуле, LM35 нормально выдает значения и вентилятор разгоняется и останавливается в зависимости от температуры. Но как только я начниаю крутить потенциометер, на LM35 сразу начинает расти напряжение пропорционально напряжению на пине А3 с 450mv до 1000 примерно. Вентилятор сразу запускается. Это не шум - это плавное возрастание напряжения на всех аналоговых пинах.
Что в этой схеме не так? Есть ли какие-то способы избавиться от этого эффекта? Или нужно пробовать решить проблему программно?
Непонятно, что именно Вы считаете проблемой. Для чего вообще в схеме потенциометр? Если его роль в схеме Вы оцениваете как отрицательную, уберите его вообще.
Очевидно проблема в монтаже. Проверьте наблюдается ли изменение напряжения на 3-м пине при изменении на 2-м.
Насколько хорошо отмыта плата?
И цепь RESET, мне одному кажется странной?
Как проверить, хорошо ли отмыта)? Спиртом ее протирал. Пользуюсь ТАГС, он, конечно, хорошо проводит ток.
Что касается цепи RESET, то это совет с английского форума. До ее внедрения Attiny вела себя очень нестабильно.
Да, меняется примерно с 3.68 до 5.15
Тогда ещё ТАГСа! Что бы состояние окончательно стабилизировалось.)
И английским учёным нельзя не верить.
Спирт+бензин "Калоша". Кидаете в смесь, шкрябаете щеткой зубной и покачиваете, чтобы из под корпусов вымывало. Потом сушите и смотрите, есть ли разводы.
А если серьёзно, спирт жалеть не надо.
А чем регулировать яркость? Я думал на счет энкодера, но, боюсь, при моих скромных знания языка C, я вряд ли смогу впихнуть код с энкодером в Attiny13a.
Вы отмойте сперва, а потом про енкодер думайте. ИМХО.
Спасибо!
Отмыл и все заработало!
Теперь начинаю разбираться с транзистором. Подскажите, пожалуйста, как на частоте 37кГц не перегреть транзистор. Напомню, что нагрузка - это диодная лента 60Вт 12В. Просмотрел Интернет нашел несколько схем подключения. Ниже прикладываю варианты.
Вариант 1.
Вариант 2
Вариант 3
Вариант 4
Лично я, голосую за второй, но я не специалист в силовых полевиках.
Ток мне кажется, там биполяры неверно включены. Эмиттеры вместе должны быть. Вроде.
Да, заметил там ошибку.
Резистор 100 Ом в колектор Q5. Без него точно сгорит комплиментарная пара, но не сразу.
Переделал на такую схему. Странно, но я вижу нормальный ШИМ сигнал на базе MOSFETа, но на стоке его нет. Только в моем случае те же транзисторы, что и раньше.
А зачем такие здоровые R1,R4? Да и вообще, Q1 со всей обвязкой, зачем?
Потому что Q1 и Q2, как я понял, работают правильно только если напряжение у них такое же как и на базе, иначе они просто выдают сигнал 12В с рисунком ШИМ, но между 7 и 12В - так у меня было. Эта схема выдает ШИМ 0-12В. Но пока, все равно не работает, потому на полевика стоке этого рисунка нет. Номиналы резисторов взял из схемы в интеренете.