-
          
	
		
		
	
	
	
	
	
		
			
- 
	
	
		
			
			
				Neuer Benutzer
			
			
				Öfters hier
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
				
					16 Reflexlichtschranken an RN-Minicoltroll anschließen.
				
				
						
							
							
						
						
				
					
						
							Hallo zusammen.
Ich möchte 16, auf einer Schiene befestigte Reflexlichtschranken (SFH9202/Q62702-P5039 vom Conrad) an das RN-Minicontroll-Board anschließen.
Wie mach ich das am besten??? Soll ich jeden Sensor an einen eigenen pin anschließen oder soll ich das Multiplexen (oder A/D-Wandeln)????
Oder was denkt Ihr??? Ich möchte die Position einer Kugel bestimmen, die auf dieser Schiene rollt und damit einen Modellbauservo ansteuern, der die Schiene in der Balance hält.
Über etwas Hilfe für mein Projekt währ ich euch sehr dankbar - ich bin eben noch recht unerfahren in diesen Dingen.
Vielen Dank schonmal!
Kilifuchs
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Robotik Visionär
			
			
			
			
			
				
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
				
					
						
							16 Sensoren direkt anschließen wird nicht gehen, es sei denn du willst das Board komplett umbauen. 
Zum Multiplexen brauchst du einen 1 zu 16 Multiplexer z.B. 4067 und immer noch 5 Ports am Board. 
Aber vielleicht wissen andere noch eine einfachere Lösung.
Auch gleich noch viel Vergnügen beim Programmieren.
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Neuer Benutzer
			
			
				Öfters hier
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
				
					
						
							Schonmal danke für die antwort!
ich habe mich jetzt entschlossen einen 1 zu 16 Mux zu verwenden - das hat mir heut auch ein betreuer bei uns an der FH empfohlen.
Jetzt muß ich also die 16 adressen zyklisch einscannen und die werte irgendwo hin ablegen.
Damit bin ich auch schon beim nächsten problem angekommen - hat das vielleicht schonmal jemand hier gemacht? Gibts da irgendwo in den Tiefen dieses Forums schon Beispielprogramme?? Ich möcht das ganze in C programmieren - wenn mir also jemand helfen könnte - nur zu! 
Bis bald 
Kilifuchs 
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Robotik Einstein
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
				
					
						
							Nur so nebenbei, ich hätte da noch eine Alternative (vorausgesetzt, das läßt sich umsetzen):
Was hälst du davon, alle 16 RLS mit nem Schieberegister nacheinander einzulesen und dessen Wert abzufragen?
Du müsstest deinem Controller nur klarmachen (z.B. Steuerleitung des jeweiligen Registers), bei welchem Takt, welches Register welche RLS geschaltet wird  \
/
EDIT:
Dabei hast du dann nur eine Steuerleitung/ Signalleitung 
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Robotik Visionär
			
			
			
			
			
				
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
				
					
						
							Ein Schieberegister ginge natürlich auch, ob es für diesen Fall Ideal ist bezweifle ich allerdings.
Such dir ein Beispiel von der Kugel die in einem Magnetfeld schwebt, da ist das selbe Problem mit dem Aufschaukeln der Kugel, denn diese fällt zumeist aus diesem Grund hinaus.
Ich würde mal so beginnen: Abfrage wo die Kugel ist, dann links und rechts davon um die Bewegungsrichtung festzustellen und wenn möglich auch die Geschwindigkeit und dann darauf reagieren. Stärke der Reaktion abängig von der Geschwindigkeit und nicht vom Standort.
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter Genie
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
							
						
				
					
						
							Ich schließe mich meinem Vorredner an. Ideal wäre sicher ein Controller wie der ATmega168, der mit jedem Pin einen Interrupt auslösen kann.
Einfach alle 16 Sensoren an 16 Portpins..
Dann könnte man z.B.
folgendes in der ISR (in allen 1 ISRs) machen:
Timerstand und Port zwischenspeichern
Dann Zeit-Differenz zu vorherigem Eintrag ermitteln, so erhält man das Tempo und die Richtung
Dann Stellgröße berechnen und ans Servo schicken,
dann Timer und Port aus Zwischenspeicher in ein globales Register schreiben....
und Reti
Sigo
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
		
		
		
	
 
	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
			
				
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
 
		- Themen beantworten: Nein
 
		- Anhänge hochladen: Nein
 
		- Beiträge bearbeiten: Nein
 
		-  
 
	
	
	Foren-Regeln
 
			 
		 
	 
 
  
 
  
 
Lesezeichen