- 3D-Druck Einstieg und Tipps         
Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte
Ergebnis 61 bis 70 von 72

Thema: Probleme mit 22er-Lochscheiben

  1. #61
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Anzeige

    Powerstation Test
    Hallo

    Ich hoffe, ich verzapfe nicht wieder Unsinn:

    Code:
    DDRC &= ~((1 << PC0) | (1 << PC1));   // Port auf Input=>Back-LEDs gehen aus
    PORTC |= ((1 << PC0) | (1 << PC1));   // PullUps einschalten für PC0 und PC1
    ODOMETRIE_LED_ON;                     // Odometrie-LED's einschalten
    Das Setzen von PD7 ist so in asuro.h eingebaut:

    Code:
    #define ODOMETRIE_LED 	  (1 << PD7)
    #define ODOMETRIE_LED_ON  PORTD |= ODOMETRIE_LED
    #define ODOMETRIE_LED_OFF PORTD &= ~ODOMETRIE_LED
    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  2. #62
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    aha,
    jetzt habe ich was dazugelernt, danke mic



    was ist aber mit Odometrie contra Odometry? Ich habe den oben dargestellten code mit avr-studio mit der neuen lib 2.7 compiliert, keine fehlermeldungen, die daten die ich weiter oben geliefert habe wurden auch damit aufgenommen, es funktioniert also.
    Ist es nun egal, ob englisch, oder deutsch, oder ist da irgendwo ein "=" zeichen eingebaut???
    gruß inka

  3. #63
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo inka, und auch alle anderen.

    Ja, es ist egal wie du die Funktion schreibst.
    Irgendjemand hatte sich mal darüber ausgelassen, das der Original-Name der Funktion 'irgendwie' falsch geschrieben sei. (Hätte von mir sein können, da ich auch immer gerne Erbsen zähle.) m.a.r.v.i.n hat dann in der Asuro-LIB ein #define für den alten Namen angelegt, und die Funktion umbenannt (oder anders herrum). Diesen Define findest du in der asuro.h aus der LIB.

    @radbruch
    Volle Zustimmung (Erbsen lassen grüßen. Ich warte auf reichliche Retourkutschen. Ebsensuppe ist stets was für mich. Lecker, lecker )

    @inka
    Das mit der Funktion OdometryData() kannst du dir aber abschminken, wenn du auf den von radbruch vorgeschlagenen Weg gehen willst. Dann genau soll ja nicht mehr der ADC-Wandler zum Einlesen benutzt werden, sondern nur der der PINx-Status ermittelt werden.
    Wie das nun 'in Summe' zu machen ist? Upps, ich bin noch in der Firma, da kann ich so was nicht.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  4. #64
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    also ich werde wohl zu den gut funktionierenden 8löcher scheiben zurückkehren, evtl. später nochmal die 22er probieren. hier sind noch einmal die gemessenen odo-werte:
    Code:
     475	 850
     881	 853
     883	 834
     889	 802
     890	 745
     889	 672
     891	 572
     886	 419
     892	 259
     888	  68
     892	  35
     885	  33
     867	  29
     761	  29
     544	  25
     242	  33
      37	  23
      28	  27
      28	  22
      24	  22
      31	  25
      20	  22
      21	  25
      19	  22
      20	  31
      22	  21
      19	  23
      23	  21
      19	  22
      30	  26
      20	  24
      23	  27
      21	  25
      22	  34
      27	  27
      27	  31
      33	  32
      39	  38
     263	 125
     556	 355
     776	 548
     871	 697
     887	 781
     886	 821
     891	 828
     885	 830
     887	 833
     880	 829
     883	 832
     880	 828
     879	 831
     882	 828
     878	 831
     884	 832
     880	 834
     884	 839
     869	 837
     805	 843
     628	 842
     319	 848
      39	 845
      32	 850
      26	 844
      27	 815
      22	 767
      31	 681
      21	 563
      23	 398
      20	 214
      20	  51
      22	  32
      20	  31
      23	  27
      21	  24
      28	  26
      20	  22
      23	  25
      22	  22
      25	  31
      29	  22
      30	  23
      42	  22
     251	  22
     556	  24
     755	  22
     856	  25
     879	  21
     886	  31
     883	  21
     887	  23
     880	  21
     883	  22
     878	  26
     882	  24
     880	  28
     882	  26
     885	  36
     884	  32
     890	  39
     888	 184
     894	 465
     886	 655
     851	 775
     716	 812
     446	 825
     104	 824
      32	 829
      27	 827
      27	 828
      22	 831
      31	 828
      20	 833
      23	 832
      19	 838
      20	 838
      22	 844
      20	 848
      23	 851
      20	 855
      29	 852
      20	 847
      23	 813
      20	 763
      24	 678
      28	 555
      29	 402
      38	 208
     168	  43
     528	  35
     767	  29
     864	  30
     885	  25
     892	  31
     892	  22
     895	  23
     890	  21
     893	  22
     885	  25
     889	  22
     888	  25
     887	  22
     889	  27
     886	  23
     889	  23
     888	  22
     891	  23
     880	  26
     835	  24
     693	  29
     447	  27
     149	  38
      35	  32
      28	  47
      28	 221
      24	 457
      31	 628
      21	 747
      23	 804
      20	 824
      21	 822
      22	 826
      21	 824
      24	 823
      21	 825
      25	 821
      22	 825
      30	 821
      24	 827
      27	 825
      32	 831
      39	 832
     230	 837
     533	 843
     750	 843
     847	 850
     864	 848
     873	 842
     879	 811
     877	 762
     881	 683
     876	 560
     879	 407
     872	 222
     879	  49
     880	  36
     881	  30
     886	  35
     885	  26
     890	  31
     880	  24
     830	  24
     666	  25
     380	  24
      47	  25
      28	  22
      26	  27
      26	  22
      22	  23
      24	  22
      20	  24
    und beim 2ten asuro, der jetzt dran ist, den aufbau der odo-sensoren noch einmal etwas verbessern...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken gemessene_werte_8er_scheibe.jpg  
    gruß inka

  5. #65
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.067
    hmm naja die werte sind ja nicht schlecht. damit kann man doch sicher gut arbeiten...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #66
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Sind das die Werte mit internem PullUp? Wenn ja, dann würde ich den ADC über Bord werfen und es mal so versuchen:

    Code:
    void  OdometryData (unsigned int  *data)
    {
       Vorbereitung zum Lesen der Odometrie-Sensoren.
    */
    DDRC &= ~((1 << PC0) | (1 << PC1));   // Port auf Input=>Back-LEDs gehen aus
    PORTC |= ((1 << PC0) | (1 << PC1));   // PullUps einschalten für PC0 und PC1 
    ODOMETRIE_LED_ON;                     // Odometrie-LED's einschalten
    
    /*
       Linken Odometrie-Sensor lesen
    */
    if (PORTC & (1<<PC1)) data[0]=1023; else data[0]=0;
    
    /*
        Rechten Odometrie-Sensor lesen
    */
    if (PORTC & (1<<PC0)) data[1]=1023; else data[1]=0;
    
    }
    Die 1023 sind nur ein Beispiel, grundsätzlich würde wohl auch eine direkte Zuweisung funktionieren:

    data[0]=(PORTC & (1<<PC1))/2;
    bzw.
    data[1]=(PORTC & (1<<PC0));

    Nach "ODOMETRIE_LED_ON;" muss vermutlich eine kleine Verzögerung eingebaut werden weil die LEDs nicht sofort voll leuchten.

    Noch eine Anmerkung zu übertriebenen Bitschiebereien. WHEEL_LEFT 1 wäre hier wohl übersichtlicher:
    #define WHEEL_LEFT (1 << MUX0) //ADC1
    #define WHEEL_RIGHT 0 //ADC0
    Die Definition aus asuro.h

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #67
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi mic,

    die werte sind ohne die internen pull-ups gemessen worden. Warum? verglichen mit den sinuskurven der reflektionsscheiben ist das doch super, oder?
    gruß inka

  8. #68
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.067
    ja, ist wohl wahr mit den bitschiebungen, aber so weiss man recht schnell was gemeint ist... allerdings sollte beides "ähnlich" aussehen. eine 1 wäre daher wohl angemessen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #69
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Klar sind die Werte super, die besten, die ich bisher gesehen habe. Mich würde nur interessieren, ob sich die PullUp-Theorie auch in der Praxis nachweisen läßt. Ich will meinen asuro nicht aktivieren nur um das zu testen.

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #70
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.067
    meiner ist immernoch baustelle... also müssen wir wohl abwarten
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress