Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.astronomy.ru/forum/index.php/topic,9031.120.html
Дата изменения: Sun Apr 10 05:50:05 2016
Дата индексирования: Sun Apr 10 05:50:05 2016
Кодировка: Windows-1251

Поисковые слова: южная атлантическая аномалия
Рашн Го-То - стр. 7 - Телескопостроение, оптика

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

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

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

  • *****
  • Сообщений: 18 268
  • Рейтинг: +223/-45
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12
Re: Рашн Го-То
« Ответ #120 : 06.06.2005 [21:02:54] »
Да Володя ты еще не обьяснил, что значения в трех колонках можно менять, у меня например стоят значения удобные мне в моих передаточных отношениях. Движки внизу устанавливают размер шага. А еще у тебя там куча кнопок позволяющих разные манипуляции.
Конечно по практике лучше бы ты разделил диапазон задержки на три секции без разрывов. Кроме того где твой список обьектов Месье для наведения - пусть он всего на сотню-другую обьектов но он не помешает чтобы не лазить в планетарий без нужды. С ним было удобнее и его не плохо бы совместить те и то и это. 
Дядя Вова так владел интонацией, что фразой "твою мать.." мог и похвалить и поругать и поздороваться и даже выразить соболезнование!

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

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

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

  • Гость
Re: Рашн Го-То
« Ответ #122 : 06.06.2005 [23: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 : 06.06.2005 [23:20:07] »
Всем кто интересуется ШД. Появился очень интересный контролер ШД.
http://texnologia.ru/

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

Оффлайн Anton

  • *****
  • Сообщений: 7 530
  • Рейтинг: +84/-10
Re: Рашн Го-То
« Ответ #124 : 07.06.2005 [01:36:22] »
Всем кто интересуется ШД. Появился очень интересный контролер ШД.
http://texnologia.ru/
Он без микрошага.

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

Оффлайн Mihail Sedyh

  • *****
  • Сообщений: 5 951
  • Рейтинг: +41/-8
Re: Рашн Го-То
« Ответ #125 : 07.06.2005 [13:44:44] »
Цитировать
Вот кстати  еще одна живая контора:
Как обычно, вопросы по поводу цен игнорируются.....
Кстати там в публикациях есть статейка про пьезодвигатели. Кто-нибудь с такими в живую сталкивался?
"Алькор", Бинокль 10х50, доб 235/1157, МТ-3С

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

  • *****
  • Сообщений: 18 268
  • Рейтинг: +223/-45
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12
Re: Рашн Го-То
« Ответ #126 : 14.06.2005 [07: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.06.2005 [15:14:25] от Vladim »
Дядя Вова так владел интонацией, что фразой "твою мать.." мог и похвалить и поругать и поздороваться и даже выразить соболезнование!

Оффлайн Pavel_Boboshkin

  • ****
  • Сообщений: 263
  • Рейтинг: +14/-5
  • Мне нравится этот форум!
    • Киевский клуб телескопостроения -"Максутов-клуб"
Re: Рашн Го-То
« Ответ #127 : 14.06.2005 [10:44:10] »
О, на нижней плате стоит 3 штуки L298.

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

  • Гость
Re: Рашн Го-То
« Ответ #128 : 01.05.2006 [18: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.05.2006 [18:44:39] от Суворов Владимир »

Оффлайн LifeIsGood

  • *****
  • Сообщений: 5 967
  • Рейтинг: +50/-2
  • Мне нравится этот форум!
    • Skype - dennissakva
Re: Рашн Го-То
« Ответ #129 : 01.05.2006 [20: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

  • *****
  • Сообщений: 1 802
  • Рейтинг: +21/-3
  • Мне нравится этот форум!
Re: Рашн Го-То
« Ответ #130 : 02.05.2006 [07:58:23] »
Ну и где всю эту красоту купить ? Об этих контроллерах известно уже более года, а в России не продают!

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

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

Оффлайн LifeIsGood

  • *****
  • Сообщений: 5 967
  • Рейтинг: +50/-2
  • Мне нравится этот форум!
    • Skype - dennissakva
Re: Рашн Го-То
« Ответ #132 : 02.05.2006 [11:33:05] »

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

  • *****
  • Сообщений: 3 750
  • Рейтинг: +87/-13
  • Keep your eyes open!
    • Skype - n.dennis
Re: Рашн Го-То
« Ответ #133 : 03.05.2006 [06:33:01] »
Спасибо, Марат!

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

Денис
« Последнее редактирование: 03.05.2006 [06:53:53] от Денис Никитин »

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

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

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

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

  • *****
  • Сообщений: 3 750
  • Рейтинг: +87/-13
  • Keep your eyes open!
    • Skype - n.dennis
Re: Рашн Го-То
« Ответ #135 : 04.05.2006 [08:50:42] »
Спасибо Андрей, за предложение, но я пожалуй откажусь. К теме шаговых двигателей возвращаться не очень хочется.

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

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

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