Перейти к содержанию

Как подружить две ATMega8?


DimonRX

Рекомендуемые сообщения

Всем доброго времени суток!

В AVR-ках я новичёк и очень нуждаюсь в вашей помощи.

Задача у меня следующая. Есть драйвер управления серводвигателем на ATmega88. Помимо основной задачи ATmega88 через 74HC164D выводит на сдвоенный 7-ми сегментный индикатор направление вращения мотора в виде анимации (вращает сегмент по или против часовой стрелки). Рядом есть некая поделка на ATmega8, одной из задач которой является определение направления вращения мотора и, в зависимости от направления, выполнение различных действий. Как мне это сделать? Как подружить две меги? Всем заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

А что не так? Немного не понятно мне, что ты хочешь подружить? Из условия я понял, что есть два устройства, сигнал направления вращения приходит на обе меги, одна выводит анимацию, вторая выполняет какие-то различные действия. Что не так?

Какие такие задачи у второй меги по определению вращения могут быть немного не понятно... Должен быть сигнал направления вращения, который приходит на вторую мегу...

Ссылка на комментарий
Поделиться на другие сайты

Автор , проще всего на первой атмеге выделить два пина и дергать их в зависимости от направления .

Второй атмегой считывать сигналы и таким образом определять направление.

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А если есть третье состояние? И не влево и не вправо? 

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Вполне возможно ,  но скорее всего это состояние будет когда устройство обесточено .  А так , даже если шим = 0 , то направление вращения уже определено в программе или в схеме . Конечно если будет нужно определить вращается ли мотор и куда вращается  , то безусловно 2 пина нужно . 

Ссылка на комментарий
Поделиться на другие сайты

Я думаю что в большинстве случаев как раз три состояния . Я поэтому и написал сразу за две ножки :)

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Приношу извинения за некорректно сформулированную задачу.

Уточню. У меня нет доступа к программе меги, которая установлена в драйвере серводвигателя. Нет и схемы драйвера. Этот драйвер-законченное заводское изделие.

Моя задача, имея вторую мегу, где работает написанная мною программа, каким-то образом подключить свою мегу  к меге драйвера (или к 74HC164D или к индикатору) и определить направление вращения двигателя.

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, DimonRX сказал:

Моя задача, имея вторую мегу, где работает написанная мною программа,

Ну так возьми анализатор , запиши байты которые поступают при вращении влево и потом при вращении вправо . Создай буфер spi и в буфер записывай данные и анализируй . Исходя из результата - принимай решение о направлении вращения.

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, DimonRX сказал:

У меня нет доступа к программе меги, которая установлена в драйвере серводвигателя. Нет и схемы драйвера. Этот драйвер-законченное заводское изделие.

Как Вы без схемы и без понятия о работоспособности устройства хотите к нему подключиться ?

PS: Анализировать что-то по индикации - та ещё головная боль...

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, artos5 сказал:

Ну так возьми анализатор

 

15 часов назад, DimonRX сказал:

В AVR-ках я новичёк

А можно подробнее?

3 минуты назад, Alex сказал:

Как Вы без схемы и без понятия о работоспособности устройства хотите к нему подключиться ?

Ну, кое-какие понятия о работе есть.

Была у меня мысль подключить все сегменты индикатора к моей меге и смотреть их состояние. При анимации в каждый момент времени может быть включен только один сегмент. И отсюда определять направление вращения мотора. Но такое решение мне не понравилось, не красиво как-то. Хотел как-то данные до сдвигового регистра анализировать.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, DimonRX сказал:

А можно подробнее?

Купи анализатор у китайцев за 10$ или сколько там он стоит .

8 канальный он. И проанализируй данные. За пару вечеров задачу можно решить.

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, DimonRX сказал:

Хотел как-то данные до сдвигового регистра анализировать.

Индикация может быть статической, а может динамической.
Схема нужна, в любом случае.

Ссылка на комментарий
Поделиться на другие сайты

37 минут назад, DimonRX сказал:

подключиться к линии индикации

Смысл? Да и как подключиться к индикации вам уже сказали. Считывайте пакеты, отсылаемые на драйвер индикатора и анализируйте.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, artos5 сказал:

Купи анализатор у китайцев за 10$ или сколько там он стоит .

А можно ссылку? Или хотя бы название, как он у китайцев называется. Поймите правильно, для меня это все новое, я AVR-ками меньше месяца занимаюсь. Для меня это темный лес. Пытаюсь разобраться по мере сил и возможностей.

1 час назад, Alex сказал:

Индикация может быть статической, а может динамической.

Индикация динамическая.

1 час назад, BARS_ сказал:

Смысл?

Смысл подключения к индикации в том, что когда мотор остановлен, на индикации показано направление, в какую сторону он будет вращаться при включении. А когда мотор вращается, на индикацию выводятся обороты. Моя же задача узнать, в какую сторону он будет вращаться.

3 часа назад, artos5 сказал:

Создай буфер spi и в буфер записывай данные и анализируй .

А как это сделать? Может пример есть какой. Моих знаний для этого не достаточно.

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, DimonRX сказал:

название, как он у китайцев называется.

Saleae logic

 

7 минут назад, DimonRX сказал:

Индикация динамическая.

И сколько знакомест?

9 минут назад, DimonRX сказал:

А как это сделать?

Научиться работать с МК, а потом уже куда-либо лезть.

Ссылка на комментарий
Поделиться на другие сайты

14 минуты назад, BARS_ сказал:

Научиться работать с МК, а потом уже куда-либо лезть.

Вот ради этого ответа я и задал вопрос. А Вы уже родились с абсолютными знаниями о МК? И пока не достигли просветления не задавали вопросов вообще? Тогда зачем нужен форум? Для общения гуру между собой?

Ссылка на комментарий
Поделиться на другие сайты

Только что, DimonRX сказал:

А Вы уже родились с абсолютными знаниями о МК? И пока не достигли просветления не задавали вопросов вообще?

Нет. Но вот вопросов я не задавал. Мне с головой хватило примеров в сети и даташитов. Вместо того, чтобы сидеть на форумах я разбирал примеры.

 

2 минуты назад, DimonRX сказал:

Тогда зачем нужен форум?

Форум? А смысл что-то советовать, если такое слово, как "буфер" уже вводит в ступор? Чтобы что-то посоветовать необходимо чтобы у вас были хотя бы начальные знания программирования. Выше ужа дали совет, слить данные, которые идут в индикатор за пару кадров анимации вращения на индикаторе (учитывая динамическую индикацию - это не такая уж и простая задача). Найти закономерость, т.е. выделить байты, которые отвечают именно за анимацию и по порядку байт в двух кадрах определять направление. Например, картинка крутится вправо, подается 0x01 (один кадр анимации), а в другом пакете 0х02 (второй кадр анимации). При анимации влево подается тоже самое, но в обратном порядке, сначала 0х02, потом 0х01. Проблема будет лишь в том, что из-за динамики десяток раз придет пакет с 0х01, и десяток с 0х02. Т.к. заранее известно, сколько байт занимает одна прорисовка, то и записывать буфер в МК будет легко.

Ссылка на комментарий
Поделиться на другие сайты

BARS_,  вот за совет по делу спасибо!

Снял видео, как работает индикация. Скорее всего буду брать 6 разрядов с индикатора и по ним определять направление вращения. Жалко, конечно, 6 ног под это тратить, но на большее я пока не способен. Сделаю так, а в дальнейшем, если поумнею, то переделаю.

 

IMG_2581.TRIM.MOV

Изменено пользователем DimonRX
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Снова попробую обратиться за помощью.

Читать данные с индикатора не получилось. Хочу попробовать читать данные со входа сдвигового регистра. Запись туда происходит по следующему алгоритму:

1. выдаём первый старший бит из пачки на линию DATA

2. опускаем в лог. 0 линию CLC

3. поднимаем в лог.1 линию CLC

4. повторяем все пункты с 1, пока не выдадим все биты.

Мысли такие. Повесить линию CLC на прерывание, например на INT1 со срабатыванием по спаду уровня. При срабатывании прерывания считывать бит данных. И так, пока не прочитаю байт. Вроде логично (на мой дилетантский взгляд), но есть проблема. Как мне синхронизироваться с передачей? Я же могу начать читать не обязательно сначала, а с любого места? И тогда будет считана неверная информация. Как мне узнать, что в данный момент начата передача нового байта?

Ссылка на комментарий
Поделиться на другие сайты

По SPI у меня подключен цифровой потенциометр MCP41010. И SPI у меня инициализирован как master. Мысли были попробовать по SPI прочитать, но не могу врубиться, как?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...