Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 28.08.2018, 13:58  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,817
Сказал спасибо: 2,709
Сказали Спасибо 2,666 раз(а) в 1,972 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от threadstarter Посмотреть сообщение
из силовой установки вытаскивать можно только оптикой
Я было подумал - принципиально что-то беспроводное...
Заложить туда метр-другой (в зависимости от роста персонала) оптоволокна, если уж персоналу руки зудят сунуть их куда не нужно.
Хотя - 3 киловольта - при надлежащей изоляции - как бы и не так уж и много...

В оптоволокно пустить что-то быстрое, на мегагерцах, чтобы проц не ждал миллисекундами. Желательно - не программный интерфейс, а железный.

Ну или развязывающие микросхемы поставить - опто или магнито. Рассчитанные на пяток киловольт между входом и выходом. А к ним - подключаться проводками.

Сообщение от makakus Посмотреть сообщение
какие шторки? куда?
Если есть возможность физически отгородить несколько групп потоков световых пучков, то при асинхронной передаче данных в общем пространстве вероятность их передать многократно возрастет.
Сообщение от makakus Посмотреть сообщение
Это когда более одного пакета приходит одновременно и принимающий контроллер успевает принять только один, а остальные теряются.
Как раз при засветке, если не применить избыточное кодирование, при одновременных пакетах они 100% забьют друг друга, если будут светить не в свой приемник. И не будет принят ни один. Без шторок.
Реклама:

Последний раз редактировалось Yuri222; 28.08.2018 в 14:05.
Yuri222 вне форума  
Непрочитано 28.08.2018, 13:58  
threadstarter
Прохожий
 
Регистрация: 27.02.2013
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
threadstarter на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от sat_art Посмотреть сообщение
с какой скоростью идет (должен идти) обмен?
Температурный в принципе не так часто - там секунд 10-20 есть запас.
А контроль того что с 4 ног идут импульсы (не важно причем сколько) желательно по всем 12 датчикам получать в районе 2 сек.

Мысль была предавать значения температуры например 5град, а раз в 10 передач уже реальные значения. На стороне приемника игнорировать температуры ниже 10град. Скорость обмена может и возрастет.

Сообщение от sat_art Посмотреть сообщение
2. Atxmega32A4U - не имеет порта B4.
Вот это спасибо - что то смотрел в книгу видел фигу - пока даташит читал. Значит PORTD 1 пусть за оптику отвечает.
threadstarter вне форума  
Непрочитано 28.08.2018, 14:04  
threadstarter
Прохожий
 
Регистрация: 27.02.2013
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
threadstarter на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от Yuri222 Посмотреть сообщение
Я было подумал - принципиально что-то беспроводное...
А что - идея. А на базе беспроводки передавать уже каким нибудь нормальным протоколом.

Опыта и знаний на эту тему ноль. Если не сложно - накидайте вкратце что посмотреть(приемопередатчики и протоколы) - чтобы не с ноля сейчас изучать всё это.

Сообщение от Yuri222 Посмотреть сообщение
Как раз при засветке, если не применить избыточное кодирование, при одновременных пакетах они 100% забьют друг друга, если будут светить не в свой приемник. И не будет принят ни один. Без шторок.
может не много не понимаю Вас - но каждый канал изолирован - штекер в передатчик, штекер в приемник. Светить кому то в другое место не получиться физически.
threadstarter вне форума  
Непрочитано 28.08.2018, 14:07  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,817
Сказал спасибо: 2,709
Сказали Спасибо 2,666 раз(а) в 1,972 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от threadstarter Посмотреть сообщение
Светить кому то в другое место не получиться физически
Ясно, это я Вас не понял, даташит а Вашу комплектуху не смотрел, думал - в открытом пространстве светом передаете, идет засветка друг друга.

Последний раз редактировалось Yuri222; 28.08.2018 в 14:09.
Yuri222 вне форума  
Непрочитано 28.08.2018, 14:08  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,817
Сказал спасибо: 2,709
Сказали Спасибо 2,666 раз(а) в 1,972 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от threadstarter Посмотреть сообщение
на базе беспроводки
BLE смотрите при таких потоках. Питание - может, литиевой таблетки хватит на несколько лет.
Yuri222 вне форума  
Непрочитано 28.08.2018, 14:09  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,106
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

За delayms надо сжигать на медленном огне (с)

Сообщение от threadstarter Посмотреть сообщение
идеал в пару секунд опрашивать.
Так это задачка для лабораторной работы на 3 курсе.
Делайте, как я сказал во втором варианте.


Сообщение от Yuri222 Посмотреть сообщение
физически отгородить несколько групп потоков световых пучков, то при асинхронной передаче данных в общем пространстве

В оптоволокно пустить что-то быстрое, на мегагерцах
Иногда лучше молча посмотреть даташит, прежде чем торопиться. Там про 5 МБод.

Последний раз редактировалось makakus; 28.08.2018 в 14:15.
makakus вне форума  
Сказали "Спасибо" makakus
eddy (28.08.2018)
Непрочитано 28.08.2018, 14:11  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 7,817
Сказал спасибо: 2,709
Сказали Спасибо 2,666 раз(а) в 1,972 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

threadstarter, обновил свой пост вверху страницы (№11 который)
Yuri222 вне форума  
Непрочитано 28.08.2018, 14:30  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,621
Сказал спасибо: 115
Сказали Спасибо 810 раз(а) в 587 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Вот уже и выяснилось, что ничего там страшного нет. Можно сделать нормальную полудуплексную (или даже полнодуплексную, хотя это в данном случае излишество) связь по RS-485, а для развязки воткнуть преобразователи RS-485 в оптику (в принципе, их и самому можно сделать).
Еще непонятно, зачем формировать фронты ногодрыгом: хоть аврки и говно, но в них тоже есть UART и таймеры. А в некоторых даже DMA есть… С помехозащищенностью на оптоволокне получается намного лучше, чем если использовать радиоканал, так что, если вдруг какой косяк и проскочит, можно тупо выбросить этот пакет…
Сообщение от makakus Посмотреть сообщение
За delayms надо сжигать на медленном огне
В точку! И ногодрыг сюда же!!!
P.S. Судя по страшному коду, сдается мне, что ТС либо студент, которому какой-нибудь старый мастер поручил сделать это на старых, как говно мамонта, микроконтроллерах, либо же тот самый старый мастер...
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 28.08.2018 в 14:32.
eddy вне форума  
Непрочитано 28.08.2018, 14:34  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,621
Сказал спасибо: 115
Сказали Спасибо 810 раз(а) в 587 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Сообщение от threadstarter Посмотреть сообщение
По датчику на блок, 12 штук в итоге
При длине провода не больше метра-полутора, на одну шину 1-wire спокойно можно 20 DS18 навешать (проверял с 24 штуками, все работало). В этом случае не нужен будет арбитраж коммуникационной шины - получится всего один приемник и один передатчик...
Понятно, что с помехами в силовой установке трындец, но если 4 датчика на шине более-менее уживаются, то почему бы к ним еще 8 не присоседить?

И да, я бы эти показометры (DS18 ) заменил на нормальные терморезисторы. Во-первых, выше будет точность, во-вторых, значительно выше рабочий температурный диапазон (при 150 градусах ваш DS18 скорей всего сдохнет, а терморезистору ничего не будет).
__________________
Союз Советских Социалистических Округов Северной Америки

Последний раз редактировалось eddy; 28.08.2018 в 14:36.
eddy вне форума  
Непрочитано 28.08.2018, 15:04  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 428
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Односторонний сбор данных с 12 МК

Я бы на передатчике прицепил любой TX uarta и передавал по последовательному порту.
А на приемнике организовать софтварный uart.
С передатчиком в таком варианте вопросов, как бы, вообще нет.
С приемником возникает вопрос скорости и согласования.
Возьмем скорость например 9600.
Настраиваем таймер на частоту 9600*6 (к примеру)=57600.
В прерывании этого таймера

PHP код:
if(++sync==7sync=1;
if(
recv1)
{
if(
sync==recv1recv1_recv_bit();
}
..
..
if(
recv12)
{
if(
sync==recv12recv12_recv_bit();

где sync переменная unsigned char
recv1_recv_bit.. recv12_recv_bit двенадцать функций приема бита для каждого из двенадцати каналов
recv1..recv12 двенадцать переменных которые равны нулю, но при приеме 0 (стартового бита) будут равны от 1 до 6 до конца приема байта.
На каждую ножку настроенную на прием нужно организовать прерывание по спаду.
В этом прерывании для канала 1
PHP код:
if(!recv1)
{
recv1=sync+3;
if(
recv16)recv1-=6;

recv1 обнуляется после приема 8-го бита.
Как то так.
Как организовать софт уарт расписывать не буду.
Почему именно 6 - надо при приеме попадать в середину принимаемого бита, поэтому при приходе стартового бита sync+3 будет в середине бита и recv_recv_bit будет вызываться примерно в середине. Ну и не забыть пропустить первый бит (стартовый) в recv1_recv_bit .

Последний раз редактировалось sat_art; 28.08.2018 в 16:44.
sat_art вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Книги (не радиотехнической тематики) Mike79 Делимся опытом 4264 16.08.2023 23:52
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Поток данных 44Мбит/сек.Нужно снять лог пару секунд. Как? Zemlyanov Микроконтроллеры, АЦП, память и т.д 4 15.11.2010 23:46
Поможите пожалуйста с литературой на тему сбор данных. ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 0 05.05.2009 02:27


Часовой пояс GMT +4, время: 14:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot