- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: Asuro: Taster -> Wert für PollSwitch() Funktion & Bibliothek neu übersetzen

  1. #1

    Asuro: Taster -> Wert für PollSwitch() Funktion & Bibliothek neu übersetzen

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    ich stoße als Asuro-Neuling in euer Forum und habe eine Frage:

    Der Aufbau ist vollendet, allerdings funktionieren die Taster beim Selbsttest nicht.

    Um das zu beheben, habe ich aus dem Asuro-Wiki "Tast Sensor Test C " (erste Spalte), "Tasten Kalibrierung C" (2. Spalte) durchgeführt und die Widerstände gemessen (3. Spalte. Mit eingebauten ICs, da er zu fest drin saß). In Klammer noch die Idealwerte:

    K1: 30-----(32)-----64, 65-----------------1,99k (2k)
    K2: 15-----(16)-----64, 65, 66, 67----------3,97k (4k)
    K3: 7------(8)-----------------67-74------8,08k (8k)
    K4: 3-------(4)-----------------67-74 -----15,7k (16k)
    K5: 1 ------(2)------nichts-----------------32,0k (32k)
    K6: nichts--(1)------nichts------------------63,5k (68k)

    Wenn ich K5 und K6 zusammen drücken, ergibt sich der Wert 2. Ich schätze die Tests sprechen dafür, dass ich die Software anpassen muss und die Hardware okay ist.

    Laut dem Wiki wäre der nächste Schritt die PollSwitch() Funktion in der Datei myasuro.h zu ändern.

    Laut der Auswertung gibt es keinen passenden Wert für die PollSwitch() Funktion?
    Und wie übersetze ich die Bibliothek neu?

    Grüße, Tobias
    Geändert von tobitronik (06.11.2011 um 18:34 Uhr)

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    31.03.2011
    Beiträge
    89
    hatte auch taster probleme. den passenden Wert für die Funktion ergab sich durch ausprobieren. Stand auch überall in den Foren so geschrieben - wollt es nur nicht glauben. Im Endeffekt dann doch einfach ein paar Werte durchprobiert bis es gepasst hat.

  3. #3
    Danke für die Antwort! Kannst du mir erklären, wie ich die Funktion ändere und auf den Asuro überspiele? Ich kenne mich da wenig aus. Funktioniert das auch mit dem Programmers Notepad und einer Make Datei?

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Den Wert kann man in der Datei asuro.c am Ende der Funktion PollSwitch() finden:

    Code:
    /* function to read out switches */
    unsigned char PollSwitch (void)
    {
    	unsigned int i;
    	int ec_bak=autoencode;
    	autoencode=FALSE;
    	DDRD |= SWITCHES;				// Switches as Output
    	SWITCH_ON;						// Output HIGH for measurement
    	ADMUX = (1 << REFS0) | SWITCH;	// AVCC reference with external capacitor
    	Sleep(10);
    
    	ADCSRA |= (1 << ADSC);			// Start conversion
    	while (!(ADCSRA & (1 << ADIF)));// wait for conversion complete
    	ADCSRA |= (1 << ADIF);			// clear ADCIF
    	i = ADCL + (ADCH << 8);
    
    	SWITCH_OFF;
    	Sleep(5);
    	autoencode=ec_bak;
    	//return  ((unsigned char) ((( 1024.0/(float)i - 1.0)) * 61.0 + 0.5));
    	//return ((10240000L/(long)i-10000L)*61L+5000L)/10000;
    	return ((10240000L/(long)i-10000L)*63L+5000L)/10000;
    }
    (Aus asuro.c v2.3)

    Nach dem Ändern die Datei speichern und das Projekt kompilieren (Make all)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    31.03.2011
    Beiträge
    89
    so ist es. Wenn die Funktion einmal angepasst ist brauchst Du Dich darum nie wieder kümmern, da Dein Compiler ja immer die Funktionen aus "Asoro.c" abruft und dort dann der richtige Wert steht. Ein "überspielen" auf den Asuro bemerkst Du praktisch also nicht. Das geht dann alles von "selbst".

  6. #6
    yipppiii =) Jetzt funktionieren auch die Taster beim Selbsttest.
    Danke für die Hilfe!

    Falls jemand das selbe Problem hat wie ich: die PollSwitch Funktion lässt sich abändern wie oben beschrieben. Wenn man die vorgefertigten Programme der lib v2.71 benutzt, ändert man die Variable in der myasuro.h Datei und führt danach im lib Ordner die make-lib Datei im Notepad mit Tools aus.

    Zusätzlich musste ich noch R30 ersetzen. Der hatte nur 63,5k anstatt 68k (oben in der Tabelle hatte ich zuerst fälschlicherweise 64k als Ideal wert stehen. Das ist zu wenig...)

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von tobitronik Beitrag anzeigen
    ...

    Zusätzlich musste ich noch R30 ersetzen. Der hatte nur 63,5k anstatt 68k (oben in der Tabelle hatte ich zuerst fälschlicherweise 64k als Ideal wert stehen. Das ist zu wenig...)
    Naja, 63,5K ist nicht laut das Schaltplan. Aber doch sicher genauer an den 6e Macht von 2 (64), als den 68k Widerstand. Ich wurde das so behalten! Und nur die wert im asuro.c Datei ändern zu was immer auch funktioniert für ALLE Tastern.
    Geändert von Valen (07.11.2011 um 18:30 Uhr)

Ähnliche Themen

  1. Taster gibt falschen Wert
    Von HAWK-Matze im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 29.12.2007, 12:48
  2. Probleme mit der PollSwitch-Funktion
    Von smith im Forum Asuro
    Antworten: 11
    Letzter Beitrag: 12.11.2006, 00:09
  3. Eagle Taster-Bibliothek gesucht.
    Von darxon69 im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 9
    Letzter Beitrag: 03.09.2006, 18:29
  4. Antworten: 2
    Letzter Beitrag: 02.09.2006, 21:28
  5. Wert an Funktion für RS232
    Von TB1 im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 08.08.2006, 15:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen