roboforum.ru

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

Муравьи

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Re: Муравьи

Сообщение contr » 09 июл 2009, 00:33

если с ТСОП работаете, то частота должна быть не 30кГц, а та которую этот ТСОП понимает.
contr
 
Сообщения: 987
Зарегистрирован: 17 апр 2009, 15:09
Откуда: Rostov-Don
Предупреждения: -1

Re: Муравьи

Сообщение Lockdog » 09 июл 2009, 00:38

Мой тсоп как раз и понимает частоту 30 кГц
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение avr123.nm.ru » 09 июл 2009, 00:42

Lockdog писал(а):Блин) Что же такое.
Я прошу программный пример, как с частотой 30 кГц что-то передать с ноги TX


Вы ФОРМУЛИРОВАТЬ учитесь правильно и ответы будут про то о чем вы спрашиваете !

При таком "извратном" сигнале наверно лучше ШИМ ноги использовать + софтверный UART управляющий направлением работы ШИМ ноги.

Добавлено спустя 1 минуту 27 секунд:
У ATmega48 6 ШИМ - ШИМ в AVR это задача упражнение 8

2 ШИМ на моторы можно использовать и 4 ШИМ на ИК диоды.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение Lockdog » 09 июл 2009, 00:55

софтверный UART управляющий направлением работы ШИМ ноги.

Это как?
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение avr123.nm.ru » 09 июл 2009, 01:08

софтверный - програмный значит. Но вместо дерганья ногой он пусть дергает бит в регистре DDR некоторой ШИМ ноги на которую ШИМ 30 Кгц клбасится.

Управление ножками и регистрами - задача упражнение 1, диаграмма передачи UART - задача 4 и 5, генерация ШИМ - задача 8 учебного курса по AVR. Денек почитать по-програмить и этот кусочек кода сделаете наерняка.

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

Можно и 4 обычных софтовых UART сделать на 4 любых ноги и ИХ диоды все питать через ключ от ШИМ ноги на которой ШИМ будет 30 Кгц.

Добавлено спустя 10 минут 8 секунд:
Если програмить и схемки рисовать не хотите то подождите не много вам наверно blindman сделает основу. Или ЭдГул на Васике.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение nest » 10 июл 2009, 20:16

чё то заблудились...
Lockdog, чего то ещё не понятно ? :)
кстати, LB1832 тож можно извратиться применить для моторов. с ней напругу можно до 1,6 вольт убавить. хотя там полтора моста всего. и корпус SSOP24.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Муравьи

Сообщение Lockdog » 10 июл 2009, 22:31

То чно написал авр123 я так и не понял((( Я понимаю что такое софтверный уарт, но вот как с этим работать? Грубо говоря, нужно подключить анод ИК-диода к ноге TX передающего МК, а выход TSOP'а к ноге RX принимающего МК. Мне нужно понять как передавать сигнал с частотой 30 кГц? И могу ли я например передать что-то через putchar и принять на другом МК, используя getchar таким способом?

Добавлено спустя 14 минут 35 секунд:
P.S. LB1838 отлично работает;)

Добавлено спустя 1 час 6 минут 12 секунд:
Ещё я спаял зарядник для литиего аккума на микре MAX1555, работает)))

По поводу передатчика: если я повешу на ногу TX ик-диод и буду подавать на эту ногу ШИМ с нужной частотой, то можно будет передавать данные по усарту?
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение nest » 11 июл 2009, 00:45

Изображение

вот примерно так. но возможны и варианты.
вывод OCR сконфигурить на вывод твоих 30 кГц. (плюс-минус пару сотен Гц тож пойдёт)
учти ограничение скорости твоего TSOP-а (кажися макс. 9600 кбпс).
несколько УАРТов не надо. разгребать комманды - програмно. но сначала научись просто байты совать :)
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Муравьи

Сообщение avr123.nm.ru » 11 июл 2009, 01:20

Резистор токо ограничивающий надо всегда в цепь светодиода - сугубо ИМХО.

Логику включения ИК диода лучше б изменить - а то чтоб не светил без передачи надо будет ШИМ еще вкл-выкл. Т.е. получается один ключ pnp к +5 вольтам питает ШИМ-ом через резисторы аноды всех ИК излучателей. А катоды их к выходам UART подключены. Токда ИК будет светить только при передаче данных.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение nest » 11 июл 2009, 01:43

ну там разберётся уже :)
да, резистор забыл.

или чего там ? мега8 ? у неё нету разве переключения логики работу УАРТ ? :)

аааа !!! ещё прерывание от TSOP надо вырубать во время передачи... а то будет сплошное эхо как со слоном в анекдоте :)
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: Муравьи

Сообщение Lockdog » 11 июл 2009, 10:36

Спасибо огромное! Буду колдовать))))
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Re: Муравьи

Сообщение MiBBiM » 11 июл 2009, 11:02

если шим вывести на ногу диода, а tx - на базу транзистора, то энергопотребление получится сократить? или я путаю что-то с чем-то?
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Муравьи

Сообщение avr123.nm.ru » 11 июл 2009, 17:11

Выше написал вариант: ключ pnp к +5 вольтам питает ШИМ-ом через резисторы аноды всех ИК излучателей. А катоды их к выходам UART подключены - без передачи на них лог. 1
Токда ИК будет светить только при передаче данных.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: Муравьи

Сообщение MiBBiM » 11 июл 2009, 19:35

и верно, не читал прст я :pardon:
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Муравьи

Сообщение Lockdog » 12 июл 2009, 17:18

Помогите с кодом:

Код: Выделить всёРазвернуть
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 8000,000 kHz
// Mode: CTC top=OCR1A
// OC1A output: Toggle
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x40;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x84;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

Тут должна генериться частота 30 кГц, всё ли правильно? Частота МК 8 МГц.
Частоту считал по формуле из даташита:
f=f_clk/2*N*(1+OCRnA) OCRnA у меня получилось 132 (или 0x84).
Предделитель я так понял = 1 или нет?
Аватара пользователя
Lockdog
 
Сообщения: 650
Зарегистрирован: 06 июл 2006, 20:42
Откуда: Москва
прог. языки: C/C++, Python

Пред.След.

Вернуться в Наши проекты

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron