Урок 9. Не могу собрать.

Тема в разделе "Arduino & Shields", создана пользователем Ye11ow, 18 мар 2018.

  1. Ye11ow

    Ye11ow Нерд

    Привет, друзья.
    Не понимаю урок номер 9 http://wiki.amperka.ru/конспект-arduino:миксер.
    По завершению этого урока двигатель крутится постоянно, на кнопки не реагирует. В чем может быть проблема7
    Так же не очень понимаю схему сборки кнопок: upload_2018-3-18_0-8-34.png

    Как я понимаю на пины идет постоянно сигнал с земли, т.е. 0, что при нажатой кнопке, что при отпущенной. И это с тем учетом, что мы прописали в программе пул ап, т.е подтяжку.

    Следовательно вопрос: верно ли это, и за счет чего будут меняться значения аналогового выхода с платы на транзистор, если на считывающих пинах при любом раскладе сигнал будет 0.

    Заранее благодарю.
     

    Вложения:

  2. NikitOS

    NikitOS Король шутов Администратор

    Соберите схему с макетки. Все должно работать. Возможно у вас провода стоят на соединенной части кнопки...
     
  3. Ye11ow

    Ye11ow Нерд

    Все кнопки имеют 2 вывода, соединены правильно.
    хочу понять принцип...как может быть подан сигнал на выход с изменениями, если при нажатии кнопок все равно на входном пине будет 0?
     
  4. AlexU

    AlexU Гуру

    При отжатой кнопке на пине будет высокий уровень, т.е. "1". При нажатой -- "0". Если у Вас и при отжатой кнопке на пине "0", т Вы не правильно подключили кнопку.
     
  5. Ye11ow

    Ye11ow Нерд

    короче проверил все еще раз, верно подключил, замкнул землю напрямую к пинам кнопки-без изменений. Вытащил во время работы провод, управляющий транзистором, тоже без изменений.Транзистор дохлый чтоли7
     
  6. ARDUIN-щик

    ARDUIN-щик Гик

    Не теми контактами подключили. Ток к истоку, например, или высокий сигнал не на ту ножку подали...
     
  7. AlexU

    AlexU Гуру

    Т.е. мотор крутится, Вы вытаскиваете провод, который подключает затвор к пину 9 -- мотор продолжает крутится. Так?
    Тут нет ни чего странного. Затвор транзистора зарядился, после вытаскивания провода заряд с затвора ни куда не делся, транзистор остался открытым, следовательно мотор продолжает крутится. Если провод закоротить на землю (желательно через резистор), то затвор разрядится, транзистор закроется и мотор остановится.
     
    Ye11ow нравится это.
  8. Ye11ow

    Ye11ow Нерд

    Про транзистор понял, спасибо.
    Проблема осталась, двигатель на кнопки не реагирует. Замкнул по очереди пины с землей, без участия кнопок - результат тот же. Создается впечатление, что на пинах 5,6,7 сигнал 1.
    Саму программу проверил не один раз, подключение тоже. Единственное отличи - это кнопки...они у меня не 4-х выводные, а 2-х. Но роли это не играет, как я понимаю.
     
  9. Ye11ow

    Ye11ow Нерд

    Кстати, а как тогда управлять транзистором с помощью кнопок, если заряд остается на затворе?
     
  10. AlexU

    AlexU Гуру

    MOSFET управляется напряжением. В данном случае имеем N-канальный MOSFET. Для закрытия транзистора нужно затвор "закоротить" с истоком, а т.к. исток подключается к "земле", то и затвор нужно подключить к "земле". Для открытия транзистора затвор надо зарядить положительным потенциалом -- напряжение до которого нужно зарядить затвор, что бы он полностью открылся, зависит от типа транзистора. Для транзистора IRF530 хватит +5V, но для полного открытия нужно +10V. Поэтому для питания не очень мощных моторов хватит и +5V для управления транзистором.
    Проверяйте и код и схему внимательно, должно всё работать. Если, конечно, Вы не успели ничего сжечь -- или Ардуину, или транзистор. Проверьте по отдельности транзистор и сам плату на работоспособность. Транзистор можно проверить путём замыкания затвора через резистор 100 Ом на землю (минус питания) или на +5V (плюс питания). При замыкании на землю мотор не должен крутиться, при замыкании на питание -- должен. К плате вместо затвора можно подключить светодиод через резистор 220 Ом -- при нажатии на кнопки он будет менять яркость -- потухший, полу-яркий, полная яркость.
     
    Ye11ow нравится это.
  11. Asper Daffy

    Asper Daffy Иксперд

    Явно подать на затвор LOW
     
  12. Ye11ow

    Ye11ow Нерд

    Проверил транзистор, Вашим способом. Похоже что не работает. Во время работы мотора решил помереть напряжение на транзисторе. Итог: при нажатии на кнопку 1 затвор - исток 5 В, сток исток-1 В. При нажатии кнопки 2 затвор-исток 0 В, сток исток 1 В. При нажатии кнопки 3 затвор исток 2,2 В, сток исток 1 В. Если кнопки не нажаты: затвор исток 0 В, сток исток 1 В.
     
  13. parovoZZ

    parovoZZ Гуру

    С кнопкой разобрался? Один контакт кнопки на землю, другой на пин 5. В программе обязательно включить подтяжку входа на пине 5.
    Не надо мучать транзистор. Поиграйся с 13 пином (на нем светодиод висит).
     
  14. Ye11ow

    Ye11ow Нерд

    Да, с кнопкой все окей. 9 пин, который идет на затвор выдает напряжение, в зависимости он нажатия кнопок 0, 5 и 2,2 В.
    Проблема в транзисторе, скорее всего. Может быть, что модель не подходит по характеристикам? у меня IRF5305
     
  15. AlexU

    AlexU Гуру

    Ye11ow нравится это.
  16. Ye11ow

    Ye11ow Нерд

  17. AlexU

    AlexU Гуру

    Да. Но и тот транзистор то же подходит, только подключать его надо по другому -- как? уже предоставил ссылку, где всё подробно описано.
     
  18. Ye11ow

    Ye11ow Нерд

    Спасибо!
     
  19. Ye11ow

    Ye11ow Нерд

    Все работает, премного благодарен.
     
  20. Ye11ow

    Ye11ow Нерд

    Прошу объяснить, с помощью чего в проге определяется нажата ли кнопка. Урок, разумеется тот же самый upload_2018-3-29_22-13-8.png