Robot-Car-Projekt

Begonnen von Ottmar, 10.06.2023, 11:06:29 CEST

Vorheriges Thema - Nächstes Thema

Ottmar

Hallo zusammen!
Hat jemand Lust mit mir die programmiertechnische Problemstellung eines RobotCars per MPLAB-Assembler anzugehen?
Vielleicht ist jemand auch damit beschäftigt oder interessiert, wobei nur der letzte Anstoß zur Verwirklichung fehlt?

Hier eine knappe Übersicht

Artikel-Nr.: ROBOT CAR KIT 01 (z.B. Reichelt)
Hersteller: JOY-IT Art.Nr. ROBOT03
4-Rad Antrieb mit Getriebemotoren 9V,je 200mA
4xLiFePo4 Zellen (12,8V )

MCU*:  PIC16F1939, MPLAB 8.92, Assembler
Module: L298 als PWM-Motorsteller
1x HC-SR04 US-Modul mit Elektronik (Hindernis voraus)
2x IR-Modul Seitenabstand rechts/links (Hindernis re/li)
2x Geschwindigkeitssensor
1x Strommessung (Blockade erkennen)
1x Batteriespannung messen
1x LCD4x16/20 für Debugging, Betriebszustand
*Micro-Controller-Unit

Der Aufbau geschieht derzeit noch auf dem Breadboard. Die MCU ist vorläufig (hat Pins im Überfluss). Bluetooth, EUSART (RS232), PWM habe ich schon begonnen/implementiert.
Hier noch z.B. einige Antriebsfunktionen die verwirklicht werden sollen:
F,B,S usw  Bluetooth commands zur Antriebssteuerung:
F beide Antriebsseiten vorwärts
FL/FR  Vorwärtsfahrt Links-/Rechtskurve
S beide Antriebseite STOP
B beide Antriebsseiten rückwärts (backward)
BL/BR Rückwärtsfahrt, Links/Rechtskurve
+ / - Geschwindigkeit erhöhen/vermindern

Diese Umsetzung auf den Antrieb hakt noch gewaltig!

Anbei Bilder vom derzeitigen, vorläufigen mechanischen Stand des Cars, bzw. dem Aufbau auf Breadboard. (IR-Sensoren rechts/links) US-Sensor für Hindernisse vorn voraus)
Das Chassis und der Antriebssatz stammt von Reichelt. Gesteuert wird mit unterschiedlicher Drehzahl der Antriebsgruppe rechts/links.

Bis bald?
Grüße Ottmar

Ottmar

Hier noch die Bilder zum dereitigen Stand RoboCar
Ottmar

Ottmar


^Cobra

Interessieren würde mich es schon leider habe ich keine Zeit für solche Projekte. 
Und mein Wissen über pic ist 15 Jahre alt (Assembler) da werde ich dir leider nicht wirklich helfen können.
Bin aber gespannt wie es weiter geht. 
Viel Erfolg und Spaß beim Basteln 

Cobraschock

Ottmar

Nunja, jeder so wie er kann... ;)
Bin mir auch nicht sicher ob ich die richtige Bluetooth-App habe, Im Moment erzeugt jeder Touch nur einen einzelnen Befehl. Ok für Fahrtrichtung. Für Speed wäre koninuierlich besser, also beim Touch eine Befehlsfolge z.B. +++++++ zur Erhöhung der Fahrgeschwindigkeit. Vielleicht weiß mir jemand eine passend App?
Ottmar

picass

#5
Hallo Ottmar!

Tolles Projekt von dir! Wird 'ne große Bereicherung!
Mitmachen von mir? Satz mit "X", wird wohl nix! Leider!

Dabei bin ich zumindest innerlich auch auf dem Absprung, irgend so'n Karren-Bausatz zu kaufen und die Programmierung der Steuerung zu erlernen, weil ich zwei Enkel habe, von denen der "Erste" im passenden Alter von 12 Jahren ist. Aber....
- zum Einen bin ich seit einiger Zeit total überfrachtet mit meinem altem Rollladen-Projekt. Die Mucken der µC-Steuerung habe ich im Griff, aber es steht die Überarbeitung und Neufassung der bald 25 Jahre alten Hard- wie Software an. Und just jetzt verabschiedet sich die Elektronik in einem der Rollladenmotoren. Da muss der R-Laden aufgerissen, fast alle rausgerissen werden, Mot wechseln, Aufhängung wechseln, etc., etc.
Dazu kommt, das bei dem beabsichtigten eigenen Versuch nicht daran gedacht ist, bis ins Detail Hardwarekomponenten (HwK) in Assembler anzusteuern. Da schaue ich mal, was es an einfacher Prog-Sprache am Markt gibt.
Auch das sei noch gesagt, wenn auch ungerne: Etliche der Techniken fürs Ansteuern der HwK habe ich entweder noch gar nicht ausprobiert, oder es liegt noch sehr im Anfängerbereich. Bis ich mich da eingearbeitet hätte... Dafür fehlt mir in der Tat jetzt auch die Zeit.
Das bedauere ich, denn ich finde dein Projekt unheimlich gut. Werde mich aber wohl auf die Rolle des Beobachters begeben müssen.
Die MPLAB-Version ohne "X" ist doch eine inzwischen wirklich alte. Möchest du nicht wenigstens eine aus der X-Version bis Vers. 5.35 verwenden? Die Allerneuste ist quasi eine komplett neue Programmiersprache, die mit ihren beiden Vorgängerversionen nur noch den Oberbegriff gleich hat.
Grüße, picass

Nachtrag: habe gerade bei Reichelt geschaut. Das eigentliche Fahrgerät ist mit 20 € ja recht preiswert. Aber wie wird das gesteuert? Eine Art Lenkung habe ich auf die Schnelle nicht gesehen.

Ottmar

Hi picass,
Dein Zuspruch freut mich. Das ASM des alten MpLab 8.92 hab ich so einigermaßen drauf und die MCU's die ich verwende sind noch alle damit verwendbar. Es ist einfach spannend für mich die entsprechenden Funktionen auszutüfteln.
Gelenkt wird das RoboCar mit unterschiedlicher Drehzahl der rechts- / linksseitigen Räder.

Ich weiß jetzt nicht so recht, wie ich da nicht direkt damit befasste Interessierte daran teilhaben lassen könnte.
Da ist es schon einfacher auf konkrete Fragen zu antworten oder wenn jemand ein ähnliches Projekt vor sich liegen hat.
Grüße von Ottmar
P.S. Viel Erfolg bei Deinem Rolladenprojekt!

picass

#7
Hallo Ottmar!
Es tut mir in der µC-Seele weh, an deinem Projekt voraussichtlich nicht teilnehmen zu können. :( Zumindest "begleiten" - also dauernd verfolgen - würde ich es schon. Vielleicht kann ich in irgendeiner wenn auch eher geringen Weise was beitragen. Wie hälst du es z.B. mit dem Routen von Platinen? Selbst mache ich so was sehr gerne, evt. gibts da ja 'nen Ansatz.
Der zugrunde liegende "Karren" - pardon für die respektlose Bezeichung - zeichnet sich aus durch geringen Preis und Vierrad-Antrieb. Letzteres spräche für extreme Geländegängigkeit. Leider wird das aber durch das Fehlen einer echten Lenkung im wahrsten Sinne des Wortes ausgebremst. Stelle ich mir auch schwierig vor, das Lenken in so indirekter Weise umzusetzen. Das liefe dann so ähnlich wie bei Panzern: die kurven-innere Kette wird gebremst, rsp. nicht angetrieben, die kurven-äußere bekommt zusätzliche Energie. Das wird 'ne Herausforderung für den Programmierer.

Das MPLAB: da würde ich dir dringend - sehr dringend - zu der "mittleren" Version raten, also der mit einem nachfolgenden "X" bis max. v5.35. Die Syntax der Befehle ist bis auf ganz wenig Ausnahmen identisch, aber... aber es fällt die Notwendigkeit der dauernden Bank-Umschaltung weg und vor allem ist man damit näher an aktuellen Prozessoren. Das merke ich gerade bei meinem Rollladenprojekt. Der stonealte PIC16F84 - befüllt mit Progs aus dem alten Nicht-"X"-MPLAB - ist entweder auf dem Markt nicht mehr zu bekommen oder kostet über 8 €. Der von mir bislang bevorzugte "Nachfolger" PIC18F14K22 ist noch zu aktzeptablen Preisen erhältlich, aber von Microchip auch schon fast abgekündigt. Ein pin-kompatibler, aktueller Nachfolger des Nachfolgers ist mit erweiterten Funktionen auch für weniger als 2 € erhältlich und findet die volle Unterstützung mit Progs, Entwicklungsboards, Sonderaktionen, etc., etc.
Wenn ich heutzutage irgendwas bearbeite, dann versuche ich schon, die Oldies auszumustern, weil Aktuelles besser erhältlich, sehr viel preiswerter und vor allem auch voll unterstützt wird.
Grüße, picass

Ottmar

Hallo picass!
Es ist nett von Dir und wirklich freundlich, mir mit dem Erstellen einer Platine aushelfen zu wollen. Allerdings wird die Platine, sobald ich den Breadboardaufbau nicht mehr brauche, etwa so wie eine Arduino-Uno Platine aussehen. Hab mal einen Rohentwurf als Bild angehängt.

Mein Ziel ist nun wirklich nicht, daß ich mit dem RoboCar durch das Gelände preschen möchte. Vielmehr soll es so gut es eben mal geht lenkbar sein ,um letztlich Hindernissen selbstständig  auf dem Zimmerboden ausweichen zu können. Ob mir das gelingt wird sich zeigen.
Natürlich habe ich schon MPLABX angeschaut und auch ein wenig herumprobiert. Aber derzeit möchte ich  nicht umsatteln. Das Banking ist natürlich nicht gerade geschickt, hält sich aber nach der Initilisierung der MCU-Module/Register iim eigentliche Code-Ablauf in durchaus erträglichen Grenzen.

Mit der Zeit haben sich bei mir eine ganze Anzahl von unterschiedlichen Pic's angesammelt, das  reicht  meinem ersten 16F84 weiter über 16F6... 16F1..  midrange bis zu den 18F... 18F24.... Da ich ja von Deinem bevorzgten Pic18F14K22 gelesen habe, konnte ich es mir nachtürlich inzwischen auch nicht verkneifen mich mit dessen Innenleben zu beschäftigen...

Ich ziehe auch fast nie ein Projekt bis zum fertigen Gerät durch. Mir geht es hauptsächlich um das Verständnis und den Gebrauch der Module sei es Timer, ADC, Comparatoren PWM, Touch. SR-Latch und und und...
Wenn der Testaufbau  meine  Erwartungen erfüllt hat, wird dieser meist auch aufgelöst. Nur wenige Projekt fanden bisher in einem Gehäuse ihren Platz. Das sind z.B.  meine DCF77-Uhr mit dem 16F628, ein Kondensator Kapazitätsmessgert, die Messung des Innenwiderstandes von von  Enzelzellen (Batterien-/Akku). Ein LIPo-Lader ist vor Kurzem fertig geworden, aber ein Gerät lohnt sich für Einzelzellen nicht, da  gibt  es zum Spottpreis break-out Platinchen mit USB-Buchse und speziellem Ladechip.

Heute versuche ich mal einen groben Einblick in die erste Phase der Antriebssteuerung zu geben (vgl. angehängte Pdf-Datei). Anmerkung dazu: Den ASM-Code pflege ich stets  ausführlich zu dokumentieren, teils mit Übernahme des Textes aus dem Datenblatt.
mit Grüßen Ottmar

picass

#9
MPLAB: Ich hatte es kurz angesprochen, möchte nur noch mal darauf hinweisen, dass MPLAB X keineswegs gleich MPLAP X ist. Da hat es ab Version 5.40 nicht nur einen Paradigmen-Wechsel gegeben, da ist quasi eine ganz neue Sprache entstanden. Und die ist aus meiner Sicht verdammich schwer zu erlernen. Den irren Aufwand für solchen Umstieg werde ich mir auf keinen Fall antun. Bis v.5.35 alles paletti, danach Tabula Rasa.

Zitat von: Ottmar in 12.06.2023, 13:38:21 CESTIch ziehe auch fast nie ein Projekt bis zum fertigen Gerät durch.
>:D  >:D

Wenn du in meine Regale mit gesammelter Elektronik aus etlichen Jahrzehnten schauen könntest, würdest du eine Unmenge an Schaltungen finden, aber so gut wie keine mit Gehäuse. Lange Zeit war mein meist gebrauchtes Netzteil in einem Karton untergebracht. Seit einiger Zeit und natürlich für wichtige Anwendungen wie dem Rollladenprojekt finde ich mich aber auch zum Gehäuse-Verbau bereit. In deinen Maintext schaue ich gleich mal rein.
Grüße, picass

vloki

Zitat von: picass in 12.06.2023, 19:00:46 CESTDa hat es ab Version 5.40 nicht nur einen Paradigmen-Wechsel gegeben, da ist quasi eine ganz neue Sprache entstanden.

Na ja, die eigentliche Sprache ist noch absolut die gleiche,
da die Befehle im PIC hardwaremäßig drin sind.
Da kann man durch einen neuen Assembler wenig ändern.

Drumherum, mit Anlegen von Variablen, Interruptvektoren, usw. dann schon.
Nervig, kann man sich aber mit etwas Willen schnell aneignen ;-)

Am meisten hat mich gestört, dass es die Templates nicht mehr/noch_nicht gibt.
Dann wäre der Umstieg ein Klacks...

Zitat von: Ottmar in 10.06.2023, 11:06:29 CESTHallo zusammen!
Hat jemand Lust mit mir die programmiertechnische Problemstellung eines RobotCars per MPLAB-Assembler anzugehen?
Vielleicht ist jemand auch damit beschäftigt oder interessiert, wobei nur der letzte Anstoß zur Verwirklichung fehlt?

Hier eine knappe Übersicht

Artikel-Nr.: ROBOT CAR KIT 01 (z.B. Reichelt)
...
Interessant, wenn ich gerade etwas mehr Zeit hätte,
könnte ich mir das auch vorstellen.

Wir benutzen solche Bausätze auch für erste Studierendenprojekte und
hier liegen einige davon rum ;-)

Kaufen tue ich die normalerweise hier:
https://www.roboter-bausatz.de/p/bausatz-4wd-smart-car-chassis-fuer-roboter

Meist allerdings diese (bekommt man gelegentlich für unter 6€)
https://www.roboter-bausatz.de/p/yourdroid-2wd-smart-car-chassis-fuer-diy-roboter
MPLABX  XC8  KiCAD

^Cobra

Nur mal in den Raum geworfen:
Solltest du Teile brauchen, ich kann mein 3D Drucker als Arbeitstier anbieten. Aber bitte nicht erwarten das ich 20 mal Drucke bis es Top aussieht, bin mehr der "es muss Funktionieren" Mensch. Wenn ein Zahnrad alle Zähne hat reicht mir das meist erstmal :P

Wenn ich die Zeit hätte würde ich vermutlich den Robi komplett selbst Drucken, die Platine Fräsen (ich habe immernoch
keine gefräst seit dem Umbau) und natürlich das Programm schreiben.
Aber wie das so ist kommt die Arbeit, Kinder,Haus,Garten usw. und dann siehts im Moment schlecht aus mit der freien Zeit.

Gruß

Cobraschock

picass

#12
Sehe ich das richtig, dass die Steuerung des Cars über Fernsteuerung erfolgen soll und das vom PC aus? Oder gibt es da 'ne App fürs Smartphone?

Jetzt kommt das, was ich selbst bei einigen meiner früheren Projekte, für die ich irgendeine Detailfrage hatte, bisweilen wenig schätzte: Keine Antwort auf meine Frage, stattdessen eine Replik wie solche: "Warum machst du es nicht (ganz) anders?"
Aus meiner Sicht erscheint mir die Beherrschung von gleich vier Motoren und das via Assembler als sehr aufwendig, zumal jeder Mot gleich zwei Funktionen ausführen muss: Antrieb und "Mithilfe" bei der Steuerung. Ein Motor an der Hinterachse und ein Servo vorne für die Steuerung wäre für mich leichter überschaubar.
Grüße, picass

Ottmar

Hallo zusammen,
freut mich daß einige aus dem Forum Interesse an meinem Projekt RoboCar zeigen. Nun Ja, den Bausatz habe ich nunmal schon erworben und es wird wohl auch kein Nachfolgermodell geben. Ich bleibe auch wenigstens für dieses Mal noch bei MPLAB 8.92.

@Cobraschock
Danke für das Angebot, aber alle benötigen Teile habe ich schon beisammen.

@picass
Gesteuert wird per Bluetooth und mit dem Smartphone. Bis jetzt bin ich bei der App "Arduino bluetooth" gelandet, welche aber nicht  unbedingt das Gelbe vom Ei ist. Es ist auch nicht beabsichtigt, alle 4 Motoren einzeln anzusteuern. Wie schon mal gesagt, die Motoren der Linken Seite haben gemeinsam ihre eigene PWL4 und die Motoren der rechten Seite ihre eigene PWL5.
Zitat von: picass in 14.06.2023, 09:58:39 CESTJetzt kommt das, was ich selbst bei einigen meiner früheren Projekte, für die ich irgendeine Detailfrage hatte, bisweilen wenig schätzte: Keine Antwort auf meine Frage, stattdessen eine Replik wie solche: "Warum machst du es nicht (ganz) anders?"
Welche Frage an mich war das?

Derzeitiger Stand: Die erste Erprobung der Motorsteuerung war ein Erfolg, also vor und zurück, ebenso die Einstellung des Duty Cycle, um die Motoren mal langsam, mal schneller laufen zu lassen.

Derzeit tüftele ich an der Steuerlogik.
Meine App gibt bei jedem Tastendruck nur einen Steuerbefehl in Form eines einzelnen ASCII-Zeichen aus, leider nicht als stream.
F = Vorrwärts, B = Rückwärts , L =Links, R=Rechts, S=STOP, + = schneller, - = langsamer

Die Logik muss etwa so aussehen, wobei stets das aktuelle Zeichen mit dem vorhergehenden kombiniert
wird.
Also 
F F  Vorwärts (2x Taste vorwärts)
F+L  Vorwärts Linkskurve (+ Taste L)
F+R  Vorwärts Rechtskurve(+ Taste R)
B    STOP (vom Programm) kein schlagartiges Umschalten Vor-Rück
B+B  Rückwärts
B+L  Vorwärts Linkskurve
B+R  Vorwärts Rechtskurve
F    STOP kein schlagartiges Umschalten Vor-Rück
Das Alles und und... soll auf einem HD44780-LCD Monitor dargestellt werden.

Bis dahin also voraussichtlich ein ziemlich ruckhaftes Fahrverhalten beim Richtungswechsel. Wenn es mir zu dumm wird komme ich wohl um eine 2-Knüppel-Fernsteuerung nicht herum (Gehäuse mit Bluethoothmodul und MCU). Der Knüppelweg läßt sich ja relativ einfach per ADC auslesen, braucht halt für simultanes Steuern 3 ADC-channels und mehr Rechenarbeit für die MCU (fosc=16MHz).

Zur Zeit kommt mir das schöne Wetter voll in die Quere 8) ... aber es regnet auch bestimmt mal wieder.

Mit Grüßen Ottmar

pic18

#14
Hallo, ich kann Dir hier nur bei der "Feinarbeit" helfen.

ZitatB+L  Vorwärts Linkskurve
B+R  Vorwärts Rechtskurve
ist dir da ein Fehler unterlaufen, müßte es nicht rückwärts Rechts- bzw. Linkskurve heissen?

Zitatdieses Mal noch bei MPLAB 8.92
Man kann auch bei MPLAB-X den alten Compiler installieren. Das mache ich, da ich tausende Seiten Text nicht überarbeiten möchte.

Viele Grüße
pic18 aus St. Peter-Ording

picass

Zitat von: Ottmar in 14.06.2023, 23:59:39 CESTWelche Frage an mich war das?
Eher keine Frage, sondern der Hinweis, dass aus meiner Sicht die Steuerung eines Fahrzeugs mit "echter" Lenkung wesentlich einfacher handzuhaben wäre. Man sieht es ja auch an dem von dir genannten ruckhaften Verhalten: so steuern Panzer. Das mag heutzutage - z.B. bei den "Leo's" - mithilfe von Elektronik auch feinfühlig ablaufen, aber ohne die würde nur "geruckt". Aber du hast dich ja für die eine Version entschieden, und es ist mitnichten meine Absicht, dich von deinem Weg abbringen zu wollen.
Guter Erfolg bei deinen weiteren Arbeiten! :)
Grüße, picass

Ottmar

RoboCar Info 02 Erste Ergebnisse

Hallo,
heute mal ein kleine Info wie es bei mir dem dem RobCar inzwischen weitergegangen ist.

Zur Steuerung ist die App "Bluetooth CAR Controller" (Andi)die bis jetzt am besten geeignete App, welche mir in die Hände gefallen ist. Zur App gibt es ein Video auf Youtube, das Vieles, was beim ersten Blick nicht ganz einsichtig ist erklärt.Fahrtrichtung Kurven drehen aufder Stelle läßt sich alles machen. Leider ist die Geschwindigkeit nur mit einem etwas ungeschickt winzigen Touch-Schieberegler einzustellen.

MCU ist jetzt PIC16F1936
Von den 4 PWM-Modulen verwende ich PWM4 und PWM5 die Initialisierung von PWM ist im Datenblatt  gut erklärt. Leider beginnen die Motoren (die Räder) erst ab Duty Cycle (DC) ca 50% (f=7,8kHz) zu drehen.

Bluetooth Modul HC-05
Ein recht einfache zu handhabendes Teil, mit dem ich schon auf dem Arduno etwas rumgespielt habe. Sehr einfach anzuschließen. Allerdings verwende ich derzeit mur den Tx-Pin, da ich (noch) nicht weiß wie ich von dem Modul Daten auf mein Smartphone bekommen soll.

EUSART
Das schrecklich kompliziert Wort, welches hinter der Abkürzung steht, spare ich mir. Der Empfang von Kommandos aus der App  mit 9600 Baud ist nach Datenblatt rasch eingerichtet, wenn man weiß, dass auf jeden Befehl für eine Fahrrichtung, z.B. "F" (vorwärts) beim Loslassen sofort ein "S" (Stop) gesendet wird.

Kommando-Auswertung
Dies geschicht recht einfach, z.B. "B"(rückwärts) wobei das "B" als Ascii-Wert aus dem Register "RCREG" z.B. in "tmpRCREG" gelesen werden kann (prinzipielless Vorgehen):

movlw "B" ;Kommando für Rückwärts
xorwf tmpRCREG,w
btfss STATUS,Z
GOTO cmd_L      ;Auswertung ob "L" (LEFT) auszufürhen ist
BANKSEL PWM_LAT
bcf  PWM_LAT,EN1 ;schaltet linke Moorgruppe auf vorwärts 
bsf  PWM_LAT,EN2
bcf PWM_LAT,EN3 ;schaltet  rechte Motorgruppe vorwärts
bsf PWM,LAT,EN4
BANKSEL 0

cmd_L:
 movlw "B" .......


Hinderniserkennung
Seitlich werden IR-Module verwendet, deren Ausgang ab einer mittels Poti einstellbaren Entfernung zum seitlichen Hindernis auf LOW geht
Das Modul HC-SR05 ist einfach zu handhaben. Neben der Versorgungsspannung ist noch der Anschluss TRIGGER und ECHO vorhanden. TRIG wird für  mindesstens 11 us auf HIGH gelegt

Danach sendet das Modul einen US-Burst. Der ECHO-Pin geht dabei gleichzeitig auf HIGh. Sogleich wird dann z.B. der 16Bit-TMR1 gestartet und sobald ECHO=LOW ist, angehalten.

Angenommen fosc der MCU sei 8MHz dann ist der TMR1-Takt fosc/4 = 2MHz, Periodendauer = 0,5us. TMR1 = 2500
Die Entfernung zum Hindernis errechnet sich dann einfach:
Entfernung = 343m/s * 2500 * 5^-7s / 2 = 0,21m

Auf einem LCD 4x20 werden dann alle interessanten Daten ausgegeben:
Empfanges Kommando,
Duty Cycle Antrieb rechts, links
Entfernung zum voraus befindlichen Hindernis,
Info zu Hindernissen rechts/links
Spannung der Antriebsbatterie.

Soweit der derzeitige Stand.

mit Grüßen Ottmar

picass

Es sieht so aus, als ob du sehr fleißig gewesen bist!

Zitat von: Ottmar in 29.06.2023, 23:28:46 CESTRoboCar Info 02 Erste Ergebnisse
.Fahrtrichtung Kurven drehen aufder Stelle läßt sich alles machen. Leider ist die Geschwindigkeit nur mit einem etwas ungeschickt winzigen Touch-Schieberegler einzustellen.
Drehen auf der Stelle....., sag ich doch: der Antrieb wie ein Panzer. Aber.... .... mit Verlaub:
wenn der auf der Stelle dreht, was passiert mit den furchtbar vielen Käbelchen, welche in das Steckbrett führen? An dem hängt ja auch noch Diverses! Und Stichwort "Geschwindigkeitsregelung": was passiert, wenn der dann auch noch Fahrt aufnimmt?
Grüße, picass

Ottmar

Hi Picass
???... ??? das Steckbrett mit seinen Verbindungen zum Car ist doch nur, um noch Änderungen vornehmen zu können. Natürlich bekommt die Schaltung auch eine Platine und ihr zuhause auf dem Chassis des Cars. Hi, :) hi,hi - kleiner Schelm :-\ ? wolltest mich wohl ein wenig auf den Arm nehmen?
Zum Trost: bin auch kurz davor die Platine (ohne rumhängende Leitungen) anzufertigen.

Auf der Stelle drehen, ja, sieht eben robotermäßig aus. Die App erlaubt auch die Funktion Fahrt + links-/rechts abbiegen. Leider nicht analog. Behelfslösung funkioniert an der aufgebockten Chassis: Fahrt voraus, zum Abbiegen nach links/rechts am innenliegenden Antrieb PWM ums z.B. 50% verringern, PWM am außenliegenden Antrieb beibehalten -> kurven

Cmd_Evaluate:
; Switches the motors for the selected direction/cornering
...
cmd_eval_G:                ;KURVE vorw. LINKS Drive 5 halbe Geschwindigkeit     
   movlw    "G"            ;FORW+LEFT
   xorwf    tmpRCREG,w
   btfss    STATUS,Z
   GOTO     cmd_eval_I     ;Rechtskurve
   ;
   movf     DC5,w          ;eingestellte Fahrgeschwindigkeit
   rrf      tmpDC5,f       ;temporär PWM5 auf 50% von PWM4
   movf     tmpDC5,w       ;ins WREG
   BANKSEL  CCPR5L         
   movwf    CCPR5L         ;an ANTRIEB zuweisen
   BANKSEL  0
   ;
   movlw    b'00000101'    ;b7:4=0000  b3:0 = EN3:0 = 0101 
   GOTO     cmd_drive_Y    ;Motoren vorwärts Antr.re 50%
   ;
...
   RETURN


Aber ein von mir mit Bluetoooth zu versehener Nintendo-nunchuck (Einhand-Joystick) +HC-05+MCU müßte es möglich machen, beide Antriebsseiten unabhängig voneinander mit unterschiedlichem PWM analog zur X-Y-Potistellung anzusteuern. Habe das schon mit 'nem Mini-Joystick (kabelverbunden) erfolgreich experimentiert... aber eines nach dem anderen...

Grüße Ottmar

picass

Zitat von: Ottmar in 30.06.2023, 22:42:04 CEST.......Behelfslösung funkioniert an der aufgebockten Chassis....
Nix! Weder Kleiner noch Großer! Du hattest vergessen, das Aufbocken zu erwähnen. Und genau darauf wollte ich raus und gehe nach wie vor davon aus, dass dieses Car mit den vielen abreiss-gefährdeten Kabelverbindungen eben noch keinen realen, sondern nur einen virtuellen Return ausgeführt hat. Was in der Theorie funktioniert, kann in der Praxis unangenehme Überraschungen bereit halten. Da wären - nur als Beispiel - die Fragen, was der Untergrund zu den Drehmanövern sagt und ob der Anpressdruck und die Auflagefläche der Räder auch gleich ist.
Grüße, picass

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau