Телескопы покупают здесь


A A A A Автор Тема: Рашн Го-То  (Прочитано 22327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Владимир НиколаевичАвтор темы

  • *****
  • Сообщений: 24 096
  • Благодарностей: 434
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12    вайбер +7 903 610-62-15
    • Сообщения от Владимир Николаевич
Re: Рашн Го-То
« Ответ #120 : 06 Июн 2005 [22:02:54] »
Да Володя ты еще не обьяснил, что значения в трех колонках можно менять, у меня например стоят значения удобные мне в моих передаточных отношениях. Движки внизу устанавливают размер шага. А еще у тебя там куча кнопок позволяющих разные манипуляции.
Конечно по практике лучше бы ты разделил диапазон задержки на три секции без разрывов. Кроме того где твой список обьектов Месье для наведения - пусть он всего на сотню-другую обьектов но он не помешает чтобы не лазить в планетарий без нужды. С ним было удобнее и его не плохо бы совместить те и то и это. 
Клевцов 470мм - 2экз, МАК Сантел 420 1\8 на передержке,  Доб 355мм SS, Доб 254, МАК Сантел 230мм, АПО 180мм на Losmandy Titan, подзорная труба 102\900ED SW,  бино 70ED, 70 Non-ED, 10х42ED, 10х50ED.

Суворов Владимир

  • Гость
Re: Рашн Го-То
« Ответ #121 : 06 Июн 2005 [23:48:12] »
Володь спасибо за замечание. Обязательно сделаю и список объектов и список опорных звезд.

Суворов Владимир

  • Гость
Re: Рашн Го-То
« Ответ #122 : 07 Июн 2005 [00:02:51] »
Рискну оказаться не популярным.
Приведу текст простейшего консольного приложения,
построенного на Visual C++,
которое должно работать на контролерах из
Чипа и Дипа, и других более простых, описанных
выше в моей теме. Для чего это нужно?
Я знаю многих людей которые пытаются программировать ШД.
Поэтому,чтобы помочь им в их иследованиях
нижеприведенные тексты могут служить каркасом
в разрабатываемых приложениях.
И позволяют крутить моторчики как захочешь.
Всем, кто не знаком с С++ можно этот раздел пропустить.

// MotorMngr.h: interface for the CMotorMngr class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __MOTOR_H__
#define __MOTOR_H__
#include <dos.h>
#include <memory.h>
#include <windows.h>

struct SMotorParams
{
   int iCount;
   int iDelay;
   int iDirection;
   long lTimer;
};

class CMotorMngr
{
public:
   int GetCurMotor();
   void SetCurMotor(int num);
   void MoveMotor(int iClockwise, int iCount = 1);
   CMotorMngr();
   void MoveMotors(SMotorParams * psParams, int iCount);
   void MoveMotor(SMotorParams * psParams, int iNum, int * job);
   virtual ~CMotorMngr();

public:
//private:
   void WriteToPort(char res);
   int m_iCurMotor;
   char* m_cpMotorState;
};

#endif // __MOTOR_H__

#include <conio.h>
#include <stdio.h>
#include "MotrMngr.h"

int main()
{

   printf("\nWelcome to Vladimir's test, \n that's allowes move the engines separately \n clock- and counterclockwise!\n");
   printf("Press \"Esc\" to exit.\n\n");
   printf("To select the engine's number, please type 1-4.\n");
   printf("After You select the number,\nYou can move this engine clockwise (just press\"C\" or \"c\"),\n or counterclockwise(use \"N\" or \"n\").\n");

   CMotorMngr motor;

   motor.SetCurMotor(0);
   printf("Current engine num is %d\n",1);

   char ch;
   SMotorParams param[2];


   while(1)
   {
      ch = char(getch());

      if(ch == 0x1b) break;//Esc

      if(ch >= 0x31 && ch<=0x34)
      {
         motor.SetCurMotor(ch - 0x31);
         printf("Number of current engine is %d\n",motor.GetCurMotor()+1);
      }

      if(ch == 'c' || ch =='C')
      {
         printf("Moving clockwise %d\n",motor.GetCurMotor()+1);
         motor.MoveMotor(1);
      }

      if(ch == 'n' || ch == 'N')
      {
         printf("Moving counterclockwise %d\n",motor.GetCurMotor()+1);
         motor.MoveMotor(0);
      }
      if(ch == 'b' || ch == 'B')
      {
         printf("Moving  motors with the pointer parametrs\n");

         param[0].iCount = 100;
         param[0].iDelay = 10;
         param[0].iDirection = 1;
         param[1].iCount = 20;
         param[1].iDelay = 10;
         param[1].iDirection = 0;
         motor.MoveMotors(param,2);

      }

   }
   return 0;
}


// MotorMngr.cpp: implementation of the CMotorMngr class.
//
//////////////////////////////////////////////////////////////////////

#include "MotrMngr.h"

char g_cSeq[] = {0x2,0x0,0x1, 0x3};
/////////////   /////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMotorMngr::CMotorMngr()
{
   m_cpMotorState = new char [4];
   memset(m_cpMotorState,0,4);

   m_iCurMotor = 0;
}
//////////////////////////////////////////////////////////////////////
CMotorMngr::~CMotorMngr()
{
   delete m_cpMotorState;
}
//////////////////////////////////////////////////////////////////////
void CMotorMngr::MoveMotor(int iClockwise, int iCount)
{
   char res=0;
   for(int i=0;i<iCount;i++)
   {
      if(iClockwise)
         m_cpMotorState[m_iCurMotor]--;//need to test direction!!!
      else
         m_cpMotorState[m_iCurMotor]++;

      m_cpMotorState[m_iCurMotor] &=3;

      for(int i=0;i<4;i++)
         res |= char((g_cSeq[m_cpMotorState])<<(2*i));

      WriteToPort(res);
   }
}
//////////////////////////////////////////////////////////////////////
void CMotorMngr::WriteToPort(char res)
{

      __asm
      {
         mov AL,res
         mov DX,378h
         out DX, AL
      }

//   outportb (0x378, res); //for DOS only!!!
}
//////////////////////////////////////////////////////////////////////

void CMotorMngr::SetCurMotor(int num)
{
   if(num>=0 && num<=3)
      m_iCurMotor = num;
}
//////////////////////////////////////////////////////////////////////
int CMotorMngr::GetCurMotor()
{
   return m_iCurMotor;
}
//////////////////////////////////////////////////////////////////////
void CMotorMngr::MoveMotors(SMotorParams * psParams, int iCount)
{
   int job,i;

   if(iCount == 1)
      job = 1;
   else
      if(iCount == 2)
         job = 3;
      else
         job = 0;
   psParams[0].lTimer = psParams[1].lTimer = GetTickCount();
   while(1)
   {
      if(!job)
         break;
      for(i=0;i<=iCount;i++)
         MoveMotor(psParams+i,i,&job);
   }
}
//////////////////////////////////////////////////////////////////////
void CMotorMngr::MoveMotor(SMotorParams * psParams, int iNum, int * job)
{
      if((*job)&(1<<iNum))
      {
         if(GetTickCount() - psParams->lTimer>unsigned(psParams->iDelay))
         {
            psParams->lTimer = GetTickCount();
            if(psParams->iCount>0)
            {
               psParams->iCount--;
               this->SetCurMotor(iNum);
               MoveMotor(psParams->iDirection,1);
            }
            else
               *job &= 0xFF^(1<<iNum);
         }
      }

}

Суворов Владимир

  • Гость
Re: Рашн Го-То
« Ответ #123 : 07 Июн 2005 [00:20:07] »
Всем кто интересуется ШД. Появился очень интересный контролер ШД.
http://texnologia.ru/

Контроллер шаговых двигателей предназначен для управления двигателями используемые в самодельных станках с ЧПУ. Таких как фрезерные станки с ЧПУ, токарные станки с ЧПУ, гравировальные станки с ЧПУ и др. Работает он с такими программами как KCam4, Master5, Ninos, Mach1, Mach2, Jala CNC, Turbocnc и другими подобными программами.

Оффлайн Anton

  • *****
  • Сообщений: 7 285
  • Благодарностей: 77
    • Сообщения от Anton
Re: Рашн Го-То
« Ответ #124 : 07 Июн 2005 [02:36:22] »
Всем кто интересуется ШД. Появился очень интересный контролер ШД.
http://texnologia.ru/
Он без микрошага.

Вот кстати  еще одна живая контора:
http://electroprivod.ru/products.htm
общался с ними сегодня. Та ссылка на stepmotor.ru, что я давал, уже оказывается дохлая, фирма скончалась, а вот на электроприводе как раз ее работоспособный осколок действует. Микрошаговые драйверочки там поинтереснее будут, но стоят уже прилично. Вообщем тот самый п.1 по прежнему актуален :)

Оффлайн Mihail Sedyh

  • *****
  • Сообщений: 5 978
  • Благодарностей: 34
    • Сообщения от Mihail Sedyh
Re: Рашн Го-То
« Ответ #125 : 07 Июн 2005 [14:44:44] »
Цитата
Вот кстати  еще одна живая контора:
Как обычно, вопросы по поводу цен игнорируются.....
Кстати там в публикациях есть статейка про пьезодвигатели. Кто-нибудь с такими в живую сталкивался?
"Алькор", Бинокль 10х50, Coronado PST, доб 235/1157, МТ-3С

Оффлайн Владимир НиколаевичАвтор темы

  • *****
  • Сообщений: 24 096
  • Благодарностей: 434
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12    вайбер +7 903 610-62-15
    • Сообщения от Владимир Николаевич
Re: Рашн Го-То
« Ответ #126 : 14 Июн 2005 [08:56:20] »
Есть такой контроллер вот тут http://www.imafania.boom.ru/contr1.htm и цена всего 1500р на 4 двигателя, есть и на три цена 1300р как мне обьяснял разработчик работает это дело в полушаге!
4ax LPT   
Главная

Станки

Схемы

Программы

Изделия

Контроллеры

3ax LPT

4ax LPT

CD



 
 



Контроллер выполнен на микроконтроллере PIC16F877 и MOFSET транзисторах. К контроллеру можно подключить до четырех униполярных четырехфазных шаговых двигателя с 4, 6, 8 выводами. Рекомендуемый тип двигателя - ДШИ-200. Максимальные параметры подключаемого двигателя 46В, 2А. Регулировка тока для каждого двигателя. Имеются входы подключения концевых выключателей и двигателя шпинделя. Имеется разъем для подключения вентилятора 12В. Размер платы 88х108.

А контроллер на три двигателя соответственно -
Контроллер выполнен по стандартной схеме на специализированных микросхемах L297+L298N. К контроллеру можно подключить до трех биполярных четырехфазных шаговых двигателя с 4, 6, 8 выводами. Рекомендуемый тип двигателя - ДШИ-200. Максимальные параметры подключаемого двигателя 46В, 2А. Регулировка тока для каждого двигателя. Имеются входы подключения концевых выключателей и двигателя шпинделя. Имеется разъем для подключения вентилятора 12В. Размер платы 88х108.


 
« Последнее редактирование: 14 Июн 2005 [16:14:25] от Vladim »
Клевцов 470мм - 2экз, МАК Сантел 420 1\8 на передержке,  Доб 355мм SS, Доб 254, МАК Сантел 230мм, АПО 180мм на Losmandy Titan, подзорная труба 102\900ED SW,  бино 70ED, 70 Non-ED, 10х42ED, 10х50ED.

Оффлайн Pavel_Boboshkin

  • ****
  • Сообщений: 267
  • Благодарностей: 9
  • Мне нравится этот форум!
    • Сообщения от Pavel_Boboshkin
    • Киевский клуб телескопостроения -"Максутов-клуб"
Re: Рашн Го-То
« Ответ #127 : 14 Июн 2005 [11:44:10] »
О, на нижней плате стоит 3 штуки L298.

Суворов Владимир

  • Гость
Re: Рашн Го-То
« Ответ #128 : 01 Мая 2006 [19:33:20] »
Вот полностью готовый проэкт на пике:

http://www.fromorbit.com/projects/picstep/index.php

This is a new project geared to provide the community with a low-cost PIC based microstepping controller.
It will provide Full step, 1/2 step, 1/4 step, and 1/8 stepping modes, plus will be able to drive 3A @ 55V per coil!
« Последнее редактирование: 01 Мая 2006 [19:44:39] от Суворов Владимир »

Оффлайн LifeIsGood

  • *****
  • Сообщений: 5 954
  • Благодарностей: 48
  • Мне нравится этот форум!
    • Skype - dennissakva
    • Сообщения от LifeIsGood
Re: Рашн Го-То
« Ответ #129 : 01 Мая 2006 [21:57:49] »
А как на  счет вот этого?
http://www.allegromicro.com/sf/3972/
Уже встроенный ЦАП 6 бит или до Полный, полушаг, 4, 8, 16 и 32 микрошагов , 50В 1.5А Должно хватить на управление достаточно мощным двигателем, при это МК не надо заботиться о генерации импульсов.
Если на вал двигателя поставить еще редуктор 1/5-1/10, например belt drive

Интересная статья о сравнении преимуществ-недостатков разных типов редукторов
http://www.dfmengineering.com/news_telescope_gearing.html

Оффлайн Piter_Korn

  • *****
  • Сообщений: 2 190
  • Благодарностей: 35
  • Мне нравится этот форум!
    • Сообщения от Piter_Korn
Re: Рашн Го-То
« Ответ #130 : 02 Мая 2006 [08:58:23] »
Ну и где всю эту красоту купить ? Об этих контроллерах известно уже более года, а в России не продают!

Оффлайн Денис Никитин

  • *****
  • Сообщений: 3 762
  • Благодарностей: 74
  • Keep your eyes open!
    • Skype - n.dennis
    • Сообщения от Денис Никитин
Re: Рашн Го-То
« Ответ #131 : 02 Мая 2006 [09:45:05] »
Продукция Аллегро конечно очень интересна. Но я например так и не нашел где купить. Даже у Digikey их нет.

Оффлайн LifeIsGood

  • *****
  • Сообщений: 5 954
  • Благодарностей: 48
  • Мне нравится этот форум!
    • Skype - dennissakva
    • Сообщения от LifeIsGood
Re: Рашн Го-То
« Ответ #132 : 02 Мая 2006 [12:33:05] »

Оффлайн Денис Никитин

  • *****
  • Сообщений: 3 762
  • Благодарностей: 74
  • Keep your eyes open!
    • Skype - n.dennis
    • Сообщения от Денис Никитин
Re: Рашн Го-То
« Ответ #133 : 03 Мая 2006 [07:33:01] »
Спасибо, Марат!

Дело в том, что тема шаговых двигателей уже не очень интересна. Мы же заказали тогда в US Digital отличные оптические энкодеры для серводвигателей. Поэтому теперь только серво, шаговые - в музей. А для серво ничего заказывать не нужно, уже все есть....хотя пару микросхем LMD18200T через www.digikey.com неплохо бы приобрести, по цене что-то около $11,69 за штуку. В Ташкенте в общем-то их тоже можно купить, но проблема в том, что ровно в два раза дороже.

Денис
« Последнее редактирование: 03 Мая 2006 [07:53:53] от Денис Никитин »

Оффлайн АндрейЦ

  • *****
  • Сообщений: 692
  • Благодарностей: 1
  • Удвоим втрое!
    • Сообщения от АндрейЦ
Re: Рашн Го-То
« Ответ #134 : 03 Мая 2006 [11:56:35] »
Продукция Аллегро конечно очень интересна. Но я например так и не нашел где купить. Даже у Digikey их нет.

У меня есть некоторое количество А3977SLP могу поделиться.

Оффлайн Денис Никитин

  • *****
  • Сообщений: 3 762
  • Благодарностей: 74
  • Keep your eyes open!
    • Skype - n.dennis
    • Сообщения от Денис Никитин
Re: Рашн Го-То
« Ответ #135 : 04 Мая 2006 [09:50:42] »
Спасибо Андрей, за предложение, но я пожалуй откажусь. К теме шаговых двигателей возвращаться не очень хочется.

Оффлайн АндрейЦ

  • *****
  • Сообщений: 692
  • Благодарностей: 1
  • Удвоим втрое!
    • Сообщения от АндрейЦ
Re: Рашн Го-То
« Ответ #136 : 04 Мая 2006 [14:47:25] »
Спасибо Андрей, за предложение, но я пожалуй откажусь. К теме шаговых двигателей возвращаться не очень хочется.

Мне кажется, что кроме плюсов сервопривод имеет и минусы.
И хотя главным будет  стоимость, это тоже минус :)