Ви не увійшли.
Да всё я понял. Вы просто стесняетесь признаться что, надеетесь заработать, оказывая помощь. Моё мнение такое, если я специалист, я без проблем сделаю для человека такую работу, за которую на фирме с него попросят тысячи €. А я удовлетворюсь простой человеческой благодарностью - ich danke Ihnen. И я не буду его напрягать, освоением глубин познания. Я знаю, умею и этого достаточно. А вы, заставляете старика читать с экрана теорию и начинать программировать. А то что, сплошь и рядом, во всех этих уроках ошибки: как обычные грамматические, которые я в состоянии отловить и исправить, куча ошибок чисто специфических, которые не специалист не заметит. А потом, когда всё это проштудирую, выучу, усвою, напишу свой первый скетч, а он не работает. Или выдаёт какую- то ошибку. И что теперь я буду чувствовать ? Может быть, вы не столь высокого уровня, что вам трудно написать скетч ? Пусть даже, и корявый, и с ошибками ? Я не могу просто понять, если я программист и меня просят написать программу, которая обороты на выходе формирует с неким коэффициентом, к сигналу на входе. Я не буду скрупулёзно расспрашивать, знает ли человек что такое серво и как она работает ? Я просто напишу и дам, пробуйте ! У вас почему- то, так не получается. Даже, когда я вам расписал, набросал эскиз, вы меня троллем назвали.
Лучше бы вы назвали свою цену.
Ребята, как я понял, всё началось с меня. Ну дайте и я скажу. Вы, тёплое и мягкое, не путайте ! Мне не нужно работать программистом, мне нужно только сейчас, одну безделушку сотворить. А вы хотите, за один раз и на всю оставшуюся жизнь заработать, не сильно надрываясь. Только вслух Вы этого никогда не признаете, а будете говорить что, Вам не нравятся такие читайте текст выше. Я тоже много чего могу но, если я сделал то, ошибок и исправлений уже не нужно будет, а в ваших работах сплошь и рядом, ошибки, исправления. Вы даже ещё ничего не сделали, а уже обговариваете, наладку у клиента... Не будьте трусами ! Честно скажите, в душе хотите заработать. Ну так, огласите свою цену. Если клиента устроит то, он вам заплатит. В моём случае, вы наверняка расчитываете на сумму не менее чем в три знака. А ответьте честно, вы наработаете на эту сумму ? Чтобы и я был тоже удовлетворён результатом ? Заранее скажу, нет !
Когда я был в активной фазе своей жизни, некоторые фирмы нанимали меня за 1200 германских марок в час. Некоторые, по- меньше, за 400 DM. Но я никогда, ни с кого из людей не брал мзду, за свои услуги. Потому что, одно дело фирма, а другое дело, человек. Фирма она бизнес делает, а человек старается свою проблему решить. И естественно, хочет чтобы плыйзнахаляву. Я тоже не чужд этому. И что ? Будете осуждать ? Только, сначала на себя оглянитесь...
P. S.
NoName, если до сих пор не читали почту то, уже не читайте. Приглашение утратило свою силу.
Ребята, вы разговариваете не с коллегой, а сапожником. Да, конечно, я могу поменять прошивку на валенках но, это совсем не то, о чём вы подумали. Конечно же, всё, что я здесь привёл, это я тупо надёргал в инете фрагменты, немного переписал, чтобы было похоже на мои нужды но, от этого, я не стал лучше понимать, что я делаю. Поэтому и попросил, напишите пожалуйста для меня скетч, пусть он не совсем идеальный но, я хоть буду знать что, он РАБОЧИЙ и когда я уверен что это работает, я уже смогу что- то понимать.
Нет, двигатель у меня не шаговый, а серво. И не та серва, что поворачивает вал на ограниченный угол, а которая может крутить его без ограничений в любую сторону и с любой скоростью, включая и удержание в одном положении. Вот, честно копал интернет, в поисках похожего, не нашёл. Попадался чем- то похожий на мои нужды но, там было такое накручено что я просто отказался. Правда, начало оттуда украл. Каюсь.
Напишите пожалуйста, хоть кусочек, чтобы, вращая энкодер, двигатель вращался со скоростью скажем, в два раза ниже. Или выше, как вам будет удобнее.
#include <avr/pgmspace.h>
/////////////////////////////////////////////////////////
// ***** Параметры *****
#define Motor_X_Step_Per_Rev 500 // Кол-во шагов/об, мотор 1
#define Motor_Y_Step_Per_Rev 500 // Кол-во шагов/об, мотор 2
#define Enc_Line_per_Rev 500 // Кол-во линий энкодера
// ***** Motor *****
#define MotorPort PORTD
#define MotorInitialization() DDRD=B11111111
#define Motor_X_SetPulse() MotorPort &= ~(1<<0)
#define Motor_X_RemovePulse() MotorPort |= (1<<0)
#define Motor_X_InvertPulse() MotorPort ^= (1<<0)
#define Motor_Y_SetPulse() MotorPort &= ~(1<<1)
#define Motor_Y_RemovePulse() MotorPort |= (1<<1)
#define Motor_Y_InvertPulse() MotorPort ^= (1<<1)
#define Motor_X_CW() MotorPort &= ~(1<<2)
#define Motor_X_CCW() MotorPort |= (1<<2)
boolean Motor_X_CW_flag = true;
#define Motor_Y_CW() MotorPort |= (1<<3)
#define Motor_Y_CCW() MotorPort &= ~(1<<3)
boolean Motor_Y_CW_flag = true;
#define Motor_X_Enable() MotorPort |= (1<<4)
#define Motor_X_Disable() MotorPort &= ~(1<<4)
#define Motor_Y_Enable() MotorPort |= (1<<5)
#define Motor_Y_Disable() MotorPort &= ~(1<<5)
boolean Step_On_flag = false;
boolean X_Feed_flag = false;
boolean Y_Feed_flag = false;
// ***** Encoder *****
#define Enc_Tick Enc_Line_per_Rev*2
#define EncoderPort PORTD
#define EncoderInitialization() DDRD=B00000000;\
PORTD = B00001111
#define Enc_Read (PIND & B00000010)
volatile int Enc_Pos = 0;
volatile byte Ks_Count = 0;
volatile int Km_Count = 0;
byte Ks_Divisor = 0;
int Km_Divisor = 0;
int Enc_Pos_tmp = 0;
long Spindle_Angle = 0;
#define Spindle_Direction_CW 0
#define Spindle_Direction_CCW 1
boolean Spindle_Direction = Spindle_Direction_CW;
//////////////////////////////////////////////
void setup()
{
EncoderInitialization();
MotorInitialization();
}
//////////////////////////////////////////////
void loop()
{
Enc_Pos_tmp = Enc_Pos;
}
Компиляция не ругалась, выдала, сколько там байт. И чО ? Я уже программист что ли ? Можно загружать и запускать ? Хотя, сам не верю в успех, этого безнадёжного дела... Что скажете, уважаемые гуру ?
Я чувствую себя настоящим профи от программирования !!! С большим интересом прочитал монологи зубров, о разных способах решения одной и той же задачи. Вот, только не понял, на фига ?
Пойду, попытаюсь ещё натаскать фрагментов кода, для setup и loop. Наверное, скоро вернусь.
Подскажите пожалуйста, где ошибка ? Набрал такой текст
#include <avr/pgmspace.h>
/////////////////////////////////////////////////////////
// ***** Параметры *****
#define Motor_X_Step_Per_Rev 500 // Кол-во шагов/об, мотор 1
#define Motor_Y_Step_Per_Rev 500 // Кол-во шагов/об, мотор 2
#define Enc_Line_per_Rev 500 // Кол-во линий энкодера
// ***** Motor *****
#define MotorPort PORTD
#define MotorInitialization() DDRD=B11111111
#define Motor_X_SetPulse() MotorPort &= ~(1<<0)
#define Motor_X_RemovePulse() MotorPort |= (1<<0)
#define Motor_X_InvertPulse() MotorPort ^= (1<<0)
#define Motor_Y_SetPulse() MotorPort &= ~(1<<1)
#define Motor_Y_RemovePulse() MotorPort |= (1<<1)
#define Motor_Y_InvertPulse() MotorPort ^= (1<<1)
#define Motor_X_CW() MotorPort &= ~(1<<2)
#define Motor_X_CCW() MotorPort |= (1<<2)
boolean Motor_X_CW_flag = true;
#define Motor_Y_CW() MotorPort |= (1<<3)
#define Motor_Y_CCW() MotorPort &= ~(1<<3)
boolean Motor_Y_CW_flag = true;
#define Motor_X_Enable() MotorPort |= (1<<4)
#define Motor_X_Disable() MotorPort &= ~(1<<4)
#define Motor_Y_Enable() MotorPort |= (1<<5)
#define Motor_Y_Disable() MotorPort &= ~(1<<5)
boolean Step_On_flag = false;
boolean X_Feed_flag = false;
boolean Y_Feed_flag = false;
// ***** Encoder *****
#define Enc_Tick Enc_Line_per_Rev*2
#define EncoderPort PORTD
#define EncoderInitialization() DDRD=B00000000;\
PORTD = B00001111
#define Enc_Read (PIND & B00000010)
volatile int Enc_Pos = 0;
volatile byte Ks_Count = 0;
volatile int Km_Count = 0;
byte Ks_Divisor = 0;
int Km_Divisor = 0;
int Enc_Pos_tmp = 0;
long Spindle_Angle = 0;
#define Spindle_Direction_CW 0
#define Spindle_Direction_CCW 1
boolean Spindle_Direction = Spindle_Direction_CW;
и после компиляции получаю
core.a(main.cpp.o): In function `main':
C:\Users\Андрей\Desktop\Arduino\arduino-1.0.2-windows\hardware\arduino\cores\arduino/main.cpp:11: undefined reference to `setup'
C:\Users\Андрей\Desktop\Arduino\arduino-1.0.2-windows\hardware\arduino\cores\arduino/main.cpp:14: undefined reference to `loop'
На сколько у меня ума хватает, я до этого ещё даже не дошёл... Или, нужно просто набирать текст программы полностью, с этими setup и loop ?
Хорошо, спасибо. Попробую такой фокус.
Я наверное не очень понятно написал... У меня на Arduino Mega 2560 для ввода сигналов Step и Dir были задействованы 20 и 21 выводы. Номера даю по плате Arduino. Похоже что, пока экспериментировал, один вход подпалил, кажется 20. Вот я и подумал, если порт это 8 бит т. е. 8 ножек, может быть можно перенести на другую ножку, чтобы через неё подать сигнал ? Сам пока не могу разобраться, там всё по- намешано... Не подскажите ? Или другую покупать ? Хотя, я уже заказал новую...
Спасибо большое, хоть что- то уже понятнее стало. А такой вопрос, если я правильно понял, для сигналов Enable, Step и Dir я могу использовать три ножки одного порта, то бишь три бита. А влияет ли как- то порядок этих битов или старшинство, или как там правильно называется очерёдность этих битов в байте ? Другими словами, как это отражается в записи программы ? И остальные 5 ножек - битов, я могу использовать для других целей скажем, резервировать ? Почему интересуюсь ? Я тут, пока осваивал эту премудрость, похоже, один выход спалил или подпалил на своей Arduino. Сейчас сигнал, как бы трёхуровневый, на осциллографе смотрю. Даже сигналы с энкодера, когда в воздухе, сигнал нормальный, два уровня 0 и 1, подключаю к выводам Arduino сигнал становится уже с тремя уровнями. Вот и подумал, на другую ножку можно его перевести ? И как ?
Ну что ж, спасибо и на этом. Желаю и вам успехов.
Доброе утро.
Я дочь миллионера не топчу, чтобы последовать Вашему совету, заказать. И сам не работаю, пока на пособие живу, жду пенсию. Да и, ваши коллеги, а они все сплошь и рядом из молодых, тех свойств, которыми обладаем мы, старики, не имеют. И если к ним обратиться, с заказом естественно, раздуют из этой безделицы такой шум, начиная с ТЗ, составления смет и графиков и заканчивая отладочно- доводочными работами на объекте. Как говорится, всё знают но, ничего не умеют.
Если я правильно понял, от Вас не только помощи но и совета, я не дождусь ? И даже примерную стоимость такой программы Вы не скажете ?
Хорошо. Попытаюсь сейчас набросать эскиз.
Ой, прошу прощения, про видео только сейчас увидел. А вот это, на вряд ли, нет у меня камеры... А в чём тайный смысл, видео ?
Ну хорошо. Что я должен сделать, чтобы Вы смогли помочь ? Написать свой скетч ? Так в том то и дело, что я не умею его написать. Если бы я хоть что- нибудь смыслил в этом, я бы уже это сделал. Ну и как мне теперь воспользоваться Вашей помощью ? Линк этот я уже смотрел и даже скетч этот, пробовал загрузить в Arduino, только, не получилось ничего...
Может, Вы какой- нибудь шаблон дадите, а я попытаюсь по нему написать что- то, чтобы Вы уже по реальной писанине могли помогать ?
А может, так сделать, я надёргаю сейчас в сети разных кодов, похожих на скетч соберу их в кучу и выложу здесь. Это поможет, как- то сдвинуть дело с мёртвой точки ?
Ребята, а если я вам предложу для расходомера, градуировки 23, подобрать термопреобразователь ХК, подберёте ? Конечно нет ибо, понятия не иметет что это такое и с чем его едят. Так и я. Я даже понятия не имею, какие буквы нужно ввести, чтобы написать нечто, понятное Arduino. А уж про специальные символы и пробелы со скобками и говорить не нужно. Поэтому, если не специалист просит другого специалиста, сделать за него т.е. за меня, работу, которой занимается специалист в этой области, будет не разумно советовать мне, начать самому, а вы поможете. Ну что я могу начать ?
А вот, как работает сервопривод, как ни странно, я хорошо знаю. И даташиты мне даже читать не нужно. А с либами вы абсолютно правы. Про них я ни сном ни духом. Поэтому и прошу вас.
Мне ещё такой момент не понятен. Arduino 8 разрядная, а как это выглядит физически ? Каждый бит имеет свою ножку ? Например, я подал импульс на вход, а на разрядность мне нужно как- то ориентироваться ? Импульс вроде один, а битов 8... Не понятно.
Ну вот, как стартовать, если понятия не имеешь ? Подключил я свои игрушки к Arduino, даже ножки правильно выбрал, а вот, как объяснить Ardino что, нужно сигнал Step, с ножки 21 обработать с коэффициентом и передать на вывод 49, а сигнал Dir, с ножки 20, на ножку 47, а на ножку 45 выдать сигнал Enable ? И всё это, должно быть синхронно.
Немного про двигатели. Я по специальности всю жизнь занимался приборами и автоматикой. Когда появились шаговые двигатели, они не имели тогда, ни микрошага, ни микроконтроллера. И были очень шумные. Зато давали многие возможности. А так как эти, многие возможности, приходилось мне настраивать, надоели они мне своим воплями, до конца дней моих. Поэтому, их я отбросил сразу и без сожаления.А сервопривод работает быстро и тихо. Его и выбрал. Честно скажу, есть у меня кое- какие успехи, в программировании Arduino но, они такие неуклюжие и глючные, что я их даже перестал показывать. Стыдно просто.
Это я к тому, что не так уж и трудно специалисту, написать такую программу. И не нужно меня убеждать что это такой трудный проект. Вы ещё не видели трудных проектов.
Я уже понял, вы сами ничего не можете сделать. Я даже могу дать вам рабочий скетч и вы всё равно будете твердить своё, без тех задания ничего не получится, специалисты за спасибо вам ничего не дадут. Это вы, за спасибо ничего не даёте ! А я и автомобиль отремонтирую, и телевизор. Зубы конечно, не вставлю, за спасибо ибо, материалы сам не имею, а они весьма дорогие. Это если нужны хорошие зубы. А если любые то, и это за спасибо сделаю,. Программировать вот, только не научился, не было в моё время такой темы, а теперь старый стал, к обучению малопригоден...
В общем, такая просьба, пожалуйста, мои сообщения не читайте. Для вас они не интересны.
Вот, вот ! Именно такое я и хочу сделать. Правда, есть ещё кой- какие идеи, чтобы внуков заинтересовать, научить думать, делать, а не тупо экран смартфона тереть...
Ребята, ну сами укажите градусы углов, шаг, как вам будет удобнее и проще. Можно даже заготовку, куда я смогу подставить свои цифры. По сути, вы можете сами фантазировать. Ну скажем, вам ближе по нынешним модным темам CNC- Mashine, 3D-printer и т.п. Давайте тогда перенесём это, на этакий CNC-Mill Есть два двигателя, которые крутят две оси и синхронизируются со скоростью вращения шпинделя. Думаю это вам ближе и ТЗ вы можете задать какое угодно, программа от этого мало зависима. Нам не нужны многоскоростные и сложногеометрические обработки с многошпиндельными - револьверными и прочими излишествами. Пусть будет две- три скорости на осях и некоторый диапазон оборотов на шпинделе.
Теперь немного о географии. Я живу в Германии и дать второй комплект мне просто не реально по нескольким причинам: почта обойдётся в 19 € и все детали сделаны из подручных материалов, с обработкой на коленке. Вы думаете что эта игрушка стОит таких расходов ? Я не считаю расходы на покупку Arduino, светодиодов и прочей мелочи. Неужели для специалиста, так трудно написать простенькую программу без ТЗ и составления смет ? Пусть это будет лабораторной работой. Задавайте любые параметры, называйте как хотите, выдавайте любые экономические выгоды, извлекайте любые доходы, только напишите пожалуйста, программу.
Если я правильно понял, Вы хотите за такую программу денег ? Много денег. Хорошо, огласите Вашу суму.
Ребята, ну что, можно такое сотворить ?
Да я и слов не знаю таких... Техзадание. Ну, вроде написал. Обороты двигателей, я не знаю точно, может быть 150-200 оборотов в минуту. Срок. На Пасху должны приехать. Бюджет. Да вроде всё купил, приспособил. Осталось вот, запрограммировать...
Если не трудно, можете указать,что здесь требует бюджета ? И я вроде честно сказал, написать нужно за меня. Я слово помощь не употреблял. А если Вы считаете что это коммерческий проект, ради Бога, можете его с чистой совестью использовать по своему усмотрению, я не буду протестовать. Мне бы только программку, внуков хочу порадовать...