Forum Indipendente Biciclette Elettriche, Pieghevoli e Utility

Forum Indipendente Biciclette Elettriche, Pieghevoli e Utility
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | Links | FAQ |Ricerca Avanzata | le biciclette provate da noi ] mago job
Ultime novità: * per evitare lo spam, l'iscrizione attende l'approvazione degli Amministratori, un po' di pazienza per favore

attenzione che la mail automatica di conferma iscrizione non sempre funziona, provare ad accedere lo stesso o scrivere in amministrazione

* per comunicazioni scrivere a postmaster@jobike.it o contattare uno degli amministratori (job o pixbuster)

* qui tutti i modelli testati da noi a confronto

 Tutti i Forum
 Discussioni
 Kit e fai da te
 Sensore di pedalata

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Insert YouTube
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]
Seleziona altre faccine

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
   

V I S U A L I Z Z A    D I S C U S S I O N E
washer Inserito il - 10/08/2016 : 21:46:20
Buona serata a tutti quanti.

Giochellando con il sensore di velocità di un ciclotakimentro, ho visto che al passaggio del magnete il sensore cambia la la sua resistenza da un paio di GOhm a qualche decina.
Ho provato allora a usarlo per un interruttore che funzioni da sensore di pedalata, con questo (emh) “schema”:



Con condensatore da 1 uF si attiva gas per circa un secondo, con 22uF per una decina di secondi.

I magneti sono incastrati nelle 5 viti della coroncina interna.



Qualche baco è evidente, funziona anche all’indietro, e si può barare tenendo il pedale in una posizione che mantenga un magnete prossimo al sensore. Ma queste sarebbero pratiche meschine e fraudolente.


Il difetto peggiore è che toglie un po’ di tensione a signal, e la bipa non accelera tutto.

Avete una soluzione, consigli, stroncature?
50   U L T I M E    R I S P O S T E    (in alto le più recenti)
Ibla Inserito il - 19/10/2016 : 08:03:04
Ibla Inserito il - 19/10/2016 : 07:59:23
Imer Inserito il - 17/10/2016 : 07:06:44
io aspetto washer....
Ibla Inserito il - 16/10/2016 : 15:52:23
Imer Inserito il - 02/10/2016 : 10:02:19
Mi hai letto nel pensiero!
La mia idea era appunto di fare un wattmetro da montare nel pacco batteria , che mi trasmettesse corrente e tensione al display
montato al manubrio, cosi quando non serve lo tolgo.

Ciao Imer
Steu851 Inserito il - 02/10/2016 : 00:06:40
ecco, un bel wattmetro che non necessiti far girare per la bipa cavi di potenza, con display personalizzabile, che non abbia bisogno di smartphone, suggerisco interessa anche a me.
Vi seguo con attenzione.
Imer Inserito il - 01/10/2016 : 12:24:49
Facciamo un punto altrimenti non capisco più nulla
IL PAS funziona ?
Se si sarebbe bello che ci metti lo schema e il software cosi chi si vuole sbizzarrire ha un inizio.

Adesso vuoi misurare la corrente del motore ?
nessun problema se il mio sensore di cambiata funziona, sarà il mio prossimo lavoro.
Ma forse conviene aprire un altro post altrimenti non si capisce più nulla.
Che dici ?
Ciao IMer
washer Inserito il - 30/09/2016 : 22:59:13


Ciao Imer, qua ci piacerebbe occuparci di current sensing.
Come si fa?
Ibla Inserito il - 30/09/2016 : 17:27:20
Ibla Inserito il - 30/09/2016 : 17:25:55
Imer Inserito il - 30/09/2016 : 09:32:32
Cosa succede ???
è andato in loop il pas e non si ferma piu' neppure per scrivere

Ciao Imer
Ibla Inserito il - 29/09/2016 : 09:37:10
Ibla Inserito il - 27/09/2016 : 16:31:04
Ibla Inserito il - 26/09/2016 : 13:12:43
washer Inserito il - 25/09/2016 : 21:05:55
Grazie.

Appena istallato, pedalando a vuoto attacca e stacca come da progetto. Domani provo su strada.

Al momento attacco e stacco un connettore. Mi piacerebbe ricavare uno stacca batteria generale da un connettore XT90, magari con fusibile.
Imer Inserito il - 25/09/2016 : 11:41:14
Visto che Snoopy cerca......

Sto modificando lo stepdown forse ti interessa.
Se hai comprato quelli che montano IC LM2596 ho scoperto guardando i datasheet,che se il pin 5 è a massa si accende ,se lo porti alto si spegne.
Adesso sto tirando fuori il 5 Volt dalla centralina in modo che mi possa pilotare l'accensione dello stepdown.
Mi conosco se metto un interruttore a parte è più le volte che lo scordo.
Adesso giretto tra lago D'ora e Maggiore e in settimana proseguo.
Link datasheet:
http://www.ti.com/lit/ds/symlink/lm2596.pdf
da pag 12 ci sono dei esempi

Ciao Imer
Ibla Inserito il - 24/09/2016 : 01:27:06


Immagine:

36,05 KB
washer Inserito il - 23/09/2016 : 22:45:20
Qua sotto!

Ho risalito la china. Anzi sono un po' più avanti: ho verificato il funzionamento con lo step-down collegato ai 36v.

EDIT: qua c'era una foto con collegamenti sbagliati.

Monterò domenica: domani mi serve ancora una bici funzionante.
Ibla Inserito il - 23/09/2016 : 12:00:04
washer Inserito il - 21/09/2016 : 20:37:11
Già provato il cambio di cavo e PC ... nisba.
Oggi è arrivata una manciata di arduini cinesi: 4 funzionano, dopo lo sbattone per i driver.
Vado a mettere un disco da ibla, e poi connetto ...
Ibla Inserito il - 21/09/2016 : 16:38:18




Imer Inserito il - 20/09/2016 : 11:44:52
Si il problema è la comunicazione.
Puoi ricaricare il bootloader usando un altro arduino.
Prima farei la prova a vedere se comunica su un'altro pc se ne hai la
possibilita.

Ciao Imer
washer Inserito il - 19/09/2016 : 21:29:32
Boh?
Ho messo codici a muzzo per una settimana, senza problemi, ma ieri ha smesso di comunicare col PC.
Ho provato vari balletti sul tasto reset senza esito. I numerosi post sul web per il mio errore, prevedono che la tappa successiva sia ricaricare il bootloader.
Prima di buttare la scheda.
Concordi?
Imer Inserito il - 19/09/2016 : 07:10:38
Cosa hai comnbinato ?

Ciao Imer



washer Inserito il - 18/09/2016 : 21:50:33

macchè, la fortuna del principiante mi ha abbandonato ... Al caricamento dell'ultimo codice la scheda ha smesso di funzionare e comunicare.

avrdude: stk500_getsync(): not in sync: resp=0x00

Metto su un disco che è meglio ...
Eze73 Inserito il - 17/09/2016 : 23:44:12
andrea 104KG ha scritto:

Questo post assieme a quello della bicicletta creata da zero da washer è la dimostrazione che gli alieni sono tra di noi ...


gia'...fortuna ogni tanto qualche immagine e video( comunque per me incomprensibili) ...

io c ero...
washer Inserito il - 17/09/2016 : 23:15:14
Mi hai messo sbrescia, domani lo istallo. Prenderò 3s dai paralleli della batteria.
Il codice si può sfoltire, dallo stato iniziale, con entrambi i sensori diseccitati, sono sufficienti i due passi successivi.
Imer Inserito il - 17/09/2016 : 18:52:13
Ok,
se ci sono problemi legati ai disturbi prova come ho indicato,
o proviamo con un paio di condensatori.
Rimango in tremante e trepidante attesa di sapere se funziona
Ciao Imer
Ibla Inserito il - 17/09/2016 : 12:35:02
washer Inserito il - 16/09/2016 : 21:39:12
Al momento son messo così. Funziona.


Imer Inserito il - 16/09/2016 : 12:30:17
Grazie
Ibla Inserito il - 16/09/2016 : 10:07:30
Beh!Almeno questo sono riuscita a... decriptarlo!

Immagine:

107,73 KB
Imer Inserito il - 16/09/2016 : 07:24:24
Se vuoi puoi fare l'ingresso di arduino in questo modo , cosi puoi essere piu' elastico con le tensioni di ingresso.

Immagine:

526,13 KB

Scusate la dimensione ma con windows no riesco a ridimensionare.

Ciao Imer
washer Inserito il - 15/09/2016 : 21:51:12
Fatto, funziona.

pinMode(sensoreG, INPUT_PULLUP);
pinMode(sensoreW, INPUT_PULLUP);


E via anche i resistori esterni.

Sono al banco, la bici sta facendo i suoi 8 km/die con un interruttore sulla catena. Aspetto lo step down per poi inscatolare il tutto in maniera non provvisoria.

Comunque sì, mi son preso una cotta.
Imer Inserito il - 15/09/2016 : 21:22:00
Si lo puoi fare.
Devi stare attento che tutto sia a 5V.
Arduino ti ha stregato, vedo ti stai immergendo
Ma lo hai montato l' ArduPas sulla bici?
Ciao Imer
washer Inserito il - 15/09/2016 : 20:53:50
Girellando per Arduino Reference, scopro che si possono abilitare i suoi resistori di pull up e che forse posso eliminare le resistenze sul sensore ...

https://www.arduino.cc/en/Reference/PinMode

washer Inserito il - 13/09/2016 : 21:17:05
Grazie.
Vado a 10s
Imer Inserito il - 13/09/2016 : 19:07:04
io ho comprato 2 di queste:
http://www.ebay.it/itm/LM2596-HV-DC-DC-Step-Down-Adjustable-Power-Supply-Module-5V-12V-60V-A24-/321760303952?var=&hash=item4aea689b50:m:mvBtzBm0zhJVIif8L5yWs-w

stai attento perché alcuni hanno i condensatori bassi di isolamento e non superano i 50 V.


Ciao Imer
Imer Inserito il - 13/09/2016 : 12:10:07
Se non usi il led di segnalazione del pin 13 ci togli 5/10 mA.
Per lo step-down sto guardando , non ho voglia di fare lo stampato
e tutto il resto.
Con che tensione entri ?
Ciao Imer
washer Inserito il - 12/09/2016 : 22:47:11
Sono contento di aver seguito il tuo consiglio.
Guarderò gli interrupts per prendere sonno, ma con l'acceleratore a manopola i freni possono stare dove sono.

Al momento alimento solo da USB. Al banco. Dalla mia centralina è improponibile.
Dimmi se trovi lo step down, io ho pensato a LM317.
La schedina mi consuma 22 mA, è un consumo piuttosto costante, o varia parecchio a seconda dell'impegno?
Imer Inserito il - 12/09/2016 : 21:16:12
Dai che sta venedo fuori qualcosa di carino,
tu che all'inzio non mi sembravi molto convinto.
Se vai avanti cosi ti fai la centralina completa .
Se vuoi integrare i freni conviene usare interrupts(),
ti svincoli dal programma principale , stai attento che
non tutti i pin si possono usare devi far riferimento
al tipo di arduino che usi.


topic OFF
Una domanda ma come lo alimenti arduino ?
Io ho fatto delle prove con il mio sensore di cambiata,
ma ho problemi di alimentazione, la tensione che prelevo
dalla centralina del bafang è gia bassa di suo e con il motore
a vuoto funziona bene, ma come il motore va a carico (appoggio
la ruota a terra) mi manda in reset il micro per tensione bassa.
Sto cercando uno step-down che sopporti 50V e che riesca ad essere infilato nella base della batteria.

Ciao Imer
washer Inserito il - 12/09/2016 : 20:07:24
Ci sono cinque magneti sulla circonferenza. Il tempo sarà settato sui risultati pratici, ma credo che non sia critico, con l'acceleratore a manopola. Come pure la gestione dei freni.
Ovviamente l'appetito sale ...



Imer Inserito il - 12/09/2016 : 12:06:13
Direi che ci sei ,adesso devi installarlo e li avrai la prova del nove.
Il mio unico dubbio è se usi un magnete solo, il tempo sarà alto di
conseguenza lo spegnimento perchè smetti di pedalare avverra dopo "molto" tempo.


Ciao Imer

washer Inserito il - 11/09/2016 : 21:02:04
Sembra funzionare, ma non mi piace l'idea che il corretto valore di flag per l'attivazione, si basi sui cicli di esecuzione del programma.
Preferisco il tuo approccio a stati.

Con questo codice:
/*
  PAS

 Attiva l'assistenza, fornendo al potenziometro alimentazione 5V quando i pedali girano col verso corretto e sufficiente velocità.

 Il circuito:
 * sensore di Hall G collegato al pin 12
 * sensore di Hall W collegato al pin 11
 * resistori 5,7K collegati tra V+ e pin 11 e 12
 * uscita V+ 5V dal pin 10 quando viene attivata l'assistenza.
 * Accende il LED giallo sulla scheda, pin 13, quando viene attivata l'assistenza. 
 * 
 11.09.2016
 by Washer 
  
 */

// costanti: 
const byte sensoreG = 11;     // pin del sensore G
const byte sensoreW =  12;   // pin del sensore W
const byte potenziometro =  10;   // pin dell'uscita al potenziometro
const byte led =  13;   // pin dell'uscita al LED
unsigned long tempoMax = 1000; // imposta a un tot secondi un intervallo di tempo

// variabili:
boolean errore = false;         // variabile per controllare anomalie nel senso di rotazione o nei tempi
unsigned long tempo = 0; // variabile per controllare i tempi di attivazione dei sensori
byte passo =  0;        // variabile per controllare la sequenza di attivazione dei sensori

void setup() {
  // inizializza i pin led e potenziometro come output:
  pinMode(led, OUTPUT);
  pinMode(potenziometro, OUTPUT);
  // initializza i pin sensoreG e sensoreW come input:
  pinMode(sensoreG, INPUT);
  pinMode(sensoreW, INPUT);
  digitalWrite(potenziometro, LOW);
  digitalWrite(led, LOW);
}

void loop() {
 tempo = millis();
 while (digitalRead(sensoreG) == HIGH && digitalRead(sensoreW) == HIGH && millis() - tempo < tempoMax ){ // stato iniziale con entrambi i sensori diseccitati
  passo = 0;
  errore = false;  
 }
 while (digitalRead(sensoreG) == LOW && digitalRead(sensoreW) == HIGH && millis() - tempo < tempoMax ){ // controlla l'esecuzione del primo passo della sequenza di attivazione in tempo utile
  if (millis() - tempo > tempoMax){
  errore = true;
  }
  else {
    if (passo == 0 || passo == 1){
     passo = 1; 
   }
    else {
     errore = true;
    }
  } 
 }
 while (digitalRead(sensoreG) == LOW && digitalRead(sensoreW) == LOW && millis() - tempo < tempoMax ){ // controlla l'esecuzione del secondo passo della sequenza di attivazione in tempo utile
  if (millis() - tempo > tempoMax){
  errore = true;
  }
  else {
    if (passo == 1 || passo == 2){
     passo = 2; 
   }
    else {
     errore = true;
    }
  } 
 }          
 while (digitalRead(sensoreG) == HIGH && digitalRead(sensoreW) == LOW && millis() - tempo < tempoMax ){ // controlla l'esecuzione del terzo passo della sequenza di attivazione in tempo utile
  if (millis() - tempo > tempoMax){
  errore = true;
  }
  else {
    if (passo == 2 || passo == 3){
     passo = 3; 
   }
    else {
     errore = true;
    }
  } 
 }    


if (passo == 3 && millis() - tempo < tempoMax  && errore == false){ // attiva assistenza e accende led se la sequenza di attivazione è stata eseguta correttamente in tempo utile
  digitalWrite(led, HIGH);
  digitalWrite(potenziometro, HIGH);
  //passo = 0;
 }
else {  // toglie assistanza e spegne led se sequenza non corretta o oltre tempo limite
  digitalWrite(led,LOW);
  digitalWrite(potenziometro, LOW);
}
}


... ottengo :

Imer Inserito il - 11/09/2016 : 07:19:49
Prova con quello che hai scritto , tanto non rompi nulla.
È un'altro modo di vedere il problema.


Ciao Imer
washer Inserito il - 10/09/2016 : 23:22:40
Imer ha scritto:


Il software non mi è chiaro: i primi 2 if ...



A rileggermi neanche io mi capisco.
Torno sugli stati che hai suggerito:

/* * magnete

1 1 sensori

*

0 1

*

0 0


*
1 0

*

1 1

*/
Imer Inserito il - 10/09/2016 : 19:23:02
Pazienza perché , se non volevo aiutare non ti offrivo il supporto , se risolvi il problema aiuti anche me o altri,
per me il forum è questo spirito di aiuto e collaborazione, ogni uno ci mette del suo e si va avanti.
Il software non mi è chiaro i primi 2 if il sensorrW e sensorG
allora tu confermi l'avvio quando sono tutte e due bassi e hai la costante revR = vera,
se ruoti al contrario la metti falsa in modo che non può accettare la condizione di avvio.

Vediamo se mi è chiaro:
sensorG è il primo che incontra, mette revR = vera
si aspetta che tutte e due vanno bassi per caricare il timer e avviare il motore
a questo punto sono in uscita sul sensorW che lo porto a falso
e a questo punto attendo o il timer a 0 e spengo o di ripetere il ciclo.

Se giro i pedali al contrario attivo sensroW = falso quindi non posso
attivare il motore.

cosi può andare ma non vedo dove usi while vedo solo dei if

L'unico dubbio ma penso che ne sei cosciente sono i 2 secondi, mi sembra troppo alto , quanti magneti ci sono ?

Se l'appetito vien mangiando io ci metterei anche la gestione freni e tensione minima di batteria

Ciao Imer

washer Inserito il - 10/09/2016 : 18:24:44
Certo ne hai di pazienza ... ho usato "while" con significato capovolto, ... le fesserie sulle aggiunte di correnti ...
Grazie per il supporto.
Il sensore si comporta praticamente ON/OFF.
Il tester è un ricordo di mio padre, e cerco di trattarlo con cura, ma sono contrario alle reliquie. Comunque è uno degli ultimi.
Il codice seguente funziona al banco senza difetti evidenti.
In settimana proverò ad affrontare le mille sfighette "tra il dire e il fare".



/*
  PAS

 Attiva l'assistenza, fornendo al potenziometro alimentazione 5V quando i pedali girano col verso corretto e sufficiente velocità.

 Il circuito:
 * sensore di Hall G collegato al pin 12
 * sensore di Hall W collegato al pin 11
 * resistori 5,7K collegati tra V+ e pin 11 e 12
 * uscita V+ 5V dal pin 10 quando viene attivata l'assistenza.
 * Accende il LED giallo sulla scheda, pin 13, quando viene attivata l'assistenza. 
 * 
 09.09.2016
 by Washer 
  
 */

// costanti: 
const byte sensoreG = 11;     // pin del sensore G
const byte sensoreW =  12;   // pin del sensore W
const byte potenziometro =  10;   // pin dell'uscita al potenziometro
const byte led =  13;   // pin dell'uscita al LED
unsigned long tempoMax = 2000; // imposta a un tot secondi un intervallo di tempo

// variabili:
boolean revR = false;         // variabile per controllare il senso di rotazione
unsigned long tempo = 0; // variabile per controllare i tempi di attivazione dei sensori

void setup() {
  // inizializza i pin led e potenziometro come output:
  pinMode(led, OUTPUT);
  pinMode(potenziometro, OUTPUT);
  // initializza i pin sensoreG e sensoreW come input:
  pinMode(sensoreG, INPUT);
  pinMode(sensoreW, INPUT);
  digitalWrite(potenziometro, LOW);
  digitalWrite(led, LOW);
}

void loop() {

// controlla l'eccitazione del sensoreG:  
  if (digitalRead(sensoreG) == LOW) {     
     revR = true;    
  }

// controlla l'eccitazione del sensoreW:  
  if (digitalRead(sensoreW) == LOW) {     
     revR = false;    
  }

// attende l'eccitazione di entrambi i sensori e revR true:
  
  if (digitalRead(sensoreG) == LOW && digitalRead(sensoreW) == LOW && revR == true) {  
   // se in tempo utile attiva l'assistenza, accende led, resetta tempo:
   if (  millis() - tempo < tempoMax) {   
    digitalWrite(potenziometro, HIGH);
    digitalWrite(led, HIGH);
    tempo = millis();
    revR = false;
   }
  } 
   // se scade il tempo utile taglia l'assistenza, spegne led, resetta tempo:
  if (millis() - tempo > tempoMax){                              
   digitalWrite(potenziometro, LOW);
   digitalWrite(led, LOW);
   tempo = millis();
   revR = false;
   }    
  
}
Imer Inserito il - 10/09/2016 : 11:40:50
Ciao,
non ho risposto prima perché è due giorni che non riuscivo a connettermi al forum.
Ho dato un'occhiata ai datasheet dei sensori hall quelli che ho visto e a parte uno che bisogna alimentare a 28 V
e ha uno OUT di 1 mA gli altri come corrente minima sono 10 mA sul pin di OUT, quindi penso che sei in sicurezza.
L'unico dubbio è se quello che hai preso è lineare o sull'uscita c'è un trigger.
Se è quello lineare se avvicini la calamita lentamente dovresti vedere l'uscita che varia in funzione della
distanza del magnete dal sensore , se è quello con il trigger raggiunta una certa distanza scatta basso di colpo.
Stupendo il tester ICE 680 R ne ho ancora 2 , ma li tengo nel museo
Con il software ci son problemi ?

Ciao Imer


washer Inserito il - 08/09/2016 : 21:46:31
Chiedermi scusa poi … ieri ho tirato tardi, preso dalla concitazione del gingillo nuovo ...
Prima di affrontare il codice vorrei capire il sensore, purtroppo ormai doppio, avendo io resinato tutto insieme. Non si legge più niente, e nel negozio eBay era solo "Hall sensor" ...

La resistenza è messa così:




Senza, l’uscita del sensore è bassa ed erratica.

Ho stimato a “braccio” (diciamo), che la corrente che vi circola debba essere sensatamente inferiore di quella che passa nel sensore.
Nel sensore ( in ciascun Hall) passano quattro o tre mA, a seconda che sia eccitato o meno, con un resistore 10K aggiungo un assorbimento di 0,5 mA. Con uno da 1K 5 mA ...

La situazione al momento è questa ( lo scarafaggio rosso è il sensore): l’analogico misura la corrente su V+ (che alimenta DUE sensori), e il digitale la tensione su OUT di UN sensore.





Il tutto sembra abbastanza “robusto”. Devo far diverso? Con quale criterio?

Forum Indipendente Biciclette Elettriche, Pieghevoli e Utility © 2000-06 jobike Torna all'inizio della Pagina
Questa pagina è stata generata in 0,23 secondi. Versione 3.4.06 by Modifichicci - Herniasurgery.it | Distribuito Da: Massimo Farieri - www.superdeejay.net | Powered By: Platinum Full - Snitz Forums 2000 Version 3.4.06
Creative Commons License
Questo/a opera è pubblicato sotto una Licenza Creative Commons.