
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> > Hallo, > > meine Solarsteuerung wird mit einem Linearantrieb verstellt. > > Die Steuerung wird mit der Micro über eine H-Brücke (L298N) betätigt. > > In der Morgenstellung sollte ein Endschalter (Port2) betätigt werden (siehe Programm). > > Der Eingang wird zwar geschalten, aber der Linearmotor fährt über den Endschalter weiter(Reed). > > Was ist hier falsch im Programm. > > > > ' ********************************** > > 'BASIC++ Micro Programm: 20.Nov.2006 > > ' Solarsteuerung, nach der Sonne ausrichten > > '-------------------------------------- > > ' an Port-1=Sensor Photo und 10K Wiederstand > > ' an Port 2=Endschalter Morgenstellung > > ' an Port-4=Motor > > ' an Port-6=Motor > > ' an GND=Sensor und Masse > > ' an +5V=10K Widerstand > > ' ACHTUNG, bei offenen Ports 10K PullUp Widerstand setzen > > ' ********************************** > > OPTION CCMICRO 'Zielplattform > > > > define licht ad[1] 'Sensor Licht (A9060) > > define stopp port[2] 'Endschalter Morgenstellung????? > > define l byte 'Zähler Licht- Schaltschwelle > > define x byte 'Zähler Zeit > > define Motor_1 port[4] 'Motor > > define Motor_2 port[5] 'Motor > > > > CONSt hell = 100 'Schaltschwelle Hell(100) (weniger = heller) > > > > Function zustell() > > for x=1 to 10 '= warten 20 min > > pause 50 > > next > > Motor_1 = off ' Motor Rechtslauf, Zustellung > > Motor_2 = on > > Pause 170 > > Motor_1 = off ' Motor aus > > Motor_2 = off > > pause 50 > > End Function > > > > Function zurueck() > > stopp= on > warum setzt du hier den Eingang Port[2] auf on > > Motor_1 = on ' Motor Linkslauf, in Morgenstellung > > Motor_2 = off > > if stopp= off then goto morgen 'prüfe Endschalter Morgenstellung (funktioniert nicht) > > for x=1 to 12 ' Motor Laufzeit > > pause 170 > > next > > Motor_1 = off ' Motor aus > > Motor_2 = off > > End Function > > 'PROGRAMM-START > > l = licht > > pause 250 > > zurück() > > wait licht > hell 'warte bis Dunkelheit > > #morgen > > if licht <= hell then pause 250 'bei hell warte 5 Sekunden > > if licht <= hell then 'wenn hell dann Programmstart > > zustell() > > zustell() > > zustell() > > zustell() > > zustell() > > zustell() > > zustell() > > zustell() > > wait licht > hell 'warte bis Dunkelheit > > zurueck() 'Panel fährt in Morgenstellung > > end if > > > > goto morgen > > Hallo > > überprüfe doch mal die erste Anweisung in der Funktion zurueck: > du setzt den Port[2] auf on und fragst 3 zeilen (ca 150 usec) später ob > der Port jetzt durch den Endschalterauf off gesetzt wurde. > > MfG Hauk Hallo Hauk, für den Stopp des Linearmotor habe ich mehrere Varianten durchgespielt, leider nicht mit Erfolg. Für mich als nich- Informatiger (Maschinenbauer) bleibt nur noch die Lösung, dass ich mir einen neuen Linearmotor mit Endabschaltung besorge. Danke. |
| Antwort schreiben |