Страница 7 из 7
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Сб окт 12, 2013 17:37:41
AlekseyV
Ура! Заработало.

Ошибка была в коде, нужно было xmin обнулить после совпадения. Фьюзы выставил такие: CKOPT, BOOTSZ1, BOOTSZ0, SUT1, SUT0, CKSEL3, CKSEL1, CKSEL0. Если кому надо - могу научить как их выставлять в bascom.
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Пт окт 18, 2013 20:58:57
AlekseyV
Пытаюсь оцифровать (замерить) напряжение - не получается.
Использую делитель 100k+22k(переменный)/10k. С внешней стороны приходят постоянный ток напряжением от 10В до 20В.
За основу взят код:
Спойлер
Start Adc
Readadc1 = Getadc(5)
Voltage1 = Readadc1 / 1023
Voltage1 = Voltage1 * 30
Stop Adc
...
If Voltage1 < 15.9 Then
Portd.2 = 1
End If
Крутил, вертел, менял все значения - никак не могу добиться результата. Иногда конечно лампочка загоралась, но далеко от значения 15.9
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Сб окт 19, 2013 00:37:16
pavel1979
был в командировке,поэтому не писал
выложите пожалуйста весь проект-может еще кому пригодится
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Сб окт 19, 2013 04:30:12
vek
А делитель каким концом к земле подтянут?
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Сб окт 19, 2013 10:12:50
AlekseyV
Ну естественно 10к подтянут.
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Сб окт 19, 2013 23:04:56
servnt
ZN-GAME, я, конечно далеко не ас, но, вот это кусок кода
Код: Выделить всё
Start Adc
Readadc1 = Getadc(5)
Voltage1 = Readadc1 / 1023
Voltage1 = Voltage1 * 30
Stop Adc
разве сам себя не кольцует?
Может, вот так надо?
Код: Выделить всё
Start Adc
Readadc1 = Getadc(5)
Voltage1 = Readadc1 / 1023
Voltage2 = Voltage1 * 30
Stop Adc
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Вт ноя 19, 2013 08:33:51
AlekseyV
Уже мозг сломал, взял делитель 100к (к входну напр.) и 10к (к земле) между ними к ATMega8 ADC5 выводу.
Конфиг задан следующий:
Код: Выделить всё
Dim Readadc1 As Word
Config Adc = Single , Prescaler = Auto , Reference = Internal
Do
Start Adc
Readadc1 = Getadc(5)
Stop Adc
If Readadc1>= 508 Then
Portd.2 = 0
Portd.4 = 1
Waitms 500
Portd.3 = 1
End If
Loop
По расчетам при 14В подачи на делитель ADC должен быть равен близко к значению 508, но на деле получается где-то в области 230-250. Неправильные расчеты - я так понимаю, т.к. при выставлении близких значений к 230-250 начинает все работать. Подскажите как произвести правильные расчеты на делитель 100к/10к и 75к/10к. Спасибо.
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Вт ноя 19, 2013 10:54:26
pavel1979
У вас делитель на входе 100к и 10 к делит напряжение на (100+10)/10=11 раз,вот и возникает ошибка 14 в/11=12,7 вольт
вместо 100 к надо 90 к,все остальное правильно
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Вт ноя 19, 2013 10:55:15
zero648
Если правильно понимаю, то както так,
Делитель 100k/10k:
14/(100+10)*10/5*1023=260
Делитель 75k/10k:
14/(75+10)*10/5*1023=337
Re: Таймер на ATMega8 в Bascom-AVR
Добавлено: Вс янв 19, 2014 23:30:28
AlekseyV
С ADC разобрался, давненько.
---------------------
Посоветуйте пожалуйста быстродействующую схему от КЗ/перегрузки на 12-15В примерно max.I=8А.