Например TDA7294

Форум РадиоКот • Просмотр темы - Радиоуправление. Переходим на МК.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс июн 29, 2025 00:00:19

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 870 ]     ... , , , 16, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Ср апр 01, 2015 17:16:33 
Первый раз сказал Мяу!

Зарегистрирован: Вс июн 23, 2013 10:58:29
Сообщений: 39
Откуда: Запорожье
Рейтинг сообщения: 0
Был бы был дома проверил немедля но увы. Теперь я думаю всё должно быть хорошо, но только практика покажет все плюса и минуса. По поводу скорости передачи сигнала то поднять её хотя бы до 1 килогерца. Так как вы используете передатчик радиостанций то по идее вписывается в полосу пропускания, хотя могу ошибаться. Реле или транзисторы - поэксперементируйте на индуктивной нагрузке ампер на 5 и там видно будет. Я же не говорю что реле это панацея :lol:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Ср апр 01, 2015 18:06:08 
Открыл глаза

Зарегистрирован: Ср фев 11, 2015 17:38:03
Сообщений: 70
Рейтинг сообщения: 0
На составном транзисторе.


Вложения:
Безымянный.jpg [141.58 KiB]
Скачиваний: 514
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 13:46:57 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
А мост на мосфетах не работает? Просто интересно... :roll:
Вообще, всё зависит от моторчика. У вас какой ток моторчика? Хоть фото покажите)) Транзисторы подбираются по току моторчиков. :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 14:12:01 
Открыл глаза

Зарегистрирован: Ср фев 11, 2015 17:38:03
Сообщений: 70
Рейтинг сообщения: 0
Собран на B772 и D882, хочу собрать на TIP122 и TIP127.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 15:55:21 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
копеин, Вас roman.com спрашивал
roman.com писал(а):
А мост на мосфетах не работает? Просто интересно...


roman.com, Въ не задумавались воплотить в жизни (в программе) все преимущества манчестерского кода. Скажем синхронизация, и второе - освободить МК и для каких то других задач (хотя бъ астронавигация - шутка) кроме приема. Кстати, по моему мнению, решение первой задачи решает и вторую. Я позволил себе посмотрет на ваши программъ. Там твердо линейнъй алгоритм и несмотря на то что въ говорите,
roman.com писал(а):
с помощью цифровых фильтров проводим спектральный анализ сигнала
филтрь и спектральный анализ сигнала у вас сделан на простой (раза 252) проверке сигнала. Я не сторонник ATmega8, AVR и т.п. , но с утверждением
roman.com писал(а):
Мой МК не может одновременно и сигнал принимать и за колёсами следить
я не согласен.

Если захочете, я могу предложить вам подумать над тем что написал въше - кроме "филтрь и спектральный анализ " -с етим нет желание связъватся.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 16:30:53 
Открыл глаза

Зарегистрирован: Ср фев 11, 2015 17:38:03
Сообщений: 70
Рейтинг сообщения: 0
Питание моторчика на 7,2 будет ли мост работать с таким питанием или нужно подбирать резисторы и как согласовать с последней прошивкой?
Мост на мосфетах - затров irfz40 оставлять висеть в воздухе?
Что скажите про такой H-мост?


Вложения:
hb_mosfet.gif [5.38 KiB]
Скачиваний: 390
Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 17:25:38 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
копеин писал(а):
Питание моторчика на 7,2 будет ли мост работать с таким питанием или нужно подбирать резисторы.

Измерил ток своих моторчиков... все показали примерно одинаковый ток:
Ток при максимальной нагрузке: 6V - 0,5 A
Ток при максимальной нагрузке: 12V - 0,8...1 A

Достал из коробки разные транзисторы и измерил падение напряжение при токе 6V - 0,5 A:
Изображение
Все транзисторы - составные. Как видем, обычные биполярные транзисторы работают не хуже чем мосфеты... а некоторые даже лучше!
А один транзистор мощный с монитора - вообще не составной... а работает даже лучше чем мосфет! У него сопротивление маленькое, потому что он мощный... Так что в крайнем случае вместо составных можно ставить обычные мощные, только уменьшить резистор в цепи базы. :tea:

При 6V моторчики нормально работают... только мощность естественно меньше чем при 12V...
копеин писал(а):
Мост на мосфетах - затров irfz40 оставлять висеть в воздухе?

Нет конечно! Просто схему так нарисовали ... Изображение Это не я рисовал :)))

Вообщем на обычных составных транзисторах схема будет такая:
Изображение
Для переключения вперед-назад можно использовать любые свободные выводы МК. Для этого открываем исходник приёмника ... и пишем в программе любые свободные выводы какие захотим... ну например PB6 и PB7...
botchin писал(а):
Въ не задумавались воплотить в жизни (в программе) все преимущества манчестерского кода. Скажем синхронизация, и второе - освободить МК и для каких то других задач...

Что вы имеете ввиду? У меня и так синхронизация записи кода по первому биту в пакете.
Да. Спектральный анализ сигнала сделан на простой (раза 252) проверке сигнала. Мы выделяем низкочастотную составляющую сигнала... Короче обычный цифровой фильтр низкой частоты. Я писал выше.
При таком алгоритме мой МК не может одновременно и сигнал принимать и за колёсами следить. Если надо чтобы мой МК делал это одновременно, то придётся переписывать всю программу... И тогда не будет фильтра низкой частоты.

Я могу всё переписать под другой алгоритм работы - без фильтра низкой частоты...

botchin писал(а):
Если захочете, я могу предложить вам подумать над тем что написал въше - кроме "филтрь и спектральный анализ " -с етим нет желание связъватся.

А вот это интересно. И какие у вас есть идеи по поводу алгоритма? :tea:


Вложения:
TX-RX-рабочий-машинка-250-минус0.6-серво-3900.rar [598.57 KiB]
Скачиваний: 204
транзисторы.JPG [210.8 KiB]
Скачиваний: 293
модель машинка-серво-2-составные.rar [195.73 KiB]
Скачиваний: 188


Последний раз редактировалось roman.com Чт апр 02, 2015 17:52:12, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 17:50:34 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
копеин писал(а):
Что скажите про такой H-мост?

Если запитаете Н-мост на MOS-fet от 2 Li-Po то, я опасаюсь что напряжение маловато. MOS будут работат на "линейном" участке. При 7,2В, думаю - биполярники.

roman.com,
Я вам предлагаю такой вариант. Грубо
1. в режиме захвата (capture) ждем, ищем синхро битов. Режим захват генерирует преръвание => в interrupte.
2. Знаем уже сколко "стоят" скажем 4 синхро битов (помечаем SBL - SinBitLen). (4 для елементарное деление). Ета информация в режиме захвата получается автоматом. Тоже в interrupte.
3. Въчисляем SBL/16 и SBL/4
4. Запускаем таймер генерирующии преръвание с SBL/16 и по преръвание читаем порта ето первъй Информационнъй бит. Смещение равное 1/4 инфо бита. Тоже в interrupte.
5. Запускаем таймер генерирующии преръвание еще 53 раза с SBL/4 и по преръвание читаем - порта ето следующие инфобитами. Смещение равное 1 инфо бита. Тоже в interrupte.

Етим методом мъ попадаем всегда на первую четверть следующего инфо бита. Произходит авто синхронизация с частотой передатчика и все попадает в interrupte

если хочется то можно опять читат несколько раз с порта для каждого бита и таким образом страховать себе. Я думаю что ето излишно. Мъ читает уже установившиесеся (как пишется ето слово - установени) сигнали всегда в середине первой половинъ инфо бита.

Надеюсь что написал разборчиво.

PS. После завершения чтение инфо битов и стоп бита проверяем валидности п. 1. Если сразу за стоп бита приходит синхро значит можем принять что пакет валиднъй. Передаем его для въдачи на въводах МК - ето уже в main.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 20:07:57 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
копеин писал(а):
Что скажите про такой H-мост?

да ничего. этот мост практически ничем не отличается от того что я писал выше... только время перезаряда ёмкости затворов будет одинаковая.. если слишком высокая частота и крутой фронт.. то транзисторы могут не успевать переключится .. и будет БУМ! об этом уже писали выше..
botchin писал(а):
Если запитаете Н-мост на MOS-fet от 2 Li-Po то, я опасаюсь что напряжение маловато. MOS будут работат на "линейном" участке. При 7,2В, думаю - биполярники.

переходим на страница №10 этого форума.. viewtopic.php?f=28&t=108688&start=180 и читаем:
MASIK писал(а):
хватит ли 5В для полного открытия мосфета?
roman.com писал(а):
Нашёл парочку FQPF10N20C... измерил... напряжение полного открывания - 4,3 V... подключил к МК... работают чётко.

Короче, при напряжении полного открывания не более 5V, данную схему можно подключать напрямую к МК и всё будет работать чётко.
Изображение
botchin писал(а):
филтрь и спектральный анализ сигнала у вас сделан на простой (раза 252) проверке сигнала...

Я об этом писал на страница №1 viewtopic.php?f=28&t=108688
roman.com писал(а):
дошли до UART в ATmega8......

Я использую идею обычного UART в ATmega8:
Изображение
только увеличил количество выборок:
Изображение
поэтому количество ошибок у меня уменьшилось в несколько раз!
Вот и всё. :tea:

надо нарисовать вашу идею... )))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 20:19:08 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Вот irf510 въходнъе характеристики. При Ugs=5V i Uds=8v он уже въшел на режим "генератор тока". Я бъ не делал на его.


Вложения:
irf510.png [22.93 KiB]
Скачиваний: 392

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Чт апр 02, 2015 21:27:07 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
botchin писал(а):
Я вам предлагаю такой вариант. Грубо...

Изображение
Ну... и что тут "суперского"?)) Где "изюминка"? Просто проверять каждый импульс через равные промежутки... :?

1) увеличивается количество ошибок определения импульса... Вероятность ошибки определения импульса зависит от количества выборок... В заводском UART в ATmega8 - 3 выборки... и идут ошибки!
2) зачем такая сложная синхронизация? У нас частота передачи импульсов постоянная. Поэтому подстраиваться под передатчик при одиночных выборках ... нет смысла...
3) при появлении помехи в синхроимпульсе... будет ошибка определения SBL/16 и SBL/4 ... и сразу ошибка кода.

У меня сейчас количество проверок одинаковое. Причём на всю ширину импульса. Это значит что у меня всегда проверки импульсов проходят точно по фронтам...
Синхропауза одинаковая - задаётся при настройке... значит время выборки SBL/16 и SBL/4 не меняется и нее зависит от помех.. это тоже уменьшает количество ошибок...
Единственный большой сейчас недостаток моей схемы - приходится настраивать схему с помощью осциллографа.. Поэтому можно подумать над автоматической подстройкой частоты и фазы приёмника.

Вообщем .. чёто мне не нравися ваша идея... Схема слишком уязвима в помехам... слишком уязвима. ваша прога будет работать нормально только при очень мощном сигнеле... даже малейшая помеха от работающего двигателя или реле приведёт к ошибке. :facepalm:

Сейчас наш МК читает порт непрерывно... поэтому он не может отвлекаться на другие дела)) Например наш МК не может проверять двигатели:
Изображение

Если мы хотим чтобы наш МК кроме приёма сигнала ещё что-то делал, например проверял двигатели... то тогда лучше использовать встроенный в ATmega8 аппаратный UART ... Который работает незавсимо от основной программы...
скорости: 110, 300, 600, 1200, 2400, 4800... Поддержка формата передаваемых данных с 5, 6, 7, 8 или 9 битами данных и 1 или2 стоп-битами... Три раздельных прерывания по завершении передачи, освобождении
регистра передаваемых данных и завершении приема...
Изображение
Так наш приёмник освобождается от приёма сигнала... и занимается проверкой двигателей и т.д. И только иногда прерывается после окончания приёма... быстренько проверяет и выполняет команду и опять продолжает следить за двигателями...
Таким же образом можно освободить от лишней работы и МК-передатчик.
Причём можно заставить UART МК-передатчика выдавать манчестер... :tea:

Недостаток встроенного UART - он не умет находить синхропаузу... встроенный UART автоматически включается на запись по первому биту... и начинает принимать всё подряд))) Впринципе можно научить UART находить синхропаузу и принимать как положено. 8)

Всё это замечательно... только обе идеи (ваша и моя с UART) имеют недостаток - количество ошибок не уменьшается. Т.е. они могут работать только при мощном сигнале.. без помех. Поэтому если хотим уменьшить ошибки и увеличить скорость передачи.. придётся придумать другую идею. Вот. :tea:

При разработке программы вы допускаете ошибку... как и многие... вы не учитываете особенности работы радиоканала. Такие системы с UART и одиночными выборками могут нормально работать только по оптическому кабелю))) в котором нет помех:

Я тут придумал другую идею. Выше вы писали что используете прерывание по фронтам импульсов...
Изображение
Вот... только у вас идет передача с помощью ШИМ, а я предлагаю подумать как сделать приём манчестера с помошью прерываний:
Изображение
Что это даёт? Как я писал выше... если момент выборки попадает на помеху то получаем ошибку бита:
Изображение
Если использовать прерывание по фронтам... то такой номер не пройдёт))

1) Количество прерываний в одном пакете всегда одинаковое (!).
2) Время между прерываниями может быть или равным одному импульсу или равным двум импульсам (!).

По этим двум параметрам наш МК без труда отличит сигнал от помехи. Понятно, что такая схема может работать только при мощьном сигнале... т.к. даже малейшая помеха... и ошибка. Но зато мы можем работать без синхронизации (!)... при каждом прерывании сбрасывается таймер и начинает отсчитывать время до следующего прерывания... в итоге выбег по частоте сокращается с 54 импульсов до 2... При этом импульс может дрожать... джитер мы устанавливаем сами - программно.
Помоему это намного лучше чем просто проверять один раз импульс и бояться что проскочит помеха. Так мы можем даже уменьшить размер пакета... и даже передавать пакеты без инверсии... это дополнительно увеличит скорость передачи.
:tea:


Вложения:
манчестер.JPG [148.78 KiB]
Скачиваний: 442
3.JPG [255.37 KiB]
Скачиваний: 288
2.JPG [235.82 KiB]
Скачиваний: 385
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 08:50:43 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Понял ! Извини

Кстати, у вас есть такой фрагмент кода
Цитата:

if (d>v) { //вероятность 50%
m[x]=1;
};
if (d<v) { //вероятность 50%
m[x]=0;

Здесь с вероятности 1/v когда (d==v) есть неопределенность.
Исползуйте
if (d>v) //вероятность 50%
m[x]=1;
else
m[x]=0;

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 16:41:21 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
botchin писал(а):
Здесь с вероятности 1/v когда (d==v) есть неопределенность... Исползуйте...

Нельзя. Чтобы писать "крутые" программы ( :))) ) недостаточно просто знать язык программирования... нужно ещё представлять как работает МК.

В чём разница между написанием так:

if (d>v) { //вероятность 50%
m[x]=1;
};
if (d<v) { //вероятность 50%
m[x]=0;
};

или так:

if (d>v) //вероятность 50%
m[x]=1;
else
m[x]=0;

Разница в машинных тактак МК :
Проверка условия if и запись в массив m[x] - занимает (грубо) - 10 машинных тактов МК... Поэтому если писать так:

if (d>v) { //вероятность 50% - это10 машинных тактов МК
m[x]=1;
};
if (d<v) { //вероятность 50% - это 10 машинных тактов МК
m[x]=0;
};

В итоге: подсчёт вероятности занимает (грубо) - 20 машинных тактов МК

Если писать так:

if (d>v) //вероятность 50% - это 10 машинных тактов МК
m[x]=1;
else - это 5 машинных тактов МК
m[x]=0;

В итоге: подсчёт вероятности и запись в массив занимает (грубо) - 15 машинных тактов МК

И что пулачаем? А вот что:

if...
if...
Считаем: 255 выборок (100 тактов)... + if (10 тактов)... + if (10 тактов)... + 255 выборок (100 тактов)... + if (10 тактов)... + if (10 тактов)...
= 240 машинных тактов МК...
Изображение

Или так:

if...
else...
Считаем: 255 выборок (100 тактов)... + if (10 тактов)... + else (5 тактов)... + 255 выборок (100 тактов)... + if (10 тактов)... + else (5 тактов)...
= 230 машинных тактов МК...
Изображение

Т.е. если if + if.........., то время подсчета вероятности и записи в массив всегда одинаковое и не зависит от того "1" или "0"...

Если if + else.........., то время подсчета вероятности и записи в массив следующего импульса разное, зависит от того какой был предыдущий результат подсчёта вероятности... т.е. "1" или "0"...

Т.е. if + if МК свегда проверяет два условия... поэтому время проверки всегда постоянное...

Т.е. if + else МК проверяет одно условие... поэтому время проверки зависит от того, верное условие или нет... поэтому время проверки зависит от выполнения условия...

При частоте 250 гец при тактовой 1.000.000 - это практически не заметно. Но если увеличить частоту импульсов и соответственно уменьшить выборки... то несовпадения по фазе выборок становятся заметны. У нас линейный код!

Вообщем примерно так. :tea:
Во я загнул... ))))) :)))

Кстате, об этом я уже писал выше... почему нельзя при записи использовать сдвиговые регистры...
Страница №2 viewtopic.php?f=28&t=108688&start=20
Линейные коды... запись кодов с помощью сдвиговых регистров...
Изображение

бла-бла-бла ))) :))) Повторять опять все сначало... долго. :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 16:47:58 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
roman.com писал(а):
if (d>v) { //вероятность 50% - это10 машинных тактов
МКm[x]=1; };


; 235 if (d>v) { //вероятность 50%
CP R8,R9
BRSH _0x77
; 236 m[x]=1;
RCALL SUBOPT_0x5
LDI R26,LOW(1)
STD Z+0,R26
; 237 };
_0x77:

Считайте. Далее того пункта не читал.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 17:08:01 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
botchin писал(а):
Считайте. Далее того пункта не читал.

Я так глубоко в подробностях не разбирался))) Поэтому я написал грубо - 10 тактов... Я на прогрмаммиста не учился... Я не могу ответить на этот вопрос...

В таком случае вы подробно расскажите нам...

if (d>v) - проверка условия... если выполняется, то записываем в массив и читаем программу дальше...
else - если условие не выполняется...

В итоге: получается что время проверки условия зависит от того выполняется условие или нет... :roll:

Сколько это в тактах? Вы ниписали не понятно что... регисты.. кудато складываются.. вычитаются... ничего не понятно...
Вот если вы хорошо разбиратетесь в программах... то ответьте на вопрос - сколько у нас получается по времени тактов??? :)

Если не знаете.. то так и скажите. Значит мы оба не знаем )) Значит надо найти настоящего опытного программиста... и он нам всё расскажет. :beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 18:05:15 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
roman.com писал(а):
if (d>v) { //вероятность 50% - это10 машинных тактов
МКm[x]=1; };
if (d<v) { //вероятность 50% - это 10 машинных тактов
МКm[x]=0; };

Если исполнилос первое то второе не будет въполнятся. Кроме мат часть надо и язъка программирования знать.
roman.com писал(а):
Сколько это в тактах?


; 235 if (d>v) { //вероятность 50%
CP R8,R9 1
BRSH _0x77 1

; 236 m[x]=1;
RCALL SUBOPT_0x5 2(1)
LDI R26,LOW(1) 1
STD Z+0,R26
1


;OPTIMIZER ADDED SUBROUTINE, CALLED 2 TIMES, CODE SIZE REDUCTION:3 WORDS
SUBOPT_0x5:
MOV R30,R5 1
LDI R31,0 1
SUBI R30,LOW(-_m) 1
SBCI R31,HIGH(-_m) 1
RET 1


Итого 11 (если rcall 2 такта, с второе условие If 2(или 3 такта)
CP R9,R8
BRSH _0x78

Говорю 2 или 3 потому что ето Атмега. Я его не знаю.

Вообще въ меня уничтожили!!!

Въ что. Всю программу сделали так чтоб от одной лишней инструкции зависела?


Если добавлю один пустой опператор (в PIC ето NOP) что будет. Программа зависнет? Плават к кораблику будем?
Если солнце повъсит температтуру кодера (смотрел зависимость внутреннего RC от t - надо матчасть учить) что будеть? Плават к кораблику будем?

Мало то, что передавая манчестера принимаете черт знает что (но не и манчестера), а сейчась дошло до того что и декодер зависит от все!!! Да сейчась я понимаю зачем въ тупо висите на входном порте и около 8000-9000 раз проверяете что там. И ни СИНХРО, НИЧЕГО.

PS. Когда не знаете что как происходить то смотрите на ASM file. От туда многое можете научить. Разумеется для ASM надо иметь хотя бъ какое то понятие от МК для которого пишете.

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Пт апр 03, 2015 22:06:00 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
botchin писал(а):
Вообще въ меня уничтожили!!!...

А вы меня рассмешили )))))) :))) :))) :)))
Напомнили закомых программистов... которые пишут программы для предприятий ... а когда подключают модем.. то удивляются почему связи нет))) А взять прибор и померить параметры линии связи... не судьба)))

Ничего страшного в этом нет. Просто кто на кого учился... :tea:

Итого 11 тактов... Замечательно... значит столько и показывает осциллограф. Примерно 10 тактов... Это я просто для интереса спросил.
А я думал что на этом сайте одни коротковолновики собрались)))

Вот за это я Вас уже уважаю! :beer: Подробно рассписать код.. могут только опытны программисты.
botchin писал(а):
Если добавлю один пустой опператор (в PIC ето NOP) что будет. Программа зависнет?

Ничего не будет. Выбег частоты допускает отклонение времени выборки до 0, 5 импульса на каждый пакет... Поэтому можем добавлять что хотим... Вот только вероятность ошибок зависит от точности выборок по фазе импульсов... значит любой оператор просто увеличит вероятность ошибки принимаемого сигнала... А сама схема будет и дальше себе спокойно работать.
botchin писал(а):
Мало то, что передавая манчестера принимаете черт знает что (но не и манчестера), а сейчась дошло до того что и декодер зависит от все!!!

Мы передаём и принимаем чётко манчестер, а не черт знает что))) У нас всё четко посчитано))) У нас самый настоящий манчестер. Постоянная составляющая отсутсвует. (чуть только надо подкрутить синхро... в зависимости от последнего импульса кода ... добавляется или убирается лишний импульс... и тогда у нас будет просто идеальный манчестер!) Но это мелочи...
botchin писал(а):
Да сейчась я понимаю зачем въ тупо висите на входном порте и около 8000-9000 раз проверяете что там...

Всё верно. Мы сейчас тупо сидим и проверяем порт... 255х54=13770 ... минус время на обработку кода и выполнение команды...
botchin писал(а):
И ни СИНХРО, НИЧЕГО.

А вам о чем-нибудь говорит выражение Асинхронный поиск данных? Шучу)))

Вообще... наша машинка (или кораблик) работает по принципу UART ATmega8... открываем даташит ATmega8 и читаем:
Асинхронный поиск данных...
1) "Частота выборок в 16 раз выше скорости связи для нормального режима... "
- это мои 255 выборок на импульс.

2) "Если две или более из этих выборок имеют единичное состояние (принцип мажоритарного голосования), то старт-бит отклоняется как ложный, а приемник продолжит поиск следующего..."
- это мой моиск синхро паузы по 255 выборкам...

3) "Однако если определен действительный старт-бит, то логика обнаружения синхронизации оказывается засинхронизированной, после чего вступит в силу логика обнаружения данных..."
- это у меня вклычается запись кода.

4) "Определение логического уровня принимаемого бита данных происходит с помощью мажоритарного голосования... "
- это у меня идет проверка битов по 255 выборкам...

5) "Процесс мажоритарного голосования состоит в следующем: если две или все три выборки имеют высокие уровни, то принятый бит фиксируется как лог. 1. Если две или три выборки имеют низкие уровни, то принятый бит фиксируется как лог. 0... "
- у меня больше или меньше 127.. т.е. 255/2=127.

6) "Процесс мажоритарного голосования, по сути, представляет собой фильтр низких частот для входящего сигнала с вывода RxD..." - это о чём я писал выше... про фильтр низкой частоты.

7) "Процесс обнаружения повторяется до полного завершения приема посылки, в т.ч. первый стоп-бит..."
- тоже писал...

Рабочий диапазон асинхронной связи "Рабочий диапазон приемника зависит от расхождения между внутренне
генерируемой скоростью связи и скоростью принимаемых бит. Если передатчик отправляет посылки на более высокой или более низкой скорости или внутренне-генерируемая скорость связи приемника не соответствует основной частоте... " - это я настраиваю с помощью осциллографа. :tea:

В таблицах 53и54приведен список максимальных допустимых погрешностей при
генерации скорости приемника
. - Это о чем я писал выше... погрешности выборки у нас допускаются не более половина импульса на пакет.

"Имеется два возможных источника влияния на погрешность скорости связи приемника. Системная синхронизация (XTAL) приемника всегда имеет некоторую нестабильность в зависимости от напряжения питания и температуры. При использовании кварцевого резонатора для генерации системной синхронизации как правило не возникает проблем, но при использовании керамических резонаторов частота синхронизации может изменяться более чем на 2% в зависимости характеристик выбранного резонатора.... "

Это вопрос о стабильности тактового генератора. На первой странице я писал, что если напряжение питания ATmega8 больше 5,5 V ... или меньше 4,5 V ... то появляются ошибки при приёме кода.... просто импульс выходит за пределы...
Если нужна высокая стабильность ... то можно подключить кварц. :tea: Причём кварц для заводского UART ATmega8 используют кварцы на определённые частоты... чтобы после делителя получалась нужная частота. В даташите про это тоже написано.
Кстате, встроенный UART ATmega8 может работать без кварца на частотах до 4800...
Компилятор cvavr пишет с какой погрешность будет работать наш любимый UART ATmega8 при разных частотах... Если мы выбираем слишком высокую скорость... то компилятор нам об этом сообщит. :tea:

И т.д. и т.п. Собственно вся моя программа построена на том что написано в даташите ATmega8... весь даташит я вам переписывать не
буду... вы сами можите скачать.

Просто мне не нравится работа заводского UART ATmega8... он даёт ошибки... Поэтому я написал программу своего UART...

А по поводу температурной стабильности... то про это в даташите тоже написано. Стабильность встроенного RC-генератора. Только я не всему доверяю что написано))) Я лучше возьму приборы и сам всё померию.

Если интересно... я могу сказать при каких температурах нормально работает наша схема ... т.е. ATmega8 (т.е. как меняется частота тактового генератора). Я все свои рабочие схемы передатчиков и приёмников проверяю на температурную стабильность. Могу проверить и ATmega8... не проблема!

Если Вы знаете как работает UART ATmega8... то Вы без труда поймёте как работает моя программа.

Если мы хотим получить синхронизацию... то нужно хорошо подумать... так как при таком сигнале довольно трудно выделить синхронизацию... а использовать отдельный блок (цифровой или аналоговый) синхронизации ... чето не очень хочется.... :roll:
Изображение
простым делением и умножением ... синхронизацию не получим... тут надо выделять синхроимпульсы из шума... конечно можно подумать... но не так вы предлагали выше... а более сложным алгоритмом...

Вот. :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Сб апр 04, 2015 06:38:28 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 444
Зарегистрирован: Чт дек 27, 2012 20:46:09
Сообщений: 2029
Откуда: Болгария, г. Лом
Рейтинг сообщения: 0
Вам уже один товарию писал, что смеется очень часто заходя в тему.

Вот, рано утром - расмешили.

Дерзайте. Работайте. Другие плавать будут, не въ.
Я постою в сторону и почитаю. Въ писат любите, а вот читать и воспронимать чужое мнение вам о-о-о-о-очень трудно. Бъло такое и в моей жизни - в начале проффесионалного пути. Потом понял - легче учится на чужие ошибки.

Вот вам задачка. У вас есть приемо-передатчик в одном изделие - кораблик. Сделайте и приема и передачи на одном МК. Тогда может бъть поймете. А то сейчас - как будто получаете % продаж ATmega.

Кстати. Про мажоритарную логику. Когда я учился так назъвалась логика 2 из 3 (два из трех). Где у вас в программе есть такая логика? Или она как код манчестера. Говорим, а его нету.

И еще: Но ето проверте!!!! Расчитал сколко инструкции (машиннъх тактах) будет разница при изменение температуру МК на 20град. Получилось свъше 300. Т.е. ваш код должен допускат изменение на целъх 1,2мС (милиСекунд).

_________________
Лом - ето город в Болгарии, а не инструмент юстировки електроники.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Сб апр 04, 2015 12:30:47 
Друг Кота

Карма: 2
Рейтинг сообщений: 63
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8080
Откуда: .ru
Рейтинг сообщения: 0
Я вам всё пишу... пишу... пишу... а вы опять не так понимаете... не до конца... и не читаете мих сообщений до конца...
botchin писал(а):
Вам уже один товарию писал, что смеется очень часто заходя в тему...

"Товарищ" Ser60 не смеётся, а улыбается :))) Есть разница между смеяться и улыбаться))) Потому что он понимает что я пишу... и мы улыбаемся с ним вместе))
botchin писал(а):
Другие плавать будут, не въ...

Мы ещё пока никуда не плаваем... Проект ещё не завершён. Любой проект считается завершённым, только после испытаний на полигоне. 8) MASIK кудато пропал... :dont_know: так мы и не узнали... получилось у него все настроить или нет...
botchin писал(а):
Въ писат любите,...

Для этого и существует этот форум... тут все пишут что думают и обмениваются мнениями... и могут соглашаться или не соглашатся... У нас свободная страна!)) :beer:
botchin писал(а):
Вот вам задачка...

В изделии "кораблик" прием и передача уже сделаны на одном МК... Просто там МК переключается с приёме на передачи и обратно... Если вы имеете ввиду чтобы МК работал одновременно и на приём и на передачу? Ну... пока он так не умеет...
botchin писал(а):
логика 2 из 3 ... Где у вас в программе есть такая логика? Или она как код манчестера. Говорим, а его нету.

вы просто надомной издеваетесь))) Я вам говорю что принцип работы схемы - это передаланный UART... т.е. я ииспользую сам только принцип! А нелогику 2 из 3... У меня вместо 2 из 3 - 127 из 255... Вы вообще не читаете что я пишу... :)))
А что такое код манчестера... а у меня по вашему что? :dont_know:

botchin писал(а):
Расчитал сколко машиннъх тактах будет разница при изменение температуру МК на 20град. Получилось свъше 300. Т.е. ваш код должен допускат изменение на целъх 1,2мС (милиСекунд).


Вот! Ближе к делу! Это проверим.
Давайте лучше поговорим конкретно по теме. А то мы сейчас испишем весь форум пустой болтовней))) И нас с вами отсуда "выкинут" модераторы... :)))

P.S. Мы находимся в теме Радиоуправление. Переходим на МК. Давайте писать по теме... цифры... факты... предположения (аргументированные)... Я не думаю что тут комуто интересно читать про нашу карьеру и выслушивать чужие советы кто на чьих ошибках учится ))) Извините. :oops:


zhuplev писал(а):
По поводу скорости передачи сигнала то поднять её хотя бы до 1 килогерца. Так как вы используете передатчик радиостанций то по идее вписывается в полосу пропускания...

Если вы дочиталидо этого места... и не уснули от моих заумной писанины... То вы уже знаете как работает наша машинка. Если ещё не пропало желание всё это собирать... то тогда надо посоветоватся.
Скорость мы может сделать какую захотим.. Проблема в ошибках - т.е. ложных срабатываний машинки. Сейчас у нас 250 герц... ложных срабатываний я не зафиксировал при любом уровне сигнала.
Если повысим скорость то могут проскакивать очень редкие ложные срабатывания. Например при скорости 1 кГц - я фиксировал одно ложное срабатывание примерно каждые пять минут работы схемы... Это только при слабом сигнале, т.е. когда машинка выходит из зоны уверенного приёма передатчика... Впринципе, ничего страшного нет. Т.к. после "ложного" кода сразу приходит "правильный" .... в этот момент машинка может только чуть-чуть дёрнуться не в ту сторону.. и всё. На скорости это вообще будет не заметно. :)))

Или можно подкрутить программу под другой код - т.е. уменьшить пакеты... но тогда ошибок будет больше... или ... вообщем надо сначала подумать... допускаются ли ложные срабатывания или нет. :roll:

Ну или придётся переписывать всё программу... это будет не быстро...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Радиоуправление. Переходим на МК.
СообщениеДобавлено: Сб апр 04, 2015 15:52:41 
Открыл глаза

Зарегистрирован: Ср фев 11, 2015 17:38:03
Сообщений: 70
Рейтинг сообщения: 0
Рассуждайте по-дольше, а то я не успеваю схему переделать под Atmega8 smd и на TIP122 и TIP127.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 870 ]     ... , , , 16, , , ...  

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


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y