ProChip BADASS eBIKES

Autor Thema: Bastellösung mit picaxe 08M2  (Gelesen 7777 mal)

Offline dornkaat

  • Newbie
  • *
  • Join Date: Jan 2014
  • Beiträge: 12
  • location: Kassel
Re: Bastellösung mit picaxe 08M2
« Antwort #15 am: 22. Februar 2014, 15:03 »
hi männer, das sieht lecker aus ... die teile sind schnell besorgt ... wie programmiere .. ich das teil, womit ? bin eigentlich computerheini aber von elektricktrick habe ich nur rudimentäres wissen ...löten geht auch .. bitte noch beschreiben wie das teil am velo gemountet wird ? schade das man die kabel auftrennen muss :( und vielen dank für die klasse fotos  :D

lg aus hessisch sibierien
dornkaat
Staiger Sinus B1 mit Boschmotor 2012
Badass v3.2
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #16 am: 22. Februar 2014, 21:36 »
Hallo,
programmieren geht mit Windows-PC und USB- oder seriellem Programmierkabel, Software kostenlos bei Picaxe. Kabel kann man fertig kaufen oder selber löten (siehe Picaxe Doku).
Chip befestigen mit z.B. selbstklebendem Klett unter der Plastikabdeckung des Bosch Motors.
Aber Achtung ... läuft noch nicht perfekt ohne externe Batterie. Bin z.Zt. mit der Kondensatorgröße am Experimentieren.

Gruß,
Achim
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #17 am: 23. Februar 2014, 14:54 »
Jetzt läuft es, auch bei 4MHz Taktfrequenz des PIC.
Das Problem war nicht der Kondensator, sondern ein floating seriel input (trotz verbautem 33k pulldown).
Mit dem Befehl disconnect läasst sich aber der serielle input ausstellen.

Viel Spaß beim Nachbau,
Achim
 

Offline dornkaat

  • Newbie
  • *
  • Join Date: Jan 2014
  • Beiträge: 12
  • location: Kassel
Re: Bastellösung mit picaxe 08M2
« Antwort #18 am: 24. Februar 2014, 08:27 »
 8) moin achim,
wenn ich das richtig verstehe, dann muss die steurung der motorleistung über deine platine erfolgen, ist das richtig ???

glg

reiner
Staiger Sinus B1 mit Boschmotor 2012
Badass v3.2
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #19 am: 24. Februar 2014, 08:52 »
Hallo Reiner,
der Chip wird in die Reed-Speed-Sensor Leitung eingeschleift und macht nichts anderes, als bei Bedarf (Einschalten über Taster am Lenker) nur jedes 2. Signal an den Motor zu senden. Dadurch wird der Motor nicht bei 25km/h abgeregelt, sondern erst bei 50km/h. Nachteil ist, dass im Display nur die halbe Geschwindigkeit angezeigt wird. Mit diesem Prinzip arbeiten alle erhältlichen Dongles.

Gruß,
Achim
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #20 am: 06. März 2014, 13:01 »
Hallo!
Es gab noch ein Problem.
Spontan hat der Reed Eingang (Eingang3) dauerhaft zeitweise auf ON geschaltet. Eine Ursache hierfür konnte ich nicht finden.
Nach Herausnahme des pullup-Befehls (eigentlich für Eingang2 gedacht) aus dem Code ist das Problem behoben  ;D .

Achim
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #21 am: 06. August 2014, 09:19 »
Hallo zusammen!
Hier nochmal meine Langzeit-Erfahrungen. Ich hatte im März noch kleinere Änderungen am Code vorgenommen - im Anhang der aktuelle Code! Seitdem absolut problemlos laufend!
Da ich den Chip nur in Frischhaltefolie eingewickelt hatte und auch noch das Programmierkabel dran hatte, habe ich jetzt Letzteres abgelötet und dann den Chip wasserdicht verpackt. Dazu erstmal alles mit Wachs eines Teelichts versiegelt, gut über der Flamme erhitzt, so dass nur ein ganz dünner Wachsfilm übrig bleibt. Danach eingeschrumpft und dann den Hohlraum vorsichtig mit einer Spritze/Kanüle und dünnflüssigem Epoxidharz aufgefüllt. Ich hoffe das ist dicht - der nächste Herbst/Winter wirds zeigen.

Die Fotos zeigen den eingepackten Chip und meinen kaum erkennbaren Mikro-Tast-Schalter in Lenkernähe unter dem Spiralschlauch.

Mein Fazit: Projekt erfolgreich - auch für Laien, die mit dem Lötkolben umgehen können, gut zu machen.

Gruß,
Achim
-----------------------------------------------
hier der Code:


start0:                  ; Variable b0 = Zähler für Reedkontakt
                     ; Variable b1 = Einstellung Normal (b1=0) oder Turbo (b1=1)      

pullup %00000100
disconnect


   modus:   
      if b1 = 1 then ReedCounterReset   ; Normal (b1=0) oder Turbo (b1=1)?
      goto checkReedNormal   

   ReedCounterReset:                     ; Reset für Reed Zähler nach 4 Durchgängen      
      if b0>= 4 then let b0 = 0
      endif      
      goto checkReedTurbo   

   
   checkReedTurbo:      
      if Input4 is On then turbo         ; Reed Abfrage im Turbo Modus
      goto checkReedTurbo   

   
   turbo:                     ; feuert bei Durchgang 2 und 4, bei 4 mit Verzögerung, um ERROR 102 zu vermeiden      
      inc b0      
      if b0 = 2 then goto schuss
      if b0 = 4 then pause 60         ; Pausendauer ggf. ändern! - vermeidet ERROR 102 - bei Bedarf verschiedene Werte ausprobieren!
      goto schuss   
      endif
      pause 80      
      goto checkReedTurbo                  


   
   schuss:                     ; Impuls abfeuern   
      Switch on 1
      Switch off 1
      do
      pauseus 1
      loop until Input4 = off            ; vermeidet komische Anzeigen, falls im Stand der
Reed geschlossen ist
      pause 80
      goto modus
      

   checkReedNormal:               ; Reed Abfrage im Normal Modus      
      if Input4 is On then schuss      
      goto checkReedNormal








start1:                           ; Taster am Lenker (Input2) -
                              ; kurz drücken zum Umschalten des Modus
                  


   AbfrageTaster:                        ; Abfrage Lenkertaster
      if Input2 is off and b1 != 0 then switch2      
      if Input2 is off and b1 != 1 then switch1
      goto AbfrageTaster


   

   switch1:                           ; auf Turbo setzen
      let b1 = 1
      pause 3000                     ; Lenkertaster für 3 Sek. sperren
      goto start1
      
      
      
   switch2:                           ; auf Normal setzen
      let b1 = 0
      pause 3000                     ; Lenkertaster für 3 Sek. sperren
      goto start1   
 

Offline dragonf3b

  • Newbie
  • *
  • Join Date: Nov 2013
  • Beiträge: 14
Re: Bastellösung mit picaxe 08M2
« Antwort #22 am: 09. Oktober 2014, 10:40 »
Hallo zusammen,
da ich in den Bergen eine bessere Steigfähigkeit des Radls  wollte, habe ich vorne ein 32er Kettenblatt montiert. Mit der 36-11er Kassette kam auch  promt der bekannte ERROR 102 auf dem 32er Blatt hinten (=1:1). Also habe ich den Code nochmal umgestrickt (noch nicht getestet) für diese spezielle Variante.


hier der Code:


                           ; Variable b0 = Zähler für Reedkontakt
                           ; Variable b1 = Einstellung Normal (b1=0) oder Turbo (b1=1)      

                           ; dies ist eine Variante für 32er Kettenblatt vorne und 10fach-36/11er Kassette hinten      

start0:

pullup %00000100
disconnect


   modus:   
      if b1 = 1 then ReedCounterResetTurbo   ; Normal (b1=0) oder Turbo (b1=1)
      goto ReedCounterResetNormal   

   ReedCounterResetTurbo:                  ; Reset b0 für Reed Zähler nach 4 Durchgängen      
      if b0>= 4 then let b0 = 0
      endif      
      goto checkReedTurbo
      
   ReedCounterResetNormal:                  ; Reset b0 für Reed Zähler nach 2 Durchgängen      
      if b0>= 2 then let b0 = 0
      endif      
      goto checkReedNormal   

   
   checkReedTurbo:      
      if Input4 is On then turbo         ; Reed Abfrage im Turbo Modus
      goto checkReedTurbo   

   
   turbo:                     ; feuert bei Durchgang 2 und 4.      
      inc b0      
      if b0 = 2 then goto schuss
      if b0 = 4 then goto schuss         
      pause 80      
      goto checkReedTurbo               


   checkReedNormal:               ; Reed Abfrage im Normal Modus      
      if Input4 is On then normal      
      goto checkReedNormal


   normal:                     ; feuert bei jedem Durchgang (1 und 2), bei 2 mit Verzögerung, um ERROR 102 zu vermeiden      
      inc b0      
      if b0 = 1 then goto schuss
      if b0 = 2 then pause 60         ; Pausendauer ggf. ändern! - vermeidet ERROR 102 - bei Bedarf verschiedene Werte ausprobieren!
      goto schuss   
      endif

   
   schuss:                     ; Impuls abfeuern   
      Switch on 1
      Switch off 1
      do
      pauseus 1
      loop until Input4 = off         ; vermeidet komische Anzeigen, falls im Stand der Reed geschlossen ist
      pause 80
      goto modus
      






start1:                              ; Taster am Lenker (Input2) -                         
                                 ; kurz drücken zum Umschalten des Modus                        
                           
                  


   AbfrageTaster:                        ; Abfrage Lenkertaster
      if Input2 is off and b1 != 0 then switch2      
      if Input2 is off and b1 != 1 then switch1
      goto AbfrageTaster


   

   switch1:                           ; auf Turbo setzen
      let b1 = 1
      pause 3000                     ; Lenkertaster für 3 Sek. sperren
      goto start1
      
      
      
   switch2:                           ; auf Normal setzen
      let b1 = 0
      pause 3000                     ; Lenkertaster für 3 Sek. sperren
      goto start1   
 

 

UA-12726453-11 Sponsoren: Open eBike SHOP | ProChip | BADASS eBIKES