Odeslat nové téma Odpovědět na téma  [ Příspěvků: 50 ]  Přejít na stránku 1, 2, 3, 4  Další
Autor Zpráva
 Předmět příspěvku: ATtiny10 servo tester
PříspěvekNapsal: sob 12.12.2015 20:16 
Platící zákazník RCManie
Platící zákazník RCManie

Registrován: 5.7.2014
Příspěvky: 111
Jen tak sem si vyrobil servo tester na ATiny10. Co podle vás by takový servo tester měl umět ? Chtěl bych tam ještě něco přidat.Taková malá ukázka toho co umí.


Návod jak vložit video do příspěvku na RCMANIA.cz


Nahoru
 Profil  
 
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: ned 13.12.2015 8:00 
Protřelejší uživatel
Protřelejší uživatel

Registrován: 14.11.2013
Příspěvky: 141
Bydliště: Trenčianske Teplice
Dobra je aj funkcia "citlivosti" serva v mikrosekundach. Servo sa necha otocit o nastavitelny pocet mikrosekund. Citlivost je hranica, ked sa servo uz prestane hybat. Daju sa tak porovnavat rozne serva a vlastne merat ich kvalita.

_________________
Graupner mx-20, pohony elektro, pohodové lietanie


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: ned 13.12.2015 10:33 
Moderátor serveru
Moderátor serveru
Uživatelský avatar

Registrován: 28.2.2005
Příspěvky: 20822
Bydliště: Rakovník, CZ
Obrázky: 0
Dal bych tam pomalý přejezd serva z kraje do kraje za cca 2-3sec. Pak je pěkně vidět jak se servo s tím popasuje - třeba skoro libovolné "modrásky" kolem 5-9g (a cenou pod 5USD) se chovají spíš jako krokový motor.

_________________
jyrry.webnode.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 7:50 
Protřelejší uživatel
Protřelejší uživatel

Registrován: 14.11.2013
Příspěvky: 141
Bydliště: Trenčianske Teplice
Celkom dobrá funkcia je aj meranie prúdu do serva. Ale to už asi je iná kategória, u nejakého servotestera som to ale videl.

_________________
Graupner mx-20, pohony elektro, pohodové lietanie


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 8:37 
Mecenáš serveru
Mecenáš serveru
Uživatelský avatar

Registrován: 8.7.2011
Příspěvky: 6960
Bydliště: Písek, ČR
Připojit nějaký jednoduchý displej, aby to zobrazovalo ms.

Jako nápad mi to přijde pěkné, vzhledem k tomu že mi zřejmě zrovna odešel JetiBox, tak bych si asi něco podobného udělal.
Budeš zveřejňovat schéma, zdroják atd... ?

_________________
FrSky Horus, letadla, heli+koptéry.
http://rc.ludl.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 9:33 
Mazák
Mazák
Uživatelský avatar

Registrován: 28.4.2011
Příspěvky: 6500
Bydliště: ČR
Obrázky: 0
Woita píše:
Připojit nějaký jednoduchý displej, aby to zobrazovalo ms.

Jako nápad mi to přijde pěkné, vzhledem k tomu že mi zřejmě zrovna odešel JetiBox, tak bych si asi něco podobného udělal.


JetiBox je výborný, ale chyběl mi potenciometr, tak jsem zrovna o víkendu zbastlil takovou pomůcku pro testování různých blikaček a rc spínačů z arduina. Objednal jsem nano za necelé dva dolary a to se vyplatí :wink: . K tomu starý displej a pár součástek a je to. Výhodou je, že i na hotovém servotesteru budu moci přidávat různé funkce (pokud se mi do toho bude chtít).


Přílohy:
servotester.jpg
servotester.jpg
[ 111.17 KiB | Zobrazeno 3806 krát ]


_________________
Člověk je tak složitá bytost, že o tom lidstvo nemá ponětí.
Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 9:38 
Mecenáš serveru
Mecenáš serveru
Uživatelský avatar

Registrován: 8.7.2011
Příspěvky: 6960
Bydliště: Písek, ČR
Švejku to máš pěkný. 8O
Až to budeš mít vychytaný, uveřejníš?

_________________
FrSky Horus, letadla, heli+koptéry.
http://rc.ludl.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 10:12 
Mazák
Mazák
Uživatelský avatar

Registrován: 28.4.2011
Příspěvky: 6500
Bydliště: ČR
Obrázky: 0
Woita píše:
Švejku to máš pěkný. 8O
Až to budeš mít vychytaný, uveřejníš?


To určitě ne, za to to nestojí. Zapojení je triviální a program asi málo univerzální. Uvádím to jako inspiraci.

_________________
Člověk je tak složitá bytost, že o tom lidstvo nemá ponětí.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 14.12.2015 12:28 
Moderátor serveru
Moderátor serveru
Uživatelský avatar

Registrován: 28.2.2005
Příspěvky: 20822
Bydliště: Rakovník, CZ
Obrázky: 0
JosefSvejk píše:
... i na hotovém servotesteru budu moci přidávat různé funkce (pokud se mi do toho bude chtít).

Mám něco podobného; ve verzi k malým pilkám , ve verzi pro upoutané elektro a pro volné elektro, pár kusů funguje i v raketové technice :mrgreen:

_________________
jyrry.webnode.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: stř 16.12.2015 16:37 
Platící zákazník RCManie
Platící zákazník RCManie

Registrován: 5.7.2014
Příspěvky: 111
Schema to se ani jinak nedá jak upravím zdroják tak to sem hodím


Přílohy:
servo tester.png
servo tester.png
[ 63.64 KiB | Zobrazeno 3667 krát ]

Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: stř 16.12.2015 19:50 
Mecenáš serveru
Mecenáš serveru
Uživatelský avatar

Registrován: 8.7.2011
Příspěvky: 6960
Bydliště: Písek, ČR
Díky Kubo,
jestli nerozběhnu ten můj pokažený JetiBox, tak bych si ten tvůj zbastlil.

_________________
FrSky Horus, letadla, heli+koptéry.
http://rc.ludl.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 28.12.2015 18:08 
Platící zákazník RCManie
Platící zákazník RCManie

Registrován: 5.7.2014
Příspěvky: 111
Moc sem tomu nedal , ale budu dělat něco na Atmegu8 nebo jinou megu.
Kód:
/*
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define KEY1 (1<<PB2)

uint8_t key_lock;

uint8_t ReadADC(uint8_t channel);

uint8_t time = 20;
uint8_t sw_on = 0;

volatile uint16_t Timer2, Timer3;   // software timers

int main(void){

   CCP = 0xD8;
   CLKPSR = 0x00;  //preskaler = 1

   DDRB |= (1<<PB0);
   DDRB |= (1<<PB3);
   //PORTB |= (1<<PB1);
   PORTB |= KEY1;  //  VCC

   // inicjalizace ADC
   ADCSRA |= (1<<ADEN); // ON ADC
   ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // preskaler = 128

   //TIMSK0 |= (1<<ICIE0);
   TIMSK0 |= (1<<TOIE0);

   TCCR0A |= (1<<WGM01);                             // Fast PWM
   TCCR0B |= (1<<WGM02) | (1<<WGM03);               // Fast PWM
   TCCR0B |= (1<<CS01);                            // Prescaler 8
   TCCR0A |= (1<<COM0A1);// | (1<<COM0A0);        // Clear OC0A
   ICR0 = 9999;
   OCR0A = 1500;

   uint8_t menu = 0;

   sei();

   while(1){

        if( !key_lock && !(PINB & KEY1 ) ) key_lock=1;
        else if( key_lock && (PINB & KEY1 ) ) {
         if( !++key_lock ) {

          // reakce na PUSH_UP
            menu++;
         }
        }

        if(menu >= 4) menu = 0;

        switch(menu){
        case 0:
           time = 10;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 600;
              else OCR0A = 2000;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;
        case 1:
           time = 20;

           if( !Timer3 ){
              OCR0A = 600 + 6 * ReadADC(0x0);
              Timer3 = 10;
           }
                break;
        case 2:
           time = 30;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 1300;
              else OCR0A = 2000;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;
        case 3:
           time = 40;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 1300;
              else OCR0A = 600;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;

        }

      // led blink
      if( !Timer2 ) {
         PORTB ^= (1<<PB3);
         Timer2 = time;
      }

   }
}

//------------- soft timers -----------------------
ISR(TIM0_OVF_vect){

   uint16_t n;

   n = Timer2;
   if (n) Timer2 = --n;
   n = Timer3;
   if (n) Timer3 = --n;
}

uint8_t ReadADC(uint8_t channel) {
   ADMUX = channel;
   ADCSRA |= (1<<ADSC);
   while( ADCSRA & (1<<ADSC) );
   return ADCL;
}



Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 28.12.2015 18:08 
Platící zákazník RCManie
Platící zákazník RCManie

Registrován: 5.7.2014
Příspěvky: 111
Moc sem tomu nedal , ale budu dělat něco na Atmegu8 nebo jinou megu.
Kód:
/*
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define KEY1 (1<<PB2)

uint8_t key_lock;

uint8_t ReadADC(uint8_t channel);

uint8_t time = 20;
uint8_t sw_on = 0;

volatile uint16_t Timer2, Timer3;   // software timers

int main(void){

   CCP = 0xD8;
   CLKPSR = 0x00;  //preskaler = 1

   DDRB |= (1<<PB0);
   DDRB |= (1<<PB3);
   //PORTB |= (1<<PB1);
   PORTB |= KEY1;  //  VCC

   // inicjalizace ADC
   ADCSRA |= (1<<ADEN); // ON ADC
   ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // preskaler = 128

   //TIMSK0 |= (1<<ICIE0);
   TIMSK0 |= (1<<TOIE0);

   TCCR0A |= (1<<WGM01);                             // Fast PWM
   TCCR0B |= (1<<WGM02) | (1<<WGM03);               // Fast PWM
   TCCR0B |= (1<<CS01);                            // Prescaler 8
   TCCR0A |= (1<<COM0A1);// | (1<<COM0A0);        // Clear OC0A
   ICR0 = 9999;
   OCR0A = 1500;

   uint8_t menu = 0;

   sei();

   while(1){

        if( !key_lock && !(PINB & KEY1 ) ) key_lock=1;
        else if( key_lock && (PINB & KEY1 ) ) {
         if( !++key_lock ) {

          // reakce na PUSH_UP
            menu++;
         }
        }

        if(menu >= 4) menu = 0;

        switch(menu){
        case 0:
           time = 10;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 600;
              else OCR0A = 2000;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;
        case 1:
           time = 20;

           if( !Timer3 ){
              OCR0A = 600 + 6 * ReadADC(0x0);
              Timer3 = 10;
           }
                break;
        case 2:
           time = 30;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 1300;
              else OCR0A = 2000;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;
        case 3:
           time = 40;

           if( !Timer3 ) {
              if (sw_on) OCR0A = 1300;
              else OCR0A = 600;
              Timer3 = 100;
              sw_on ^= 1;
           }
                break;

        }

      // led blink
      if( !Timer2 ) {
         PORTB ^= (1<<PB3);
         Timer2 = time;
      }

   }
}

//------------- soft timers -----------------------
ISR(TIM0_OVF_vect){

   uint16_t n;

   n = Timer2;
   if (n) Timer2 = --n;
   n = Timer3;
   if (n) Timer3 = --n;
}

uint8_t ReadADC(uint8_t channel) {
   ADMUX = channel;
   ADCSRA |= (1<<ADSC);
   while( ADCSRA & (1<<ADSC) );
   return ADCL;
}



Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 28.12.2015 18:22 
Moderátor serveru
Moderátor serveru
Uživatelský avatar

Registrován: 28.8.2005
Příspěvky: 2351
Bydliště: Dvůr Králové n.L.
kuba12 píše:
Schema to se ani jinak nedá jak upravím zdroják tak to sem hodím

AD vstup z poťáku bych blokl kondíkem proti zemi a na výstup bych zařadil odpor jako ochranu výstupu proti přetížení v případě zkratu apod.

_________________
Raptor E700 (MSH Brain)
MiniProtos (miniVbar 5.2)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ATtiny10 servo tester
PříspěvekNapsal: pon 28.12.2015 23:40 
Platící zákazník RCManie
Platící zákazník RCManie

Registrován: 5.7.2014
Příspěvky: 111
Jo odpor ale kondik bych tam nedával akorát to bude brzdit a blokovací tam mam


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 50 ]  Přejít na stránku 1, 2, 3, 4  Další

 


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 12 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  

 

  Powered by phpBB® Forum Software © phpBB Group  Český překlad – phpBB.cz 

 

NAVRCHOLU.cz