Датчики Холла

Тема в разделе "Arduino & Shields", создана пользователем iBoy, 6 янв 2017.

  1. iBoy

    iBoy Гик

    Здравствуйте! Помогите пожалуйста! Очень срочно!
    Произошла такая ситуация: у меня самостоятельно спаянная схема из девяти датчиков холла, разделённая на раздельные 3 линии. Внутри каждой датчики соединены параллельно.
    Схема подключена к 1, 2 и 3 аналоговым пинам леонардо. Код такой:


    Код (C++):

    void setup() {
      pinMode(A3,INPUT_PULLUP);
      pinMode(A4,INPUT_PULLUP);
      pinMode(A5,INPUT_PULLUP);
      Serial.begin(9600);
    }

    void loop() {
      Serial.print(digitalRead(A3));
      Serial.print("\t");
      Serial.print(digitalRead(A4));
      Serial.print("\t");
      Serial.print(digitalRead(A5));
      Serial.println("");
      delay(1000);
    }
     
    В качестве результата, независимо от того, подключён ли датчик, показываются единицы(т.е. датчик поля не видит) Может быть, я слишком криворуко спаял схему? На первый взгляд она выглядит нормально. Ещё ардуино перепаивали, и там тоже могут быть лаги. В чём наиболее вероятна проблема? Заранее спасибо!
     
  2. rkit

    rkit Гуру

    У датчиков холла три ноги. Как вы их параллельно подключили?
    Короче как всегда подробную схему, иначе догадки бесполезны.
     
    Jevega нравится это.
  3. iBoy

    iBoy Гик

    Все плюсы у датчиков соединены параллельно в один плюс, минусы тоже. А логические выходы соединены параллельно внутри каждой цепи.
     
  4. rkit

    rkit Гуру

    И что вы надеетесь этим получить? Какой тип сигнала ваши датчики выдают?
     
  5. Jedi

    Jedi Гик

    У датчиков Холла разве логические выходы?
     
    Jevega нравится это.
  6. alp69

    alp69 Форумчанин

    Что за датчики у Вас? Возможно они выдают аналоговое значение, а Вы читаете цифровое на аналоговом входе.
    Может все-таки analogRead?
    Могу ошибиться, т.к. больше работаю с ESP-8266 и Lua. Да и схемку выложили бы...

    Что-то мне подсказывает, что не будет у Вас это работать. Датчики ведь не 1-wire?
    Подключите для начала по одному датчику на каждый вход.
     
    Последнее редактирование: 6 янв 2017
  7. rkit

    rkit Гуру

    Если датчик подтягивает сигнал к земле. то может и работать, но я сомневаюсь.
     
  8. alp69

    alp69 Форумчанин

  9. iBoy

    iBoy Гик

    image.jpeg Я пробовал и с аналоговым сигналом(потому они и стоят на аналоговых портах), также я пробовал без подтягивангия. Датчики к1116кп8. Про них в разных источниках говорят разное, но я нашёл их схему и вроде как из них можно и цифровой и аналоговый сигнал получить.
     
  10. Jedi

    Jedi Гик

    Интересно, зачем такая схема?
    Ну ладно, это не совсем датчик, а электронный ключ с выходом типа "открытый коллектор", который при срабатывании на сигнальном выходе дает 0,4В, что в принципе можно считать как логический "0".
    Ток при срабатывании одного датчика - 25мА. Если сработают все 9 датчиков - посчитаете.
    Теперь по логике. Рассмотрим группу датчиков, подключенную к S1. Если сработал только один датчик, то у него на выходе "0", у остальных - "1". Что нужно сделать, чтобы ВСЯ группа переключилась в "0"?
    По скетчу: INPUT_PULLUP подтягивает вход к логической "1", несработавший датчик тоже выдает логическую "1". То есть, если датчика нет или он не сработал (а в Вашем случае вся группа датчиков), у Вас на входе логическая "1".

    Но самое интересное вот:
    По реакции на воздействие внешнего магнитного поля микросхема К1116КП8 является биполярной т.е. уровень её выходного напряжения зависит как от значения индукции, так и от знака (полярности) воздействующего магнитного поля.

    Перевернули магнит и ключ закрылся, опять перевернули - открылся.

    Микросхемы серии К1116 рассчитаны на сопряжение с цифровыми интегральными микросхемами структуры РТЛ, ДТЛ, ТТЛ, ЭСЛ, КМОП. Для этого как правило между выходом микросхемы серии К1116 и плюсовым выводом питания включается нагрузочный резистор.
     
  11. iBoy

    iBoy Гик

    Всем спасибо, отбой) У меня датчики из бракованной партии. Я сравнил один(без схемы) датчик с более старым таким же, они по-разному работают. Извините за трату Вашего времени.
     
  12. Jedi

    Jedi Гик

    По-разному это как? :)
     
  13. Tomasina

    Tomasina Сушитель лампочек Модератор

    и все равно непонятно зачем их соединять параллельно.
    Если исходное состояние равно "1", то при срабатывании одного из них ("0" на выходе датчика) состояние на аналоговом входе все равно останется "1", т.к. два остальных однозначно "перетянут одеяло на себя" (т.к. их по количеству больше".
    А то и вовсе будет КЗ.
     
  14. iBoy

    iBoy Гик

    Ну, я подключил просто по одному датчику на аналоговый порт. Затем стал подносить магнит. У одного сигнал менялся в зависимости от расстояния до магнита, а у другого - только один раз, а затем показания застыли.
     
    Последнее редактирование: 8 янв 2017
  15. iBoy

    iBoy Гик

    Тоесть получается, что при параллельном подключении будет таблица истинности не или-или-или, а и-и-и?
     
  16. Jedi

    Jedi Гик

    Ну вот зачем подсказывать? :)
     
  17. Jedi

    Jedi Гик

    Бедный Джордж Буль... Хорошо, что он умер, плохо, что в гробу переворачивается.
    Или - логическое сложение. На выходе 1, если хотя бы одно из слагаемых (один из входов) равно 1. Параллельное подключение.
    И - логическое умножение. На выходе 0, если хотя бы один из множителей (один из входов) равен 0. Последовательное подключение.

    Ну и первое правило Кирхгофа... В общем, учите физику и дискретную математику :)


    По реакции на воздействие внешнего магнитного поля микросхема К1116КП8 является биполярной т.е. уровень её выходного напряжения зависит КАК ОТ ЗНАЧЕНИЯ ИНДУКЦИИ, так и от знака (полярности) воздействующего магнитного поля.
    Откройте даташит и посмотрите что и куда прикладывать.
     
  18. Unixon

    Unixon Оракул Модератор

    AFAIK она не потому биполярная, что на ориентацию магнитного поля реагирует, а потому, что в качестве выхода использует биполярный транзистор (ну и встроенные ОУ тоже на них, да). Кстати, даташит на КП* совсем ни о чем, лучше смотреть на оный от аналога UGN3030T, там все куда подробней написано.
     
    Onkel нравится это.
  19. Jedi

    Jedi Гик

    Спасибо, будет настроение - почитаю. Мне, честно говоря, все равно. Просто интересно куда такая схема, может на систему наведения баллистических ракет с ориентацией по трем осям и принятием решения по схеме 2 из 3? :)
    Днем, пока грунтовка сохла, тупо щелкнул в гугле и скопипасил отсюда
    http://tec.org.ru/board/k1116kp8/140-1-0-567
     
  20. iBoy

    iBoy Гик

    Нужно считывать вращение. Всё поставлено на диск, датчики идут по очереди - 1-2-3-1-2-3-1-2-3. На вращающуюся часть ставят магнит, он их по очереди активирует.
     
    Последнее редактирование: 8 янв 2017