Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха.

 
Опции темы
Непрочитано 26.09.2016, 00:27  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от omercury Посмотреть сообщение
Ну и как они?
(жаль, что опторазвязка не по всем линиям, но это исправимо и по скорости тот же LPT)
Я, кстати, серьёзно.
Работают!
Если до этого станок работал с LPT, то замечаешь, что реакция на нажатие в программе MACH кнопок управления передвижением происходит с некоторой задержкой.
ALEGYR вне форума  
Непрочитано 26.09.2016, 00:32  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от AR_Favorit Посмотреть сообщение
Маловато знаешь. В промышленных контроллерах частенько встречается использование оптронов в гальванически связанных (через питание или землю) цепях. Как думаешь, зачем?
Наверное чтобы ракеты и самолеты делать.
ALEGYR вне форума  
Непрочитано 26.09.2016, 00:35  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от akegor Посмотреть сообщение
Надо искать женщину. "Компро-мисс" называется
на другую не нарвитесь - смеху-то будет
jump вне форума  
Непрочитано 26.09.2016, 00:38  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от jump Посмотреть сообщение
на другую не нарвитесь - смеху-то будет
Компромиссис? ((с) Довлатов)

Или просто без "м"?
AR_Favorit вне форума  
Непрочитано 26.09.2016, 00:39  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от ALEGYR Посмотреть сообщение
Наверное чтобы ракеты и самолеты делать.
Неа. Попробуй еще раз.
AR_Favorit вне форума  
Непрочитано 26.09.2016, 00:41  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от verdana Посмотреть сообщение
Просто сделать станок, это скучно и неинтересно.
Просто, значит просто.
Миниатюры:
Нажмите на изображение для увеличения
Название: DSC_0347.JPG
Просмотров: 0
Размер:	266.3 Кб
ID:	102018  
omercury вне форума  
Непрочитано 26.09.2016, 00:42  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от ALEGYR Посмотреть сообщение
Работают!
Если до этого станок работал с LPT, то замечаешь, что реакция на нажатие в программе MACH кнопок управления передвижением происходит с некоторой задержкой.
Ага...
Значит на концевики тоже будут реагировать с опозданием. Хреново.


Сообщение от verdana Посмотреть сообщение
http://www.yusto.ru/hardware/driver/...542-05-detail/

На каждый свой блок питания 48 V 300 W
Не, я своё.
Миниатюры:
Нажмите на изображение для увеличения
Название: Image2.jpg
Просмотров: 0
Размер:	216.0 Кб
ID:	102017  
omercury вне форума  
Непрочитано 26.09.2016, 00:45  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от jump Посмотреть сообщение
ТС заикнулся о спиральной интерполяции на меге - хочу лицезреть и точка!
Вот тебе кусок реальной программы для меги, который выполняет движение по окружности против часовой стрелки. В нем переменная "theta" как раз и определяет сколько кругов надо сделать.
Цитата:
// ************************************************** ********************************
void arc_CCW(float cx,float cy,float x,float y,float dir)
// ************************************************** ********************************
{


centr_arc_x = carent_Pos_X + cx * step_for_X; // определяем координату "X" центра дуги
centr_arc_y = carent_Pos_Y + cy * step_for_Y; // определяем координату "Y" центра дуги

end_arc_x = x * step_for_X; // определяем координату "X" конца дуги в шагах
end_arc_y = y * step_for_Y; // определяем координату "Y" конца дуги в шагах

delta_X = end_arc_x - centr_arc_x;
delta_Y = end_arc_y - centr_arc_y;

radius = sqrt(cx*cx + cy*cy); // определяем величину радиуса дуги в ММ

step_radius = radius * step_for_X; // определяем величину радиуса дуги в ШАГАХ

step_cx = abs(cx * step_for_X); // определяем длину перемещения по оси (в шагах)
step_cy = abs(cy * step_for_X); // определяем длину дуги (в шагах)//для отладки
step_temp_radius = step_radius; //

// определяем угол начала дуги

angle1 = atan2(cy,cx);
angle1 = PI + angle1;
Set_arc_mode(angle1);
arc_mode_1 = arc_mode_ ;

// определяем угол окончания дуги

angle2 = atan2(delta_Y,delta_X);
if (delta_Y ‹ 0){angle2 = 2*PI + angle2;}
Set_arc_mode(angle2);
arc_mode_2 = arc_mode_ ;

// определяем количество секторов в дуге

theta = angle2 - angle1;
if(theta ‹ 0){theta = 2*PI + theta ;}
Set_arc_mode(theta);
namber_arc_mode = arc_mode_ ;

// определяем количество шагов в дуге
// длина окружности =PI*2.0*radius;
// длина дуги len=theta*circ/(PI*2.0);

len = abs(theta) * step_radius ; // определяем длину дуги (в шагах)
Delta_Move = len ; //

Serial.print(" Delta_Move = "); Serial.println(Delta_Move); //для отладки

motor_enable() ;
max_count_Acceleration = max_count_Acceleration_X ;
INIT_Move_X_Y();

gradus_theta = (180*theta)/PI; //для отладки



if (gradus_theta ‹ 0.9){end_case = true; end_arc = true ;}
else {end_case = false; // сбрасываем флаг окончания сектора
end_arc = false ;} // сбрасываем флаг окончания дуги

ERROR_Pos_X = 0 ;
ERROR_Pos_Y = 0 ;

arc_mode = arc_mode_1 ;

for (int mode=0; mode ‹= namber_arc_mode ; mode++){

do{

switch (arc_mode) {

case 1: //выполняется, если дуга начинается в первом квадранте с начальным углом НЕ больше 45 градусов
digitalWrite( Y_DIR_PIN, HIGH ); digitalWrite( X_DIR_PIN, HIGH ); step_cy = step_cy + 1; carent_Pos_Y = carent_Pos_Y + 1 ;
if (step_temp_radius ›= step_radius) { STOP_MOTOR_X() ; step_cx = step_cx - 1; carent_Pos_X = carent_Pos_X - 1 ; }
if (step_cx ‹= step_cy) {end_case = true; } break;
case 2: //выполняется, если дуга начинается в первом квадранте с начальным углом больше 45 градусов
digitalWrite( Y_DIR_PIN, HIGH ); digitalWrite( X_DIR_PIN, LOW ); step_cx = step_cx - 1; carent_Pos_X = carent_Pos_X - 1 ;
if (step_temp_radius ‹= step_radius) { STOP_MOTOR_X() ; step_cy = step_cy + 1; carent_Pos_Y = carent_Pos_Y + 1 ; }
if (step_cx ‹= 0) {end_case = true; } break;
case 3: //выполняется, если дуга начинается во втором квадранте с начальным углом НЕ больше 135 градусов
digitalWrite( Y_DIR_PIN, HIGH ); digitalWrite( X_DIR_PIN, LOW ); step_cx = step_cx + 1; carent_Pos_X = carent_Pos_X - 1 ;
if (step_temp_radius ›= step_radius) { STOP_MOTOR_Y() ; step_cy = step_cy - 1; carent_Pos_Y = carent_Pos_Y - 1 ; }
if (step_cy ‹= step_cx) {end_case = true; } break;
case 4: //выполняется если дуга начинается во втором квадранте с начальным углом больше 135 градусов
digitalWrite( Y_DIR_PIN, LOW ); digitalWrite( X_DIR_PIN, LOW ); step_cy = step_cy - 1; carent_Pos_Y = carent_Pos_Y - 1 ;
if (step_temp_radius ‹= step_radius) { STOP_MOTOR_Y() ; step_cx = step_cx + 1; carent_Pos_X = carent_Pos_X - 1 ; }
if (step_cy ‹= 0) {end_case = true; } break;
case 5: //выполняется если дуга начинается в третьем квадранте с начальным углом НЕ больше 225 градусов
digitalWrite( Y_DIR_PIN, LOW ); digitalWrite( X_DIR_PIN, LOW ); step_cy = step_cy + 1; carent_Pos_Y = carent_Pos_Y - 1 ;
if (step_temp_radius ›= step_radius) { STOP_MOTOR_X() ; step_cx = step_cx - 1; carent_Pos_X = carent_Pos_X + 1 ; }
if (step_cy ›= step_cx) {end_case = true; } break;
case 6://выполняется если дуга начинается в третьем квадранте с начальным углом больше 225 градусов
digitalWrite( Y_DIR_PIN, LOW ); digitalWrite( X_DIR_PIN, HIGH ); step_cx = step_cx - 1; carent_Pos_X = carent_Pos_X + 1 ;
if (step_temp_radius ‹= step_radius) { STOP_MOTOR_X() ; step_cy = step_cy + 1; carent_Pos_Y = carent_Pos_Y - 1 ; }
if (step_cx ‹= 0) {end_case = true; } break;
case 7: //выполняется если дуга начинается в четвертом квадранте с начальным углом НЕ больше 315 градусов
digitalWrite( Y_DIR_PIN, LOW ); digitalWrite( X_DIR_PIN, HIGH ); step_cx = step_cx + 1; carent_Pos_X = carent_Pos_X + 1 ;
if (step_temp_radius ›= step_radius) { STOP_MOTOR_Y() ; step_cy = step_cy - 1; carent_Pos_Y = carent_Pos_Y + 1 ; }
if (step_cx ›= step_cy) {end_case = true; } break;
case 8: //выполняется если дуга начинается в четвертом квадранте с начальным углом больше 315 градусов
digitalWrite( Y_DIR_PIN, HIGH ); digitalWrite( X_DIR_PIN, HIGH ); step_cy = step_cy - 1; carent_Pos_Y = carent_Pos_Y + 1 ;
if (step_temp_radius ‹= step_radius) { STOP_MOTOR_Y() ; step_cx = step_cx + 1; carent_Pos_X = carent_Pos_X + 1 ; }
if (step_cy ‹= 0) {end_case = true; } break;
}
// ----------------------------------------------------------------------------------------------------
STEP_arc() ;
// ----------------------------------------------------------------------------------------------------
}

while ((end_case == false)&&(end_arc == false)); //

end_case = false ;

if (namber_arc_mode ›= mode ){ //если число пройденых секторов меньше общего числа секторов в дуге, то
arc_mode = arc_mode+1; // увеличиваем номер обрабатываемого сектора
if (arc_mode › 8 ){ arc_mode = 1;} } //устанавливаем номер первого сектора
}
Xa = carent_Pos_X/step_for_X;
Ya = carent_Pos_Y/step_for_Y;

iput_X = x ;//
iput_Y = y ;//
DEBUG();//

}
ALEGYR вне форума  
Непрочитано 26.09.2016, 00:47  
verdana
Заблокирован
 
Регистрация: 16.03.2005
Сообщений: 5,918
Сказал спасибо: 560
Сказали Спасибо 9,145 раз(а) в 2,892 сообщении(ях)
verdana на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от omercury Посмотреть сообщение
Просто, значит просто.
Я не про Вас
verdana вне форума  
Непрочитано 26.09.2016, 00:52  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Объясните лоху про параллельный порт

Сообщение от AR_Favorit Посмотреть сообщение
Или просто
йес, йес
Сообщение от ALEGYR Посмотреть сообщение
реальной программы для меги, который выполняет движение по окружности против часовой стрелки
дядя - ты дурак? (с)
Сообщение от jump Посмотреть сообщение
позволяющих делать спиральную интерполяцию, ибо требовалось вести обсчет трех координат со слежением за положением шпинделя
шо ж ты как уж вертисся на сковородке? нихера уразуметь не можешь и отличить круговую интерполяцию на плоскости от объемной спиральной? че дурачком кидаешься?

Последний раз редактировалось jump; 26.09.2016 в 00:59.
jump вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гравитационное замедление времени alder Отвлекитесь, эмбеддеры! 775 15.11.2013 16:45


Часовой пояс GMT +4, время: 06:46.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot