реклама на сайте
подробности

 
 
> atmega32 + HMC5883 (по i2c), подключение компаса к мк
Kruftin
сообщение May 13 2012, 11:18
Сообщение #1


Частый гость
**

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



Добрый день!

Возникла проблема при подключении к мк атмега32 компаса HMC5883. Устанавливаю состояние старт, а вот затем посылаю адрес для записи, в ответ на который получаю состояние регистра статуса twi равное 0х20, что означает: данные переданы, получен Not ack. Вот такие дела. Причем коды состояния я получаю только лишь при работе на частоте 1 МГц, на 8Мгц не могу получить даже состояние старт.
Код прилагаю даже в двух вариантах. Также в архив положил даташит на компас.

Вот участок кода где я проверяю статус:
Код
void HMC5843(void)
{        
    //unsigned char xh, xl, yh, yl, zh, zl;
    long xo, yo, zo;
    
    i2cSendStart();
    i2cWaitForComplete();
    
    i2cWrite_Address(0x3C);    //write to HMC
    i2cWaitForComplete();
    status_er = i2cGetStatus();
    i2cWrite_Data(0x02);    //mode register
    i2cWaitForComplete();
    i2cWrite_Data(0x00);    //continuous measurement mode
    i2cWaitForComplete();
    //status_er = i2cGetStatus();
    //i2cCheckForMT_SLA();
    i2cSendStop();

Полезные ссылки:
1)http://www.seeedstudio.com/wiki/index.php?title=Twig_-_3-axis_Compass_v1.0b


Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  compass.rar ( 457.6 килобайт ) Кол-во скачиваний: 52
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kruftin   atmega32 + HMC5883 (по i2c)   May 13 2012, 11:18
- - ILYAUL   А где Вы устанавливаете скорость передачи?   May 13 2012, 14:24
- - Kruftin   В архиве компас есть полный код программы(для CVAV...   May 13 2012, 18:01
- - ILYAUL   Как всё сложно- то . Moжет проще TWBR=SYSCLK/(2*...   May 13 2012, 18:31
- - Kruftin   Можно и так. Но вот при частоте тактирования 1МГц ...   May 13 2012, 19:41
|- - ILYAUL   Цитата(Kruftin @ May 13 2012, 23:41) К ко...   May 13 2012, 21:30
- - Kruftin   Именно так.   May 14 2012, 08:48
- - ILYAUL   Уменя складывается впечатление , что у Вас проблем...   May 14 2012, 10:16
- - Navovvol   с I2C не сталкивался, но пытаясь разобраться вот н...   May 14 2012, 11:08
- - Kruftin   Дак а почему тогда вариант номер 2 не катит? КодTW...   May 14 2012, 11:46
|- - ILYAUL   Нет я ошибся ЦитатаСудя по приложенному Вами DS, ...   May 14 2012, 17:49
- - Navovvol   нашел вот такое примечание в даташите, правда на м...   May 14 2012, 12:07
- - Kruftin   В даташите на атмегу32 я такого не нашел. Не ну се...   May 14 2012, 14:39
|- - zombi   Цитата(Kruftin @ May 14 2012, 17:39) Сейч...   May 14 2012, 15:38
- - Kruftin   Ну питание на платку я могу подать до 5 Вольт. Так...   May 14 2012, 18:11
|- - ILYAUL   Цитата(Kruftin @ May 14 2012, 22:11) Ну п...   May 14 2012, 18:46
- - Kruftin   Ну сейчас попробую. Он даже старт не может выстави...   May 14 2012, 18:50
|- - ILYAUL   Цитата(Kruftin @ May 14 2012, 22:50) Ну с...   May 14 2012, 19:14
|- - _Артём_   Цитата(Kruftin @ May 14 2012, 21:50) а мо...   May 14 2012, 19:31
- - Kruftin   Код i2cSendStart(); i2cWaitForComplete...   May 14 2012, 19:15
|- - ILYAUL   Цитата(Kruftin @ May 14 2012, 23:15) Адре...   May 14 2012, 19:36
- - Kruftin   Не ну если я получаю код в статусном регистре, то ...   May 14 2012, 19:35
- - Kruftin   Ладно завтра перепаяю, и дам ему чизбургеров на 5В...   May 14 2012, 19:45
|- - ILYAUL   Цитата(Kruftin @ May 14 2012, 23:45) Ладн...   May 14 2012, 20:00
- - Kruftin   Да на меге у меня от 3 батареек на 1,5 вольт (4,5 ...   May 14 2012, 20:02
- - ILYAUL   Страно это Цитатаесли я ставлю TWBR больше 10, то ...   May 14 2012, 20:11
- - Kruftin   Дак да на адрес у него ответ то 0х20, а на данные ...   May 14 2012, 20:15
|- - ILYAUL   Цитата(Kruftin @ May 15 2012, 00:15) Може...   May 14 2012, 21:14
- - Kruftin   Ну как то же люди работают с такими компасами? Или...   May 15 2012, 03:17
- - ILYAUL   А почему так запитаны по разному mega и компас. Че...   May 15 2012, 05:00
- - Kruftin   Я сейчас питаю мегу и компас от 4,5 вольт. Ну а на...   May 15 2012, 05:10
- - ILYAUL   ЦитатаВсё как надо-это работает , как положено? Ра...   May 15 2012, 05:16
- - Kruftin   Между компасом и моей отладочной? Расстояние санти...   May 15 2012, 06:21
|- - ILYAUL   Цитата(Kruftin @ May 15 2012, 10:21) Похо...   May 15 2012, 18:01
- - Kruftin   У меня фантазии хватает, тока вот применить я ее н...   May 15 2012, 18:41
- - ILYAUL   На сеглдняшний момент мы имеем : 1 Связь между meg...   May 15 2012, 19:20
- - Kruftin   По коду в котором явно задается регистр TWBR: КодT...   May 15 2012, 19:26
- - Kruftin   Спасибо ILYAUL, осциллограф помог. Оказалось я пер...   May 16 2012, 12:47
- - Kruftin   На данный момент все проверки проходят по даташиту...   May 17 2012, 18:34
|- - ILYAUL   Цитата(Kruftin @ May 17 2012, 22:34) На д...   May 18 2012, 15:07
- - Kruftin   Попытаюсь, но если его крутить каждый раз надо для...   May 19 2012, 16:08
|- - ILYAUL   Цитата(Kruftin @ May 19 2012, 20:08) Попы...   May 19 2012, 19:29
|- - _Артём_   Цитата(ILYAUL @ May 19 2012, 22:29) Доста...   May 19 2012, 20:05
|- - ILYAUL   Цитата(_Артём_ @ May 20 2012, 00:05) При ...   May 20 2012, 13:09
- - Kruftin   Не ну какие-то данные он должен сразу скинуть, даж...   May 20 2012, 12:05
- - Kruftin   А как из даташита то понять что сделать, чтобы ком...   May 20 2012, 13:42
- - ILYAUL   Он хоть в каком режиме у Вас работает? И выкладыва...   May 20 2012, 19:06
- - Kruftin   Я использую режим continious mode (получается запи...   May 21 2012, 05:14
- - ILYAUL   Почему Вы говорите о 2 данных , если их по идее до...   May 21 2012, 20:56
- - Kruftin   Дак их итак шесть. Вы же код вроде читали? Там я с...   May 22 2012, 03:11
- - Kruftin   Фатал. Как оказалось компас базируется не на HMC58...   May 22 2012, 10:48
- - ILYAUL   3. Write Mode (02) – send 0x3C 0x02 0x00 (Co...   May 22 2012, 17:56
- - Kruftin   Да задержку поставлю. Режим single mode я пробую з...   May 22 2012, 19:30
|- - ILYAUL   Цитата(Kruftin @ May 22 2012, 23:30) Т.е....   May 22 2012, 21:34
- - Kruftin   По идее, так и по даташиту, код который составлен ...   May 23 2012, 03:08
|- - ILYAUL   Цитата(Kruftin @ May 23 2012, 07:08) Кста...   May 23 2012, 08:00
- - Kruftin   Ща попробую self-test. На нем тока написано L883 2...   May 23 2012, 09:06
- - Kruftin   Ну в общем заметен прогресс. Менял я сейчас значен...   May 23 2012, 10:22
- - ILYAUL   Посмотри, что вот так будет CODE i2cSendStart(); ...   May 23 2012, 11:11
- - Kruftin   0xFF во всех регистрах. Только я не совсем понял к...   May 23 2012, 11:23
|- - ILYAUL   Цитата(Kruftin @ May 23 2012, 15:23) 0xFF...   May 23 2012, 11:30
- - Kruftin   Дак и LSB меняются, усиление меняешь дак они сильн...   May 23 2012, 11:45
|- - ILYAUL   Цитата(Kruftin @ May 23 2012, 15:45) Это ...   May 23 2012, 12:15
- - Kruftin   А как пересчитать? Получается я использую double а...   May 23 2012, 12:16
- - ILYAUL   Поищи в инете, где-то я видел как пересчитывают ,...   May 23 2012, 14:48
- - Kruftin   Вот нашел пример преобразования. Только надо чтобы...   May 23 2012, 16:53
|- - _Артём_   Цитата(Kruftin @ May 23 2012, 19:53) Вот ...   May 23 2012, 18:49
- - Kruftin   Т.е. в массиве Buf будут лежать десятичные цифры? ...   May 24 2012, 05:29
- - Kruftin   Так вот только формула для определения севера неве...   May 24 2012, 17:57
- - Kruftin   Мда, на данный момент я получаю правдивые значения...   May 31 2012, 13:06
|- - _Артём_   Цитата(Kruftin @ May 31 2012, 16:06) Прич...   May 31 2012, 13:27
- - Kruftin   Не я имею ввиду, что магнитный север я смотрел по ...   May 31 2012, 15:48
- - ILYAUL   Z нашёл иот такую формулу для него Код// convert ...   Jun 1 2012, 06:12
- - Kruftin   Ну у меня точно такая же, если скачать код и посмо...   Jun 1 2012, 14:26
- - Kruftin   А компас то работает четко. Правда оказалось, что ...   Jun 5 2012, 19:10
- - eu1cc   А кто знает, как смещение по Z координате корректи...   Apr 14 2013, 20:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 09:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01434 секунд с 7
ELECTRONIX ©2004-2016