Помогите подключить счетчик LS7366R .

Ardjuno
Offline
Зарегистрирован: 21.11.2020

       Здравствуйте ,  Не считает квадратурный счетчик LS7366R , подключенный по SPI . Пробовал несколько библиотек .Монитор порта присылает либо 0  ,  -1  либо FFFFFFFF  ...  Обвязка минимальная , спаяно и подключено корректно , кварц генерит ,  Пробовал несколько библиотек с GitHub .(  LS7366-master ,  Arduino LS7366R - master , Encoder-Buffer-library-master ... )      Кто-то  знаком с LS7366 ? 

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Какое напряжение питания и на какую частоту кварц? Если кварц на 40 мГц, а питание 3,3в, будут проблемы. 

Ardjuno
Offline
Зарегистрирован: 21.11.2020

     На кварце осциллограмма такая же  как на таком же кварце , работающего частотомера .  Оба 20 МГц . 

Ardjuno
Offline
Зарегистрирован: 21.11.2020

    Кажется , у меня нет связи по SPI .     В скетче , опрашивающем  2 счетчика приходит одинаковый результат- нули  , хотя одна микросхема не подключена .  И , вспомнил ,  отсутствие провода  SS -  выбор кристалла -  не влияет на работу  ...  

 Есть кто - нибудь ближе к Ярославлю ? 

Ardjuno
Offline
Зарегистрирован: 21.11.2020

         Тысяча извинений !   Конечно же !  Перепутаны MOSI и MISO  !  Всем спасибо ! 

CybSys
Offline
Зарегистрирован: 05.08.2019

Здравствуйте

кто ни то использовал квадратурный счетчик на микросхеме LS7366R?

у меня пока что то не считает.

Скетч использовал вот отсюда: https://github.com/davidjabon/LS7366 

схему перепроверил, вроде все так. энкодер импульсы выдает

кварц исмользовал на 16МГц, вот тут не совсем понял, или минимум 20 МГц надо использовать?

кварц генерирует сигнал на 1 ногу микросхемы.

в остальном не знаю как еще проверять.

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

А у меня работал.

CybSys
Offline
Зарегистрирован: 05.08.2019

На какую частоту ставили кварц?

обвязку делал по такой схеме:

Скетч использовал из библиотеки

01#include <LS7366.h>
02#include <SPI.h>
03 
04LS7366 myLS7366(9);  //8 is the chip select pin.
05 
06void setup() {
07  Serial.begin(115200);
08  myLS7366.write_mode_register_0(FILTER_1 | DISABLE_INDX | FREE_RUN | QUADRX4);
09  myLS7366.write_mode_register_1(NO_FLAGS | EN_CNTR | BYTE_4 );
10  myLS7366.clear_counter();
11  myLS7366.clear_status_register();
12  myLS7366.write_data_register(4);
13}
14 
15void loop() {
16  unsigned long count = myLS7366.read_counter();
17  Serial.print("Count: ");
18  Serial.print(count, DEC);
19  Serial.print(" Status: ");
20  print_binary(myLS7366.read_status_register());
21  Serial.print("\n");
22  delay(1000);
23}
24 
25//Function to print out one byte in a readable, left-padded binary format
26 
27void print_binary(byte val)
28{
29byte i=0;
30for (i=0;i<8;i++)
31    {
32        if (val & (0x01 << (7-i)))
33        {
34             Serial.print("1");
35        }
36        else
37        {
38             Serial.print("0");
39        }
40        if (i==3) Serial.print("_");
41    }
42}

 

Бармалей
Бармалей аватар
Offline
Зарегистрирован: 23.09.2019

Так без кварца и у меня не работал. Его и конденсаторы надо ставить как можно ближе к мелкосхеме. Первый раз соединил проводами по 3 см. Не работало. 

CybSys
Offline
Зарегистрирован: 05.08.2019

у меня кварц стоит на 16МГц с конденсаторами на 20пФ, на плате, довольно близко к микросхеме

CybSys
Offline
Зарегистрирован: 05.08.2019

Бармалей пишет:

А у меня работал.

А саму микросхему где покупали?

Ardjuno
Offline
Зарегистрирован: 21.11.2020

3 раза заказывал на Али - работают .

CybSys
Offline
Зарегистрирован: 05.08.2019

обнаружил такую штуку, сигнал с кварца приходит на первый вывод, а судя по даташиту должен на второй вывод микросхемы приходить. так  ли это?

 

CybSys
Offline
Зарегистрирован: 05.08.2019

контроллер шлет вот таки значения

CybSys
Offline
Зарегистрирован: 05.08.2019

Вроде как заработало! Выбрал не тот вывод SS.

Теперь надо разбираться с настройками, а то считает в 4 раза больше нужного)))

Всем спасибо!