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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 03.05.2012, 14:46  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию AMIS-30624

Здравствуйте. Не могу разобраться с AMIS-30624.
В английском не силен, поэтому очень сложно разбирать даташит.
есть несколько вопросов.
1. Во-первых как определить адрес этого устройства на шине i2с?
2. Высокоуровневые команды типа SetMotorParam или GetFullStatus1. Их можно давать напрямую как-то по шине i2c? или просто отправлять байт команды?
Или сами команды просто написаны для понимания процесса?
3. Какой формат команды? Просто последовательность байт в шину?
Не понятно как выбирать Vmax Vmin из таблицы и главное, что такое SecPos с его 11 битами.
Использую arduino в качестве контроллера.
Извините очень много вопросов. Я начинающий.
Спасибо!


Вот ссылка на даташит
http://www.onsemi.ru.com/pub/Collateral/30624-D.PDF
Реклама:
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 03.05.2012, 19:47  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: AMIS-30624

HW нога микросхемы нужна для:
1. Задания младшего бита для I2C адреса
2. AMIS-3062 проверяет состояние HW ноги на обрыв, то есть если сначала было соединение в землёй или питанием для лог0 или лог1, то при обрыве, например, кабеля управления нога HW подвиснет в воздухе, и это тут же зафиксируется AMIS-3062.
В случае обрыва ноги HW мотор возвращается в безопасное положение SecPos, 11 битов регистра SecPos определяют старшие биты безопасного положения Pos[15:0]

Величины Vmin и Vmax задаются командой SetMotorParam, байт Data4. Конкретные скорости берутся из таблицы 7, например Vmax=0x00 соответствует скорости 99 шагов в секунду, а Vmax=0x0f - 973 шагов в сек.

Последний раз редактировалось Yurkin2007; 03.05.2012 в 20:10.
Yurkin2007 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Yurkin2007 за это сообщение:
nefilim (04.05.2012), warel (29.06.2019)
Непрочитано 04.05.2012, 00:08  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Уважаемый Yurkin2007, спасибо за разъяснения. Хоть на одном форуме нормально, на пальцах получил ответ.
Если Вам не сложно, у меня еще будет масса вопросов. Не сочтите за сложность помочь разобраться в этом девайсе.
Все-же по поводу команд. Это просто записи для понимания, а данные шлем по шине исходя из битовых комбинаций, или можно как-то высокоуровнево давать команды с параметрами?
Скажем GetFullStatus1 - шлем по шине 0x81 и получаем в ответ 8 байт. Или можно дать команду GetFullStatus1 ? Извините. Очень сложно с нуля...

Вот кусок кода для Arduino:
Wire.beginTransmission(0);
Wire.write(0x89); // Команда SetMotorParm
Wire.write(0xff);
Wire.write(0xff);
Wire.write(0xfe); // Irun / Ihold
Wire.write(0xff); // Vmax / Vmin (не разобрался как выбирать)
Wire.write(0xff); // SecPos / Shaft/ ACC
Wire.write(0xff); // SecPos
Wire.write(0xff); // остальное
Wire.endTransmission();

Еще раз спасибо за разъяснения!!!!!
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 04.05.2012, 02:07  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: AMIS-30624

Сообщение от nefilim Посмотреть сообщение
Все-же по поводу команд. Это просто записи для понимания, а данные шлем по шине исходя из битовых комбинаций,
Именно так. Команда в данном случае - это набор действий, которые надо совершить.
Если хотите, то можете оформить каждую команду в виде высокоуровневой процедуры.
Например, адрес Вашей AMIS-3062 есть DEVICEADDRESS. Тогда функция чтения статуса

PHP код:
void MyGetFullStatus1()
{
  
int itmp;

  
Wire.beginTransmission(DEVICEADDRESS);
  
Wire.write(0x81 ); // код команды GetFullStatus1
  
Wire.endTransmission();

  
delay(5);

  
Wire.requestFrom(DEVICEADDRESS8);
  if (
Wire.available()) Wire.read(); // первый байт - возвращает свой адрес DEVICEADDRESS
  
  
if (Wire.available()) itmp Wire.read();
  
Ihold itmp 0x0f;  
  
Irun itmp ›› 4;

  if (
Wire.available()) itmp Wire.read();
  
Vmin itmp 0x0f;  
  
Vmax itmp ›› 4;

и т.д.

Ну, а потом вызывайте эту созданную Вами функцую MyGetFullStatus1() на высоком уровне, где нужно, уже не думая о протоколе I2C и байтах. Эта функция будет обновлять значения переменных Irun, Ihold, Vmin и Vmax, например.

Последний раз редактировалось Yurkin2007; 04.05.2012 в 02:15.
Yurkin2007 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Yurkin2007 за это сообщение:
nefilim (04.05.2012), warel (29.06.2019)
Непрочитано 04.05.2012, 15:38  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Yurkin2007, Спасибо большое за ответы. С программированием проблем вроде нет, а вот по поводу даташита думаю будет еще масса вопросов.
Большое вам спасибо за помощь.
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 04.05.2012, 23:40  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Yurkin2007, Скажите пожалуйста. Для того чтобы проверить работу чипа достаточно записать значения Irun и Ihold, после чего дать команду Runvelocity?
Я правильно понял. Это необходимый минимум. Отальные параметры по умолчанию. И должен крутить?
Но что-то молчит моторчик. Правда я питание взял с Ардуны. Может ему мало?
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 05.05.2012, 01:23  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: AMIS-30624

Сообщение от nefilim Посмотреть сообщение
достаточно записать значения Irun и Ihold, после чего дать команду Runvelocity?
А с какой скоростью ему крутиться? Vmin и Vmax записали?
Попробуйте записать новую позицию SetPosition(). Должен переехать на новую позицию и остановиться.

Сообщение от nefilim Посмотреть сообщение
Правда я питание взял с Ардуны. Может ему мало?
Я не знаю, мне отсюда не видно.
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
warel (29.06.2019)
Непрочитано 10.05.2012, 01:26  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Ув. Yurkin2007, снова нужна ваша помощь.

команда GetFullStatus1 имеет какое-то ключевое значение?
Какие-то странности. Если не дать команду GetFullStatus1 то двигатель не вращается, регистры не обновляются.
Runvelocity не работает без команды GetFullStatus1
Даже GetFullStatus2 показывает значения нулевые, если перед ней не дать GetFullStatus1. Это так нужно?
И еще. SetPosition устанавливает сразу 2 значения: TagPos и ActPos. Соответственно мотор не вращается.
Спасибо.
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 25.05.2012, 00:19  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Ребята помогите разобраться со SetStallParam.
Не могу разобраться как правильно выбирать значения
MinSamples AbsThr DelThr
А назначения FS2StallEn DC100StEn PWMJEn вообще понять не могу.
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
Непрочитано 26.05.2012, 12:26  
nefilim
Частый гость
 
Регистрация: 03.05.2012
Сообщений: 10
Сказал спасибо: 3
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
nefilim на пути к лучшему
По умолчанию Re: AMIS-30624

Неужели ни кто просто перевести не может?
Уперся в эти переменные и ....
Ув, Yurkin2007, где же вы?
nefilim вне форума  
Сказали "Спасибо" nefilim
warel (29.06.2019)
 

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

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

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

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


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


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