Друзья, добрый день. Подскажите, в чем может быть проблема? Подключаю к драйверу VNH2SP30 двигатель, все точно по инструкции https://wiki.iarduino.ru/page/VNH2SP30-motor-dirver/ Двигатель крутится в одну и другую сторону, но вот никак не удается считать значение тока с ножки CS. В чем может быть проблема? Уже думали, что бракованная плата попалась, перепробовали 4 шт. В консоль выводится только значения типа 0,1,2,3,4 в рандомном порядке. Для теста использовали первый скетч из приведенной ссылки. Юзаю Ардуино уно.
Спасибо за ссылку. Перед тем как задать вопрос - перечитал разумеется. Может есть кто-то, знакомый с таким драйвером и мог бы сказать, почему скетч не работает? Спасибо.
а если взять мультиметр и ткнуть им в пин CS - во время работы двигателя какое-то напряжение показывает? еще надо удостовериться что точно есть контакт этого пина с ардуиновым А1 (вдруг что-то перепутано или просто не контачит). А может мотор какой-то очень слабенький и жрет очень мало тока? драйвер то до 30 ампер. если я правильно понял, то при токе мотора 1 ампер, на CS пине должно быть что-то вроде 0,15 вольт. то есть 30 единиц АналогРида(). А если мотор жрет около 200мА, то это уже будет на пределе чувствительности ардуины.
Вот табличка из даташита с указанием IOUT/ISENSE а так же типовая схема включения с резистором RSENSE 1,5kOm Как организовано на вашей плате не вполне понятно. Опять же непонятно что вы подключаете в качестве нагрузки. Как вариант нагрузите драйвер не мотором а лампой накаливания на 12 вольт, включите драйвер, посмотрите что будет на выводе CS. Так как мощность лампы будет вам известна то и ток тоже будет известен. Можно будет понять отношение V/A на выводе CS. Как бы в даташите написано Analog current sense output. This output sources a current proportional to the motor current. The information can be read back as an analog voltage across an external resistor. Написано вроде как proportional но какая пропорция не нашел, может плохо искал.
судя по фоткам из интернета, на плате там всё как надо подключено и 1,5к резистор и фильтр. Коэффициент там я так понял как раз в этой табличке Iout/Isens = 11370. учитывая что типичный маленький моторчик используемый для ардуино-проектов на холостом ходу жрет что-то около 100мА, то показания 1-2-3-4 вполне могут быть правильными
При 100мА моторчика, выходной сигнал будет 13мВ. При 10-битном разрешении АЦП Ардуины, цена деления - 5мВ (для референса 5В). Так что Ардуина так и должна показывать (в делениях). Тут есть два пути для мысли - Либо увеличиваете в разы эти 1,5 Ком (например 15 Ком, но правильно ли будет - не знаю), либо добавляете строчку analogReference(INTERNAL); , либо то и другое вместе. Проверить - как 2 пальца обоссать. Дерзайте.
aklAriadna-on-Line объясните бестолковому как вы рассчитали. Я никак не пойму. Опять же какое максимальное напряжение будет на CS? по даташиту - VCS Current sense maximum voltage -3/+15 V А не сгорит вход МК если напряжение будет больше напряжения питания МК?
я вот так посчитал - Iout/Isens = 11370 занчит при 30 амперах Iout, Isens будет 30/11370 = 2,63мА тогда напряжение на резисторе будет 2,63мА*1500/1000=3,96 вольт. вход МК не должен сгореть от превышения, т.к. на него идет через 10К резистор, значит через диод там внутри утечет лишнее. Или на всякий случай стабилитрон поставить.