Доброго времени суток! Перелопатив кучу сайтов в интернета и не найдя "бесплатной" информации, я изготовил плату самостоятельно и выкладываю для таких же как я. Модуль успешно работает уже почти год, глюки вроде уже все найдены, но если кто желает повторить, прошу меня сильно не пинать а вместе решить проблему или новые дополнения. Кому интересно и кто с Украины могу продать по себестоимости пустые печатные платы, для самостоятельного изготовления.
Модуль выравнивания портала DDCSV
-
- Новичок
- Сообщения: 13
- Зарегистрирован: 02 мар 2019, 13:54
- Репутация: 8
- Настоящее имя: Алексей
- Контактная информация:
Модуль выравнивания портала DDCSV
Последний раз редактировалось Advant 02 ноя 2021, 16:41, всего редактировалось 2 раза.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: Модуль выравнивания портал
По картинкам что выложено, девайс особо не собрать.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
- Новичок
- Сообщения: 13
- Зарегистрирован: 02 мар 2019, 13:54
- Репутация: 8
- Настоящее имя: Алексей
- Контактная информация:
Re: Модуль выравнивания портал
Файл DipTrace - в архиве со схемой.
-
- Кандидат
- Сообщения: 74
- Зарегистрирован: 14 фев 2017, 11:55
- Репутация: 4
- Настоящее имя: Александр
- Контактная информация:
Re: Модуль выравнивания портала DDCSV
На схеме и элементы не подписаны , можно было и герберы выложить раз для свободного распространения..
Да и прошивка как я понимаю тоже нужна.
Да и прошивка как я понимаю тоже нужна.
- MX_Master
- Мастер
- Сообщения: 7467
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3089
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Модуль выравнивания портала DDCSV
Я, наверно, как заевшая пластинка, но выравнивание портала в LinuxCNC с версии 2.8 работает просто отлично. Уже пол года успешно пользуюсь
-
- Новичок
- Сообщения: 13
- Зарегистрирован: 02 мар 2019, 13:54
- Репутация: 8
- Настоящее имя: Алексей
- Контактная информация:
Re: Модуль выравнивания портала DDCSV
По поводу LinuxCNC - не знаю у меня панель DDCSV и там такого нет а на станке стоят 2 мотора по оси Y, так что пришлось что то с этим делать, а по поводу прошивки там простейший алгоритм, написано в ардуино IDE 10 строк кода, самое сложное было это сложить схему которая работает нормально. А по поводу элементов открываете схему в DipTrace клацаете по элементу и там его маркировка с номиналами.
-
- Новичок
- Сообщения: 13
- Зарегистрирован: 02 мар 2019, 13:54
- Репутация: 8
- Настоящее имя: Алексей
- Контактная информация:
Re: Модуль выравнивания портала DDCSV
Вот программа :
#include <EEPROM.h>
int addr = 0;
int correct =0;
int rstButton = 4;
int inDT1 = 6; // pushbutton connected to digital pin 6
int inDT2 = 7; // pushbutton connected to digital pin 7
int ledPin1 = 8;
int outMotor1 = 9;
int outMotor2 = 10;
int outDT = 11;
int ledPin2 = 12;
int ledPin3 = 13;
bool flag = false;
void setup()
{
correct = EEPROM.read(addr);
pinMode(ledPin1, OUTPUT); // устанавливает режимы работы - портов
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(outMotor1, OUTPUT);
pinMode(outMotor2, OUTPUT);
pinMode(outDT, OUTPUT);
pinMode(inDT1, INPUT);
pinMode(inDT2, INPUT);
}
void loop()
{
if(!(digitalRead(rstButton)) && flag == false)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
correct = 0;
EEPROM.write(addr, 0);
flag = true;
delay(1000);
}
if(!(digitalRead(rstButton)) && flag == true)
{
digitalWrite(ledPin1, LOW);
}
if(digitalRead(rstButton) && flag == true)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
flag = false;
delay(1000);
digitalWrite(ledPin1, LOW);
}
if(digitalRead(rstButton) && flag == false)
{
if(correct == 1)
{
if(!(digitalRead(inDT1)) || !(digitalRead(inDT2)))
{
digitalWrite(outDT, HIGH);
digitalWrite(ledPin1, HIGH);
}
else
{
digitalWrite(outDT, LOW);
digitalWrite(ledPin1, LOW);
}
}
else
{
if(!(digitalRead(inDT1)))
{
digitalWrite(ledPin2, HIGH);
digitalWrite(outMotor1, HIGH);
}
else
{
digitalWrite(ledPin2, LOW);
digitalWrite(outMotor1, LOW);
}
if(!(digitalRead(inDT2)))
{
digitalWrite(ledPin3, HIGH);
digitalWrite(outMotor2, HIGH);
}
else
{
digitalWrite(ledPin3, LOW);
digitalWrite(outMotor2, LOW);
}
if(!(digitalRead(inDT1)) && !(digitalRead(inDT2)))
{
digitalWrite(outDT, HIGH);
digitalWrite(ledPin1, HIGH);
digitalWrite(outMotor1, LOW);
digitalWrite(outMotor2, LOW);
delay(1000);
EEPROM.write(addr, 1);
correct =1;
delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(outMotor1, LOW);
digitalWrite(outMotor2, LOW);
}
else
{
digitalWrite(outDT, LOW);
digitalWrite(ledPin1, LOW);
}
}
}
}
#include <EEPROM.h>
int addr = 0;
int correct =0;
int rstButton = 4;
int inDT1 = 6; // pushbutton connected to digital pin 6
int inDT2 = 7; // pushbutton connected to digital pin 7
int ledPin1 = 8;
int outMotor1 = 9;
int outMotor2 = 10;
int outDT = 11;
int ledPin2 = 12;
int ledPin3 = 13;
bool flag = false;
void setup()
{
correct = EEPROM.read(addr);
pinMode(ledPin1, OUTPUT); // устанавливает режимы работы - портов
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(outMotor1, OUTPUT);
pinMode(outMotor2, OUTPUT);
pinMode(outDT, OUTPUT);
pinMode(inDT1, INPUT);
pinMode(inDT2, INPUT);
}
void loop()
{
if(!(digitalRead(rstButton)) && flag == false)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
correct = 0;
EEPROM.write(addr, 0);
flag = true;
delay(1000);
}
if(!(digitalRead(rstButton)) && flag == true)
{
digitalWrite(ledPin1, LOW);
}
if(digitalRead(rstButton) && flag == true)
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
flag = false;
delay(1000);
digitalWrite(ledPin1, LOW);
}
if(digitalRead(rstButton) && flag == false)
{
if(correct == 1)
{
if(!(digitalRead(inDT1)) || !(digitalRead(inDT2)))
{
digitalWrite(outDT, HIGH);
digitalWrite(ledPin1, HIGH);
}
else
{
digitalWrite(outDT, LOW);
digitalWrite(ledPin1, LOW);
}
}
else
{
if(!(digitalRead(inDT1)))
{
digitalWrite(ledPin2, HIGH);
digitalWrite(outMotor1, HIGH);
}
else
{
digitalWrite(ledPin2, LOW);
digitalWrite(outMotor1, LOW);
}
if(!(digitalRead(inDT2)))
{
digitalWrite(ledPin3, HIGH);
digitalWrite(outMotor2, HIGH);
}
else
{
digitalWrite(ledPin3, LOW);
digitalWrite(outMotor2, LOW);
}
if(!(digitalRead(inDT1)) && !(digitalRead(inDT2)))
{
digitalWrite(outDT, HIGH);
digitalWrite(ledPin1, HIGH);
digitalWrite(outMotor1, LOW);
digitalWrite(outMotor2, LOW);
delay(1000);
EEPROM.write(addr, 1);
correct =1;
delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(outMotor1, LOW);
digitalWrite(outMotor2, LOW);
}
else
{
digitalWrite(outDT, LOW);
digitalWrite(ledPin1, LOW);
}
}
}
}
-
- Кандидат
- Сообщения: 74
- Зарегистрирован: 14 фев 2017, 11:55
- Репутация: 4
- Настоящее имя: Александр
- Контактная информация:
Re: Модуль выравнивания портала DDCSV
Спасибо за ответы.
Вроде бы в DipTrace видел народ выкладывает файл и его без установки можно смотреть по ссылке , типа онлайн.
Вроде бы в DipTrace видел народ выкладывает файл и его без установки можно смотреть по ссылке , типа онлайн.