Forum: Mikrocontroller und Digitale Elektronik selbstfahrendes(sensoren) fahrzeug mit uC ansteuern


von Simon (Gast)


Lesenswert?

Grüß euch Leute,
ich bin dabei mit zwei kollegen ein ferngesteuertes Auto so umzubauen, 
so dass es mit einem uC selbst fährt. und zwar sieht das so aus:
- wir bauen 5 prints mit sensoren... welche was auch sonst hindernissen 
ausweichen sollen:P
sensor:IR-SENSOR HSDL-9100-021
[http://www.conrad.at/ce/de/product/140271/IR-SENSOR-HSDL-9100-021/SHOP_AREA_37352&promotionareaSearchDetail=005]

mit signalverstärker für mehr reichweite: SIGNAL-KONV.-IC APDS-9700-020
[http://www.conrad.at/ce/de/product/140296/SIGNAL-KONV-IC-APDS-9700-020]


wir haben als steuerung einen servo motor... antriebsmotor und 
servomotor wollen wir beides über je eine H-Brücke steuern...
alles in allem wird die ganze geschichte von einem uC-Board gesteuert 
welches nicht im markt zu kaufen ist sondern welches wir selbst gebaut 
haben:
sieht ungefähr so aus:[http://www.humerboard.at/]

leider weiß ich gerade kaum mehr daten (motorstrom...)

ich möchte nur wissen ob ihr uns vl ein paar tipps und tricks geben 
könnt und ob das projekt überhaupt so laufen kann...
und vielleicht was wir beachten sollten


hoffe ihr könnt mich da ein wenig unterstützen...
ihr seid da ja die profis;)

lg simon

von Karl H. (kbuchegg)


Lesenswert?

Simon schrieb:

> wir haben als steuerung einen servo motor... antriebsmotor und
> servomotor wollen wir beides über je eine H-Brücke steuern...

ziemlich aufwändig.

In deinem Auto wird wohl ein handelsübliches Servo für dir Steuerung 
eingebaut sein. Das wird nicht über eine H-Brücke angesteuert sondern 
mit Millisekunden Impulsen, wobei die Pulslänge die Servostellung 
codiert.
Den Antriebsmotor könnte man über eine H-Brücke ansteuern aber 
eigentlich lohnt das nicht, extra dafür eine H-Brücke aufzubauen. Ein 
normaler Modellbau-Fahrtregler enthält genau diese H-Brücke, nur wird er 
völlig analog zu einem Servo, wie ein Servo angesteuert.

D.h. Ob Lenkung oder Antrieb sind für die Software einfach nur 2 
verschiedene Kanäle, auf dem PPM Signale ausgegeben werden müssen.


> ich möchte nur wissen ob ihr uns vl ein paar tipps und tricks geben
> könnt und ob das projekt überhaupt so laufen kann...

Baut das Auto zunächst mal mit einer handelsüblichen Fernsteuerung auf.
Danach baut ihr in eure Software ein, dass sie die Servo-Signale vom 
Empfänger entschlüsselt und auf die Servos/Motorregler weitergibt. Und 
dann darf der µC auch schon mal die Empfängerimpulse ignorieren und 
seine eigenen Servosignale einspeisen. Allerdings: Auf ein Signal vom 
Fernsteuersender hin (3. Kanal, bestückt mit einem Schalter), hält sich 
der µC sofort wieder raus und gibt nur noch Empfängerpulse weiter.

Hintergrund: Im Notfall musst du jederzeit in der Lage sein, den µC zu 
überstimmen und ihm (per Fernsteuerung) die Kontrolle über das Fahrzeug 
zu entziehen.
Und derartige Notfälle wird es am Anfang mehr geben, als dir lieb ist.

von Simon V. (brainado)


Lesenswert?

naja sieht so aus: fahrzeug haben wir ja schon.. also fernsteuerung 
funktioniert.. nur wir wollen es so umbauen so dass es GANZ ohne 
fernsteuerung fährt.. PPM ist schon klar.. nur die kann man ja über den 
uC und ein paar logikbausteinen über die H-Brücke zum motor 
einspeisen...

wir müssen eine H-Brücke bauen - ist nämlich ein projekt für schule:(
also servo und antrieb mit PPM?
ich post mal nen schaltplan von H-Brücke mit PPM... muss ihn nur 
einscannen... (10min)

uC ist ziemlich optimiert.. also I/O ports  hat er genug...

von holger (Gast)


Lesenswert?

>nur wir wollen es so umbauen so dass es GANZ ohne
>fernsteuerung fährt

Dann schaltet doch einfach den Motor ein. SCNR;)
Komplett eigenständiges Fahrzeug mit Hinderniserkennung
und ausweichen wird dann wohl ein paar Jahre dauern.

von Karl H. (kbuchegg)


Lesenswert?

Simon Vötsch schrieb:
> fernsteuerung fährt.. PPM ist schon klar.. nur die kann man ja über den
> uC und ein paar logikbausteinen über die H-Brücke zum motor
> einspeisen...

Warum willst du das?

Dein µC spielt aus sicht des Servo/Fahrtreglers den 
Fernsteuerungsempfänger. Der µC generiet genau dieselben Pulse, wie sie 
auch aus dem Empfänger kommen.

Wenn euer Auto schon mit der Fernsteuerung funktioniert, dann hast du 
doch alles, was du brauchst. Empfänger von den Servos abklemmen - µC 
drannklemmen; µC generiert Servo Signale und schon kanns losgehen.

Ist doch viel einfacher als eine eigene H-Brücke, die dann auch noch mit 
PWM angesteuert werden muss.

Und nicht vergessen: Am Anfang langsam fahren. Gaaanz langsam!

> wir müssen eine H-Brücke bauen - ist nämlich ein projekt für schule:(

Dein Schulprojekt lautet H-Brücke?

von Simon V. (brainado)


Lesenswert?

ok erstmals sorry hab den schaltplan nicht hier..

>Komplett eigenständiges Fahrzeug mit Hinderniserkennung
>und ausweichen wird dann wohl ein paar Jahre dauern.
naja eher unwahrscheinlich da wir nur ein halbes jahr zeit haben:P


schon klar es ist nicht logisch ein ferngesteuertes auto in ein 
selbstfahrendes umzubauen... ist aber nunmal so
ich besuche ne höhere technische lehranstalt(3.klasse) und ich muss halt 
mit zwei anderen dieses projekt machen..
warum H-Brücke? - aus dem einfachen grund weil mein professor einen 
gewissen hardwareanteil haben will den wir selst bauen... und viel mehr 
lässt sich hier nicht bauen außer die print für die sensoren

ich will ja nicht dass ihr hier mein projekt ausdenkt.. aber auch nicht 
das ihr vom wesentlichen abkommt..

ich will nur wissen ob das funktionieren kann und vl tipps:

5 sensoren(3 vorne 2 hinten) - signale an µC - der steuert über H-Brücke 
mit Hilfe von PPM die motoren..
das programmieren des µC übernehmen wir dann schon selbst;)


burschen ihr seid echt spitze hier..
danke schon mal dafür überhaupt ne antwort bekommen zu habne:)

von holger (Gast)


Lesenswert?

>ich will nur wissen ob das funktionieren kann und vl tipps:
>
>5 sensoren(3 vorne 2 hinten) - signale an µC - der steuert über H-Brücke
>mit Hilfe von PPM die motoren..
>das programmieren des µC übernehmen wir dann schon selbst;)

>naja eher unwahrscheinlich da wir nur ein halbes jahr zeit haben:P

Kleb erstmal Backeband auf den Fussboden. Dem kannst du dann
mit Fotosensoren folgen. Das ist so das was man in 6 Monaten
als Anfänger machen kann. Einen IR Sensor dann nur noch um
anzuhalten falls was im Weg steht.

von Simon V. (brainado)


Lesenswert?

ich weiß ich bin nicht gerade der beste was die richtung angeht aber ich 
glaub ich und meine zwei leute packen das schon... immerhin ja nicht 
unser erstes projekt...

hab dich vorher zufällig in nem forum aus 2002 gesehen... wenn dus 
warst..
dachte mir du würdest nützlicheres von dir geben:O demotivieren kannste 
dich ja auch selber;)

von holger (Gast)


Lesenswert?

>hab dich vorher zufällig in nem forum aus 2002 gesehen... wenn dus
>warst..

Vermutlich nicht;)

>dachte mir du würdest nützlicheres von dir geben:O demotivieren kannste
>dich ja auch selber;)

Ich bin nur realistisch. Ihr leidet scheinbar an Selbstüberschätzung.
Versucht erstmal das Teil überhaupt in Bewegung zu bekommen.

von Simon V. (brainado)


Lesenswert?

kollege das teil bewegt sich schon..;)
dachte ich fänd hier in den foren ein paar leute mit denen sich reden 
lässt.. und die vl ein wenig freundlicher sind...
hab mich da ja anscheinend getäuscht..
ich mein der Mod  Karl heinz Buchegger is ja ganz ok..
aber leute wie du die überall senf dazugeben nur weils sies besser 
wissen..
gehen mir tierisch aufn sack:@

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Simon Vötsch schrieb:
> kollege das teil bewegt sich schon..;)
> dachte ich fänd hier in den foren ein paar leute mit denen sich reden
> lässt.. und die vl ein wenig freundlicher sind...
> hab mich da ja anscheinend getäuscht..
> ich mein der Mod  Karl heinz Buchegger is ja ganz ok..
> aber leute wie du die überall senf dazugeben nur weils sies besser
> wissen..
> gehen mir tierisch aufn sack:@

PRIMA, so bekommst du bestimmt viele hilfreiche Antworten...

Ein Auto das Autonom fahren kann... man Es gibt in den USA Jährlich so 
Wettbewerbe von der Nasa die einnicht schlechtes Preisgeld haben...
Teilweise mit Modellen, teilweise aber auch in 1:1. Wenn du dir da so 
sciher bist dann solltet Ihr da vieleicht Mitmachen?
Mehr als einem hellen Streifen (das zitierte Klebeband) zu folgen wird 
erkennungsmäßig für euch im sinne einer Autonomen Steuerung nicht drin 
sein.

Oder meinst du vielmehr ein Auto das einfach lustig durch die Gegend 
fährt, ohne Plan, und nur selbstständig bei einem Hinderniss die 
Richtung wechselt bzw. anhält. Das könnte auch für einen Einsteiger in 
einem halben Jahr zu schaffen sein. Ist aber nicht das was man unter 
"Selbst fahrend" versteht.

Ich habe die Produktangaben zu eurem ADPS9700 nur kurz überflogen. Das 
Teil ist ein Näherungssenor mit einem Analogen ind einem Digitalen 
Ausgang.
Verstehe ich das richtig, der Digitale Ausgang schaltet ab einer 
bestimmen Nähe einfach das Signal um? Kann man am Analogen Ausgang ein 
signal Abgreifen das (ab einer bestimmten Entfernung zumindest- 
Poportional zur Entfernung ist?)

Ich stimme damit überein, das der Selbstbau der H Brücke Blödsinn ist! 
Ihr macht euch das Leben schwer für eine Sache die nicht sein muss. Last 
den Antrieb wie er ist und denkt euch was anderes aus was Hardware sein 
könnte.
Müsst ihr zum beispiel diese merkwürde Entwicklungsplatine verwenden 
oder seid ihr frei in der Wahl? Könnt Ihr nicht eine eigene µC Platine 
verwenden. (Evtl. mit einem in Bastlerkreisen gängigeren Prozessor...)
Dann währe das ja schon ein Hardwareaufwand.

Aber zurück zum eigendlichen Thema.

Ich würde insgesamt mindestens sechs, besser acht. (unter besonderen 
Umständen sogar 10 sensoren) vorsehen.
An jeder Ecke des Fahrzeugs einen. dazu noch vorne mitte und hinten 
mitte.
WEnn es auch vor Treppen halbwegs sicher sein soll dann noch vorne und 
hinten je einen der so weit nach unten gerichtet ist das der Bremsweg 
noch reichen würde wenn der Boden "verschwindet".

Wenn die IR Sensoren einen Digitalne Schaltausgang haben, dann sind die 
ja vom Konzept her mit einem Berührungsschalter zu vergleichen. Dann 
würde ich zusehen das ich konzeptionell diese Sensoren als Signalgeber 
für die Fahrtrichtung verwende. Die echten Berührungsschalterselber als 
"NotSchalter".
Die einfachste Verion des Programmes mit der ihr dann starten solltet 
gibt in einer Schleife den Befehl zum Geradeausfahren und fragt 
gleichzeitig alle Sensoren in Fahrtrichtung ab, ob ein Schaltsignal 
anliegt. Die Bodensensoren müssen zeigen: Objekt NAHE, die 
Fahrtrichtungssensoren KEIN OBJEKT. Solange kein Schaltsignal der 
Fahrtrichtungssensoren anliegt, die Bodensensoren aber Boden anzeigen 
fährt er weiter. Kommt ein Schaltsignal so hält das Gerät an, setzt ein 
Stück zurück, schlägt die Lenkung ein und fährt wieder vorwärts. Das 
kann wieder eine einfache Schleife sein. Beim Zurückfahren sollte dann 
überprüft werden ob einer der beiden Seitensensoren Anschlägt. Schlägt 
keiner an fährt das Fahrzeug nach dem erneuten Fahrtrichtungswechsel 
nach rechts, schlägt der rechte an, so fährt es nach Links, schlagen 
beide an, so fährt es nocheinmal die vorprogrammierte Strecke nach 
hinten - mit der selben abfrage.
Wenn dann die Räder eingeschlagen sind und es wieder nach vorne fährt, 
dann würde ich das eine vorgegebene Zeit so fahren lassen (am besten 
genau für eine 90° Drehung,) dann wieder Lenkung gerade und rücksprung 
in die erste Schleife.

Dabei kannst du die Sensoren gruppieren . Dur brauchst ja immer nur die 
Sensoren in Fahrtrichtung umschalten. Also entweder die drei 
Fahrtrichtungssensoren + einen Bodensensor vorne, oder halt hinten. Dies 
kann entweder durch eine logische Zuordnung mit umschaltung der Portim 
im µP erfolgen, oder wenn ihr Ports sparen müsst oder das Program 
einfacher halten wollt durch einen externen Signalumschalter (zb. 
CD4051)
(UPS, wieder möglichen Hardwareaufwand gefunden ;-))

Dieses erste Programm ist aber noch sehr grob.
Im Prinzip lauter Schleifen mit jeder menge "IF Vergleichen".

Ich würde z.B. alle Sensoren so auslegen das diese beim Umschalten einen 
Interrupt auslösen. Falls der µC nicht genügend Interruptquellen hat 
oder ihr es ganz einfach halten wollt und nur eine Interruptquelle 
bearbeiten wollt, dann könnt ihr das ja mit etwas diskreter Logik 
auskodieren.
(was wollte ich noch sagen? Hardwareaufwand!)
Das macht das Programm übersichtlicher und flexibler.

Wenn es noch schöner sein soll, und der Analogausgang der ICs soetwas 
hergibt, dann könntet ihr auch eine Entfernungsmessung machen. Also die 
Werte zusätzlich zu den digitalen Absolutwerten (die ich als letzte 
Bremsschwelle wählen würde. Maximale Fahrgeschwindigkeit so das dies 
noch passt) mittels AD Wandler die Entfernung auswerten. Das ihr ja nur 
relative Angaben braucht ist das recht einfach und erfordert wenig 
Rechenleistung. Simple Vergleiche. Falls der Prozessor nicht genug AD 
Eingänge hat ODER ihr das nicht im Proz machen wollt, kann das auch mit 
externen Wandlern geschehen. -> möglicher Hardwareaufwand!
Sobald die Analogwerte eine Annäherung wahrnehmen verringert sich die 
Geschwindigkeit bis zum erreichen der Schaltschwelle für den 
Rückwärtsgang. Falls einer der Seitlichen Sensoren zuerst ein Hinderniss 
wahrnimmt kann man im Programm auch annehmen das sich das Fahrzeug im 
Winkel != 90° auf die Wand zubewegt und leicht, abhängig von der 
Entfernungsänderung auch stärker, einlenken.

Das ganze lässt sich dann noch beliebig verfeinern.
Und dann könnte man ja auch noch zusätzliche Gimmiks einbauen. So ist es 
ja durchaus möglich das jenes Hinderniss ein beweliches ist was selbst 
nicht augepasst hat, das aber verschwindet wenn es aufmerksamm wird.
Eine nette Hupe, die aktiviert wird sobald das Fahrzeug ein Hinderniss 
erkennt das es zum Umkehren aufforder währe doch eine lustige Einlage 
und HARDWAREAUFWAND ;-) Also statt: Erkennen -Stehenbleiben - 
Rückwärtsfahren -> Erkennen -> eine Sekunde warten -> zweimal kurz hupen 
-> zwei Sekunden warten-> bleibt das Hinderniss rückwärtsfahren. 
Technisch nicht weiter schwer, nur ein Unterprogramm +Tongenerator.

Den alten Fernsteuerempfänger würde ich auf jeden Fall drin lassen und 
einen Kanal als Notstop auf dem µC legen. Nicht das euer Auto bei den 
ersten Tests mit Fullspeed gegen die Wand donner und dabei beschädigt 
wird. Oder die Treppe runtersaust.

Als allererstes würde ich aber das Auto so lassen und erst einmal die 
Sensoren + µC zusätzlich einbauen. Dann anfangen Anzeigen zu lassen 
(LED) wan ein Sensor ausgibt, aber noch mit der Fernbedienung fahren, 
daraus dann die Maximalgeschwindigkeiten und notwendigen REaktionszeiten 
ermitteln. Dann weitergehen und den µC nur den Notstopp übernehmen 
lassen.
Dann Notstop und Rückwärtsfahren (während die Fernbedienung immer noch 
VORNE sendet, erst dann die Fernsteuerung bis auf den Not-Aus komplett 
lahmlegen.)

Anfangen bei der Programmentwicklungmit dem einfach Programm und je nach 
Restzeit immer weiter verfeinern. So könnt ihr sobald die Sensoren 
aufgebaut sind vom ersten Tag an am eigendlichen Fahrprogramm arbeiten. 
teilweise parallel verschiedene verfeinerungen übernehmen. Eigendlich 
könnte ja einer schon bevor die Sensoren überhaupt da sind zumindest 
experimentieren ob bei (Auto in Rückenlage) er überhaupt gültige 
Steuersignale generieren kann. (zb. Programm : 5 sek. Vorwärts, Rechts - 
Links- Rückwärts schreiben)

Fängst du aber an die H Brücke als Steuerung zu nehmen, wird dein 
Programm viel Zeitkritischer und du musst die komplette Hardware der 
H-Brücke fehlerfrei fertig haben bevor du irgendetwas testen kanns, was 
zwar trivial aussieht, wenn man aber einpaar kleine Fehler macht auch 
schon mal länger dauern kann. Dann musst du die ja nciht nur zum 
Funktionieren bringen, sondern auch so auslegen das bei Softwarefehlern 
diese nicht sich oder anderes zerstört. Die Software musst du dann erst 
einmal so schreiben das die Brücke richtig angesteuert wird. Hast du die 
Brücke hier nciht Idioensicher aufgebaut, dann wirst du diese mit 
einiger Wahrscheinlichkeit dabei zwerstören und von vorne anfangen...
Erst wenn es soweit ist, dann kannst du mit der eigendlichen Aufagbe 
anfangen. Wenn es dann aber dumm läuft ist dafür nur noch viel zu wenig 
zeit. Dann lieber eine HW sache die Parallel zu den ersten GEhversuchen 
laufen kann und vom Aufwand optional skalierbar ist.
Ihr seid drei Mann - NUTZT DAS und abeitet Parallel!

Gruß
Carsten

von Karl H. (kbuchegg)


Lesenswert?

Carsten Sch. schrieb:

> Ich stimme damit überein, das der Selbstbau der H Brücke Blödsinn ist!
> Ihr macht euch das Leben schwer für eine Sache die nicht sein muss. Last
> den Antrieb wie er ist und denkt euch was anderes aus was Hardware sein
> könnte.
> Müsst ihr zum beispiel diese merkwürde Entwicklungsplatine verwenden
> oder seid ihr frei in der Wahl? Könnt Ihr nicht eine eigene µC Platine
> verwenden. (Evtl. mit einem in Bastlerkreisen gängigeren Prozessor...)
> Dann währe das ja schon ein Hardwareaufwand.

Das sehe ich ganz genau gleich.
Wenn Hardwareaufwand gefordert ist, dann würde ich eine µC-Platine 
machen. So paradox es auch klingen mag, aber das ist um Längen einfacher 
als eine H-Brücke mit Leistungsteil, der sauber dimensioniert ist und 
nicht abbrennt, wenn der Motor blockiert wird oder noch schlimmer die 
Ansteurung nicht stimmt und der µC beide Fets einer Seite gleichzeitig 
durchschaltet und sei aus auch nur für ein paar µs)

Man kann natürlich eine H-Brücke machen, nur erschliesst sich mir wie 
gesagt nicht der Sinn dabei. Ihr habt ja offenbar schon eine. Nur ist 
die in einem Modul verbaut, welches sich Fahrtregler nennt und offenbar 
ganz hervorragend funktioniert.

Um Servoansteuerung kommt ihr sowieso nicht herum, die braucht ihr für 
das Lenkservo. Wenn daher Servoansteuerung, dann kann man auch gleich 2 
Servos ansteuern, ist der gleiche Vorgang. Wozu daher Servoansteuerung 
UND Ansteuerung der H-Brücke programmieren, wenn ihr mit 
Servoansteuerung alleine auch durchkommt? Ich mach mir doch nicht 
absichtlich das Leben schwer, wenn es keinen Vorteil dabei gibt.

von xx-lutz (Gast)


Lesenswert?

i checks net...

von Floh (Gast)


Lesenswert?

Karl heinz Buchegger schrieb:
> Um Servoansteuerung kommt ihr sowieso nicht herum, die braucht ihr für
> das Lenkservo.

Da würd ich mir erst mal das Auto zeigen lassen.:-)

Bei den meisten billigen RC-Cars ist für die Lenkung ein normaler Motor 
eingebaut, der links und rechts Vollausschlag realisieren kann und über 
Federn in die Mitte zurückgezogen wird.

Also bitte mal Bilder vom Auto, dann kann man sehen was der TS sich 
darunter vorstellt. :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.