Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » акселерометр LIS3DH

Страниц (1): [1]
 

1. Механик - 25 Октября, 2015 - 15:25:10 - перейти к сообщению
Всем привет! Улыбка
Давно уже приобрёл себе акселерометр LIS3DH, но никак руки не доходили до него....
Сейчас решил взяться и испытать его. Первый вопрос который возник: как подключать к микроконтроллеру?
В документации написано, что есть SPI интерфейс, здорово, в ATmega8 он тоже имеется.
Теперь о тонкостях (прочёл в даташите): передавать данные нужно старшим битом вперёд, считывание производится по переднему фронту тактовых импульсов, полярность тактового сигнала: во время ожидания на SCK-"1". Вроде всё понятно.
В документации также приведён протокол записи/чтения данных, всё очень подробно, с диаграммами:
0-бит: указываем что ходим делать читать или записывать ("0"-записываем, "1"-читаем);
1-бит: определяем будет ли сдвигаться адрес регистра после прочтения ("0"-не сдвигаем, "1"-инкрементируем адрес);
Вот теперь сложности.
Написано: 2-7 биты - адреса регистра (всего получается 6 бит, на диаграмме тоже нарисовано 6 бит), но в таблице регистров каждый регистр имеет 7-битный адрес....
Как быть? Что делать? Может я не внимательно прочёл даташит, может я что-то упустил? Или есть какая - нибудь хитрость? Если кто работал с данным девайсом помогите, пожалуйста!
P.S. 8-15 биты это то, что мы записываем/читаем на каждую посылку 8 бит, здесь, вроде, нет вопросов.
(Добавление)
Вот даташит: http://z.compel.ru/item-pdf/48bb...ps/st~lis3dh.pdf
2. killgur - 26 Октября, 2015 - 09:36:08 - перейти к сообщению
Механик пишет:
Всем привет! Улыбка
Давно уже приобрёл себе акселерометр LIS3DH, но никак руки не доходили до него....
Сейчас решил взяться и испытать его. Первый вопрос который возник: как подключать к микроконтроллеру?
В документации написано, что есть SPI интерфейс, здорово, в ATmega8 он тоже имеется.
Теперь о тонкостях (прочёл в даташите): передавать данные нужно старшим битом вперёд, считывание производится по переднему фронту тактовых импульсов, полярность тактового сигнала: во время ожидания на SCK-"1". Вроде всё понятно.
В документации также приведён протокол записи/чтения данных, всё очень подробно, с диаграммами:
0-бит: указываем что ходим делать читать или записывать ("0"-записываем, "1"-читаем);
1-бит: определяем будет ли сдвигаться адрес регистра после прочтения ("0"-не сдвигаем, "1"-инкрементируем адрес);
Вот теперь сложности.
Написано: 2-7 биты - адреса регистра (всего получается 6 бит, на диаграмме тоже нарисовано 6 бит), но в таблице регистров каждый регистр имеет 7-битный адрес....
Как быть? Что делать? Может я не внимательно прочёл даташит, может я что-то упустил? Или есть какая - нибудь хитрость? Если кто работал с данным девайсом помогите, пожалуйста!
P.S. 8-15 биты это то, что мы записываем/читаем на каждую посылку 8 бит, здесь, вроде, нет вопросов.
(Добавление)
Вот даташит: http://z.compel.ru/item-pdf/48bb12a19a0e58d1ed4a7e56e6bf76a7/ps/st~lis3dh.pdf


https://www.drive2.ru/b/1072182/

там не чистый SPI там через UART

код на с

http://aterlux.ru/files/velotaillight.zip
3. Механик - 26 Октября, 2015 - 16:30:41 - перейти к сообщению
Хорошая статья, интересные подробности работы акселерометра, но ссылка на архив: антивирус ругается, не даёт скачать Грустный
Попробую ещё разок подключить, может ещё чего получится.
(Добавление)
Кажется нашёл: "Особенностью данного акселерометра является то, что для того, чтобы был инкремент адреса при считывании, необходимо установить в старшем бите байта адреса регистра «1»"
Взял это вот отсюда: http://journal.electroniclab.ru/..._content_020.htm
Попробую так сделать, если ничего не получится, то буду считать, что ошибка в пайке (корпус то маленький, фена нет Улыбка ), перепаивать буду Улыбка
4. killgur - 26 Октября, 2015 - 17:05:48 - перейти к сообщению
Механик пишет:
Хорошая статья, интересные подробности работы акселерометра, но ссылка на архив: антивирус ругается, не даёт скачать Грустный
Попробую ещё разок подключить, может ещё чего получится.
(Добавление)
Кажется нашёл: "Особенностью данного акселерометра является то, что для того, чтобы был инкремент адреса при считывании, необходимо установить в старшем бите байта адреса регистра «1»"
Взял это вот отсюда: http://journal.electroniclab.ru/..._content_020.htm
Попробую так сделать, если ничего не получится, то буду считать, что ошибка в пайке (корпус то маленький, фена нет Улыбка ), перепаивать буду Улыбка



китай однако могут быть разные своеобразные трактовки SPI
снизу плату греть можно и на утюге архив в 7Z можно скачать отсюда https://yadi.sk/d/LGXg2dsok2Mpw
5. Механик - 26 Октября, 2015 - 17:21:11 - перейти к сообщению
killgur пишет:
снизу плату греть можно и на утюге

Правда только одностороннюю Подмигивающий , как в моём случае
killgur пишет:
архив в 7Z можно скачать отсюда

Спасибо, здесь и платы посмотрел и исходник. Попробую разобраться.
6. Механик - 07 Ноября, 2015 - 09:09:35 - перейти к сообщению
Я испортил уже 2 акселерометра.....
Я совершенно забыл о согласовании логических уровней!!! не в себе
Акселерометр питается через преобразователь LP2980-3.0 (питание 3В), а микроконтроллер питается от 5В источника!
Раньше никогда не подключал низковольтные датчики к микроконтроллеру, потому и не подумал о согласовании!
Использовать решил SPI интерфейс, нашёл вот такую схемку на диоде: http://we.easyelectronics.ru/She...v-ustroystv.html
А здесь показано как её нужно использовать с SPI интерфейсом: http://robozone.su/info/16-kak-p...na-3.3v-k-5.html
Попробую подключить так, посмотрим, что получится....

PS. можно было и микроконтроллер от 3В питать, как то я и об этом варианте не подумал....
7. cjA - 11 Ноября, 2015 - 05:48:23 - перейти к сообщению
ну с сопряжением напряжений (хе-хе) не сожгли вы ни чиго. пики они ни внимают, ну ладно, я об этом писал- регулируется регулятором на 10килоом.
есть идея что это тотже филипс, а значит 8 бит устройство, 6 бит - комманда (данные) (я думаю что румб, какая разница - 90 или 64 ?)

ну с сопряжением напряжений (хе-хе) не сожгли вы ни чиго.- непояли вы сапи протосс, ну ладно, удачи, обращайтесь
8. Механик - 11 Ноября, 2015 - 18:11:04 - перейти к сообщению
Я не говорю, что я сжёг что-то, просто когда перепаивал акселерометр с одной платы на другую повредились контакты на микросхеме Грустный (моя поспешность....)
В магазине закончились эти акселерометры гы-гы! гы-гы!
Думаю, что попробую другой взять, уже нашёл: схож по характеристикам MMA7455
У него контакты больше, а их количество-меньше, может его удастся запаять лучше Улыбка
9. Vontane - 01 Июля, 2016 - 12:23:41 - перейти к сообщению
Очень хорош давно пользуюсь и жало нет, советую вам Голливудская улыбка Подмигивающий