Четверг, 07.08.2025, 15:01
Приветствую Вас Гость

Gauss Gun

javascript://

Блог

Главная » 2012 » Май » 08 » Начал делать кольцевой гаусс.
23:57
Начал делать кольцевой гаусс.
Собственно вот описание идеи.

Основные моменты уже продумал :
1) питание - низковольтное от силовых аккумуляторов. Коммутация не менее силовыми транзисторами :-)
2) управление реализуется на контроллере Atmega8, запущенном на 16 МГц.
3) "выпуск" снаряда - открытием створки, прижимаемой электромагнитом (не напрямую, а расположенном в жопе мира :-) через неферромагнитную систему)
4) датчики - пошлая оптика, включенная параллельно и дергающая порт контроллера по каждому пересечению :-)

Вот сама программа :
Code

#include <avr/io.h>

// коофицент length*frequenzy
#define k 8000000
// максимальное знанчения порта A - определяется числом ступеней
#define MAX_A 128

//Нужная скорость.
// Пример
// B[0] ...
// B[1] ...
// B[2] = 1;
// B[3] = 0;

// B[4] = 1;
// B[5] = 0;
// B[6] = 0;
// B[7] = 0;

// return 8*2;
double get_need()
{
  double need = 0;
  double k=0;
  need+=PINB.7;
  need+=PINB.6*2;
  need+=PINB.5*4;
  need+=PINB.4*5;

  k+=PINB.3;
  k+=PINB.2*2;

  return need*k;
}

int main(void)
{
  OCR0=255; // инициализация таймера
  TCCR0 = (1<<CS00); //настройка таймера
   
  int A=0;
  PORTA=0;
  int temp;
   
  while(1)
  {
  PORTC.0 = 0; //Запираем снаряд в стволе
   
  //Получаем нужную скорость
  double need = getNeed();
  while(PINB.0==0); //Ждём нажатия кнопки спуска
   
  //... по нажатии ...
  A=1; //Переменная, описывающая состояние порта A
  PORTA=1; // Сам порт
   
  double speed=0;
  while(speed<need) //До дотижения нужной скорости - ускоряем снаряд
  {
  TCNT0=0; //Для отсчёта сбросим таймер
   
  while(1)
  {
  while(PINB.1==1);//Пока не был заслонён очередной датчик...
  //Когда же он был заслонён - включим следующую катушку
  if A*2>MAX_A
  {
  A=1;
  PORTA=1;
  }
  else
  {
  temp=A*2;
  PORTA=temp;
  A=temp;
  }
  break;
  }
   
  speed = k/TCNT0;
  }
   
  PORTC.0 = 1; //Открываем канал снаряда
  }

  return 0;
}


Суть такая : на ноги PORTA повешены ключи, включающие катушки при 1 на выводе порта. (младший разряд - первая катушка)
На PORTB.0 - кнопка спуска (когда она нажата - на нём 1).
На PORTB.1 - датчики (от них идёт 1 всегда и 0 при пересечении).

Нижний предел скорости (в м/с) регулируется как :
V=n*k*10
На PORTB.7-PORTB.4 подаётся число (от 0 до 15) соответствующее n
На PORTB.3, PORTB.2 - коофицент k (от 0 до 3)

На PORTC.0 - выпуск снаряда (произойдёт при 1 в порту)

Как только полученная за 1 оборот скорость превысила заданную будет открыт канал для выхода снаряда из ускорителя.

Планирую юзать программатор PonyProg (да, о том что rs232 портов уже мало я в курсе :-) ). При этом программатор и контроллер вынес на 1 плату (хоть убей, не нашёл контроллера в dip корпусе). К основной части подключается разъёмом на 20 пинов (пока не установил на плату - надо будет его ещё надыбать). Зато в дальнейшем если быстродействия не хватит, можно будет не разбирать всё, а сменить "мать" :-)
Просмотров: 1912 | Добавил: alexKniaz | Рейтинг: 0.0/0
Всего комментариев: 4
4 Janna8442  
0
Приветствую. Представьте, я уже 2 года открываю сайты оперой, но лишь позавчера узнала о том, что для нее можно установить расширения!!!!У меня естьhttp://www.opera-all.com/ - _отличное предложение, а именно: давайте начнем делится ими!

P.S. Я запостила в раздел this - туда? Если нет, переместите!

3 irreresenty  
0
Наши предприятия работают на privetstvovat dannom ресурсов. Наша компания длинную веревку zanimaetsâ prodažej копии кроссовок Nike Air Max, New Balance и других.

Гарантией нашей безупречной работы является большое количество людей, которые совершили покупки в нашей группе вконтакте.
В настоящее время хитом продаж являются http://john-shop.ru/ - где можно купить кроссовки, и их можно купить на портале http://john-shop.ru/.

2 alexKniaz  
0
Продолжение в связи с общей запущенностью учебы и фиговостью сложившейся потом ситуации отложилось аж до сегодня + 3-7 дней :-)

1 alexKniaz  
0
Продолжение откладывается где-то до 5 июня angry
Я внезапно осознал приближение зачётов biggrin

Имя *:
Email:
Код *:
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Календарь
«  Май 2012  »
Пн Вт Ср Чт Пт Сб Вс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Мой основной блог
  • gauss2k
  • railgun
  • ... | Сделать бесплатный сайт с uCoz