Jump to content
AvtoFocus

Радиоприем\радиопередача На Atmega48

Recommended Posts

...

2. нет, просто тупые вопросы не люблю и лентяев


Feel the difference! ©

Share this post


Link to post
Share on other sites

Если надо, то могу скинуть сюда код программы (хотя их в нете полно), заодно может немного оптимизируем.

Конечно надо! Буду очень благодарен :)


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Собственно вот и коды.

Это код для приёмника, делал на тини2313 так что если будете делать на чём-то другом, то обязательно по датащиту сравните регистры управления.

#include <avr/io.h>
int main(void)
{ PORTB=0xff;
unsigned char buff;
unsigned char er;
unsigned char sv;
unsigned char bufff;
UCSRB=(1<<RXEN); // Включение режима приёма
UCSRC=((1<<UPM1) | (1<<UPM0) | (1<<UCSZ1) | (1<<UCSZ0)) ; // Установка паритета и размера кадра
UBRRL=0x49; // Установка скорости передачи бод/сек
DDRB=0xff; // Установка порта Б на выход
sv=0;
buff=0;
bufff=0xff;


while(1){

while( !(UCSRA & (1<<RXC)) ); // Ожидание приёма данных
if(UCSRA & ((1<<FE) | (1<<DOR) | (1<<UPE))){ // Проверка кадрирования
while(UCSRA & (1<<RXC)){
er=UDR;
}
sv=0; // Очистка буфера обмена
}
else {
if(sv<2){
buff=UDR;
}
else {
bufff=UDR;
sv=0;
}
} //выбор направления данных


if(buff==0b10011010){ //идентификационный код (проверка)
sv++;
buff=0;
} //проверка индефикатора
else {
sv=0;
}
PORTB=bufff; // Вывод данных на порт
}
}

Теперь код для передатчика.

int main(void){
unsigned char svvitch;
UCSRA=0;
UCSRB=0;
UCSRC=0;
UBRRH=0;
UBRRL=0;
TCCR0B=0;
UCSRB=(1<<TXCIE) | (1<<TXEN);
UCSRC=(1<<UPM1) | (1<<UPM0) | (1<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) ;
UBRRL=0x49;
PORTB=0xff;
svvitch=0;
while(1){
while ( !(UCSRA & (1<<UDRE)) );
if(svvitch<2){
UDR=0b10011010; //идентификационный код (отправка)
svvitch++;
}
else {
UDR = PINB;
svvitch=0;
}
TCCR0B=(1<<CS01) | (1<<CS00);
while( !(TIFR & (1<<TOV0)) );
}
}

Дабы это не копировать, прилагаю проекты сделанные в 6 студии.

Я редко пишу пояснения, поэтому что непонятно - спрашивайте.

Программа передатчика считывает с порта (в моём случае порт б) данные и передаёт их.

А приёмник после всех проверок выводит на свой порт (также б) переданные данные

6.1.rar

Были собраны тестовые платы со светодиодами и кнопками. Если надо могу снять видео работы.

post-159171-0-21235400-1379234342_thumb.jpg

post-159171-0-15242700-1379234352_thumb.jpg

post-159171-0-53639400-1379234360_thumb.jpg

Edited by Диман

Share this post


Link to post
Share on other sites

Вебинар «STM32L5. Секреты оценки энергопотребления» (05.11.2020)

Компания КОМПЭЛ приглашает 5 ноября принять участие в вебинаре, посвященном первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре будет рассказано об ошибках при расчете энергопотребления МК с помощью отладки STM32L562E-DK. Отладки STM32L562E-DK будут разыгрываться среди участников. Информация об условиях участия будет озвучена на вебинаре.

Подробнее

ОГРОМНЕЙШОЕ спасибо! :)

Ты их тестировал на дальность?


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Как снизить потери мощности на 30%? Транзисторы SiC MOSFET.

Прогресс в области широкозонных полупроводниковых материалов позволил создать карбид-кремниевые полевые транзисторы (SiC MOSFET) с повышенной рабочей частотой, обеспечивающие меньшие потери на переключение. Усовершенствованные корпуса с малой паразитной индуктивностью, в которых выпускаются такие транзисторы, позволяют разработчикам в полной мере использовать возможности этих компонентов для увеличения КПД силовых преобразователей.

Подробнее

На дальность проверить времени не хватило. Этот передатчик может довольно далеко передавать, надо только немного номиналы изменить.

Share this post


Link to post
Share on other sites

Нейросети в STM32G4 - пошаговое руководство!

Наличие программного пакета X-CUBE-AI, расширяющего функционал STM32CubeMX, поможет разработчику построить искусственную нейросеть на базе микроконтроллера из линейки STM32G4 производства STMicroelectronics. Статья включает пошаговое описание реализации такой нейросети.

Подробнее

Я думаю купить такой на ebay. Как думаешь стоит? Он мощнее...

Прикол в том что цена у них одинакова (если покупать такой как у тебя в Украине)

Edited by .l.

.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Я так понял тебе нужен большой радиус действия, если брать стоковые передатчики, то ясное дело бери тот что мощнее.

В том передатчике что у меня легко можно поднять мощность увеличив напряжение питания или ток (изменив некоторые сопротивления), так же можно перепаять транзистор на более мощный (и ещё больше сделать ток). Где-то я видел что передатчики усиливали до дальности в 1 км (прямой видимости).

Те модули что по ссылке я видел кто-то сам собирал.

Edited by Диман

Share this post


Link to post
Share on other sites

Если бы у меня был осциллограф, я бы с нуля собрал приемопередатчик на нормальную мощность :) Нету возможности настроить. Вот и думаю прикупить готовый модуль...

Мне понравилось что этот приемник супергетеродин.


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Спасибо большое за пример кода)))) Сравню со своим вечерком или завтра))

2. нет, просто тупые вопросы не люблю и лентяев

Тогда вам не в эту тему. ПОТОМУ ЧТО здесь были, есть и будут тупые вопросы - если вы понимаете о чем я.

Да и за лентяями вам не в эту тему =)))

P.S. поищите в курилке)


"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

Share this post


Link to post
Share on other sites

З.Ы. я не нуждаюсь в твоих советах и не спрашивал что мне делать :)


Feel the difference! ©

Share this post


Link to post
Share on other sites

Взаимно)) Мне поф


"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

Share this post


Link to post
Share on other sites

мне пофиг что тебе пофиг, по.уизм твой похоже единственное что у тебя есть :)


Feel the difference! ©

Share this post


Link to post
Share on other sites

...Вот и думаю прикупить готовый модуль...

Мне понравилось что этот приемник супергетеродин.

Я вот такой тестировал. http://www.compel.ru/infosheet/TELC/RXQ2-433/ Работает в обе стороны. Аппаратная защита от ошибок. Программируемый адрес и куча других параметров. СтОит по-дороже, но свои заявленные 200м держит.

Share this post


Link to post
Share on other sites

:lol2: :lol2: :lol2:

С модератором лучше не спорить :)

Я вот такой тестировал. http://www.compel.ru.../TELC/RXQ2-433/ Работает в обе стороны.

Его по ISP нужно программировать?

Ладно. Закажу Link Kit для начала, протестирую его, усовершенствую, закончу свой проект, а дальше будит видно :)

Edited by .l.

.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Работает и программируется (настраивается) по UART. Я делал переходничек RS232 to COM. Есть софт для тонкой настройки параметров, но, кажись, можно и из программы.

Share this post


Link to post
Share on other sites

Хех)) А модератор чем то отличается от тебя или меня? (разве, что в рамках этого сайта и все) =)))

А вот тролить юнных техников не хорошо)) Это как смеяться над детьми +)) ИМХО


"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

Share this post


Link to post
Share on other sites

Заказал я модуль (и термофен :) ), через пару дней пришлют.


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Это код для приёмника, делал на тини2313 так что если будете делать на чём-то другом, то обязательно по датащиту сравните регистры управления.

Наконец то дошли руки до приемопередатчика. Модули приехали, а вот тинька у меня только одна... Передатчик я решил сделать на ATtiny2313, а приемник на ATmega8. В программе сделал небольшие изменения для использования 8 Меги (вместо UPE написал PE). В протеусе мега не реагирует, а сам протеус выдает кучу ошибок.

Надеюсь на вашу помощь.


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Кажется я понял какую ошибку я допустил... Я записал число за пределы памяти ATmega8. Сейчас перепишу


.I.n.t.e.g.r.a.l.

Share this post


Link to post
Share on other sites

Говорил же подробнее изучить работу с Юсарт на конкретном другом контролере. На меде8 правильно устанавливать скорость передачи перед тем как устанавливается всё остальное :

post-159171-0-33296600-1383307818_thumb.jpg

Вот что необходимо переставить:

post-159171-0-91827200-1383307838_thumb.jpg

Вот ваши рабочие проект и протеус.

Desktop.rar

Будут ещё проблемы, обращайтесь, всегда помогу.

Share this post


Link to post
Share on other sites

микроконтроллеры АВР семейства тини и мага.

Книга так себе, лучше скачать такую же, но разделённую отдельно на тини и мега, в них подробнее всё расписано.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Набор электролитических конденсаторов, 120 шт., 0.22мкФ-470мкФ

×
×
  • Create New...