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

Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Discussioni
 Kit e fai da te
 Sensore di pedalata
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Successiva
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 3

washer
Utente Medio



212 Messaggi

Inserito il - 10/08/2016 : 21:46:20  Mostra Profilo  Rispondi Quotando
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?

Senti che musica! ( Tex Willer )

Monkey50z
Utente Attivo


Emilia Romagna


814 Messaggi

Inserito il - 10/08/2016 : 22:31:38  Mostra Profilo Invia a Monkey50z un Messaggio Privato  Rispondi Quotando
Ciao, secondo me lo schema è sbagliato. Non vi è collegato nulla al filo verde del segnale, come fa il controller ad accelerare??

Modificato da - Monkey50z in data 10/08/2016 22:32:23
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 10/08/2016 : 22:52:57  Mostra Profilo  Rispondi Quotando
Certo è mal disegnato... il controller è a sx e a dx c'è il potenziometro dell'acceleratore.
L'accrocchio apre e chiude il filo V+.
Ripeto, funziona, mi ha portato a casa stasera.
Ma perdo tensione.
Forse tra source e drain del fet, forse sulla resistenza di uscita del controller per la corrente che circola nel condensatore.
Domani provo a togliere il condensatore e viaggiare con un magnete sul sensore ...

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

gianlucagpt
Utente Medio


Molise


293 Messaggi

Inserito il - 11/08/2016 : 06:57:05  Mostra Profilo  Rispondi Quotando
Carino Complimenti
Torna all'inizio della Pagina

Barba 49
Utente Master



Toscana


36209 Messaggi

Inserito il - 11/08/2016 : 07:54:22  Mostra Profilo Invia a Barba 49 un Messaggio Privato  Rispondi Quotando
Visto che sai pasticciare con l'elettronica e constatato che il tuo sistema oltre a non riconoscere il senso di rotazione delle pedivelle (illegale) non fornisce nemmeno prestazioni al top credo che la scelta migliore sia di acquistare un pas e poi progettare l'interfaccia che comanda l'acceleratore senza essere costretto ad acquistare un "gas legalizer" o a copiarne il circuito...
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 11/08/2016 : 21:22:16  Mostra Profilo  Rispondi Quotando
Ma qual è la logica per stabilire il senso di rotazione? Ci vogliono due sensori, o un trucco geometrico, e saper riconoscere la forma d'onda. Sono cose fuori dalla mia portata.

Ma poi perché dovrei pedalare al contrario? Lo stesso legislatore non ha ritenuto di dover precisare il senso della pedalata, per fortuna ... La legalità è il risultato dell'insieme di leggi e comportamenti adeguati: le prime da sole alimenterebbero il mostro burocratico che ci sta affossando ...

Comunque questa sera ritengo che toccare quelle tensioni finemente regolate sia una c****a, ho ritrovato la potenza con un relè sul filo di alimentazione. Proverò a gestirlo coi pedali ...

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Barba 49
Utente Master



Toscana


36209 Messaggi

Inserito il - 11/08/2016 : 22:14:40  Mostra Profilo Invia a Barba 49 un Messaggio Privato  Rispondi Quotando
Le centraline riconoscono la sequenza di impulsi rettangolari che provengono dal sensore di pedalata e distinguono quelli generati quando si pedala nel senso giusto...

Credo anche fermamente che ad un controllo una Bipa che si avvia pedalando al contrario sarebbe sanzionata, la cosa equivale ad avere un'assistenza assolutamente slegata dall'apporto muscolare, cosa che snatura la definizione "Bici a pedalata assistita".

Fai attenzione con i relè, la tensione di +5V erogata dalla centralina non è in grado di mantenere eccitato un relè senza danneggiare l'integrato che la genera.
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 11/08/2016 : 22:28:43  Mostra Profilo  Rispondi Quotando
Barba 49 ha scritto:

...

Credo anche fermamente che ad un controllo una Bipa che si avvia pedalando al contrario sarebbe sanzionata
...


Temo tu abbia ragione.

Comunque alimenterei la bobina del relè dai 36V, in serie all'interruttore magnetico, in serie ad una resistenza per abbassare la tensione: non credo di recuperare un relè 36v. Un condensatore potrebbe temporizzare ...

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Barba 49
Utente Master



Toscana


36209 Messaggi

Inserito il - 12/08/2016 : 07:15:42  Mostra Profilo Invia a Barba 49 un Messaggio Privato  Rispondi Quotando
Prova così, se utilizzi la tensione della batteria non ci sono problemi: Casomai fai attenzione, le bobine dei relè "automobilistici" da 24V assorbono tranquillamente 300mA, quindi stai alto come valore in Watt della resistenza di caduta...
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 12/08/2016 : 09:31:01  Mostra Profilo  Rispondi Quotando
Il problema è il pilotaggio del fet mal fatto , probabilmente non va in saturazione completa e fa una caduta di tensione che si ripercuote sul potenziometro.
Mi sai dare la sigla del fet e che tensione ti serve sul potenziometro.

Per il verso di rotazione servono 2 sensori , uno deve essere chiuso al passaggio del magnete e l'altro aperto , si chiama controllo ad inquadratura , cosi puoi riconoscere il verso di rotazione dei pedali.

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 12/08/2016 : 21:41:29  Mostra Profilo  Rispondi Quotando
Ho recuperato un relè da CS, 24V, sui 20 mA, lo sto istallando. Ora la difficoltà è la capacità che lo tiene chiuso tra un sensore e l'altro: ho sbagliato i conti, 470 uF non bastano e temo di dover salire troppo...

@Imer, grazie per la dritta sul controllo ad inquadratura, ci farò un "Wiki". Dammi cinque minuti per quei valori ...

Senti che musica! ( Tex Willer )

Modificato da - washer in data 12/08/2016 21:43:07
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 12/08/2016 : 22:04:11  Mostra Profilo  Rispondi Quotando
Il mosfet è questo:

http://www.st.com/content/ccc/resource/technical/document/datasheet/35/dd/93/40/13/e9/47/ee/DM00068028.pdf/files/DM00068028.pdf/jcr:content/translations/en.DM00068028.pdf

Sul potenziometro servono 5V nominali,
io misuro 4.73 V sul filo di alimentazione scollegato,
4.38 V se lo collego al potenziometro (2.26 KOhm),

È questa sensibilità che mi ha fatto desistere dal collegarci roba. Aggiunta al fatto che non ho mai pilotato un mosfet ...



Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 13/08/2016 : 08:33:06  Mostra Profilo  Rispondi Quotando
ovviamente mi sono fumato il sensore. L'ignoranza è un costo ...


Buon WE a tutto il forum.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Barba 49
Utente Master



Toscana


36209 Messaggi

Inserito il - 13/08/2016 : 09:10:44  Mostra Profilo Invia a Barba 49 un Messaggio Privato  Rispondi Quotando
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 13/08/2016 : 11:19:22  Mostra Profilo  Rispondi Quotando
Il mosfet te lo sei fumato per la corrente di gate.
Se fossi in te non lavorerei sulla alimentazione del potenziometro , ma taglierei il segnale.
Per pilotare correttamente il mosfet il circuito è questo:

http://electronics.stackexchange.com/questions/149637/microcontroller-incapable-of-driving-mosfet

Ovviamente per mosfet piccoli puoi usare dei transistor più piccoli, se lo piloti cosi le cadute di tensione
ai capi sono veramente di pochi mV.

Ciao IMer
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 13/08/2016 : 11:21:30  Mostra Profilo  Rispondi Quotando
Dimenticavo , se il sensore a 2 fili non è un semplice reed ?
Dura romperlo !

Ciao IMer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 15/08/2016 : 21:37:45  Mostra Profilo  Rispondi Quotando
Ciao Imer, grazie per l'appoggio.

Il sensore, credo di averlo bruciato nel caricare un condensatore troppo grosso. Il mosfet invece sta benone.

Mi sembra di capire "a braccio" lo schema che proponi, ma non capisco perché non riesca a saturare il fet applicando 5V al gate, e sia necessario uno stadio intermedio.

Probabilmente mi mancano le basi.

Lo schema che mi ispira è "resistive load" del DS postato sopra.

La fig 4 dello stesso mostra tensioni Vds assai basse già con Vg di 2,5V.

Mi rendo conto che non siamo in un forum di elettronica, ma se volessi darmi una mano a capire come funziona la faccenda, te ne sarei grato.




Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 16/08/2016 : 20:20:32  Mostra Profilo  Rispondi Quotando
Ok , ti scrivo due righe per farti capire il problema , dammi solo un po di tempo , sono alle prese con imbiancatura laboratorio sono 50 mq di superficie e attrezzi da spostare e pulire.


Ciao IMer
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 17/08/2016 : 12:29:00  Mostra Profilo  Rispondi Quotando
Spiego in maniera spannometrica mentre asciuga la vernice:
è vero che con 2.5 Volt sul gate lo piloti bene , ma tu hai messo il carico sul source quindi rispetto alla massa sei alto per la caduta di tensione del potenziometro.
Se vuoi usare quella configurazione la tensione di gate deve essere almeno 7.5V per compensare la caduta del potenziometro se la misuri verso massa.
Se vuoi mantenere quella configurazione devi usare un canale P in modo che il riferimento diventi il positivo e ovviamente ragionare al contrario, perché a 0 lui conduce, quindi devi invertire la logica.
Altro problema è il condensatore , il condensatore scarico è paragonabile ad un corto , quindo ogni volta che lo carichi è come se andasse in corto il sensore, ci devi mettere una resistenza di limitazione.

Altrimenti devi usare il mosfet con source a massa e sul drain ci colleghi un rele che da e toglie l'alimentazione al potenziometro.

A mio avviso se vuoi giocare per costruirti un sensore di pedalata , userei questo:

http://www.lightinthebox.com/it/arduino-pro-mini-modulo-atmega328-5v-16m_p685134.html?litb_from=paid_adwords_shopping&utm_source=google_shopping&utm_medium=cpc&adword_mt=&adword_ct=119506979474&adword_kw=&adword_pos=1o2&adword_pl=&adword_net=g&adword_tar=&adw_src_id=1810908567_621989889_33043179314_pla-205611332714&gclid=CjwKEAjwltC9BRDRvMfD2N66nlISJACq8591I8jGx0sWSzBZL6sk5ilog-TlxAD34ak-kLkiBrGUVhoCKzLw_wcB¤cy=EUR

Ci entri direttamente con il sensore senza grossi problemi e puoi pilotare direttamente alimentazione del potenziometro se ha quel valore, giocando con il software poi decidi il ritardo di intervento e da li ci fai quello che vuoi , come si dice l'appetito vien mangiando , da qui puoi farci contachilometri cadenzimetro e quant'altro ti viene in mente.


Ciao Imer


Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 17/08/2016 : 19:54:58  Mostra Profilo  Rispondi Quotando
... ma tu hai messo il carico sul source quindi rispetto alla massa sei alto ...


!

Grazie Imer!!! Ci riprovo alla luce dei tuoi consigli.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 17/08/2016 : 21:47:17  Mostra Profilo  Rispondi Quotando
Vai di Arduino , elettricamente più semplice e con il software è più facile darti una mano.

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 19/08/2016 : 19:18:28  Mostra Profilo  Rispondi Quotando
Belin Imer, ma mi hai visto? Mi impapero con un transistor! Mi posso mettere su cose serie?

"Arduino" va nella lista delle cose da fare. Nel WE provo di nuovo col mosfet.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 19/08/2016 : 20:24:20  Mostra Profilo  Rispondi Quotando
come vuoi tu,
se usi Arduino lo schema è molto semplice e posso aiutarti con il software.
se vai di analogico ti posso aiutare ma rimane più difficile.
A te la scelta.

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 19/08/2016 : 23:39:12  Mostra Profilo  Rispondi Quotando
Apprezzo molto la tua disponibilità.
Come minimo mi tocca cercare di capire qualcosa del thread che hai linkato sopra.
Grazie,
Riccardo

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 21/08/2016 : 20:33:48  Mostra Profilo  Rispondi Quotando
... leggendo una guida introduttiva ...
Il modulo linkato necessita di un'interfaccia a USB per la programmazione.
Una cosa così?

http://www.ebay.co.uk/itm/CH340-CH340G-USB-TTL-Serial-Adapter-Arduino-Pro-Mini-like-FTDI-CP2102-PL2303-UK-/251742353968

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 22/08/2016 : 13:51:42  Mostra Profilo  Rispondi Quotando
si devi usare un programmatore esterno,alternative questo:

https://www.arduino.cc/en/Main/ArduinoBoardNano

e ci vai diretto con un cavetto USB

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 22/08/2016 : 22:32:56  Mostra Profilo  Rispondi Quotando
OK.
Un dedalo per chi ci si affaccia...

Bisogna provvedere ad una alimentazione regolata 5V? Dai 30-41 della batteria?
L'output deve gestire un relè o c'è un modo diretto?
Dove potrebbe intervenire?
Sul filo di alimentazione del potenziometro del gas, fornendo 5V alla bisogna?
O su un ingresso brake della centralina?

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 23/08/2016 : 10:36:01  Mostra Profilo  Rispondi Quotando
Per l'alimentazione se usi pochi mA puoi tranquillamente prendere quelli del potenziometro .
Io proverei alimentare direttamente il potenziometro con un pin di arduino, in pratica toglia e metti l'alimentazione
al potenziometro , un po' come fai con il mosfet.
Dai pin se non ricordo male la massima corrente è 40 mA quindi con un potenziometro di 1K sei in sicurezza.


Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 23/08/2016 : 21:29:38  Mostra Profilo  Rispondi Quotando
Imer ha scritto:


Per l'alimentazione se usi pochi mA puoi tranquillamente prendere quelli del potenziometro .



Posso essere certo di questo?

washer ha scritto:


Sul potenziometro ...,
io misuro 4.73 V sul filo di alimentazione scollegato,
4.38 V se lo collego al potenziometro (2.26 KOhm),



Come posso verificare che quell'uscita dalla centralina riesca ad alimentare anche la scheda logica?


Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 24/08/2016 : 07:38:16  Mostra Profilo  Rispondi Quotando
Direi di si al 90%,
in pratica devi alimentare arduino e il potenziometro che già esiste.
Se non ti fidi per le prove puoi usare una batteria da 9V ,
poi si puo applicare uno step-down da 48V a 5V non ho voglia di farlo.
Al limite il problema è l'alimentazione del potenziometro se è protetta ,
in pratica c'è una resistenza in serie , se carichi l'alimentazione lei cede.
Scusa ma l'alimentazione del tuo circuito con il mosfet da dove la prendevi ?
Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 24/08/2016 : 20:59:56  Mostra Profilo  Rispondi Quotando
Dall'alimentazione del potenziometro.
Proverò nei modi suggeriti.
Cominciando con qualche riga di codice.
Grazie

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 24/08/2016 : 21:45:01  Mostra Profilo  Rispondi Quotando
Questa sera ho provato il mio sensore per il cambio visto che mi è arrivata la cavetteria Higo e dal mio connettore freno riesco ad alimentare senza problemi arduino e il sensore montato sul cavo , in pratica alimenta 2 led + IC sensore + arduino non ho verificato gli assorbimenti ho fatto una cosa al volo, ma funziona senza problemi, ovvio che bisogna stare attento a non far cortocircuiti od alimentare un phon .
Quando hai il materiale fammi un fischio che ti aiuto , tanto si può simulare tutto al banco.
Ma ti basta che sente i pedali girare o vuoi anche sentire il verso di rotazione ?
Ciao IMer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 24/08/2016 : 23:16:36  Mostra Profilo  Rispondi Quotando
Almeno in teoria mi piacerebbe riconoscesse il verso giusto. Ma non saprei come, con un solo sensore on/off.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 25/08/2016 : 08:59:23  Mostra Profilo  Rispondi Quotando
Non ne vuoi aggiungere un secondo di sensore magnetico ?
http://www.ebay.it/sch/i.html?_odkw=sensore+movimento&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR1.TRC0.A0.H0.Xsensore+hall+arduino.TRS0&_nkw=sensore+hall+arduino&_sacat=0

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 25/08/2016 : 22:21:33  Mostra Profilo  Rispondi Quotando
Virtualmente anche a cassette.
Questo codice alimenterebbe il gas, al passaggio del magnete?


const int sensePin = 12;     // il pin segnale dal sensore
const int potPin =  11;       // il pin all’alimentazione del potenziometro
int senseState = 0;            // variabile stato del sensore

void setup() {
  
  pinMode(potPin, OUTPUT); // potPin come output
  pinMode(sensePin, INPUT);   // sensePin come input
 
}

void loop(){
  
  senseState = digitalRead(sensePin); // legge lo stato del sensore

  if (senseState == LOW) {   
    digitalWrite(potPin, HIGH);  // alimenta il potenziometro se un magnete è vicino al sensore
  } 
  else {
    digitalWrite(potPin, LOW);  // toglie alimentazione al potenziometro
  }
}





In caso affermativo potrei procedere, però ...
Non so che funzione usare per tenere il gas alimentato tra un magnete e l'altro.
Non so come distinguere il senso di rotazione, anche con due sensori.

Senti che musica! ( Tex Willer )

Modificato da - washer in data 25/08/2016 22:22:42
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 26/08/2016 : 07:13:35  Mostra Profilo  Rispondi Quotando
Devi fissare un tempo massimo di attesa del prossimo magnete ,
In pratica il primo magnete che passa avvia il motore e per mantenere acceso il motore ogni X tempo Max
deve sentire un'altro impulso.
Questa sera se la famiglia non mi assorbe ti butto giu' qualcosa.
Se funziona poi vediamo di capire il senso di rotazione.

Ciao Imer
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 26/08/2016 : 08:10:45  Mostra Profilo  Rispondi Quotando
colto da un mometno di estro:

const boolean attivazione = LOW; // puo avere valore HIGH o LOW a seconda se si vuol leggere quando passa il magnete (low) o rimane inattivo (high)
const byte potenziometro = 10; // pin a cui collegare il potenziometro
const byte sensore_1 = 11; // pin ingresso sensore di HALL
const byte test = 13; // il led presente su arduino si accende ad ogni passaggio del magnete

const unsigned long T_MAX = 500000 ; // espresso in microSecondi adesso attende 0.5 Sec da tarare in funzione del numero di magneti
unsigned long time; // salva nella variabile time il tempo che il magnete tiene attivo il sensore (attivazione = LOW)

void setup() {
Serial.begin(9600); // abilita l'uso della seriale per il debug a soft OK lo si puo eliminare
pinMode(potenziometro, OUTPUT); // configura i pin
pinMode(sensore_1, OUTPUT);
pinMode (test, OUTPUT);
}

void loop() {
time = pulseIn(sensore_1, attivazione, T_MAX); // attende il passaggio del magnete per 0.5 Sec se non passa pone temp = 0 si attiva per segnale basso
Serial.println(time); // a il valore del tempo a soft OK lo si puo eliminare
if (time == 0) { // se time è uguale 0
digitalWrite(potenziometro, LOW); // toglie tensione al potenziometro
digitalWrite(test, LOW); // spegne il led
}
if (time >= T_MAX) { // se time è maggiore o uguale a T_MAX
digitalWrite(potenziometro, HIGH); // da alimentazione al potenziometro
digitalWrite(test, HIGH); // accende il led
}
}

per vedere I dati usi il monitor seriale presente nella ide di arduino.
per calcolare il tempo o si fa 2 calcoli sull avelocita periferica minima del magnete e con quale angolo viene sentito il magnete, o piu' semplicemente alzi la ruota posterior e poi pedali e vedi sul monitor il valore che vuoi impostare come T_MAX.
Spero di essere stato chiaro.

Ciao IMer
Torna all'inizio della Pagina

blindo7
Utente Master



Lazio


4056 Messaggi

Inserito il - 26/08/2016 : 11:22:03  Mostra Profilo  Visita l'Homepage di blindo7 Invia a blindo7 un Messaggio Privato  Rispondi Quotando
peccato che non vi capisco
se può aiutarvi cercando gas legalizer ci sono schemi sviluppati da altri utenti dai transistor a pic programmabili,
abilita il gas solo pedalando,e montando in uscita un partitore resistivo invece del gas,crea un ingresso pas su centralina sprovvista

i sensori da movimento centrale 5-6 magneti hanno un solo sensore che credo cambi forma d'onda in base al senso di rotazione e la centralina interpreta il movimento,quelli a due sensori 10-12 magneti hanno lo stesso funzionamento ma si attivano più rapidamente
ciao!

www.enerlab.it
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 26/08/2016 : 12:24:09  Mostra Profilo  Rispondi Quotando
Grazie blindo7 non ne conoscevo neppure l'esistenza ,vado a cercare......

Ciao Imer
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 26/08/2016 : 12:29:25  Mostra Profilo  Rispondi Quotando
trovato giä fatto:

http://www.jobike.it/forum/pop_printer_friendly.asp?TOPIC_ID=49874

se vuoi continuare per farti esperienza con arduino son qua.

Ciao Imer
Torna all'inizio della Pagina

blindo7
Utente Master



Lazio


4056 Messaggi

Inserito il - 26/08/2016 : 12:44:54  Mostra Profilo  Visita l'Homepage di blindo7 Invia a blindo7 un Messaggio Privato  Rispondi Quotando
Mille grazie Imer!
ho il kit arduino e il libro ma nn cho la testa

www.enerlab.it
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 26/08/2016 : 17:24:34  Mostra Profilo  Rispondi Quotando
ho fatto un errore nel soft !

@washer
l'avevo scritto al volo e con il copia incolla ho sbagliato:
setup corretto:

void setup() {
Serial.begin(9600); // abilita l'uso della seriale per il debug a soft OK lo si può eliminare
pinMode(potenziometro, OUTPUT); // configura i pin
pinMode(sensore_1, INPUT); // corretta la configurazione da OUTPUT a INPUT
pinMode (test, OUTPUT);
}

@blindo7 guarda che non sono neppure io un fenomeno , ma è di una semplicità disarmante.

Ciao Imer
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 27/08/2016 : 00:13:24  Mostra Profilo  Rispondi Quotando
Continuerei volentieri su Arduino, senza fretta: nella necessità di usare la bici nel we, ho arrangiato un interruttore che apre "brake" solo se la catena è in tiro.

pulseIn è la funzione che cercavo! Grazie Imer!
Capisco anche 'byte' al posto di 'int'.
Il doppio 'if' invece è una svista o si fa così?

Bisognerà affrontare in discorso del senso di rotazione.
Come?

Al proposito la discussione linkata (grazie Blindo7) non è esplicita, e quel codice esadecimale ( cos'è? Assembler?) mi è oscuro.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

romariu
Utente Attivo



Sardegna


510 Messaggi

Inserito il - 27/08/2016 : 16:11:56  Mostra Profilo Invia a romariu un Messaggio Privato  Rispondi Quotando
Se monti due sensori(chiamiamoli S1 e S2) come suggerito da Imer
avrai in un senso di rotazione questa sequenza:
pausa lunga S1 pausa corta S2 pausa lunga etc.
nell'altro senso di rotazione:
pausa lunga S2 pausa corta S1 pausa lunga etc.

Dove la pausa lunga dipende dalla distanza tra i magneti,
mentre la pausa corta dipende dalla distanza tra i sensori.


BIPA DA PESCA - ebike for fishing http://www.jobike.it/forum/topic.asp?TOPIC_ID=33948
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 28/08/2016 : 10:04:05  Mostra Profilo  Rispondi Quotando
Il doppio if è una scelta puoi anche usare else ,
ma preferisco non lasciare condizioni esplicite ,
ho già avuto brutte scoperte.

Puoi anche scriverlo cosi:


void loop() {
time = pulseIn(sensore_1, attivazione, T_MAX); // attende il passaggio del magnete per 0.5 Sec se non passa pone temp = 0 si attiva per segnale basso
Serial.println(time); // a il valore del tempo a soft OK lo si puo eliminare

if (time >= T_MAX) { // se time è maggiore o uguale a T_MAX
digitalWrite(potenziometro, HIGH); // da alimentazione al potenziometro
digitalWrite(test, HIGH); // accende il led
} else {
digitalWrite(potenziometro, LOW); // toglie tensione al potenziometro
digitalWrite(test, LOW); // spegne il led

}
}
Per il senso di rotazione giusto quello che dice romariu,
Io pensavo che con il primo sensore di abilitare un "timer" dove aspettava un certo tempo
e doveva avere il secondo impulso, per capire il senso di rotazione , ma c'è un giochetto con gli angoli
da spiegare e devo fare un disegno.
Pensavo che come prima battuta ti accontentavi di far funzionare la bici e poi passare alla messa a punto.

Si quello di Blindo7 è il file esadecimale da caricare direttamente sulla pic cairchi e sei a posto fatto e finito.
Le pic di quella famiglia le conosco , ma sono pigro ....l'assembler mi sta antipatico lo uso solo in caso di disperazione.
Ciao IMer


Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 28/08/2016 : 17:35:29  Mostra Profilo  Rispondi Quotando
Grazie Imer,
la bici ha fatto una 70'ina di km con questo ennesimo rocchetto sulla trasmissione:



Non ho fretta e posso usare il mezzo con meno patema da paletta.

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 28/08/2016 : 17:39:06  Mostra Profilo  Rispondi Quotando
Così?

const byte potenziometro = 10; // pin a cui collegare il potenziometro
const byte sensore_1 = 11; // pin ingresso sensore_1 di HALL
const byte sensore_2 = 12; // pin ingresso sensore_2 di HALL
unsigned long istante0 = 0;
unsigned long istante1 = 0;
unsigned long istante2 = 0;
unsigned long istante3 = 0;

void setup() {
  
pinMode(potenziometro, OUTPUT); // configura i pin
pinMode(sensore_1, INPUT);
pinMode(sensore_2, INPUT);
}

void loop() { 

 inizio:                           //label  

 istante0 = millis();               // assegna a istante0 il tempo trascorso

 while (sensore_1 == HIGH or millis() - istante0 > 1000){   // attende che un magnete porti low il sensore 1 o che trascorra 1 sec senza che avvenga
 }
 if (millis() - istante0 > 1000) goto inizio;  // se si è atteso più di un secondo, si torna a inizio  
 istante1 = millis();                // assegna a istante1 il tempo trascorso 
 
 while (sensore_2 == HIGH or millis() - istante1 > 1000){ // attende che un magnete porti low sensore 2 o che trascorra 1 sec senza che avvenga
 }
 if (millis() - istante1 > 1000) goto inizio;  // se si è atteso più di un secondo, si torna a inizio 
 istante2 = millis();                // assegna a istante2 il tempo trascorso
 
 while (sensore_1 == HIGH or millis() - istante2 > 1000){ // attende che un magnete porti low sensore 1 o che trascorra 1 sec senza che avvenga
 }
 if (millis() - istante2 > 1000) goto inizio;  // se si è atteso più di un secondo, si torna a inizio 
 istante3 = millis();                // assegna a istante3 il tempo trascorso
 
 if (istante3 - istante2 < istante2 - istante1) digitalWrite(potenziometro,LOW); 
 
 else digitalWrite(potenziometro,HIGH);
 
}

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 28/08/2016 : 17:59:35  Mostra Profilo  Rispondi Quotando
ops, no, non si ferma più ...
ci vuole qualche digitalWrite LOW in più ..

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 28/08/2016 : 20:18:20  Mostra Profilo  Rispondi Quotando
circa meno quasi.
or si scrive ||
Mai usare goto in c++
Comunque vedo che ti impegni !!

non sono sul pc con la ide di arduino, cerco di spiegarmi.

Allora ammettiamo che usi 4 magneti posti a 90° tra loro , i due sensori devono essere messi ad un angolo inferiore di 45° (meno della meta dell'angolo tra magneti).
Il magnete passa sul primo sensore il tempo che me lo mantiene basso lo memorizzo, sapendo per quanti gradi rimane impegnato il magnete sul sensore posso stimare quanto tempo ci mette ad arrivare sul secondo ,ovviamente con un certa tolleranza perché posso rallentare o accelerare la pedalata.
Se ci arriva vuol dire che pedalo nel verso giusto altrimenti spegne, può anche darsi che si riescano a mettere i sensori cosi vicini che il magnete riesca ad attivare il primo poi il primo + secondo poi disattiva il primo e poi il secondo , in questo caso non serve neppure il controllo dei tempi.
Bisogna provare a montarli e vedere come si comportano.

Ciao IMer


Torna all'inizio della Pagina

washer
Utente Medio



212 Messaggi

Inserito il - 28/08/2016 : 20:55:51  Mostra Profilo  Rispondi Quotando
OK

Imer ha scritto:


Mai usare goto in c++

Perchè?

Imer ha scritto:


.. in questo caso non serve neppure il controllo dei tempi.

Sarebbe un a gran cosa ...

Procedo ...

Senti che musica! ( Tex Willer )
Torna all'inizio della Pagina

Imer
Utente Medio


Piemonte


455 Messaggi

Inserito il - 29/08/2016 : 18:03:46  Mostra Profilo  Rispondi Quotando
Il goto non si usa perché rimane più' lineare seguire il codice senza cercare i salti, e poi perché ogni tanto salta dove gli pare.

Quello senza calcolare il tempo dovrebbe essere qualcosa del genere, ma non sono sicuro di aver contemplato tutte le possibilità.
Dovrei avere un momento e simulare i sensori per capire se non ho scritto cazzate.

/* Versione senza controllo tempo tra sensori il magnete deve riuscire a portare bassi i due sensori assieme*/

/* * magnete

1 1 sensori

*

0 1

*

0 0


*
1 0

*

1 1

*/



const byte potenziometro = 10; // pin a cui collegare il potenziometro

const byte sensore_1 = 11; // pin ingresso sensore di HALL il primo ad essere interessato dal magnete se rotazione corretta

const byte sensore_0 = 12; // pin ingresso sensore di HALL

const byte test = 13; // il led presente su arduino si accende ad ogni passaggio del magnete

const unsigned long T_MAX = 500 ; // espresso in milliSecondi adesso attende 0.5 Sec da tarare in funzione del numero di magneti determina il numero minimo di pedalate

// piu' è alto e maggiore è il tempo prima che si ferma il motore quando smetto di pedalare

unsigned long timer = 0; // salva nella variabile timer il tempo che il magnete tiene attivo il sensore



void setup() {

Serial.begin(9600); // abilita l'uso della seriale per il debug a soft OK lo si puo eliminare

pinMode(potenziometro, OUTPUT); // configura i pin

pinMode (test, OUTPUT);

pinMode(sensore_1, INPUT);

pinMode(sensore_0, INPUT);



}



void loop() {

if (millis() - timer >= T_MAX ) { // verifico che il timer venga ricaricato

digitalWrite(potenziometro, LOW);

digitalWrite(test, LOW);

while (digitalRead(sensore_1) == LOW && digitalRead(sensore_0) == HIGH ) { // in attesa del movimento pedali corretto

}

}

while (digitalRead(sensore_1) == LOW && digitalRead(sensore_0) == LOW ) { // verifica l'avvanzamento nel senso corretto

if (millis() - timer >= T_MAX ) {

digitalWrite(potenziometro, LOW);

digitalWrite(test, LOW);

}

}

while (digitalRead(sensore_1) == HIGH && digitalRead(sensore_0) == LOW ) { // finisce il movimento corretto attivo il motore

}

timer = millis();

digitalWrite(potenziometro, HIGH);

digitalWrite(test, HIGH);

}
Torna all'inizio della Pagina
Pagina: di 3 Discussione Precedente Discussione Discussione Successiva  
Pagina Successiva
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum Indipendente Biciclette Elettriche, Pieghevoli e Utility © 2000-06 jobike Torna all'inizio della Pagina
Questa pagina è stata generata in 0,89 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.