Страница 238 из 304
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт ноя 27, 2015 02:44:23
koms48
По первому вопросу:
Вот это
Sck Alias Pinc.0
замени на это
Sck Alias Portc.0
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт ноя 27, 2015 20:02:10
Foton-4n
А кто подскажет как переключать частоту? Надо бы от RC генератора или кварца переключаться на низкочастотный перед экономичным режимом?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс ноя 29, 2015 02:37:08
COKPOWEHEU
В некоторых из sleep-режимов тактовый генератор просто останавливается, независимо от источника тактирования
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн ноя 30, 2015 06:18:54
Foton-4n
Да причём тут sleep режимы блин! Меня интересовала работа на пониженной частоте в экономичном режим, скажем 128КГц экономичный. Ладно мне ответили что это невозможно.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн ноя 30, 2015 17:51:22
COKPOWEHEU
В контроллерах энергия расходуется не по времени, а по количеству переключений. То есть, программа работает 1 сек на частоте 10 МГц или 10 сек на 1 МГц энергии потребуется примерно одинаковое количество. Иными словами почти нет разницы, будет ли контроллер работать все время на 128 кГц или интервалами по 1 мс с промежутками по 99 мс на частоте 12.8 МГц. Использование сна чуть сложнее. Потребление энергии в нем может быть выше, если остается много работающей переферии, или меньше, если контроллер только отвечает на внешние события (телевизионные пульты вон сколько работают).
Поэтому и возникает интерес, что же за задача такая, что самые очевидные решения не устраивают.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн ноя 30, 2015 18:32:36
kip96
Этому где-то учат, или сами додумались?
АТМЕЛ только не говорите, а то массового суицида сотрудников АТМЕЛ не избежать

Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн ноя 30, 2015 20:47:48
COKPOWEHEU
Это следует из принципа работы КМОП (разумеется, я слегка упростил, на самом деле будут и утечки, и другие расходы, но в первом приближении верно) и даташита. Загляните туда на графики зависимости потребляемого тока от частоты. Вы будете удивлены, но они достаточно близки к линейным.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 01, 2015 10:04:04
uk8amk
Foton-4n писал(а):Меня интересовала работа на пониженной частоте в экономичном режим, скажем 128КГц экономичный.
Выбор тактового генератора из программы реализован в семействе XMega AVR. У MegaAVR приходится довольствоваться только делителем CLKPR(и то не у всех чипов).
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт дек 01, 2015 20:46:18
Адвансед
Вопрос по компаратору на атини 13
мне нужно на порте PB0 (AIN0) засекать появления какого либо напряжения, скажем около 3вольт, как только появилось на этом порте напряжение то далее ставим условие и выполняем действие
Собственно вопрос, каким образом понять что на этом порте появилось напряжение, большее (или меньшее) чем на порте AIN1?
всмысле как это выглядит в виде кода и как конфигурировать компаратор?
нужен именно этот порт так как другие порты с ацп уже заняты,
----
помогите чайнику,
между делом) Спасибо!
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс дек 06, 2015 12:04:08
KOTик
Мрр котам
Написал прошивку на барсике и собрал схему выключения нагрузки (9вольт) на тиньке13.
Все просто: делитель напряжения и АЦП. Значение ADC(0) выводится в UART для настройки. Подключил светодиод и все работает просто замечательно. Нагрузка выключается на 9вольтах и ниже.
И тут столкнулся с проблемой, подключив лампу накаливания (21Вт). Падение напряжения и, как следствие, пляски значения ADC(0) приводят к выключению нагрузки не на том пороге, т.е выключается уже на 11вольтах.
Подскажите, как убрать эту зависимость от нагрузки программно или может что-то в схему добавить.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс дек 06, 2015 15:31:46
Foton-4n
Точность АЦП плавает от напруги и температуры. Для суперточный решений только стабильная паруга питания и желательно 5В. Погрешность вполне приличная при верхнем пороге измерения в ~6.6В до 30-40мВ может дойти погрешность при изменении напруги с 2.5 до 5В, так что проблема еще та!
Так же проблема при нагреве плывёт вниз, в результате ЗУ успешно заряжает до скажем 4.12 когда плата прогрелась, и на холодную уже заряжает до 4.1 или даже 4.09В! Вот это конечно проблема из проблем.
Во всех случаях опора внутренняя 1.1В, мне показалось или на мега меньше плывёт от температуры как бы, ЗУ на mega168p вроде не заметил плавания напруги хотя плата тоже греется так же примерно.
А что бы более точно было оценивать напругу надо юзать алгоритм кратковременного захвата, тут либо оценка по пику, или если значение достигает нужного то сбрасываем таймер, если снизилось то таймер начинает работать по истечению времени событие, тогда короткие провалы не будут влиять. Захват по пику тут измеряем пики на протяжении времени, если новое значение ниже то опять таймер по истечении новое значение
(при ШИМ точно показывает напругу при выключенной напгрузке, хотя колебания от 3.5В до 2.7-2.8В, показывает 3.5В реальная 2.7В просадка, при выключенной показания реальной не меняются, просадка = реальной, специально проверял запитав через резюк так что алгоритм работает идеально), если выше сразу и сброс таймера. У меня напруга очень даже пляшет при включении и просаживается но это не привело к ложным срабатываниям, можно увеличить время ожидания при потенциальной просадкой. У меня вольтметр достаточно тяжёлая процедура там куча таймеров для правильной оценки напруги, минимумы и пики, и это по каждому каналу.
Вольтметр в универсальном портативном БП занимает около 20% памяти от 32Кб, в простых решениях лазерах и фонарях около 30-40% от 8Кб памяти.
А по поводу сна тут конечно вопрос спорный. Кратковременное пробуждение требует работы генератора какого? Странно у меня на 8МГц при 5В тянет около 8.5мА, в IDLE аж до 5 снижается

я бы сказал супер! Про переферию говорить мне не надо я сюда пришёл не с вопросом как мне таймер сделать!
Вот про то я и говорю что снижение частоты можно было сохранять режим оперативного выхода на рабочий режим гораздо дольше, скажем при потреблении в 0.3мА против 8.5мА во сколько раз он бы продлился!
Активация нужна при нажатии кнопок сидящий на АЦП.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс дек 06, 2015 18:18:33
delf74
Прошу помощи у уважаемых котов! Возник вопрос по режиму сна PowerSave.
Собрал барометр на Mega8, датчике Bmp180 (GY-68), Lcd Nokia 3310, питание от батареек 3в. В программе используются софтовые часы, соответственно задействован таймер Т2. С периодом 1 с происходит опрос датчика и вывод показаний на экран, на всё это уходит около 50мс и чтобы не расходовать энергию батареек, перевожу мк в режим PowerSave, но после пробуждения (по срабатыванию таймера Т2) перестает работать обмен с датчиком по шине I2C (использую аппаратный интерфейс), соответственно на экране сплошные нули. После некоторых экспериментов обнаружил, обмен с датчиком восстанавливается только при сбросе (Reset или по сторожевому таймеру), а ещё в режиме Power Idle (вместо PowerSave) работает как надо (но и потребление тоже больше)!
Может кто сталкивался с подобной проблемой или направит в нужное русло...

Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс дек 06, 2015 19:50:44
Foton-4n
А реконфигурация порта? А смысл а батарейках?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пн дек 07, 2015 10:54:33
delf74
Хотелось чтоб мобильность была и без лишних проводов, а если на аккумуляторах, то к ним ещё зарядка нужна ...
Пробовал повторно настраивать порт ... не помогло, только ресет.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 17:22:44
pavel1979
понадобился пульт ик стандарт NEC,попробовал написать,выходит лажа,в протеусе все вроде норм-может кто подскажет что не так...приемник принимает команды не правильно
Спойлер
$regfile = "m8adef.dat" ' Используемый контроллер
$crystal = 16000000 ' 2000000 ' 4000000 ' 8000000
$framesize = 40
$hwstack = 40
$swstack = 40
'$sim
Config Pind.2 = Input
Config Portd.3 = Output
'Config Portd.2 = Output-здесь фотоприемник
'Portd.2 = 0
Irrec_pwr Alias Portd.3
Config Timer1 = Timer , Prescale = 8
'Config Timer0 = Timer , Prescale = 64
Config Timer2 = Timer , Prescale = 1 , Compare = Toggle , Clear Timer = 1
Compare2 = 210
Config Portb.3 = Output
Enable Timer1
'Enable Int0
Enable Interrupts
'On Timer0 Tikers 'work on timer
On Timer1 Period5625
'On Int0 Infrared 'work on interruption
'Dim Tik As Word 'counter of teaks of timer
Dim Byt As Byte
Dim Flag As Bit 'counter accepted bit
Dim X As Byte
'Dim Start_flag As Bit 'flag of start condition
Dim Address As Byte 'byte of address
Dim Command As Byte 'byte of command
Dim Command_ As Byte 'direct byte of command
Dim Address_ As Byte 'indirect byte of address
''Dim Command_0 As Byte 'indirect byte of command
'Dim Summa As Word
Command = 0
Address = 2
Flag = 0
Byt = 0
Stop Timer1
'Start Timer2
' Wait 2
Do 'Main cycle
Gosub Form
Incr Command
Waitms 500
Loop
End
Form:
'формирование посылки
Command_ = 255 - Command
Address_ = 255 - Address
Gosub Imp_start1
Gosub Imp_start0
Byt = Address
Gosub Peredacha8bit
Byt = Address_
Gosub Peredacha8bit
Byt = Command
Gosub Peredacha8bit
Byt = Command_
Gosub Peredacha8bit
Return
Peredacha8bit:
For X = 0 To 7
If Byt.x = 0 Then
Gosub Imp_1_562usek
Gosub Imp_0_562usek
Else
Gosub Imp_1_562usek
Gosub Imp_0_1687usek
End If
Next X
Return
Imp_start1:
'передаем старт 9 мс
Flag = 0
Timer1 = 47536
'Timer0 = T0 'Delay 10 en
Start Timer1
Start Timer2
While Flag = 0
'Flag = 0
Wend
Stop Timer2
Stop Timer1
Portb.3 = 0
Return
Imp_start0:
'+пауза 4,5 мс
Flag = 0
Timer1 = 56536
Stop Timer2
Start Timer1
While Flag = 0
Wend
Stop Timer1
Return
Imp_1_562usek:
'импульс 562,5 мкс
Flag = 0
Timer1 = 64411
Start Timer1
Start Timer2
While Flag = 0
Wend
Stop Timer2
Stop Timer1
Portb.3 = 0
Return
Imp_0_562usek:
'пауза 562,5 мкс
Flag = 0
Timer1 = 64411
Stop Timer2
Start Timer1
While Flag = 0
Wend
Stop Timer2
Stop Timer1
Portd.3 = 0
Return
Imp_0_1687usek:
'пауза 1687,5 мкс
Flag = 0
Timer1 = 62161
Stop Timer2 'Delay 10 en
Start Timer1
While Flag = 0
'Flag = 0
Wend
Stop Timer1
Portd.3 = 0
Return
Startimpuls:
Period5625:
Portb.3 = 0
Flag = 1
'Incr Byt
'Timer1 = 56536 '31250/(256-253)=10416,66 Hz (96 een)
'Start Timer1
'Start Timer0
Return
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 17:36:05
max50
Можно
тут посмотреть и
тут.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 17:46:55
KOTик
А мне никто не поможет
Написал прошивку на барсике и собрал схему выключения нагрузки (9вольт) на тиньке13.
Все просто: делитель напряжения и АЦП. Значение ADC(0) выводится в UART для настройки. Подключил светодиод и все работает просто замечательно. Нагрузка выключается на 9вольтах и ниже.
И тут столкнулся с проблемой, подключив лампу накаливания (21Вт). Падение напряжения и, как следствие, пляски значения ADC(0) приводят к выключению нагрузки не на том пороге, т.е выключается уже на 11вольтах.
Подскажите, как убрать эту зависимость от нагрузки программно или может что-то в схему добавить.
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 17:57:20
pavel1979
max50 писал(а):Можно
тут посмотреть и
тут.
там приемник,а мне нужно именно сам пульт...
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 17:59:37
edm2007
KOTик, а ИОН у АЦП кто?
Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт дек 11, 2015 18:13:05
pavel1979
вопрос исчерпан-я не правильно отправлял биты-задом наперед

и в конце передачи импульс добавить 562,5 мксек