Så liten CPU som möjligt med analog ingång för pot?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Henry
Inlägg: 24632
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Henry »

Är ute efter en så liten processor som möjligt där det räcker att den bara har en analog ingång som med lämplig programvara (om det nu finns till just den cpu:n vls) mha en pot kan generera samma pwm värden som behövs för att kunna styra ett vanligt servo.

Har bara för mig jag sett cpu i små 6 bens sot kapslar men vet inte vilka typer eller om de ens har någon analog ingång.


Det hela handlar om att jag har två heli gyro på väg som måste kopplas till vardera extra kanal för att de skall fungera som de skall enligt uppgift där de extra kanalerna används för att kunna styra förstärkningen.

Kommer dock inte att ha så stort behov av det tror jag alternativt bara ställas en gång då det inte skall vara till en heli men jag har inte så många kanaler lediga så jag hade mer än gärna velat hoppa över att behöva ta upp två kanaler i onödan. Då var tanken att ta en lämplig cpu och be för att det fanns ett program till just den som gjorde detta, slänga på en mini pot och så var det klart.

Vet att jag för en tid sedan sett någon minimalistisk 6 eller 5-pins cpu i någon SOT kapsel eller dylikt men vet inte om dessa har någon analog ingång och dylikt eller ens vad de heter.

Möjligtvis någon som kanske har koll på detta?

Finns ju ATTiny som väl gått men tycker inte om de bulkiga 8 bens kapslarna som är de som det finns massor av, men om någon suttit på en i MLF, QFN eller TSSOP pack så hade det gått bra. :)
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Så liten cpu som möjligt med analog ingång för pot?

Inlägg av Johanb »

Jag ber om ursäkt för att jag inte svarar på frågan men är du säker på att gain måste ställas via en "kanal", räcker det inte med att vrida på en pot på gyrot?
Användarvisningsbild
Henry
Inlägg: 24632
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Så liten cpu som möjligt med analog ingång för pot?

Inlägg av Henry »

Det var jag också helt säker på men enligt några på rcgroups så måste den vara kopplad annars uppförde sig servot märkligt eller inte alls och bara blinkade.

Normal på gyron skall man ju antingen kunna ställa gain med sändaren eller direkt på gyrot men inte på detta visst men det är också det billigaste som går att få tag på..
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46976
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av TomasL »

Microchip har en del, i 6-pinnars SOT23, 10F220, 4 IO, 2 AD. http://ww1.microchip.com/downloads/en/D ... 41270E.pdf
De har fler om man vill leta.
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Icecap »

PIC finns i SOT 23-6.

Och lite korrektion: RC-styrpulserna är inte PWM! Med PWM avses ett förhållande mellan tiden för hög och tiden för låg medan RC-styrpulserna är absoluta för hög-tiden och helt oberoende av låg-tiden.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av blueint »

Finns väl en minsta och maxtid för lågtiden dessutom?
Användarvisningsbild
Icecap
Inlägg: 26650
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Icecap »

blueint: rent faktisk inte! Kortaste tiden för låga delen finns enbart för att styrningen i en hel del RC-servos är byggt som de är och längsta delen beror på samma sak Men smäller man in en digital servo räcker det med en enda puls för att ställa ny position - om servon är programmerat för det.

Det skiljer mellan 'krav' och 'rekommendationer'.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av snigelen »

ATTiny4/5/9/10 finns i SOT23-6 och UDFN. 5 och 10 har AD-omvandlare (8 bitars).

Jag kan skicka en eller ett par tiny10 i SOT23 om du vill prova.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av sodjan »

http://www.microchip.com/pic10f320
ADC, PWM, CWG, USART o.s.v i bl.a SOT-23 och DFN.
Användarvisningsbild
Henry
Inlägg: 24632
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Henry »

Icecap skrev:Och lite korrektion: RC-styrpulserna är inte PWM! Med PWM avses ett förhållande mellan tiden för hög och tiden för låg medan RC-styrpulserna är absoluta för hög-tiden och helt oberoende av låg-tiden.
Jo jag vet, om man nu skall vara lite petig, men tyckte inte det fanns någon direkt anledning att behöva skriva till det i frågeställningen så därför enbart "PWM".


Visst ja PIC hade jag glömt bort totalt och det var ju dessa som jag kom ihåg för en del år sedan som var så extremt små. Men när ni nu också nämner små i AVR familjen så förstod jag inte att jag inte hittade några mindre när jag sökte på attiny och servo tester och liknande för då fick jag bara upp för större som ATTiny45 som minst fanns i QFN vad det verkade i databladet jag tittade i i alla fall, men hittade inget om minikapslar och ”servo tester”.

Visade sig nu också att mjukvaran jag först tänkte använda var den som fanns i Arduino IDE men den var på hela 8KB kompilerad och inte för ATTiny utan bara till Arduino kort med större cpuer, så det sket sig. Har noll koll på programmering men tycker inte det borde ta så mycket utrymme för en kod att bara styra ett servo med en pot?

Får leta vidare efter lämplig programvara innan jag kan säga vilken storlek jag eftersöker.

De jag sett hittills har ingen varit helt komplett att bara kompilera rakt av i Arduino IDE, som jag använde, utan det har alltid varit något som inte varit definierat, om det ens fungerat alls, och vet inte vad som är att göra och kan inte använd det. Känns som jag gått igenom sidor till förbannelse för det måste fungera rakt av om jag skall kunna använda det och det var visst bra svårare att hitta än jag trodde men det mesta som fungerar verkar vara skrivet till större processorer och inte små som tex ATTIny. Man är förstås inte heller så överdrivet pigg på att lägga ner tid bara för att lära sig hur programmering fungerar i detalj enbart för att kunna rätta till några få grejer när jag bara skall använda det en enda gång och sedan aldrig mer så det är bara till att leta vidare.


Angående utrymme sedan så visade sig dock också efter att jag såg insidan på ett sådant här gyro på nätet att mini kapsel inte var absolut nödvändigt då det var lite mer plats än jag trodde så en SOIC tex hade nog gått bra det med.

Kan förstås limma fast det hela på ovansidan men vill undvika att det finns en risk för att allt rivs av om det hela går i backen så jag vill helst bygga in det i gyrot om nu kanske någon undrar över den delen.


snigelen: Tack för erbjudandet! Jag får dock tyvärr vänta och se vilken programvara jag hittar först och har inte hittat någon än till ATTiny10.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av snigelen »

Ska du bara generera en servo-signal från en pot borde det väl gå med något som detta

Kod: Markera allt

/*
  Read ADC2 (PB2) and output servo signal on PB0 and PB1.
  ATtiny5 or 10 at default 1MHz.
 */

#include <avr/io.h>

int main(void)
{
    // ADC channel 2
    ADMUX = 2;
    // Disable digital input on PB2
    DIDR0 = (1<<ADC2D);
    // Enable ADC, presc 1:8 for 125kHz ADC-clock
    ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);

    // PB0 and 1 output.
    DDRB = 3;

    // Timer0 50Hz PWM, 1us tick, mode 14 with ICR0 as TOP.
    ICR0 = 19999; // 1MHz / 50Hz - 1
    // Start with 1.5 ms pulse-width
    OCR0A = OCR0B = 1500;

    // OC0A and OC0B non inverting PWM, mode bit 1
    TCCR0A = (1<<COM0A1) | (1<<COM0B1) | (1<<WGM01);
    // mode bits 2 and 3, presc 1:1
    TCCR0B = (1<<WGM03) | (1<<WGM02) | (1<<CS00);
    
    while(1)
    {
        // Start a conversion
        ADCSRA |= (1<<ADSC);
        // ADEN will be high as long as the conversion is in progress
        // It will automatically go low when finished
        while (ADCSRA & (1<<ADSC))
            ; // Nothing

        // Set PWM to 990 to 2010 us from ADC.
        OCR0A = ADCL * 4 + 990;
        // OCR0B "inverted" servo signal
        OCR0B = 2010 + 990 - OCR0A;
    }
}
Jag har inte testat det, men kan göra det om en stund.
Edit: Lade till 990 på sista raden. Funkar på en tiny10.
Användarvisningsbild
Henry
Inlägg: 24632
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Henry »

..borde det väl gå med något som detta

Ser väl ok ut men jag har i alla fall inte den blekaste aning kan jag säga för det där är rena grekiskan för mig. :)

Var hittade du det någonstans?


Edit: Lade till 990 på sista raden. Funkar på en tiny10.

Skitbra! :)


Slängde in det in i Aurdino IDE 1.0.5 för att kompilera det men där klagar det på detta:


#include <avr/io.h> är markerat som start

sketch_jun06a:6: error: stray '#' in program
sketch_jun06a.ino:8:1: error: invalid suffix "int" on floating constant
sketch_jun06a:1: error: expected unqualified-id before numeric constant


Vilken kompilator använde du?
Senast redigerad av Henry 6 juni 2013, 16:39:48, redigerad totalt 1 gång.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av sodjan »

Det där är nog inte Arduino kod...
Användarvisningsbild
Henry
Inlägg: 24632
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av Henry »

Det är ju förstås inte alls omöjligt, dock rätt likt mot vad jag sett innan till arduino fast vad fasen vet jag. :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Så liten CPU som möjligt med analog ingång för pot?

Inlägg av sodjan »

Arduino kod har normalt ingen main()...
Skriv svar