roboforum.ru

Технический форум по робототехнике.
Текущее время: 01 мар 2025, 10:42

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: АЦП в Tiny2313
СообщениеДобавлено: 28 ноя 2009, 23:32 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
Здравствуйте уважаемые программисты. Недавно начал заниматься электроникой и в частности микропроцессорами. Стоит такая задача: нужно сделать робота-охотника за светом (типичная задача для новичков). Стоят два фототранзистора, и нужно что бы с них считывались показания, сравнивались друг с другом и запускался двигатель постоянного тока вправо или влево "охотясь за светом".
Как считать уровень сигнала с фототранзисторов? С помощью АЦП? Так вот это то и не получается. В CodeVisionAVR для Tiny2313 при создания автокода вообще нет вкладки ADC, а если делать для другова MK - при прошивании не работает. Хотя в описании МК написанно что там есть встроенный ЦАП и АЦПю Немогли бы вы подсказать простую литературу, или же набросать тут код для CodeVisionAVR?. Нужно именно для него! Заранее спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 28 ноя 2009, 23:42 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Читайте даташит - там ПРАВИЛЬНО написано. Достаточно посмотреть обложку.

Измерить напряжение можно и без встоеного АЦП - эммитер фототранзистора соединяете резистором 150-470 Ом с ножкой-входом прерывания AVR и еще эммитер соединяете с землей резистором 10-20 кОм и параллельно конденсатором 10 нФ например. Теперь делаете на ножке "выход" и "0" - затем включаете таймер и делаете ножку "входом" без подтяжки, замеряете время заряда конденсатора до "1" т.е. до момента срабатывания прерывания "по фронту сигнала" ( прерывания в микроконтроллере AVR - http://avr123.nm.ru/03.htm ) - чем быстрей тем больше освещение фототранзистора.

но ИМХО удобней новичку использовать ATmega8 с АЦП например по 48 рублей.

Добавлено спустя 2 минуты 7 секунд:
Maycal писал(а):
В CodeVisionAVR для Tiny2313 при создания автокода вообще нет вкладки ADC


ВЫВОД ??? не ясен ?

Доверяйте CVAVR и avr123 - они плохого не посоветуют ! :ROFL:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 28 ноя 2009, 23:56 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
ТЕ в Tiny 2313 нет АЦП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 28 ноя 2009, 23:57 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
ОЧЕВИДНО нет. Когда есть - то есть и в мастере CVAVR и на обложке даташита.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 00:04 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Там даже нет аппаратного SPI ;)

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 00:08 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
:shock:
там просто ТВИ и СПИ в 1 модуль сшиты...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 00:15 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
Maycal, изучайте внимательней датишиты. на атмеловские чипы их можно скачать, например тут http://atmel.com
по контроллерам еще могу посоветовать почаще заглядывать на сайты подобные этому http://electronix.ru/forum/index.php?showforum=10


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 12:17 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
Скажите пожалуйста, EXT_INT0 это прерывание по фронту или ниспаду?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 12:22 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
по идее - как настроите...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 12:53 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
В генераторе начального кода много параметров, есть Low level, а конктретно High Level нет. Какой выбирать для моей задачи из всех?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 12:56 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
а какая у вас задача ? ) вообще прерывания 0 и 1 настраиваются на спад/фронт/низкий уровень... выбирайте и пользуйтесь..

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 13:01 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
И еще такой вопрос, где в начальном генераторе указать порт, который будет реагировать на прерывание?

Добавлено спустя 3 минуты 44 секунды:
Мне нужно сделать прерывание на фронт. В генераторе для этой задачи на вкладке
External IRQ->INT0 Enabled-> какое выбрать из 4:
1) Low Level
2) Any Change
4) Falling Edge
5) Rising Edge
И как првязать это все к порту? Или оно будет на любой порт реагировать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 13:05 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
фронт - Rising Edge

выбирать порт не нужно ) он в ДШ написан.. PD2 для этой тиньки вроде...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 13:27 
Не в сети

Зарегистрирован: 28 ноя 2009, 23:18
Сообщения: 25
Откуда: Подольск
Спасибо большое! Но есть еще один вопрос, скажи пожалуйсто, какой таймер использовать 0 или 1 или Watchdog для тако что бы посчитать время заряда конденсатора?

Добавлено спустя 15 минут 19 секунд:
Здесь еще одна проблема.
Я так понимаю прерывания работают след образом:
Сначало выполняется код в main. Если есть прерывания, включается обработчик прерываний, выполняется, когда прерывание прекращается, сново начинает выполняться main?
Но все дело в том, что почему то работает только прерывание. А main не работает. В main прописано зажигание светодиота, он не зажигается, а в обработчики прерывания зажигается. В чем же дело?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: АЦП в Tiny2313
СообщениеДобавлено: 29 ноя 2009, 13:27 
Не в сети
Аватара пользователя

Зарегистрирован: 25 июл 2009, 16:35
Сообщения: 104
Откуда: Ессентуки
прог. языки: ASM , Lisp , C# :)
ФИО: Алексей
Ну откройте же вы даташит наконец.... :D Там написано что таймер 0 восьмиразрядный !!,Таймер 1 шестнадцатиразрядный, а ВачДог таймер специальный защитный его не поюзаеш :D :D Я так думаю что таймер 1 для этой задачи будет слишком жирным поэтому юзай таймер 0..

А если хочется точности в измерениях то сходи на http://easyelectronics.ru там был где то пример как из аналогового компаратора и шим сделать неплохой ацп.. Ну и курс там есть неплохой по контроллерам на асемблере :Yahoo!:

_________________
Алокоголизм - излечим, пьянство - нет.
Peace-death.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO