|
|
  |
atmega32 + HMC5883 (по i2c), подключение компаса к мк |
|
|
|
May 15 2012, 06:21
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
Между компасом и моей отладочной? Расстояние сантиметров 7-8.  Никто случаем не знает какой-нибудь нормальный зарубежный форум, где могут подсказать по атмеге, avrfreaks регистрацию приостановил? Похоже единственный энтузиаст ILYAUL исчерпал фантазии, печально похоже придется использовать обычный компас, а не цифровой).
Сообщение отредактировал Kruftin - May 15 2012, 16:45
|
|
|
|
|
May 15 2012, 18:41
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
У меня фантазии хватает, тока вот применить я ее не в силах, сейчас вот думаю ножками подрыгать(как пример http://avrlab.com/node/127). Может дело в TWI модуле атмеги. Кстати вот что интересного про ошибку почерпнул отсюда http://easyelectronics.ru/avr-uchebnyj-kur...oj-iic-i2c.html 0×20 SLA+W+NACK Мы отправили адрес с битом записи, а нас послали NACK. Обидно, сгенерим ошибку или повторим еще раз. 0×30 Byte+NACK Мы послали байт, но подтверждение не получили. Видимо ведомый уже сыт по горло нашими подачками или он захлебнулся в данных. Либо его ВНЕЗАПНО посреди передачи данных украли инопланетяне. Просто когда я с уартом разбирался, там больше было возможностей для маневра, а тут только осциллограф в руки. Не я все равно добью этот компас  P.S. Как это я в коде не разобрался?!Он простейший, я все что делаю понимаю, мне регистры уже снятся. А вот осциллографом я должен быстро получается отлавливать передачу от компаса?Он же когда я к нему не стучусь не кидает ничего на линию? Поясни если можно поподробнее как осциллографом данные от компаса словить и что должно быть в идеале.
Сообщение отредактировал Kruftin - May 15 2012, 18:57
|
|
|
|
|
May 15 2012, 19:26
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
По коду в котором явно задается регистр TWBR: Код TWBR=0x11; // Bit rate TWSR=(0<<TWPS1)|(0<<TWPS0); // Setting prescalar bits // SCL freq= F_CPU/(16+2(TWBR).4^TWPS) Завтра пойду смотреть что осциллограф кажет. Так питание я включил, контроллер прошил, затем мне опять питание отключить и включить как я понимаю. Ладно зациклю посылку адреса или посылку значения в регистр(0х5А тоже тогда нельзя).
Сообщение отредактировал Kruftin - May 15 2012, 19:41
|
|
|
|
|
May 17 2012, 18:34
|

Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 30-05-11
Из: Екатеринбург
Пользователь №: 65 365

|
На данный момент все проверки проходят по даташиту как часы, однако от компаса получаю старший байт 0xFF, младший байт 0x00 и так для всех координат (x,y,z). Похоже надо поразбираться с даташитом компаса или компас нерабочий в плане расчетов координат. Даташит на компас прилагаю.
Сообщение отредактировал Kruftin - May 18 2012, 04:58
|
|
|
|
|
May 18 2012, 15:07
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Kruftin @ May 17 2012, 22:34)  На данный момент все проверки проходят по даташиту как часы, однако от компаса получаю старший байт 0xFF, младший байт 0x00 и так для всех координат (x,y,z). Похоже надо поразбираться с даташитом компаса или компас нерабочий в плане расчетов координат. Может для начала откалибровать. У меня например в машине , надо задать своё положение (начальную точку- занести начальные координаты в регистр) и сделать круг на машине . Вот тогда показывает все стороны света. У него появляется от чего плясать , а в Вашем они есть. Помоему на их сайте есть applicattion по калибровке компасов.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
May 20 2012, 13:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(_Артём_ @ May 20 2012, 00:05)  При выключении калибровка не теряется? Почему же их тогда на заводе настроить нельзя? Не знаю . Но вот так написано в инструкции по калибровке компаса. Не теряется , если только аккум не снять , повидимому в EEPROM не пишут Код Не ну какие-то данные он должен сразу скинуть, даже если он на месте стоит. А он кидает FF и 00, значит компас глючит Для какого полушария данные он должен скинуть , для южного или северного?
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|