Положението е следното-напълно наясно съм че ако имаш 1кг. брашно най добре да намериш майстор да ти омеси хляба но аз не мога да намеря такъв и се налага да се пробвам сам.За няколкото дена през които съм се заигравал да копи пейстна нещо оттук оттам мога да въртя стъпковия мотор едиколко си наляво и да пиша по дисплея че въртя толкова наляво или пък надясно същото.Посоките се избират от бутон.Мога да чета напрежение от ацп входовете и дотам.С други думи това което ми трябва няма да го постигна поне още месец.Трябват ми или сериозни насоки което на човека би му отнело повече време отколкото да напише той кода или направо да се уговорим да го напише с повече коментари и да си го платя чинно.За да стане ясно за какво става дума - заданието е долу горе следното:
Към Ардуиното имам дисплей със сериен контролер по два крака .На други два цифрови е стъпка и посока на мотора.На други три цифрови е енкодера и на други два е стъпка и посока които ще комутира.
Интересува ме да прави следното - на А0 аналогов пин даречем, подаваме напрежението което ще следим.Програмно трябва да можем да коригираме (опорното) стойността, с която сравнява за да можем да получим движение, при различни нива на следеното напрежение.Тоест ако в един момент, ни трябва да следи и реагира на 6 волта (120 волта),в следващия момент трябва да можем да коригираме това и да следи и реагира даречем на 6.5 волта(130 волта).Освен това трябва да показва на дисплея истинското напрежение преди делителя ,тоест х20 (затова са тези цифри в скобите.На дисплея трябва да изписва - на първи ред V RIAZANE-??? ,а на втория ред V NA DAGATA-??? .За да тръгне работата трябва да има валидно напрежение на дъгата - тоест постоянно нарастващо над 50 волта напрежение в продължение на 300 милисекунди.
По сложното е, че за да работи коректно мотора, му трябват рампи за ускорение и забавяне, а не моментално стартиране, защото тогава изпуска стъпки.Цифрата за ускорение ще я дам допълнително, но скоростта трябва да е около 100-150Hz или 100-150стъпки/сек .Един оборот на мотора е 200 стъпки.Напрежението се променя почти линейно на движението на едната и другата посока като 10 стъпки са около 0.5 волта(10 волта) .Необходими са ни чувствителност 0.025 волта (0.5 волта) граници на сработване в една или друга посока +- 0.05 волта (1 волт) и хистерезис на границите +- 0.025 волта (0.5 волта).Тоест ако следи даречем 6 волта (120 волта) на 5.925 волта ще реагира в едната посока и на 5.975 ще спре и ще чака повишаване до 6.075 волта за да обърне и да го свали до 6.25 волта .За да не се върти постоянно мотора ни трябва една такава зона в която спира .Все още не знам дали ще се наложи да променям границите но ако има достатъчно коментари във програмата аз ще се справя и сам.
П.П Като за Ардуиното ще трябва да направя делителя 1/40 ,че да не качва повече от 4 волта. Освен това умувам върху нещо като IL300, с което оптично да разделя контролера от
Към Ардуиното имам дисплей със сериен контролер по два крака .На други два цифрови е стъпка и посока на мотора.На други три цифрови е енкодера и на други два е стъпка и посока които ще комутира.
Интересува ме да прави следното - на А0 аналогов пин даречем, подаваме напрежението което ще следим.Програмно трябва да можем да коригираме (опорното) стойността, с която сравнява за да можем да получим движение, при различни нива на следеното напрежение.Тоест ако в един момент, ни трябва да следи и реагира на 6 волта (120 волта),в следващия момент трябва да можем да коригираме това и да следи и реагира даречем на 6.5 волта(130 волта).Освен това трябва да показва на дисплея истинското напрежение преди делителя ,тоест х20 (затова са тези цифри в скобите.На дисплея трябва да изписва - на първи ред V RIAZANE-??? ,а на втория ред V NA DAGATA-??? .За да тръгне работата трябва да има валидно напрежение на дъгата - тоест постоянно нарастващо над 50 волта напрежение в продължение на 300 милисекунди.
По сложното е, че за да работи коректно мотора, му трябват рампи за ускорение и забавяне, а не моментално стартиране, защото тогава изпуска стъпки.Цифрата за ускорение ще я дам допълнително, но скоростта трябва да е около 100-150Hz или 100-150стъпки/сек .Един оборот на мотора е 200 стъпки.Напрежението се променя почти линейно на движението на едната и другата посока като 10 стъпки са около 0.5 волта(10 волта) .Необходими са ни чувствителност 0.025 волта (0.5 волта) граници на сработване в една или друга посока +- 0.05 волта (1 волт) и хистерезис на границите +- 0.025 волта (0.5 волта).Тоест ако следи даречем 6 волта (120 волта) на 5.925 волта ще реагира в едната посока и на 5.975 ще спре и ще чака повишаване до 6.075 волта за да обърне и да го свали до 6.25 волта .За да не се върти постоянно мотора ни трябва една такава зона в която спира .Все още не знам дали ще се наложи да променям границите но ако има достатъчно коментари във програмата аз ще се справя и сам.
П.П Като за Ардуиното ще трябва да направя делителя 1/40 ,че да не качва повече от 4 волта. Освен това умувам върху нещо като IL300, с което оптично да разделя контролера от
Коментар