Strona 2 z 2

Re: BuTank a dlaczego nie.

: poniedziałek 16 maja 2016, 19:12
autor: DzikuVx
Burakko pisze:channel_length[] - to zmienna wyjściowa z czasem ? dobrze rozumiem ?
Tak. W tym przykładzie są czytane 3 kanały i długość każdego zapisywana do tej tablicy. działa to zupełnie niezależnie od pętli loop, nie blokuje innych rzeczy. Po prostu działa samo w tle, a jak potrzebujesz odczytać, to odczytujesz z tablicy

Re: BuTank a dlaczego nie.

: poniedziałek 16 maja 2016, 20:17
autor: Burakko
wyszło tak i działa. Drgania są ale śladowe. Teraz pomyśle nad tą akceleracją bo de-akceleracji mi nie trzeba

Kod: Zaznacz cały

#include <PinChangeInterrupt.h>
#include <Servo.h> 
const byte channel_pin[] = {3, 4, 5};
volatile unsigned long rising_start[] = {0, 0, 0};
volatile long channel_length[] = {0, 0, 0};

Servo servo1; 
Servo servo2; 
int gain1 = 2;
int gain2 = 2;
int s1= 0;
int s2= 0;
int s11= 0;
int s12= 0;

void setup() {
  Serial.begin(57600);
  servo1.attach(9); // Servo 1 - pin 9
  servo2.attach(10); // Servo 2 - pin 10
  pinMode(channel_pin[0], INPUT);
  pinMode(channel_pin[1], INPUT);
  
  attachPinChangeInterrupt(digitalPinToPinChangeInterrupt(channel_pin[0]), onRising0, CHANGE);
  attachPinChangeInterrupt(digitalPinToPinChangeInterrupt(channel_pin[1]), onRising1, CHANGE);
}

void processPin(byte pin) {
  uint8_t trigger = getPinChangeInterruptTrigger(digitalPinToPCINT(channel_pin[pin]));

  if(trigger == RISING) {
    rising_start[pin] = micros();
  } else if(trigger == FALLING) {
    channel_length[pin] = micros() - rising_start[pin];
  }
}
void onRising0(void) {
  processPin(0);
}
void onRising1(void) {
  processPin(1);
}

void loop() {

s11 = (channel_length[1]+channel_length[0])/gain1;
s12 = (channel_length[1]-channel_length[0])/gain2;

 if (s11 > 1500)  // Doregulowanie strony silnikow
{
  s11 = (s11*1.1);  // Mnoznik
}
 if (s12 < 1500)   // Dregulowanie strony silnikow
{
  s12 = (s12*0.9);  // Mnoznik
}
servo1.writeMicroseconds(s11);
servo2.writeMicroseconds(s12);

  Serial.print(s11);
  Serial.print(" | ");
  Serial.print(s12);
  Serial.print(" | ");
  Serial.print(channel_length[0]);
  Serial.print(" | ");
  Serial.println(channel_length[1]);
}

Re: BuTank a dlaczego nie.

: poniedziałek 16 maja 2016, 21:56
autor: Szymon
Kolego Burakko, zaciekawił mnie twój projekt. Podpowiedz proszę, co to są kółka (jaki wymiar/od czego/ jak montujesz do osi) i czym wysterowujesz silniki? Jakiś uniwersalny sterownik silnika DC czy jakiś typowy regulator szczotkowy?

Re: BuTank a dlaczego nie.

: wtorek 17 maja 2016, 05:08
autor: Burakko
Koła 260mm szerokość 80mm osadzenie osi 16mm. Os na końcu ma gwint M10. A że nie mam wolnego biegu na silniku wykonałem płaskownik z 3 otworami 2 łapią za śruby na feldze a w środku dokręcam oś. Silniki regulowane typowym szczotkowym regulatorem do samochodu 16V 320A - czekam własnie na jego dostawę.

http://allegro.pl/kolo-do-wozka-taczki- ... 00093.html

http://www.amazon.com/Tera-7-2V-16V-Bru ... B015DNYQA8 - ja kupiłem z ebaya za 11$

Re: BuTank a dlaczego nie.

: środa 18 maja 2016, 16:24
autor: flaymen
Fajny projekt ;-)
Mógłbyś zrobić zdjęcia mocowania o którym wspominasz
Koła 260mm szerokość 80mm osadzenie osi 16mm. Os na końcu ma gwint M10. A że nie mam wolnego biegu na silniku wykonałem płaskownik z 3 otworami 2 łapią za śruby na feldze a w środku dokręcam oś.
I jeszcze kilka słów o samym sterowaniu.
Jak rozumiem regulator który podlinkowałeś służy do sterowania 2 silnikami - do kolejnych dwóch taki sam regulator?
Jak tym sterujesz?

Zastanawiałem się nad budową podobnej platformy - wyposażonej w APM i jego peryferia - tylko czy da się to wysterować?

Re: BuTank a dlaczego nie.

: środa 18 maja 2016, 17:05
autor: Burakko
flaymen pisze:Fajny projekt ;-)
Mógłbyś zrobić zdjęcia mocowania o którym wspominasz
Obrazek Obrazek
I jeszcze kilka słów o samym sterowaniu. Jak rozumiem regulator który podlinkowałeś służy do sterowania 2 silnikami - do kolejnych dwóch taki sam regulator?
dokładnie tak
Jak tym sterujesz?
Normalny link RC ale ja zrobiłem sobie za pomocą wifi z telefonu.
Zastanawiałem się nad budową podobnej platformy - wyposażonej w APM i jego peryferia - tylko czy da się to wysterować?
Wszystko się da tylko czasem chęci brak. Sam zastanawiam się jak by do niego GPSa podłączyć i programować punkty. Oczywiście najtańszym sposobem :D

Re: BuTank a dlaczego nie.

: środa 18 maja 2016, 20:48
autor: Szymon
To ja jeszcze dopytam, czy oś tych silniczków/przekładni wycieraczek ma taką samą średnicę jak otwór w kole taczki, czy trzeba coś przerabiać/sztukować?

Re: BuTank a dlaczego nie.

: środa 18 maja 2016, 21:35
autor: Burakko
to silniki wycieraczki ma wyjście z gwintem M10. Dorobiłem tulejki na fi16 i zrobiłem gwinty

Re: BuTank a dlaczego nie.

: środa 18 maja 2016, 23:54
autor: miś
Burakko pisze:to silniki wycieraczki ma wyjście z gwintem M10. Dorobiłem tulejki na fi16 i zrobiłem gwinty
A nie będzie Ci się odkręcać ten gwint ? Ja bym się bał że przy obciążeniu to się odkręci, i zastosował dodatkową śrubkę blokującą wkręcaną z boku (i lekki nawiert w osi silnika).

Re: BuTank a dlaczego nie.

: czwartek 19 maja 2016, 07:06
autor: Burakko
Będzie zawleczka i cyjanoakryl dla pewności.

Re: BuTank a dlaczego nie.

: wtorek 07 cze 2016, 19:15
autor: Burakko
No i piwko do rąk własnych. :-)


Re: BuTank a dlaczego nie.

: wtorek 07 cze 2016, 19:17
autor: Adrián
Hehe :-D Wreszcie widać, do czego był ten projekt.
Burakko pisze:Wymiary 410x310 by pasowała skrzynka piwa. Łazik piwny na wakacje nad jeziorem.
Widzisz, przeoczyłem to na samym początku.. ;-)

Re: BuTank a dlaczego nie.

: wtorek 07 cze 2016, 23:36
autor: Burakko
Bo trzeba od samego początku nadać sobie konkretny cel. Przecież nikt z nas nie chce nosić skrzynki piwa tylko ją pić.

Re: BuTank a dlaczego nie.

: środa 08 cze 2016, 06:43
autor: mDario
Burakko pisze:Przecież nikt z nas nie chce nosić skrzynki piwa tylko ją pić.

Ja tam wole zawartość :roll:

:mrgreen:

Teraz nie zostało nic innego jak garaż chłodnia do kompletu :-)