-         

Ergebnis 1 bis 7 von 7

Thema: Fernsteuerung Linienfolge anhalten bei Tastendruck!

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40

    Fernsteuerung Linienfolge anhalten bei Tastendruck!

    Anzeige

    Hallo Community! Das hier ist mein erster Beitrag, ich hoffe, ihr könnt mir weiterhelfen! Und zwar bin ich gerade dabei eine Fernsteuerung zu programmieren. Dabei möchte ich, dass durch die Taste 7 die Linienfolge startet und durch die 1 wieder aufhört! Was muss ich in die while-Schleife schreiben, dass die Linienfolge beendet wird?Ich hoffe, ihr könnt mir helfen. Es ist ein Abschlussprojekt der Fachoberschule, d.h. ich denke mal, ich werde noch öfters Fragen stellen, jedoch konnte ich durch eure SUPER Beiträge schon ne Menge lernen. Danke im Voraus! Anbei mein bisheriger Programmcode test.c

    2. Können die Pins PD4 PD5 positive und negative Signale ausgeben? Sonst würde ja die H-Brücke nicht funktionieren!


    P.S.: ich bin ein echter Anfänger, also bei komischen, simplen Fragen bitte nicht auslachen!
    Geändert von powder999 (25.11.2011 um 17:24 Uhr)

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Kann mir keiner helfen! Mir ist wohl nicht mehr zu helfen! Keiner ne Idee????

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    So vielleicht:

    Code:
    while (message[0]!='1')
    {
    	unsigned int data[2];
    	LineData(data);
    
    	MotorSpeed(50,150);
    	if(data[0]>data[1])
    	{
    		MotorSpeed(150,50);
    	}
    					
    	// Timeout ist jetzt 1: Wenn ein Zeichen empfangen wurde, wird dieses sofort eingelesen
    	SerRead(&message[0], 1, 1);
    }
    (ungetestet)

    Zu 2.: Am Pin des Mega8 wird 0V oder 5V ausgegeben. Je nach Ansteuerung schalten die Transistoren der H-Brücke den Motor auf Links- oder Rechtslauf.

    PB4, PB5, PD4 und PD5 schalten jeweils einen Strang der H-Brücke, durch das 4fach-Nand-Gatter IC3 werden die Transistoren eines Strangs immer gegensinnig geschaltet. Es sind dadurch nie beide Transistoren eines Strangs gleichzeitig durchgeschaltet. Zusätzlich wird über das Nand auch das PWM-Signal von OC1A bzw. OC1B eingemischt.
    Geändert von radbruch (26.11.2011 um 13:11 Uhr)

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

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Ach das ist ein NAND-Gatter, ich hab gelesen AND-Gatter! Aber wie ist das bei den PNP-Transistoren mit dem Durchschalten, da muss doch ne negative Spannung anliegen oder ned? So irgendwie hab ich das noch ned verstanden! Unsere Lehrer wollen das genau erklärt bekommen, aber ich versteh das noch ned. Kannst du vlt. ne kleine Skizze machen? Wäre sehr ned, hab mich schon so lang damit beschäftigt, aber irgendwie hat es noch ned KLICK gemacht! Zu deinem Programmvorschlag: Das probier ich noch aus und sag dir, wie es gelaufen ist! DANKE aber jetzt schon!

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Upps, tatsächlich ist es ein AND-Gatter:

    http://pdf1.alldatasheet.com/datashe.../CD4081BE.html

    Nobody is perfect...

    Dann macht auch das Einmischen des PWM mehr Sinn. T1 und T3 steuern mit low durch, T2 und T4 mit high. Bei PD4=low steuert T1 immer durch, ML+ liegt dauerhaft an Vcc. Pegel von OC1A (PB1) ist dann egal, weil der Eingang des AND durch PD4 schon low ist, wird T2 immer low erhalten. Zusammen mit PD5 auf low schaltet auch T3 dauerhaft durch und ML- liegt ebenfalls auf Vcc. T4 sperrt ebenfalls unabhängig von OC1A. Über T1 und T3 und die Freilaufdioden D1 und D3 ist der Motor nun kurzgeschlossen.

    Wird nun PD5 auf high geschaltet, sperrt T3 und bei OC1A=low sperrt T4 ebenfalls. ML- "schwebt" nun zwischen Vcc und GND, der Motor befindet sich im "Freilauf". Mit OC1A=high liefert nun das AND ein high an T4, dieser steuert durch und an ML- liegt GND. Der Motor dreht jetzt. Bei PD4 und OC1A high und PD5 low dreht der Motor in die andere Richtung.

    Ich hoffe, das passt so.
    Geändert von radbruch (27.11.2011 um 16:47 Uhr)

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

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Hab das Programm mal ausprobiert, funktioniert perfekt! DANKE!!!!! ! ENDLICH! Jetzt musst du mir aber noch mal erklären, warum das so ist! Ganz einfach, so dass sogar ich das versteh! Was hab ich falsch gemacht???
    Geändert von powder999 (28.11.2011 um 16:54 Uhr)

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    25.11.2011
    Beiträge
    40
    Gut, hat sich erledigt! Hab´s verstanden, man müsst sich vlt. erst mal selber damit beschäftigen, bevor man dumme Fragen stellt! Aber danke für deine HILFE! Hast mir seeeeeeeehhhhr geholfen!

Ähnliche Themen

  1. Steuerungselektronik Für Linienfolge
    Von xfs im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 1
    Letzter Beitrag: 16.10.2011, 14:19
  2. Tastendruck
    Von Vbxler im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 27.06.2009, 13:09
  3. LED-Würfel mit taster anhalten
    Von pelikano im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 01.06.2008, 11:44
  4. Bewegung anhalten
    Von Stratege993 im Forum Robby RP6
    Antworten: 16
    Letzter Beitrag: 26.12.2007, 13:08
  5. [Asuro] Programmierproblem bei Linienfolge
    Von Maximatic im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 24.01.2005, 00:40

Berechtigungen

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