Autor
Zpráva
kuba12
Napsal: sob 12.12.2015 20:16
Protřelejší uživatel
Registrován: 5.7.2014Příspěvky: 114
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í.
VIDEO Návod jak vložit video do příspěvku na RCMANIA.cz
_________________ http://www.carboneum.cz/
Nahoru
slowake
Napsal: ned 13.12.2015 8:00
Protřelejší uživatel
Registrován: 14.11.2013Příspěvky: 117Bydliš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
jyrry
Napsal: ned 13.12.2015 10:33
Moderátor serveru
Registrován: 28.2.2005Příspěvky: 18133Bydliště: Rakovník, CZObrá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.
_________________ Aby mne mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz
Nahoru
slowake
Napsal: pon 14.12.2015 7:50
Protřelejší uživatel
Registrován: 14.11.2013Příspěvky: 117Bydliš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
Woita
Napsal: pon 14.12.2015 8:37
Mecenáš serveru
Registrován: 8.7.2011Příspěvky: 6551Bydliš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
JosefSvejk
Napsal: pon 14.12.2015 9:33
Mazák
Registrován: 28.4.2011Příspěvky: 7262Bydliště: ČRObrá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í
. 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 [ 111.17 KiB | Zobrazeno 2329 krát ]
_________________ Člověk je tak složitá bytost, že o tom lidstvo nemá ponětí.
Nahoru
Woita
Napsal: pon 14.12.2015 9:38
Mecenáš serveru
Registrován: 8.7.2011Příspěvky: 6551Bydliště: Písek, ČR
Švejku to máš pěkný.
Až to budeš mít vychytaný, uveřejníš?
_________________ FrSky Horus, letadla, heli+koptéry. http://rc.ludl.cz
Nahoru
JosefSvejk
Napsal: pon 14.12.2015 10:12
Mazák
Registrován: 28.4.2011Příspěvky: 7262Bydliště: ČRObrázky: 0
Woita píše:
Švejku to máš pěkný.
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
jyrry
Napsal: pon 14.12.2015 12:28
Moderátor serveru
Registrován: 28.2.2005Příspěvky: 18133Bydliště: Rakovník, CZObrá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
_________________ Aby mne mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz
Nahoru
kuba12
Napsal: stř 16.12.2015 16:37
Protřelejší uživatel
Registrován: 5.7.2014Příspěvky: 114
Schema to se ani jinak nedá jak upravím zdroják tak to sem hodím
Přílohy:
servo tester.png [ 63.64 KiB | Zobrazeno 2190 krát ]
_________________ http://www.carboneum.cz/
Nahoru
Woita
Napsal: stř 16.12.2015 19:50
Mecenáš serveru
Registrován: 8.7.2011Příspěvky: 6551Bydliš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
kuba12
Napsal: pon 28.12.2015 18:08
Protřelejší uživatel
Registrován: 5.7.2014Příspěvky: 114
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; }
_________________ http://www.carboneum.cz/
Nahoru
kuba12
Napsal: pon 28.12.2015 18:08
Protřelejší uživatel
Registrován: 5.7.2014Příspěvky: 114
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; }
_________________ http://www.carboneum.cz/
Nahoru
Mad_Box
Napsal: pon 28.12.2015 18:22
Moderátor serveru
Registrován: 28.8.2005Příspěvky: 2396Bydliš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
kuba12
Napsal: pon 28.12.2015 23:40
Protřelejší uživatel
Registrován: 5.7.2014Příspěvky: 114
Jo odpor ale kondik bych tam nedával akorát to bude brzdit a blokovací tam mam
_________________ http://www.carboneum.cz/
Nahoru
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník
Nemůžete zakládat nová témata v tomto fóruNemůžete odpovídat v tomto fóruNemůžete upravovat své příspěvky v tomto fóruNemůžete mazat své příspěvky v tomto fóruNemůžete přikládat soubory v tomto fóru