Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Programm-Hilfe- Solarsteuerung Kategorie: C-Control I Micro (von Hauk - 20.11.2006 20:57)
 Als Antwort auf Programm-Hilfe- Solarsteuerung von Oppl Max - 20.11.2006 20:10
Hauk nutzt:  CC1-Unit V1.1
> 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

 Antwort schreiben

Bisherige Antworten:

Re: Programm-Hilfe- Solarsteuerung (von Max Oppl - 22.11.2006 9:09)
    Re: Programm-Hilfe- Solarsteuerung (von Hauk - 23.11.2006 0:15)
        Re: Programm-Hilfe- Solarsteuerung (von Max Oppl - 23.11.2006 17:50)