Таймер на ATMega8 в Bascom-AVR
- Сообщения: 291
- Зарегистрирован: Ср май 26, 2010 20:40:47
Ура! Заработало.
Ошибка была в коде, нужно было xmin обнулить после совпадения. Фьюзы выставил такие: CKOPT, BOOTSZ1, BOOTSZ0, SUT1, SUT0, CKSEL3, CKSEL1, CKSEL0. Если кому надо - могу научить как их выставлять в bascom.
- Реклама
- Сообщения: 291
- Зарегистрирован: Ср май 26, 2010 20:40:47
Пытаюсь оцифровать (замерить) напряжение - не получается.
Использую делитель 100k+22k(переменный)/10k. С внешней стороны приходят постоянный ток напряжением от 10В до 20В.
За основу взят код:
Readadc1 = Getadc(5)
Voltage1 = Readadc1 / 1023
Voltage1 = Voltage1 * 30
Stop Adc
...
If Voltage1 < 15.9 Then
Portd.2 = 1
End If
Крутил, вертел, менял все значения - никак не могу добиться результата. Иногда конечно лампочка загоралась, но далеко от значения 15.9
Использую делитель 100k+22k(переменный)/10k. С внешней стороны приходят постоянный ток напряжением от 10В до 20В.
За основу взят код:
Спойлер
Start AdcReadadc1 = Getadc(5)
Voltage1 = Readadc1 / 1023
Voltage1 = Voltage1 * 30
Stop Adc
...
If Voltage1 < 15.9 Then
Portd.2 = 1
End If
был в командировке,поэтому не писал
выложите пожалуйста весь проект-может еще кому пригодится
выложите пожалуйста весь проект-может еще кому пригодится
- Сообщения: 563
- Зарегистрирован: Чт апр 16, 2009 04:53:41
А делитель каким концом к земле подтянут?
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
- Сообщения: 291
- Зарегистрирован: Ср май 26, 2010 20:40:47
- Реклама
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- Сообщения: 291
- Зарегистрирован: Ср май 26, 2010 20:40:47
Уже мозг сломал, взял делитель 100к (к входну напр.) и 10к (к земле) между ними к ATMega8 ADC5 выводу.
Конфиг задан следующий:
По расчетам при 14В подачи на делитель ADC должен быть равен близко к значению 508, но на деле получается где-то в области 230-250. Неправильные расчеты - я так понимаю, т.к. при выставлении близких значений к 230-250 начинает все работать. Подскажите как произвести правильные расчеты на делитель 100к/10к и 75к/10к. Спасибо.
Конфиг задан следующий:
Код: Выделить всё
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У вас делитель на входе 100к и 10 к делит напряжение на (100+10)/10=11 раз,вот и возникает ошибка 14 в/11=12,7 вольт
вместо 100 к надо 90 к,все остальное правильно
вместо 100 к надо 90 к,все остальное правильно
Если правильно понимаю, то както так,
Делитель 100k/10k:
14/(100+10)*10/5*1023=260
Делитель 75k/10k:
14/(75+10)*10/5*1023=337
Делитель 100k/10k:
14/(100+10)*10/5*1023=260
Делитель 75k/10k:
14/(75+10)*10/5*1023=337
- Сообщения: 291
- Зарегистрирован: Ср май 26, 2010 20:40:47
С ADC разобрался, давненько.
---------------------
Посоветуйте пожалуйста быстродействующую схему от КЗ/перегрузки на 12-15В примерно max.I=8А.
---------------------
Посоветуйте пожалуйста быстродействующую схему от КЗ/перегрузки на 12-15В примерно max.I=8А.


