- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 36

Thema: Fehler im Sketch für ATtiny?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    Hey Oberallgeier,
    das ist ja scharf.
    2011 hatte ich das hier gebaut.(Oh ist das staubig! Ich Ferkel)

    Bild hier  

    Bild hier  

    Zuerst für 2 Mignonzellen.
    Dann kamen die Lipo Akkus ins Spiel.
    Aber die Steuerung war zu groß.
    Mit dem Pro Mini oder ATtiny wird es gehen.
    Über den Reibradantrieb soll er auf dem hellen Tisch fahren.
    beim Hindernis oder Tischkante, soll er etwas Rückwärts fahren, dann das Servo entsprechend eine Seite anheben. Dadurch fährt er zwangsläufig eine Kurve.Dann wieder vorwärts.
    Naja, bei meinem Problem etwas zu Programmieren wirds wohl noch dauern. Nicht Eure Klasse, aber auch was.
    Den Tread lese ich mir gleich mal ganz durch.
    Die 1:87 Autos sind sehr sehr klein. Man packt alles um den Akku, Motor, Lenkung rum. Aber das OpenDCC Projekt ist für den Quatsch da wenige Autos ohne Sinn durch die Gegend rollen zu lassen zu aufwendig, teuer.
    Der einzige bei Reichelt verfügbare SMD Linear Hall-Sensor ist zum Glück kaum von der Magnetgröße und dem Spannungsbereich von 3,3Volt - 4,2 Volt in seiner Funktion abhängig. Damit meine ich, das er immer eine gleiche leichte Spannungsänderung vollzieht, wenn der Magnet auf 10mm rankommt. Vielleicht schaffe ich es ja den ATtiny so zu programmieren, dass dann der Motor über PWM eine Zeit gedrosselt wird, oder wenn die Spannung stärker verändert wird, für eine Zeit ganz stoppt.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2012
    Ort
    50KM über Hamburg
    Beiträge
    128
    Hallo,

    mit dem simple "CARSYSTEM" bin ich etwas weitergekommen.

    Es funktioniert so schon ausreichend. Ich gebe die Geschwindigkeit des Autos (1:87) mit der PWM vor.

    Der Motor ist ja sehr klein. So wie diese Rüttelmotoren aus den Handys. Zur Entstörung habe ich 2x 1nF von den Kontakten zum Gehäuse und 100nF parallel zum Motor gelegt. Das reichte aber noch nicht. Mit 1µF paralolel geht es so lala. Sonst bootet der ATtiny ständig neu. Man sieht das auch ganz gut am Oszi.
    Wenn noch Platz ist, kann ich auch einen Elko nehmen.

    Wie binde ich jetzt den 2. threshold ein.
    Wenn der 1. threshold erreicht wird, bleibt das Auto für eine Zeit mit Warnblinker stehen, und fährt dann wieder los.
    Dieses entspräche dem, dass das vorfahrende Auto anhält.
    Wenn das vorfahrende Auto nur zu langsam ist, soll das hintere Auto nur eine Zeitlang langsamer fahren.
    Bei einer 2. if Abfrage fällt mir kein else ein. Aber das ist wohl der total falsche Weg.

    Code:
    const int halPin = A1; // Analog Hallsensor SS39ET
    #define speedM 0  //erklärung das PWM an 0
    
    int threshold_1 = 570; // 560Schwellwert -Ausprobiert
    int threshold_2 = 700; // Stop Grenzwert
    
    const int blinkPin = 1; //Warnblinker
    
    void setup() {
      pinMode(0, OUTPUT);
      pinMode(speedM, OUTPUT);
      pinMode(1, OUTPUT);
    }
    
    void MotorControl(int M_SPEED)//läuft außerhalb des Loop
    
    {
      analogWrite(speedM, M_SPEED); //Der Ausgang wird aktiviert
    }
    
    void loop()
    {
      int val ;
      int Volt;//Irgendwie muß das ja heißen
    
      val = analogRead(halPin);//Hallsensor einlesen
      Volt = map(val, 0, 1023, 0, 1023);//Keine Einschränkung
    
    if (Volt > threshold_1)//Wenn über Schwellwert
    
    {
      MotorControl(0);
      digitalWrite(blinkPin, HIGH);//Motor steht Warnblinker
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
      digitalWrite(blinkPin, HIGH);
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
      digitalWrite(blinkPin, HIGH);
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
      digitalWrite(blinkPin, HIGH);
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
      digitalWrite(blinkPin, HIGH);
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
      digitalWrite(blinkPin, HIGH);
      delay (400);
      digitalWrite(blinkPin, LOW);
      delay(400);
    }
    else
    {
      MotorControl(120); // Geschwindigkeit des Autos
    }
    }
    Leider passen die IR Projekte nicht.(1:87).
    Außerdem würde in Kurven auch die Randbebauung als Hindernis gesehen werden. Habe ich schon zur Genüge probiert. Dann lieber fast auffahren lassen und halten.

    Danke
    Achim

Ähnliche Themen

  1. Digispark - Sketch hochladen
    Von Cysign im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 23.02.2016, 13:36
  2. Sketch Problem
    Von wendtdir im Forum Arduino -Plattform
    Antworten: 1
    Letzter Beitrag: 16.07.2015, 18:25
  3. Arduino Sketch serielles Terminal: erkennen von CR
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 3
    Letzter Beitrag: 18.06.2014, 14:58
  4. frage zu sketch arduino und webserver
    Von der_tom im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 11.03.2012, 18:07
  5. Timer1 Fehler bei Attiny 25
    Von hütti im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.05.2007, 16:25

Berechtigungen

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

12V Akku bauen