Forum: Mikrocontroller und Digitale Elektronik Scheibenwischer mit Bascom


von Claude B. (claude44)


Lesenswert?

Guten Tag an Alle.

Ich habe meine Scheiben wischer mit Bascom Programiert. Scheinbar 
Funktioniere. Ich habe der Motor noch nicht an.

Dieser Motor hatt 2 Geschwidigkeiten, er hat ausserden ein Schleife 
zieht auf mass für jede Umdrehung der wiescher( nicht der Motor)

Ich habe mit ein 4 Stufige Schalter folgend erreicht
Position 0 Motor Aus
Position 1 Kleine Stufe mit Pause von 2 Sekunden + ein LED1 als Kontrol
Position 2 Kleine Geschwimdigkeite, Ohne LED1, ohne Paude
Position 3 Grosse Geschwindigkeite, Ohne LED1, ohne Pause.

Der Motor wird dann nur ausgeschaltet bein anliegen der Schleife auf 
Masse.

In Position 1 also mit pause ich simuliere der schleife mit ein Taster, 
nun startet mein motor bein Loslassen der Taste, das bedeutet dass der 
Motor schon Laufen soll, wie kanne ich es regeln

ich habe mir gedacht, die Flanke zu überwachen, und dann die Schleife 
ignoirieren, Wie?

Kann mir jemand helfen?

und Hier die Software

'                              ATtiny 2313 Bas
'                                 _______
'                                /         |
'               (Reset/dW) PA2 o|  1    20 |o VCC
'   Alternance       (RXD) PD0 o|  2    19 |o PB7 (UCSK/SCL/PCINT7)
'   Position 1       (TXT) PD1 o|  3    18 |o PB6 (MISO/DO/PCINT6)
'                  (XTAL2) PA1 o|  4    17 |o PB5 (MOSI/DI/SDA/PCINT5)
'                  (XTAL1) PA2 o|  5    16 |o PB4 (OC1B/PCINT4)
'   Position 2     (/INT0) PD2 o|  6    15 |o PB3 (OC1A/PCINT3)
'                   (INT1) PD3 o|  7    14 |o PB2 (OC0A/PCINT2) 
Motor2
'    Schleife         (T0) PD4 o|  8    13 |o PB1 (AIN1/PCINT1) 
Motor1
'                (OC0B/T1) PD5 o|  9    12 |o PB0 (AIN0/PCINT0)    LED1
'                          GND o| 10    11 |o PD6 (ICP)
'                               |__________|

';

' ************************************************
'   Kommande ein Scheibenwischer
'   2 Geschwindigkeiten,
'   er Besitzt ein Schleife zieht auf 0 für
'     Jeder Umdrehung
'   Schalter mit 4 Position
'     1 Zero, Arret total
'     2 Position Langsam mit Pause von 2 Sekunden
'     3 Position Langsam ohne Pause
'     4 Schnell ohn Pause
'
'  1. Im Position Alternance, wird der Motor mit
'  klein Geschwindigkeiten gestartet  und als Gadjet
'  ein LED eingeschaltet um zu signaliesieren dieser
'  Position. Beim Verlassen diesen Position wird dem
'  Motor nur dann Ausgeschaltet wenn die Schleife auf
'  0 steht um die Seiten Position zu gewerleisten
'
'  2. Position wird die Klein Geschwindigkeite ohne
'  Pause eingeschaltet Beim Verlassen diesen Position wird dem
'  Motor nur dann Ausgeschaltet wenn die Schleife auf
'  0 steht um die Seiten Position zu gewerleisten
'
'  3. Position wird die Grosse Geschwindigkeite ohne
'  Pause eingeschaltet Beim Verlassen diesen Position wird dem
'  Motor nur dann Ausgeschaltet wenn die Schleife auf
'  0 steht um die Seiten Position zu gewerleisten


$regfile = "2313def.dat"
$crystal = 4000000       ' unkritisch
$hwstack = 40
$swstack = 16
$framesize = 32

'***********************
'        Konstanten
'***********************

Const On = 0       ' Einschalten auf 0
Const Off = 1       ' Auschalten auf 1


    '*******************************
    '     Ausgänge Configuration
    '*******************************


Motor1 Alias Portb.1       'Motor Ausgänge
Config Portb.1 = Output

Motor2 Alias Portb.2
Config Portb.2 = Output

Led1 Alias Portb.0       ' LED für Alternance kontroll
Config Portb.0 = Output

    '*****************************
    '    Eingänge Configuration
    '*****************************

Schleife Alias Pind.4       ' Schleifen auf 0
Config Pind.4 = Input
Portd.4 = 1       ' Pullup

Position1 Alias Pind.1       ' Schalter Position 2
Config Pind.1 = Input
Portd.1 = 1       ' Pull Up


Alternance Alias Pind.0       ' Schalter position 1
Config Pind.0 = Input
Portd.0 = 1       'Pull Up

Position2 Alias Pind.2       ' Schalter position 3
Config Pind.2 = Input
Portd.2 = 1       ' Pull Up





Schalter Alias Portd       ' Porte D

Portb = &HFF       ' Alle Port auschalten

'           ********************************
'                  Start der Programm
'           ********************************


Do
         If Position1 = 0 Then       ' Klein gewiswindigkeit Abfrage
            Motor1 = On
            Motor2 = Off
            Led1 = Off
         Elseif Position1 = 1 And Schleife = 0 Then
            Motor1 = Off
            Motor2 = Off
            Led1 = Off
         End If

         If Position2 = 0 Then       'Grosse Geshwindigkeite Abfrage
            Motor1 = Off
            Motor2 = On
            Led1 = Off
         Elseif Position2 = 1 And Schleife = 0 Then
            Motor1 = Off
            Motor2 = Off
            Led1 = Off
         End If

         If Alternance = 0 Then       ' Aternance Abfrage
            Motor1 = On
               If Schleife = 0 Then
                  Motor1 = Off
                  Wait 2
                  Motor1 = On
               End If
            Motor2 = Off
            Led1 = On
         Elseif Alternance = 1 And Schleife = 0 Then
            Motor1 = Off       ' Position auf 0, Ausgeschaltet
            Motor2 = Off
            Led1 = Off
         End If
Loop

End
Claude

: Verschoben durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Kann mir jemand helfen?

 Ja.
 Hier, das sollte gehen.

 P.S.
 Es ist keine gute Idee "On" und "Off" als Konstanten zu deklarieren.
 Bascom und viele andere Compiler benutzen diese, es kann leicht zu
 Konflikten kommen.
 Deswegen habe ich es als "Ein" und "Aus" deklariert.

 P.P.S.
 Du kannst Sub Rut_alt() so ändern:
1
Sub Rut_alt()
2
    Motor2 = Aus         '* Als Sicherheit
3
    Motor1 = Ein
4
    Led1 = Ein
5
    Wait 2
6
    Motor1 = Aus
7
    Motor2 = Ein
8
    AlterFlag = 1
9
EndSub

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Vielen Dank für Dein Antworte,

Kannst du mir bitte noch erklären wie das funktioniert, es ist mein 1. 
Programm in Bascom, un viele kenn eic nicht
Danke noch
Claude

von Claude B. (claude44)


Lesenswert?

Nochmal,

die Schalter sind kein Schalter in Sinn, aber richtige Schleifer, muss 
ich trotzdem entprellen?
Claude

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Kannst du mir bitte noch erklären wie das funktioniert, es ist mein 1.
> Programm in Bascom, un viele kenn eic nicht

 Ich dachte, es ist leicht zu verstehen.
 Wenn etwas konkretes nicht klar ist, kannst ruhig fragen, aber besser
 erklären kann ich es nicht.

Claude B. schrieb:
> die Schalter sind kein Schalter in Sinn, aber richtige Schleifer, muss
> ich trotzdem entprellen?

 Schalter und Taster muss man schon entprellen, Schleifer nicht.
 30ms Delay merkt dein Programm überhaupt nicht, kein Problem.


 Hier ist das Programm nochmal, diesmal besser kommentiert
 (ich hoffe es).

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Einschuldigung, ich habe mich bestimmt falsch ausgedruckte.

Die Alternance soll so Ablaufen.

1 der schalter muss in Position 1 sein
Motor 1 einschalten,
LED1 Einschalten,
wenn Schleifen (Noset) auf 0,
  dann Motor 1 aus
  Warten 2 sekunden
  Motor 1 wieder einschalten
un das so lange wie der Schalter in Position 1 Steht
bein Auschalten oder einschalten ein neue Position
wenn dann die Schleife (Noset) auf 0 steht dann und nur dann
Motor 1 Aus
Led1 Aus.

In grunde, jede Position der Schalter schaltet die andere aus, so bald 
der
Schleifer(Noset) auf 0 steht und der Schalter auf 1

Ich konnte nicht verstehen, weil du hastgeschrieben
Sub Rut_alt()
    Motor1 = Ein      (OK)
    Led1 = Ein        (OK)
    Wait 2            (Nein, erst abschalen, dann Wait2)
    Motor1 = Aus      (Nein, Motor 1 ein)
    Motor2 = Ein      (Nein, Motor 2 aus)
    AlterFlag = 1
und ich kann nicht verstehen, wie die Flage (noset)
aktiwirt bzw desaktiwirt werden.

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Die Alternance soll so Ablaufen.

 Hier, geändert.
 Ohne Flags.

von Claude B. (claude44)


Lesenswert?

Danke Marc Vesely für Dein Idee, es funktioniere in grund wie geplan.
Des schleifer 1. auf 0 dann kann gestartet werden, (Problemen kann es 
geben wenn der schleifer nicht das steht, nach reparature oder so was) 
wenn des schleifer zurück komme wird dann ausgeschaltet, und dann nach 
wait wieder eingeschaltet.
für die andere Stufen, Startet wenn Schleifer auf 0, und ausgeschaltet 
wenn der Schleifer zurück kommt

Noch mal Vielen Danke.
Wenn du mir noch erklären kann?, wie funktioniere die Whil-wen Shleife
, das wurde ich dann super finden
Noch mal Danke
Claude

von Eric B. (beric)


Lesenswert?

Rut_alt kann man noch eindampfen. Das hier sollte reichen:
1
Sub Rut_alt()
2
  Led1 = Ein              '* LED On
3
  Motor1 = Ein            '* Langsam Ein
4
  While Schleife = Ein    '* Warten, bis Schleifer aus der EndPosition raus ist
5
  Wend
6
  Gosub Rut_stop          '* Alles ausschalten
7
  Wait 2                  '* 2 sek warten
8
End Sub

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Eric B. schrieb:
> Rut_alt kann man noch eindampfen. Das hier sollte reichen:

 Und LED1 ?
 Die darf nicht ausgeschaltet werden.

von Claude B. (claude44)


Lesenswert?

In Position Alternante, bleibe die LED1 as control an (Gadjet) wir aber 
aus in alle andere Positionen

Nun es funktioniert wie ewartet ich werde weichenlich nix endern. Ich 
vorbrreitet das gleich in ASM, Wenn man nicht zu tun habe, man such sich 
Beschäftigung
Claude

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Wenn du mir noch erklären kann?, wie funktioniere die Whil-wen Shleife
> , das wurde ich dann super finden

 LOL.
1
 While-{pendant que}   (Bedingung-{condition}  =  wahr-{vrai})
2
   Tu etwas-{faire quelque chose}
3
 Wend-{fin}

 Gibt es in Frankreich keine Literatur über BASIC ? ;-)

von Claude B. (claude44)


Lesenswert?

Ich wollte Mark beanworten,

Es ist schwirig, etwas zu finden in Frankreich, scheinbar wird fast nur 
mit Arduino gearbeitet.

Jetzt klein rückmeldung für die Einsatz im real time der 
Scheibenwischer, ich beobachtet folgende fehler.
1. Startet der Motor nur mit hilfe ein Taster paralele zu Schleife
2. im Alternance Modus, Startet der Motor nach sein Pause nicht immer 
wieder, es wird sofort in Pause versetzt wird ein 2. oder Mehr Pause 
geschaltet bis es eindlich wieder los geht, ein Probleme der Schleife 
denke ich

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> 1. Startet der Motor nur mit hilfe ein Taster paralele zu Schleife

 Kann nur im Alternance Modus passieren.

> 2. im Alternance Modus, Startet der Motor nach sein Pause nicht immer
> wieder, es wird sofort in Pause versetzt wird ein 2. oder Mehr Pause
> geschaltet bis es eindlich wieder los geht,

 Das wird dein prellender Schleifer sein, denke ich.
 Kann auch ein schlechter Kontakt sein...

 Wie lange dauert eine Umdrehung in Position 1 ?
 Wie breit ist die Endposition ?

 Ein Foto von der Scheibe und Schleifer wäre auch nicht schlecht.

: Bearbeitet durch User
von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Probier mal dies.
* LED ist bei "Alternate" an
* Modus kann zu jeder Zeit geändert werden
* Mit ein bisschen Glück fängt die 10ms in der Hauptschleife das prellen 
ab

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Eric B. schrieb:
> Probier mal dies.
> * LED ist bei "Alternate" an

Ja

> * Modus kann zu jeder Zeit geändert werden
OK.

> * Mit ein bisschen Glück fängt die 10ms in der Hauptschleife das prellen
> ab

Die Schleife kann nicht prellen,
Das beigefügte programm funktioniert nicht

Ausser die Fehler doppelte belegung, et schaltet nicht die LED, und 
keine Alternance, und und.


Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum: 2016-07-08 16:54 schrieb,
"Das wird dein prellender Schleifer sein, denke ich.
 Kann auch ein schlechter Kontakt sein..."

Villeicht ein Schlecht kontakt

 Wie lange dauert eine Umdrehung in Position 1 ?
 Wie breit ist die Endposition ?

Dauer einer Runde ca 1 Sekunde
die Endposition ist 1 cm breit

Ein Foto von der Scheibe und Schleifer wäre auch nicht schlecht.

Ich hofe das mein Bild da ist

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Villeicht ein Schlecht kontakt

 Probiere das mal:
1
Sub Rut_alt()
2
  Led1 = Ein                                              '* LED On
3
  Motor1 = Ein                                            '* Langsam Ein
4
  Waitms 150      '** Evtl. aendern +/-
5
  While Alternance = Ein
6
    Motor1 = Ein                                            '* Langsam Ein
7
    Waitms 150      '** Evtl. aendern +/-
8
    While Schleife = Ein            '* Warten, bis Schleifer aus der EndPosition raus ist
9
      Waitms 20      '** Evtl. aendern +/-
10
    Wend
11
    Waitms 20      '** Evtl. aendern +/-
12
    While Schleife <> Ein            '* Warten, bis Schleifer EndPosition erreicht
13
    Wend
14
    Motor1 = Aus
15
    Wait 2                                                  '* 2 sec warten
16
  Wend
17
  Gosub Rut_stop                                            '* Alles ausschalten
18
End Sub

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Eric B. schrieb:
>> Probier mal dies.
>> * LED ist bei "Alternate" an
>
> Ja
>
>> * Modus kann zu jeder Zeit geändert werden
> OK.
>
>> * Mit ein bisschen Glück fängt die 10ms in der Hauptschleife das prellen
>> ab
>
> Die Schleife kann nicht prellen,
> Das beigefügte programm funktioniert nicht

Und was genau funktioniert nicht?

> Ausser die Fehler doppelte belegung,

Welche Fehler? Welche doppelte Belegung?

> et schaltet nicht die LED,

Was heisst dann da oben das "Ja"?

> und keine Alternance,

Was meinst du dann weiter oben mit "OK"?

> und und.

Und und? Und was?

Hast du überhaupt versucht das Programm gelesen und zu verstehen? Ein 
bisschen Eigenleistung darf da schon reingebracht werden.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
> Datum: 2016-07-08 16:54 schrieb,
                    ?????
 Wo bist du denn überhaupt ?
 Burma, Vietnam, Thailand ?

von Claude B. (claude44)


Lesenswert?

Eric B. schrieb:
> Claude B. schrieb:
>> Eric B. schrieb:
>>> Probier mal dies.
>>> * LED ist bei "Alternate" an
>>
>> Ja

Ja soll an gehen
>>
>>> * Modus kann zu jeder Zeit geändert werden
>> OK.
>>
>>> * Mit ein bisschen Glück fängt die 10ms in der Hauptschleife das prellen
>>> ab
>>
>> Die Schleife kann nicht prellen,
>> Das beigefügte programm funktioniert nicht
>
> Und was genau funktioniert nicht?
Die Alternance will nicht starten

>
>> Ausser die Fehler doppelte belegung,
>
> Welche Fehler? Welche doppelte Belegung?
Mehrere if Anweisungen ohne Then
Motorslow bzw Motorfast als sub und Ausgänge belegt
>
>> et schaltet nicht die LED,
>
> Was heisst dann da oben das "Ja"?
Ja, so soll das sein
>
>> und keine Alternance,

>
> Was meinst du dann weiter oben mit "OK"?

Dass natürlich in jede moment gehändert werden kann
>
>> und und.
>
> Und und? Und was?
es funktioniert nicht.
>
> Hast du überhaupt versucht das Programm gelesen und zu verstehen? Ein
> bisschen Eigenleistung darf da schon reingebracht werden.

Ist es sicher,ich habe gelesen, korrigiert und getestet. sonst hätte ich 
die Fehlern nicht gefunden. Aber ich soll die Alternance sektion total 
ändern, und das war doch mein Probleme.

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Aber ich soll die Alternance sektion total
> ändern, und das war doch mein Probleme.

Was passiert denn wenn du auf Alternierend schaltest?
Geht wenigstens die LED an? Funktionieren die andere Zuständen?

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Eric B. schrieb:
> Claude B. schrieb:
>> Aber ich soll die Alternance sektion total
>> ändern, und das war doch mein Probleme.
>
> Was passiert denn wenn du auf Alternierend schaltest?
> Geht wenigstens die LED an? Funktionieren die andere Zuständen?

Beim Sart wie erwartet LED und Motor an , beim erreichen der 
Endschleife, Motor aus, und bleibe aus. kein Alternance
die Andere Stuffe funktionieren, aber wenn ich jetzt noch mal auf 
Alternance umschaltet, der Motor geht nicht an, die LED bleibe an, mit 
oder ohne Schleife, um der Start zustand wieder zu bekommen, ich muss 
auschalten(power Seite, Reset nutzt nicht).

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Beim Sart wie erwartet LED und Motor an , beim erreichen der
> Endschleife, Motor aus, und bleibe aus. kein Alternance

 Und funktioniert die geänderte Routine von mir ?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Und wo befindest du dich genau ?

von Claude B. (claude44)


Lesenswert?

Marc V. schrieb:
> Und wo befindest du dich genau ?

Auf der Philippines
Spiel das ein Rolle?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Spiel das ein Rolle?

 Natürlich nicht, wollte es nur wissen.

 Funktioniert die geänderte Routine ?

von Paul B. (paul_baumann)


Lesenswert?

Claude B. schrieb:
> Auf der Philippines
> Spiel das ein Rolle?

Marc V. schrieb:
> Natürlich nicht, wollte es nur wissen.

Naja doch: Wenn er in der Atacama-Wüste wäre, brauchte er keine 
Scheibenwischer-Intervallschaltung.
:)
MfG Paul

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Paul B. schrieb:
> Naja doch: Wenn er in der Atacama-Wüste wäre, brauchte er keine
> Scheibenwischer-Intervallschaltung.
> :)

 Nö, haut nicht hin - er ist +6 Stunden, also Asien.
 Aber in Gobi bräuchte er sowas auch nicht :-)

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Also wir haben regenzeit, ich brauch doch ich habe ein Jeep, Edelsthal 
und ich möchte ein Wiescher von Mercedez dass ich geschenk bekommen 
habe. und dass ich ein Anfänger mit AVR bin wollte ich auch davon 
lernen. natürlich, ich kann ein fertig Stück kaufen, aber warum soll ich 
noch die verschiedene AVR chips kaufen?

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Also wir haben regenzeit, ich brauch doch ich habe ein Jeep, Edelsthal
> und ich möchte ein Wiescher von Mercedez dass ich geschenk bekommen

 Und noch einmal:
 Funktioniert die neue Alternance Routine jetzt ?

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Autor: Marc Vesely

So wie du mir der 1. Programm korrigiert hast, läuft einigemass,

Wie ich schon geschrieben habe, Problemen gibt es noch mit  die 
Schleife, beim abschalten bleibe die LED an wird ausgeschaltet durch ein 
Parallele taster zur Schleife. Die Schleife geht über ihrer Punkt inaus. 
Startet auch nicht mehr ohne der Taster zu betätigen.
Ich muss ein Weg finden, zu starten ohne Schleife, oder fruhe 
abschalten, gibt es die Möglichkeit in falende oder steigende Flag zu 
Reagieren?. Vielleicht hilf das?.

Ich find dein Erklärungen schon supper, ich bin nur ein bisschen shwer
Danke für Dein Vorschläge, ich habe schon viel dazu gelernt
Claude

von Conny G. (conny_g)


Lesenswert?

Da gibt's keinen TÜV auf den Philippinen, oder? :-))

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Conny G. schrieb:
> Da gibt's keinen TÜV auf den Philippinen, oder? :-))

Leider nein man muss mal sehen in welche Zustand sie fahren
ich habe ein Bild gepostet, so ein habe ich, aber nicht dieser Voll 
Edelstahl

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Claude B. schrieb:
> Conny G. schrieb:
>> Da gibt's keinen TÜV auf den Philippinen, oder? :-))
>
> Leider nein man muss mal sehen in welche Zustand sie fahren
> ich habe ein Bild gepostet, so ein habe ich, aber nicht dieser Voll
> Edelstahl

Herrlich!! :-)

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Die Schleife geht über ihrer Punkt inaus.

 Ich glaube, dass das Trägheit oder inertia ist, da kann man nichts
 machen, ausser vielleicht Endposition etwas breiter machen, also
 statt 1cm auf 3-5cm verbreitern.
 Oder Motor bremsen, aber dazu muss man den umschalten, sind 2
 zusätzliche Relais...

> Startet auch nicht mehr ohne der Taster zu betätigen.
  Jetzt sollte der Motor immer starten.


 Probiere es mal mit angehängtem Programm.

von Claude B. (claude44)


Lesenswert?

Ich wollte trotzdem fragen, ich verstehe nicht ganz die While
in der Sub Rut_alt()

  Led1 = Ein       '                * LED On
  While Alternance = Ein
    Motor1 = Ein       '            * Langsam Ein
    Waitms 50       '               * Kurz warten
    While Schleife = Ein       '    * Warten, bis Schleifer aus der 
EndPosition raus ist
      Waitms 50       '             * noch mal warten
       Wend
       While Schleife <> Ein       '* Warten, bis Schleifer EndPosition 
erreicht
         Wend
         Motor1 = Aus
         Waitms 1000       '        * 2 sec warten
*************************************************
       Wo geht hier das Programm weiter?,
zu WHILE zurück oder zu GOSUB RUT_STOP?
*************************************************
  Wend
  Gosub Rut_stop       '            * Alles ausschalten
End Sub

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> Ich wollte trotzdem fragen, ich verstehe nicht ganz die While
> in der Sub Rut_alt()

 Und ich verstehe nicht wo das herkommt ?

 Ich habe dich schon 3 mal gefragt ob die neue Routine OK ist,
 aber keine Antwort erhalten.

 Jetzt schickst du eine Routine die wiederum ganz anders ist.
 So geht das nicht...

 Entweder du probierst das Programm welches dir jemand schickt,
 genauso wie gepostet und schreibst eine Antwort, etwa so:

 a)   Nein, es geht nicht
 b)   dieses und jenes funktioniert nicht
 c)   Ja, es ist OK

 und dann kann es weitergehen.

 Nicht erst am Programm rumspielen und dann schreiben, dass es nicht
 funktioniert oder nicht so geht wie es gehen soll.

 Also:
 Funktioniert das Programm Wischer1.bas vom: 09.07.2016 ?

von Claude B. (claude44)


Lesenswert?

Sorry, aber das Programm habe ich erste nicht geändert
 ich habe das Programme ausprobiert,der von 9.7.16

1. Startet nur mit Zusatz taster
2. vom Alternance zu Stufe 1, nur mit Hilfe von taster
3. ausschalten die Led geht aus mit Hilfe von taster
4. wenn Ausgeschaltet wird vor Ende, Schaltet dann die led.
4. Teilweise wird die Pause mehr mals hinter ein ander übersprungen auch 
mit Brems
5. teile weise geht der 2. relais(high speed) ganz kurz an.

ich glaube, das Probleme soll die Schleife sein, mit eigene Schwung geht 
der kontack vorbei

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Claude B. schrieb:
> ich habe das Programme ausprobiert,der von 9.7.16
>
> 1. Startet nur mit Zusatz taster
> 2. vom Alternance zu Stufe 1, nur mit Hilfe von taster
> 3. ausschalten die Led geht aus mit Hilfe von taster
> 4. wenn Ausgeschaltet wird vor Ende, Schaltet dann die led.
> 4. Teilweise wird die Pause mehr mals hinter ein ander übersprungen auch
> mit Brems
> 5. teile weise geht der 2. relais(high speed) ganz kurz an.

 Das kann alles nicht sein, ausser deine +12V oder GND für Motor gehen
 auch über Schleifer.


> ich glaube, das Probleme soll die Schleife sein, mit eigene Schwung geht
> der kontack vorbei

 Ja, aber trotzdem muss alles starten.

 Zeichne mal wie das alles angeschlossen ist.

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Marc V. schrieb:

>  Das kann alles nicht sein, ausser deine +12V oder GND für Motor gehen
>  auch über Schleifer.
>
>
>> ich glaube, das Probleme soll die Schleife sein, mit eigene Schwung geht
>> der kontack vorbei
>
>  Ja, aber trotzdem muss alles starten.
>
>  Zeichne mal wie das alles angeschlossen ist.

Ich habe ein Bild angehängt

Ich habe die 12 Volt vom Batterie, mit ein 78L05 reduziert, Natürlich 
ist die Masse gemeinsam

nicht auf die Zeichnung, die Relays sind mit je 2 Transistoren gesteuert

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Ich habe ein Bild angehängt

 OK, wenn das so ist.
 Hier ist etwas mit ULN2803, aber im Prinzip ist es dasselbe.

 Sowohl mit deiner als auch mit meiner Schaltung muss der Motor
 ganz einfach starten, egal wo der Schleifer steht.

 Wenn es mit 1 Umdrehung pro Sekunde stimmt, dann muss die Alternance
 mindestens 1/2 Umdrehung machen.
 Die anderen Routinen können kurz anlaufen und dann halten, falls der
 Schleifer nicht gut ist.

 Auf jeden Fall schmeisse den Schleifer raus und besorge dir einen
 neuen oder reinige die Kontakte gut mit Alkohol.

 Wenn es danach einigermassen geht, können wir es mit Timer1 versuchen,
 anders kriegst du die Alternance nicht vernünftig zum Laufen.

 Aber Schleifer muss ganz einfach einwandfrei sein - gerade und sauber.

von Claude B. (claude44)


Lesenswert?

Marc V. schrieb:
>
>  OK, wenn das so ist.
>  Hier ist etwas mit ULN2803, aber im Prinzip ist es dasselbe.
Ich habe schon daran gedacht, leider habe ich nur ein Doppelt(zusammen 
gelötet) für ein Eisenbahn, aber ich denk schon daran

>
>  Sowohl mit deiner als auch mit meiner Schaltung muss der Motor
>  ganz einfach starten, egal wo der Schleifer steht.

Probe gemacht mit STK500, startet nicht ohne schleifer, und Ausschaltet 
mit 2 mal Schleife, 1 x für der Motor, 1 x für die LED

>
>  Wenn es mit 1 Umdrehung pro Sekunde stimmt, dann muss die Alternance
>  mindestens 1/2 Umdrehung machen.

mal sehen die Umdrehung zu messen

>  Die anderen Routinen können kurz anlaufen und dann halten, falls der
>  Schleifer nicht gut ist.

 die Andere stuffe nur mit Schleife, das wechseln, und das Ausschalten
>
>  Auf jeden Fall schmeisse den Schleifer raus und besorge dir einen
>  neuen oder reinige die Kontakte gut mit Alkohol.

Ich werde mit Reinigung anfangen, ich komme nicht an Ersatzteil ran
>
>  Wenn es danach einigermassen geht, können wir es mit Timer1 versuchen,
>  anders kriegst du die Alternance nicht vernünftig zum Laufen.
OK.
>
>  Aber Schleifer muss ganz einfach einwandfrei sein - gerade und sauber.
OK.

: Bearbeitet durch User
von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Eric B. schrieb:
>> Claude B. schrieb:
>>> Aber ich soll die Alternance sektion total
>>> ändern, und das war doch mein Probleme.
>>
>> Was passiert denn wenn du auf Alternierend schaltest?
>> Geht wenigstens die LED an? Funktionieren die andere Zuständen?
>
> Beim Sart wie erwartet LED und Motor an , beim erreichen der
> Endschleife, Motor aus, und bleibe aus.

Also, ich habe mein Algorithmus noch mal kurz getestet und in Prinzip 
soll es funktonieren. Ich kann es leider nicht direkt testen, da ich 
keine Hardware und kein Bascom habe :-) Das (mitangehüängte) Python 
Programm bildet aber 1:1 die Logic vom Bascom programm nach.

> kein Alternance
> die Andere Stuffe funktionieren, aber wenn ich jetzt noch mal auf
> Alternance umschaltet, der Motor geht nicht an, die LED bleibe an, mit
> oder ohne Schleife, um der Start zustand wieder zu bekommen, ich muss
> auschalten(power Seite, Reset nutzt nicht).

Das klingt als ob sich der uC aufgehängt hat, ich befürchte aber dass du 
da irgendein Harwareproblem hast...

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Autor: Eric B. (beric)
Datum: 2016-07-11 15:36

Guten Abend Eric und villendank für dein Hilfe

Hier ist ein Kopie des Programms Teilweis koriegiert.

1. Die Alternancestuff funktioniert nicht, LED geht an, der Motor beweg 
sich nicht. beim Stuffen wechseln oder ausschalten geht sie aus
2. Motorslov funktioniere einwand frei
3. Motorfast funktioniere einwend frei
4. Der Rückehr von Fast auf slow sowie slow alternance funktionieren 
auch einwend frei

Ich habe gesagt Teilweise koriegierte, weil ich nicht verstanden habe 
der Prinzipe Dein System.

Hardwäre Probleme sind nicht ausgeschlossen, aber nur mit der Wipper die 
sein Position überschläge, aber, das Problem ist mit Dein System 
gelöste, bis jetzt ich konnte kein kontinuirelich funktion haben. Ich 
werde auch meiner Seite die Interwalfunktion zu bekommen.

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Ich habe gesagt Teilweise koriegierte, weil ich nicht verstanden habe
> der Prinzipe Dein System.

Ah, ich habe jetzt gesehen was du mit der doppelte Belegung gemeint 
hast.
Habe ich tatsächlich übersehen.


Das Prinzip des Systems ist eigentlich recht einfach:

Zuerst wird abgefragt ob das Sytem in Alternate Modus ist.
Wenn ja, dann wird die LED angeschaltet und danach geschaut ob der 
Schleifer in der "Home" Position ist.

Ist der Schleifer im "Home", dann wird ein Zähler runtergezählt und der 
Motor so lange angehalten. Ist der Zähler 0, dann wird der Motor wieder 
gestartet.
Falls der Schleifer nicht im "Home" ist, dann wird der Zähler zurück 
gesetzt auf einen hohen Wert, damit der beim nächsten eintreffen des 
Schleifers im "Home" wieder runtergezählt werden kann.

Ich gehe mal davonaus, dass der "Nicht in Alt Modus" Teil dir keine 
Verständnissprobleme besorgt :-)

von Claude B. (claude44)


Lesenswert?

Eric B. schrieb:
> Claude B. schrieb:
>> Ich habe gesagt Teilweise koriegierte, weil ich nicht verstanden habe
>> der Prinzipe Dein System.
>
> Ah, ich habe jetzt gesehen was du mit der doppelte Belegung gemeint
> hast.
> Habe ich tatsächlich übersehen.
Du hast auch 2 THEN vergessen zum Anfang
>
>
> Das Prinzip des Systems ist eigentlich recht einfach:
>
> Zuerst wird abgefragt ob das Sytem in Alternate Modus ist.
> Wenn ja, dann wird die LED angeschaltet und danach geschaut ob der
> Schleifer in der "Home" Position ist.

Wenn nicht schaltet der Motor nicht an, und das ist gerade unsere 
Probleme, zum Anfang, sollt er vielleicht doch laufen um auf der Wipper 
zu warten
>
> Ist der Schleifer im "Home", dann wird ein Zähler runtergezählt und der
> Motor so lange angehalten. Ist der Zähler 0, dann wird der Motor wieder
> gestartet.

2. Umdrehung

> Falls der Schleifer nicht im "Home" ist, dann wird der Zähler zurück
> gesetzt auf einen hohen Wert,

Wie hoch? ich wurde die doch erste Starten

> damit der beim nächsten eintreffen des
> Schleifers im "Home" wieder runtergezählt werden kann.

genau
>
> Ich gehe mal davonaus, dass der "Nicht in Alt Modus" Teil dir keine
> Verständnissprobleme besorgt :-)

Nein, alles OK.


Noch mal Danke für Dein Hilfe

von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:

> Wenn nicht schaltet der Motor nicht an, und das ist gerade unsere
> Probleme, zum Anfang, sollt er vielleicht doch laufen um auf der Wipper
> zu warten

Hm, richtig.

> Wie hoch? ich wurde die doch erste Starten

Auf "ALTWAIT". Das steht doch ziemlich klar im Programmtext.

Letzte Version anbei.
Doppelte Belegung und fehlende Then's sollten jetzt behoben sein.

von Claude B. (claude44)


Lesenswert?

Hallo Eric

Wir sind nahe dran, nur das die pause nur ein Bruchteil vom sekunde ist

in sub Motor_fast, du hatest die beide Motoren an

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Wir sind nahe dran, nur das die pause nur ein Bruchteil vom sekunde ist

Wunderbar. Aber die Alternate-Funktion hält jetzt an und läuft dann 
wieder weiter? Das ist schon mal ein gutes Zeichen.

Dann spiel ein bisschen mit diesen beiden Konstanten:
1
Const Syswait   5                       ' ms
2
Const Altwait   2000                    ' 2 sec
Syswait bestimmt der "Takt" vom Do-Loop. Dieser Wert soll nicht zu 
groß sein, sonst kann es passieren dass das Programm einen Durchlauf vom 
Schleifer durch die Home-Position verpasst. Wenn der Wischer im 
"Fast"-Modus 2 Umdrehungen pro Sekunde macht, und die "Home" Position 
ist etwa 30° groß, dann darf Syswait also nicht größer als 30/(2*360) 
== 1/24 Sekunde, also ~40ms sein.

AltWait sollte eigentlich die Wartezeit in ms sein. Stell die mal auf 
20000 oder so und schaue ob das ein Unterschied macht. Falls nicht, dann 
muss ein Bascom-Experte dran und erklären warum Waitms nicht 
funkioniert wie erwartet. Das könnte mit den $-Variabelen ganz oben 
zusammenhängen -- da kenne ich mich aber nicht aus.


> in sub Motor_fast, du hatest die beide Motoren an

Ja, war das nicht so gewollt? Egal, das kannst du ändern so wie es sein 
soll :-)

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Zuerst ein gross Vielendank.

Ich versuch jetzt zu verstehen Dein Algoritmus

Do
    Waitms Syswait  ----> [ Hier 5 ms Warten ]

    If Switchalt = Ein Then
        '                                     In Alt modus -> LED an
        Alterled = Ein ----> LED ein

        If Wiperhome = Ein Then
            If Altcount = 0 Then----> ist es doch auf 0 oder
                '                Runterzählen fertig -> start nächste 
Rund
                Gosub Motorslow  ---> MotorSlow Einschalen
            Else
                '     Motor anhalten und runterzählen
                Gosub Motorstop
***********************************************************************
                Altcount = Altcount - Syswait
                ***************
           -->  WAITMS Altcount  <--
                ***************
            End If
        Else
            '                                 Zähler zurücksetzen (200 x 
10ms = 2sec)

            Altcount = Altwait
            Gosub Motorslow
        End If
************************************************************************

Ich bin mir nicht sicher, aber ich denk dass die Waitms anweisung fehlt, 
wo ich die Angebracht habe, aber Probiert habe ich noch nicht

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Ich bin mir nicht sicher, aber ich denk dass die Waitms anweisung fehlt,
> wo ich die Angebracht habe, aber Probiert habe ich noch nicht

Nein! Gewartet wird NUR oben in der Do-Loop and der eine Stelle wo schon 
waitMs steht!

Der Zähler AltCount ist eben dazu da die Wartezeit in Schritten von 
WaitSys ms runterzuzählen.

EDIT:
Wie ich schon gesagt habe:
> AltWait sollte eigentlich die Wartezeit in ms sein. Stell die mal auf
> 20000 oder so und schaue ob das ein Unterschied macht.

Probiert? Resultat?

> Falls nicht, dann  muss ein Bascom-Experte dran und erklären warum
> Waitms nicht funkioniert wie erwartet. Das könnte mit den $-Variabelen
> ganz oben zusammenhängen -- da kenne ich mich aber nicht aus.

Ich vermute dass $crystal die Clockfrequenz darstellt.
Ist der Wert 4000000 da richtig? Läuft dein uC mit 4 MHz?

: Bearbeitet durch User
von Claude B. (claude44)


Lesenswert?

Ich versuch jetzt alles zu verstehen, Hier mein Überlegung:


1 Altcount wir auf 0 gesetzt
2 do
3  waitms syswait (syswait = 5, Start konditionen)
4  Alterled ein ---> OK
5  if wiperhome = 0 then ----> zu Hause
6    if Altcount = 0 then ---> Altcount ist auf null
7      Gosub motorslow
8      Motorslow ein
9    Else
10      Gosub motorstop ---> und Motor aus ??
11      Motorslow = Stop
12     Altcount = Altcount - syswait ---> Alcount = 0 minus syswait = 20 
Altcount=(-20)
13    end if
14  else
15  .......


1 Altcount = 0
3 WAITMS syswait = 5
4 Wipperhome = 0
5 Frage ob Altcount = 0 ? Ja, Zeile 1
7+8 Motorslow an
 Altcount wird ??? nicht mehr auf 0
10+11 Motorstop
12 Altcount(-5)= altcount(0) - sywait(5)
              ****************
2.runde
3 waitms syswait immer noch 5
und so weiter

ich denke da liegt der Fehler, vielleicht Zeile 3 mit Waitms Altcount,
oder habe ich wieder falsche gesehen?

: Bearbeitet durch User
von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> ich denke da liegt der Fehler, vielleicht Zeile 3 mit Waitms Altcount,

Nein, da liegt kein Fehler, die Zeile 3 ist genau so wie sie sein soll;
die Do-Loop Hauptschleife muss/soll jede SysWait ms durchlaufen 
werden.

Wie sieht es aus mit dem Test den ich dir vorgeschlagen hatte:
> AltWait sollte eigentlich die Wartezeit in ms sein. Stell die mal auf
> 20000 oder so und schaue ob das ein Unterschied macht.

: Bearbeitet durch User
von Eric B. (beric)


Lesenswert?

Oh, und dann noch:

Claude B. schrieb:
> 1 Altcount = 0
> 3 WAITMS syswait = 5
> 4 Wipperhome = 0
> 5 Frage ob Altcount = 0 ? Ja, Zeile 1
> 7+8 Motorslow an

So weit so gut.

>  Altcount wird ??? nicht mehr auf 0
> 10+11 Motorstop
> 12 Altcount(-5)= altcount(0) - sywait(5)

Nein, diese Zeilen sind im "Else"-Zweig.

von Claude B. (claude44)


Lesenswert?

Also:
syswait auf 20
alwait 20000
Kein Wartezeit, der relay blink und es geht weiter

mehrere konstelations probiert, 10 20000, 5 20000, 1 10000 und mehr

teilweise merkwürdig verhalten, wo die Geschwindigkeit 2 kurtz 
eingeschaltet wird. aber kein Alternance

von Eric B. (beric)


Lesenswert?

Hm, dann muss wirklich einen Bascom-Spezialisten dran und sich die 
ersten paar Zeilen (mit den $-Zeichen) anschauen:
- Stimmt der Wert für $crystal?
- Was stckt in dieser "2313def.dat"-Datei?

Das Programm an sich ist, mit der Korrektur in sub MotorFast(), korrekt.

Vielleicht sind da noch Probleme mit der Hardware...

von Claude B. (claude44)


Lesenswert?

Also, Mein  Alt programm funktioniert doch schon Fast.
das Probleme war dass ich die Stufe mit ein zusatzt taster // zur Wipper 
Starten musst, und dass die LED durch Taster ausschalten musst. Die 
Hardwäre haben sich nicht gehändert, ich werde mit sicherei mein 4 
Transistor durch un Treiber ersetzen, aber ich habe noch nicht gemacht.
Erlich gesagt, ich habe immer noch nicht verstanden wie es funktioniere.

zB wie  Altcount auf <> 0 kommen kann ?
wo wird syswait ein Andere wert als 5 bekommen

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Also, Mein  Alt programm von (Marc Vesely) funktioniert doch schon Fast. 
Ich fügt es bei
das Probleme ist dass ich die Stufe mit ein zusatzt taster // zur Wipper 
Starten musst, und dass die LED durch Taster ausschalten musst. Die 
Hardwäre haben sich nicht gehändert, ich werde mit sicherheit mein 4 
Transistoren durch un Treiber ersetzen, aber ich habe noch nicht 
gemacht.

Erlich gesagt, ich habe immer noch nicht verstanden wie es funktioniere.

zB wie  Altcount auf <> 0 kommen kann ?
wo wird syswait ein Andere wert als 5 bekommen

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Also, Mein  Alt programm von (Marc Vesely) funktioniert doch schon Fast.
> Ich fügt es bei

 Hier ist es bisschen geändert, aber:
 a) Nichts am Programm ändern !!!
 b) Nichts am Programm ändern !!!
 c) Nichts am Programm ändern !!!

 sondern probieren, aber:
 a) Nichts am Programm ändern !!!
 b) Nichts am Programm ändern !!!
 c) Nichts am Programm ändern !!!

 und dann schreiben, was nicht funktioniert, aber
 a) Nichts am Programm ändern !!!
 b) Nichts am Programm ändern !!!
 c) Nichts am Programm ändern !!!

 und dann können wir weiter sehen.

 Hoffe, dass der Schleifer 100% in Ordnung ist.


 P.S.
 a) Nichts am Programm ändern !!!
 b) Nichts am Programm ändern !!!
 c) Nichts am Programm ändern !!!

: Bearbeitet durch User
von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> zB wie  Altcount auf <> 0 kommen kann ?

Nah, doch an der Stelle wo steht
1
            AltCount = Altwait

> wo wird syswait ein Andere wert als 5 bekommen

Nicht. Syswait ist eine Konstante. Der soll schön auf 5 bleiben.
Die Do-Loop-Schleife soll jede 5ms ausgeführt werden.

Vielleicht hilft dir das angehängte Diagramm das ganze zu verstehen...

von Claude B. (claude44)


Lesenswert?

Marc V. schrieb:
> Claude B. schrieb:
>> Also, Mein  Alt programm von (Marc Vesely) funktioniert doch schon Fast.
>> Ich fügt es bei
>
>  Hier ist es bisschen geändert, aber:
Ich habe dein angehängt version so übernohmen
>
>  sondern probieren, aber:
  Ich habe ausprobiert aber...
Ich habe nicht gehändert
>
>  und dann schreiben, was nicht funktioniert, aber
Also Ich muss der Programm mit dem Taster Starten
Weiter schalten benötig der Taster, von Alternance zu Motor1
zurück ist einwendfrei. die Pause ist ungefäre 1500 ms
>
>  und dann können wir weiter sehen.
>
>  Hoffe, dass der Schleifer 100% in Ordnung ist.
>
 Der Schleifer ist OK

von Claude B. (claude44)


Lesenswert?

Eric B. schrieb:
> Claude B. schrieb:
>> zB wie  Altcount auf <> 0 kommen kann ?
>
> Nah, doch an der Stelle wo steht
>
1
>             AltCount = Altwait
2
>
>
>> wo wird syswait ein Andere wert als 5 bekommen

>
> Nicht. Syswait ist eine Konstante. Der soll schön auf 5 bleiben.
> Die Do-Loop-Schleife soll jede 5ms ausgeführt werden.

Syswait wird aber eingesetzt für die Pause, statt ein sekunde, nur ein 
wippe
>
> Vielleicht hilft dir das angehängte Diagramm das ganze zu verstehen...

Vielendank, ich werde mir dieser Diagramm unter die Lupe nehmen

von Marc V. (Firma: Vescomp) (logarithmus)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Also Ich muss der Programm mit dem Taster Starten
> Weiter schalten benötig der Taster, von Alternance zu Motor1

 Hier, nochmal probieren.


 P.S.
 a) Nichts am Programm ändern !!!

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
>>  Hoffe, dass der Schleifer 100% in Ordnung ist.
>>
>  Der Schleifer ist OK

Bist du dir dann sicher, dass der Schalter (Off/1/2/Alt) in Ordnung ist, 
und vor allem dass die Alt Position auch wirklich immer als "Alt" 
gelesen wird?

Claude B. schrieb:
> Kein Wartezeit, der relay blink und es geht weiter

Wenn hier mit Relay die LED gemeint ist, deutet dies nämlich darauf 
dass das eben nicht der Fall ist. Die LED würde sonst nicht (kurz) 
ausgehen.

von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Könntest du , um zu testen ob der Schalter und die WaitMs-Funktion so 
funktionieren wie erwartet, das angehängte Programm mal testen?

Mit der Schalter auf "Alternate" soll die LED im Sekundentakt blinken, 
sonst aus sein.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Eric B. schrieb:
> Könntest du , um zu testen ob der Schalter und die WaitMs-Funktion so
> funktionieren wie erwartet, das angehängte Programm mal testen?

 Ich glaube langsam, sein Schalter prellt wie verrückt und der
 Schleifer ist entweder dreckig oder verbogen oder beides...

von Eric B. (beric)


Lesenswert?

Marc V. schrieb:
> Eric B. schrieb:
>> Könntest du , um zu testen ob der Schalter und die WaitMs-Funktion so
>> funktionieren wie erwartet, das angehängte Programm mal testen?
>
>  Ich glaube langsam, sein Schalter prellt wie verrückt und der
>  Schleifer ist entweder dreckig oder verbogen oder beides...

Ja, oder die Versorgungsspannung zur uC ist mangelhaft und das Teil geht 
ständig in Reset. Deswegen mal das ""Blinky" Testprogramm :-)

von Claude B. (claude44)


Lesenswert?

Marc V. schrieb:
> Claude B. schrieb:
>> Also Ich muss der Programm mit dem Taster Starten
>> Weiter schalten benötig der Taster, von Alternance zu Motor1
>
>  Hier, nochmal probieren.

Probiert und es ist das gleich. Starten muss ich noch durch ein Taster 
und auf die Höhere stuff auch, Pause Zeit Stimmt, die rückstellung zu 
Aus geht auch einwandfrei.

von Claude B. (claude44)


Lesenswert?

Eric B. schrieb:
> Marc V. schrieb:
>> Eric B. schrieb:
>>> Könntest du , um zu testen ob der Schalter und die WaitMs-Funktion so
>>> funktionieren wie erwartet, das angehängte Programm mal testen?
>>
>>  Ich glaube langsam, sein Schalter prellt wie verrückt und der
>>  Schleifer ist entweder dreckig oder verbogen oder beides...
Der schleifer wurde gereinigt, wieder gefettet worden mit elektro-fette, 
wie es sich gehörte

>
> Ja, oder die Versorgungsspannung zur uC ist mangelhaft und das Teil geht
> ständig in Reset. Deswegen mal das ""Blinky" Testprogramm :-)
die versorgung wird von Stabilisiert Stromnetzteil. von genau 12,7 Volt, 
und ein 78L05 und mit 100nf condensator

Wir sprechen von 2 verschiedene Programmen, der von erick blink ohne 
anzualten, der von Mark haltet sein Pausen, Schaltet schon richtig die 
Stufe nur es muss gestatet werden mit die schleife.
Meine meinung nach, sollen die Stuffen zum Start, ohne hilfe schleife 
zum starten indem man schon vor der Abfrag der schleife der Motor 
startet,  so dass man richtig sicher ist dass der Motor startet, dann 
kann man nachfragen ob der wipper da ist (gewesen ist), was ich auf das 
gehändert Programm von Mark angefangen hatt, (wischer2.bas).
Ich bin Überzeugt und ich habe es gemessen, der Schleifer geht beim 
stoppen der Kontakt inaus, so ist es beim abfrage nicht da

Das testen et gemacht worden, beim schalten auf Alternance, blinck mein 
LED1 ca 1 Sekunde Tackt

von Claude B. (claude44)


Lesenswert?

so mein Idee

>Portb = &HFF
Do
> If Alternance = Ein Then
Hier Motor einschalten
>   Gosub Rut_alt
> Elseif Position1 = Ein Then
 Hier Motor einschalten
>     Gosub Rut_1
> Elseif Position2 = Ein Then
Hier Motor einschalten
>   Gosub Rut_2
> Else
>    Gosub Rut_stop
> End If
>Loop


Sub Rut_alt()
  Motor2 = Aus
  Led1 = Ein
  Motor1 = Ein
  Waitms 150

von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Claude B. schrieb:
> Wir sprechen von 2 verschiedene Programmen, der von erick blink ohne
> anzualten,

?? Welches Programm von mir meinst du jetzt?
Das letzte Testprogramm soll eigentlich **nur** die LED blinken lassen, 
steuert keine Motoren!

Wenn mein Wischer.bas von weiter oben die LED blinken lässt ist da 
irgendwas in dem Schalter faul da die LED da in Alternate Modus einfach 
AN sein soll.

> Ich bin Überzeugt und ich habe es gemessen, der Schleifer geht beim
> stoppen der Kontakt inaus, so ist es beim abfrage nicht da

Aahh! Wenn also der Motor angehalten wird, läuft der nach und und bis 
der Motor steht ist der Schleifer schon wieder aus der Home-Position?
Dann versuch mal angehängte Version.

> Das testen et gemacht worden, beim schalten auf Alternance, blinck mein
> LED1 ca 1 Sekunde Tackt

Gut. Dann ist da alles i.O :-)

von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Eric B. schrieb:
> Dann versuch mal angehängte Version.

Meh, da waren noch Überresten von einem Experiment von mir drin.
Besser diese Version.

von stromtuner (Gast)


Lesenswert?

Habt das nun endlich raus?
Der Code passt auf eine A4-Seite...
StromTuner

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

stromtuner schrieb:
> Habt das nun endlich raus?
> Der Code passt auf eine A4-Seite...

 Klar.
 Aber der von ihm gepostete Schaltplan passt schom mal nicht zum Code:
 Beitrag "Re: Scheibenwischer mit Bascom"

 Laut Schaltplan sollen die Motoren mit Log.1 eingeschaltet werden.
 Nach seinen Aussagen und ursprünglich gepostetem Programm sollen die
 Motoren aber mit Log.0 eingeschaltet werden.
 Wieso das Ganze überhaupt funktioniert, ist mir ein Rätsel.

 Irgendetwas stimmt da nicht...

von Eric B. (beric)


Angehängte Dateien:

Lesenswert?

Hier ist mein letzter Versuch. Wenn das nicht funktioniert weiss ich 
auch nicht mehr weiter...

von Claude B. (claude44)


Angehängte Dateien:

Lesenswert?

Eric B. schrieb:
> Hier ist mein letzter Versuch. Wenn das nicht funktioniert weiss ich
> auch nicht mehr weiter...

Also ich möchte dir beruigen, das programm nach Korrekure, funktioniert 
einwend frei.

Die Korekture, Du hast vergessen die Deklaration der Neu Sub,

Counter wurd umgeschrieben mit count, weile: Counter ist ein Wort 
reserviert für Bascom.

Vielen Danke noch mal

von Eric B. (beric)


Lesenswert?

Claude B. schrieb:
> Also ich möchte dir beruigen, das programm nach Korrekure, funktioniert
> einwend frei.

Wunderbar! Freut mich :-)

> Die Korekture, Du hast vergessen die Deklaration der Neu Sub,

Ja, habe ich später auch noch gesehen.

> Counter wurd umgeschrieben mit count, weile: Counter ist ein Wort
> reserviert für Bascom.

Ah ok.

@Marc: der Schleifer prellt :-)

von Claude B. (claude44)


Lesenswert?

Ich möchte jetzt mit 2 Taster die Länge der Pause ändern, soll ich 
Altwait andern oder Homemax?

von Sven K. (svenk)


Lesenswert?

Hallo Claude,

natürlich solltest Du Altwait verändern, das ist doch die Pausenzeit.

Aber für mich die viel wichtigere Frage:

Läuft das jetzt alles schon im Auto oder nur auf dem Steckbrett?


Ich würde das alles mal im Auto testen und wenn das zufriedenstellend 
läuft Spielereien einbauen.

Gruß Sven

von Claude B. (claude44)


Lesenswert?

Zuerst danke für die Hilfe, conseil und tricks,

Dans ganz ist bei mir noch auf die steckbrett und scheine so richtigzu 
Laufen. Ich muss noch änderung machen und mit 2803 zu Probieren, und 
dann ein Platine zu finden hier ist nicht so einfach.

Claude

von Conny G. (conny_g)


Lesenswert?

Claude B. schrieb:
> dann ein Platine zu finden hier ist nicht so einfach.

Ich habe bisher auch meistens keine "gefunden", sondern in Eagle 
geroutet, belichtet und geätzt. :-D

von Claude B. (claude44)


Lesenswert?

ch mein sogar mit punkt oder streife, ich bin in ein Dorf Leider und 
auch gut

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.