От мобилни телефони до цифрови камери
MrMurdjo - майстор
Защо ти е да четеш едно и също нещо на два аналогови входа?
На всеки цикъл от 10 четения получаваш средно аритметично и според него командваш един от два изходни пина. Ако е под нужното - единия, ако е над - другия. Ако е в рамките на толеранса, не правиш нищо, само нулираш пиновете (по-бързо е, отколкото да ги проверяваш и нулираш поотделно) и рестартираш четенето.

Не знам макро езика на Ардуино дали кара компилатора му да вкарва изчаквания, защото Атмегата си има минимално време за едно аналогово четене и ако то не е завършило, данните ще са хаотични. Най-добре се прави, като се следи флага за завършен цикъл на АЦП, тогава се прочита и се нулира флага. Това в режим на свободно работещо АЦП, т.е. то работи и постоянно прави преобразуване. Може да му се зададе и стартиране на цикъл само през програмата, пак през контролен регистър, да се изчака и да се запише стойността.
stivemaster - майстор
То не е едно и също бе Ванко,на единия е напрежението което следим,пък на другия опорното което можем да проненяме с потенциометър.
stivemaster - майстор
Знам, ама няма желаещи и там.
MrMurdjo - майстор
stivemaster написа:
То не е едно и също бе Ванко,на единия е напрежението което следим,пък на другия опорното което можем да проненяме с потенциометър.
Ами ти опорното може да го задаваш с бутончета - нагоре и надолу. И в случая то е опорно в кавички. Просто стойност, спрямо която се сравнява, а не физична величина. След като е известно какво напрежение идва от делителя, то с прости сметки се определя съответствието. Имай предвид, че Атмегата не може да измери повече от 5 волта, т.е. към крачето трябва да се подава напрежение, допълнително доразделено, ако трябва. Прецизен потенциометър ти трябва там. Ако се използа 10 битов режим, то за максималното измервано напрежение се прочите стойност 3FFF (hex) или 4095 десетично. Заедно с нулата имаме 4096. Като разделиш 5000 миливолта на 4096, намираш колко миливолта отговарят на единица от прочетената стойност. От там, обратно с коефициента на делене, можеш да сметнеш реалното напрежение.

Ако държиш да е с потенциометър - същите процедури се използват, но на друга променлива присвояваш А2 и четеш в нея втория АЦП. После сравняваш.
stivemaster - майстор
Тва с бутоните не ми е ясно как се прави обаче.
Ей тука е направено всичко даже и комуникация с Модбъс с Mach3 и писане по скрийна и но кой ще извади необходимото ?
AAsat - специалист
MrMurdjo написа:
stivemaster написа:
То не е едно и също бе Ванко,на единия е напрежението което следим,пък на другия опорното което можем да проненяме с потенциометър.
Ако се използа 10 битов режим, то за максималното измервано напрежение се прочите стойност 3FFF (hex) или 4095 десетично. Заедно с нулата имаме 4096. Като разделиш 5000 миливолта на 4096, намираш колко миливолта отговарят на единица от прочетената стойност.
При 10 бита, както е АЦП-то на Ардуино-то стойностите, които се четат са 1024 ( 0 - 1023 ).
Мисля че няма да е проблем задаването на напрежението да е с потенциометър
При вече упростената постановка вероятно и решение с компаратори ще е практически работещо.
MrMurdjo - майстор
Писах по нощите, един "F" ми е дошъл в повече :-D
Прав си, 3FF е максималната стойност.
Атмегата може да се конфигурира и да ползва вградения компаратор, всичко е въпрос на схемно решение на допълнителните елементи към Ардуино.
Аз не съм работил с Ардуино все още, каквото правя е на мои платки с Атмега, та затова може и да не съм съвсем точен. Но приципно, нещо конфигурирано и компилирано за Атмега с оглед на възприетите в Ардуино назначения на портовете, би трябвало да заработи.
stivemaster - майстор
Днес получих доста ценен мейл и мисля да го споделя тук с вас.Ако искате да ползвате допълнителни входове за MACH3,както цифрови така и аналогови, с Модбъс.Съдържанието му е линк.
В първия пост има брейн файл за MACH3,а във втория линк към тема със скечове за Ардуино за Модбъса.
Хайде със здраве да си го ползвате.
MrMurdjo - майстор
Модбъса е съвсем друга бира. Аз имам свалени и съхранени библиотеки за Ардуино за работа с Модбъс, но все не ми остава време да ги разровя. Сигурно защото не ми е потрябвал и не съм на зор :-D
Исках да си направя собствен дистанционен пулт с Модбъс, но вече повече от година ползвам друг, който емулира УСБ клавиатура и ми върши много добра работа.

Тема "Малко помощ за Ардуино ?" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: