roboforum.ru

Технический форум по робототехнике.

Как в Bascom-е включить усиление в АЦП?

Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 00:49

Хочу попробывать мерить уровень УЗ-сигнала мегой без операционника подключив УЗ-приемник прямо к АЦП.
Хочу сделать как бы езду на свет, но только в УЗ диапазоне.
Ведь в мегах можно выставлять коофициент усиления, в частности у меня мега88.
В хелпнике не нашел.

Вопрос, как в васике сконфигурировать услиение в АЦП?
Или дурная идея?

Добавлено спустя 9 минут 37 секунд:
я так понимаю нужно теребенить MUX0 на предмет выставления в нем значения 01011
но боюсь васик меня не поймет...

Добавлено спустя 2 минуты 7 секунд:
опс... в меге88 нет такого усиления... :(

Добавлено спустя 4 минуты 16 секунд:
опа... зато в меге16 и меге32 есть...

так что снова продолжаем рыть...

Re: Как в Bascom-е включить усиление в АЦП?

avr123.nm.ru » 09 ноя 2008, 00:52

EdGull писал(а): как в васике сконфигурировать услиение в АЦП ?

Правильно - позырить в даташите.
И у меня в курсе по AVR конечно же есть чуток про фключение диф. АЦП в AVR - http://avr123.nm.ru/z09.htm

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 00:56

вот здесь для меги128 и по русски и вроде как перевод ДШ
http://www.gaw.ru/html.cgi/txt/doc/micr ... 128/12.htm

но всё равно ни чё не понятно, а в ДШ тем более...

Re: Как в Bascom-е включить усиление в АЦП?

avr123.nm.ru » 09 ноя 2008, 00:59

у меня в курсе по AVR наверняка понятно - задача-упражнение 9 - http://avr123.nm.ru/z09.htm

=======
А может просто копаратор встроеный в AVR использовать как дискриминатор ? Сигнал через разделительный конденсатор 0.1 мкФ подают на входы компаратора через 2 резистора по 10 кОм например, а вход "-" заземляют конденсатором. т.е. на "-" сигнал идет через ФНЧ - его частоту нужно взять раза в 3 ниже частоты сигнала. На выходе копаратора будет цифровой сигнал - поток "1" и "0". Вход "-" нужно подключить резисторами по 1 мОм к земле и к питанию.

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 01:07

не, не прояснилось...

вот что я на рыл в хелпе васика

The GETADC() function only will work on microprocessors that have an A/D converter.
The pins of the A/D converter input can be used for digital I/O too.
But it is important that no I/O switching is done while using the A/D converter.
Make sure you turn on the AD converter with the START ADC statement or by setting the proper bit in the ADC configuration register.

Some micro’s have more then 7 channels. This is supported as well. The ADCSRB register contains a bit named MUX5 that must be set when a channel higher then 7 is used. The compiler (lib routine) will handle this automatic. This is true for new chips like Mega1280, Mega2560 and probably other new chips with 100 pins.



An example on how to read singled ended input on a Mega1280:
W = Getadc(0 , 64) ' from data sheet : 100000 ADC8
W = Getadc(1, 64) ' from data sheet : 100001 ADC9
This will read channel 0 and 1. The offset is 64 in order to use singled ended input.

ADC8 is portK.0


но почему 64???
там же нет такого коофициента усиления.

Re: Как в Bascom-е включить усиление в АЦП?

avr123.nm.ru » 09 ноя 2008, 01:11

64 это не усиление, а просто смещение на двоичное число 100000

Вот это прикололо !
The GETADC() function only will work on microprocessors that have an A/D converter.


Напиши конкретно - какой режим АЦП тебе нужен.

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 01:21

думаю меня должны интересовать коофициенты 200 и 10

Re: Как в Bascom-е включить усиление в АЦП?

Кирилл » 09 ноя 2008, 01:23

Эд, в даташите на нужный тебе контроллер прочти про регистр ADMUX. Тебе нужны разряды этого регистра MUX4..MUX0 - ими задается коэффицент усиления. Как только решишь какие единички и нули записывать в этот регистр пиши в баскоме следующую строку:
Код: Выделить всёРазвернуть
ADMUX = &B10101010
конечно же вместо этих единиц и нулей ставь те которые тебе нужны :)

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 01:28

avr123.nm.ru писал(а):64 это не усиление, а просто двоичное число 100000 в десятичном виде.


а 100001 тоже 64 ???

Добавлено спустя 3 минуты 29 секунд:
1. я правильно понимаю, что берем мегу32 и к ноге ADC0 подключаем УЗ-применик, а ADC1 так же как и вторую ногу УЗ-приемника вешаем на землю?
2. что и в какой последовательности нужно писать в ADMUX чтобы получить усиление 200?

Re: Как в Bascom-е включить усиление в АЦП?

Кирилл » 09 ноя 2008, 01:32

какой МК юзать планируешь?
100001 это 33

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 01:40

берем мегу32

Re: Как в Bascom-е включить усиление в АЦП?

Кирилл » 09 ноя 2008, 01:45

ну тогда где то так:
Код: Выделить всёРазвернуть
ADMUX = &B11101001

это получится 10х, ADC0 +, ADC1 -.
а вообще даташит, страница 214.

Re: Как в Bascom-е включить усиление в АЦП?

EdGull » 09 ноя 2008, 01:52

64 это не усиление, а просто двоичное число 100000 в десятичном виде.

а это как???
у меня 100000 как 32 получается

Re: Как в Bascom-е включить усиление в АЦП?

Кирилл » 09 ноя 2008, 01:55

Эд, тебе это не надо.

Re: Как в Bascom-е включить усиление в АЦП?

avr123.nm.ru » 09 ноя 2008, 01:57

EdGull писал(а):
64 это не усиление, а просто двоичное число 100000 в десятичном виде.

а это как???
у меня 100000 как 32 получается


Я думаю так

100000 и 0 это 64 (1000000 ) канал АЦП 0

100000 и 1 это 64 +1 (1000001 ) канал АЦП 1


Rambler\'s Top100 Mail.ru counter