Pages: 1 ... 14 15 [16] 17 18 ... 21   Go Down
Author Topic: [OT] richiesta di aiuto per programmino x Accordatore  (Read 14006 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Veramente il pin 10 non è il positivo dell'alimentazione ma il pin COM, che va collegato a VCC per usare i diodi interni nel caso l'ULN2803 venga usato per pilotare carichi induttivi (es. motori).
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora come ti ha detto Leo il pin 10 (COM) va a 12V per il pilotaggio di motori o carichi induttivi, quindi per il chip che alimenta i LED lascialo libero, mentre il 9 va a GND per forza.

Perché usi due linee in serie per un misero LED??? quelle non sono porte NOT, sono circuiti darlington. Prova con una sola, elimina la seconda in serie, il LED con la R da 1k verso 12V vanno bene, secondo me con i due LED risolvi subito.

Con RL1 intendi una schedina da 4 vero? quanto assorbe ognuno di quei 4 relé?

Qual è il chip che si è bruciato, cioè cosa alimentava?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Veramente il pin 10 non è il positivo dell'alimentazione ma il pin COM, che va collegato a VCC per usare i diodi interni nel caso l'ULN2803 venga usato per pilotare carichi induttivi (es. motori).

scollego il pin 10!

Quote
Allora come ti ha detto Leo il pin 10 (COM) va a 12V per il pilotaggio di motori o carichi induttivi, quindi per il chip che alimenta i LED lascialo libero, mentre il 9 va a GND per forza.
risposto sopra a Leo72
Quote
Perché usi due linee in serie per un misero LED??? quelle non sono porte NOT, sono circuiti darlington. Prova con una sola, elimina la seconda in serie, il LED con la R da 1k verso 12V vanno bene, secondo me con i due LED risolvi subito.
ok
Quote
Con RL1 intendi una schedina da 4 vero? quanto assorbe ognuno di quei 4 relé?
si, schedina da 4 relè, ogni relè è pilotato da un transistor smd microscopico, non conosco l'assorbimento, l'unica cosa è che inverte il segnalo, ingres a 0 relè attratto
Quote
Qual è il chip che si è bruciato, cioè cosa alimentava?
il chip esploso pilotava una schedina da 4 relè.

Faccio un po di prove e inserico gli aggiornamenti.

Buon ferragosto a tutti!!!

Campa1957
« Last Edit: August 15, 2013, 12:30:39 am by Campa1957 » Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dopo il ragionamento dei 2 post precedenti ho pensato che potrei pilotare direttamente la schedina da 4 relè con le uscite della scheda di Arduino.
Ho verificato la cosa e funziona perfettamente, bisogna solo alimentare le schedina da un +5 esterno, ma questo non è un problema.
La schedina però eccita il relè quando l'ingresso viene portato a 0, a questo punto si presenta il problema di invertire la gestione delle uscite di Arduino.
Mi ricordo di aver letto in un post precedente che la cosa è possibile a livello SW però non ho la minima idea di quante modifiche richieda al lavoro già fatto da LEO72.

A questo punto DOMANDONA X LEO72  smiley  smiley  smiley

Nel tuo SW gestire le uscite in modo inverso all'attuale è un grosso problema? comporta molto lavoro?
in caso sia problematica la modifica SW anzichè un 2803 penso di poterci mettere una porta NOT per invertire lo stato.

La mia idea iniziale di utilizzare il 2803 deriva dal fatto che quando pensavo al progetto tempo addietro non conoscevo il funzionamento delle parti che ora ho assemblato!

Campa1957
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dopo il ragionamento dei 2 post precedenti ho pensato che potrei pilotare direttamente la schedina da 4 relè con le uscite della scheda di Arduino.
La risposta breve è no.
La risposta lunga è: potresti farlo ma è meglio se non lo fai.
Prima di tutto.... se la tua scheda relé ha dei transistor che pilotano a loro volta i relé potresti farlo (sempre che i transistor lavorino a 5V). Però c'è un però. La corrente. Dovresti fare un conto della corrente necessaria a pilotare la base del transistor. Poi tu usi 16 relé e dovresti fare i conti con la corrente necessaria ad accendere tutti i relé, che potrebbe risultare superiore a quella fornibile dall'integrato Atmega328.

Se poi invece le schede relé che usi tu non hanno il transitor sulle bobine dei relé, allora scordati di attaccare direttamente le bobine ai pin dell'Arduino: bruceresti le uscite del chip, prima o poi, perché non si devono mai attaccare carichi induttivi ai pin di un micro.

Quote
Ho verificato la cosa e funziona perfettamente, bisogna solo alimentare le schedina da un +5 esterno, ma questo non è un problema.
La schedina però eccita il relè quando l'ingresso viene portato a 0, a questo punto si presenta il problema di invertire la gestione delle uscite di Arduino.
Mi ricordo di aver letto in un post precedente che la cosa è possibile a livello SW però non ho la minima idea di quante modifiche richieda al lavoro già fatto da LEO72.

A questo punto DOMANDONA X LEO72  smiley  smiley  smiley

Nel tuo SW gestire le uscite in modo inverso all'attuale è un grosso problema? comporta molto lavoro?
in caso sia problematica la modifica SW anzichè un 2803 penso di poterci mettere una porta NOT per invertire lo stato.

La mia idea iniziale di utilizzare il 2803 deriva dal fatto che quando pensavo al progetto tempo addietro non conoscevo il funzionamento delle parti che ora ho assemblato!

Campa1957

Non è un grosso problema. Un segnale HIGH oppure LOW per attivare un dispositivo esterno comporta solo il cambio del segnale da spedire sull'uscita, non la logica.
Logged


0
Online Online
Faraday Member
**
Karma: 38
Posts: 5604
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

i transistor sulla scheda ci sono, si vedono nella foto, ed al 99% sono dei darlington, se e' cosi' attaccarli direttamente ad arduino e' la scelta migliore. Queste schede con darlington sono migliori anche di quelle con opto, perche' il led dell'opto richiede piu' corrente risapetto ad una base di darlington.
Per avere conferma, Campa, munisciti di lnete di ingrandimento e vedi se riesci a leggere la sigla di questi transistor, semre che sia scritta
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

X Leo72

Ho fatto le modifiche come consiglito, però non è cambiato nulla  smiley-cry
allego di seguito la porzione di codice dove ho invertito lo stato delle uscite e ho commentato le righe come promemoria.

Code:
//disattiva tutti i relé
void resetUscite() {
    for (byte i = 0; i < 8; i++) {
        digitalWrite(releCondensatori[i], HIGH); // sostituito LOW con HIGH
        digitalWrite(releInduttori[i], HIGH); // sostituito LOW con HIGH
    }
}


//inserisco il condensatore sulla catena degli induttori
void inseriscoCondensatore() {
    float ros1 = readRos();
    digitalWrite(USCITA, LOW); // sostituito HIGH con LOW
    float ros2 = readRos();
    if (ros2 >= ros1) { //la situazione è peggiorata, tolgo il condensatore
        digitalWrite(USCITA, HIGH); // sostituito LOW con HIGH
    }
}

ci sono andato vicino come l'altra volta???

X Testato

ho lasciato girare il SW per un'oretta senza che fumasse nulla, ho deciso che sono darlington!

Buon Ferragosto a tutti

Campa1957
« Last Edit: August 15, 2013, 04:18:21 am by Campa1957 » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Le modifiche sono giuste. Se non funziona, è qualcosa lato circuito.
Logged


Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

versione nuova o versione vecchia, senza toccare nulla dei collegamenti elettrici, il funzionamento è esattamente lo stesso.  smiley-sad

Campa1957
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

allora sei a posto, la versione vecchia ti invertiva i segnali con gli ULN, la nuova non lo fa, visto che li hai eliminati, ma il funzionamento è identico perché hai invertito, lato sw, H con L, cos'è che stai lamentando (almeno a giudicare dalla faccina)?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

NON mi lamento assolutamente di nulla, con la faccina volevo solo esprimere disiacere!

Ricapitoliamo un attimo,
1) ho tolto i 2803 che non avevano motivo di essere inseriti se non per l'inversone dello stato che genera il loro inserimento nel circuito.
2) ho caricato la precedente versione del SW, il comando delle schedine risulata giustamente invertito
3) ho caricato la nuova versione del SW, il comando delle schedine continua ad essere invertito.

Campa1957
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

lascia quello che fa ciò che vuoi che faccia, che t'importa il motivo per ora? sarà per colpa di quelle doppie porte che avevi messo sui LED
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


In questi giorni di vacanza ho sviluppato un programma dimostrativo di un accordatore automatico d'antenna, verificandone il funzionamento solo simulando il comportamento della pare di rete L C e carico.
Mi sono limitato a banchi di 5 + 5 L e C, ma (se trovate uscite disponibili) potete facilmente aumentarli.
L'algoritmo è più complicato di quello proposto da Leonardo M, ma non è detto che sia migliore.
Spero che sia di interesse, almeno per conoscere un differente stile di scrittura.
Con la funzione monitor, si visualizzano i passi dell'algoritmo nel realizzare l'accordo.
Molto probabilmente non procederò alla realizzazione della parte hardware L e C e relè.
Forse l'algoritmo compie dei passi inutili.
Lo rendo disponibile nello attachment allo stato in cui è.  Se lo proverete con una vera rete LC, TX e un carico, inviatemi i risultati delle prove, o  inviatemi  suggerimenti di eventuali migliorie o osservazioni.
   
saluti da Marco

* accordatore_PXM.ino (14.39 KB - downloaded 13 times.)
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 124
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sperado nel fine settimana di riuscire a riprendere il lavorare sul 'mio' Accordatore, sono a chiedere un'informazione sui segnali che devono arrivare ai due ingressi.

Code:
const byte INGRESSO1 = A3; // Lettura segnale Pot. Rifl.
const byte INGRESSO2 = A4; // Lettura segnale Pot. Dir.

Premesso che nelle mie prove uso segnali che possono variare da 0v a +5v generati da un potenziometro multigiri e da un partitore resistivo collegato alle varie uscite dei relè, volevo sapere se questi segnali sono compatibili con il modo di gestire gli ingressi utilizzati da Leo72.
Questa dubbio è causato dalla difficoltà di gestione, dei due segnali in ingresso, per il raggiungimento di un punto di bilanciamento fra i due segnali ovvero del "punto di accordo".

Grazie

Campa1957

 
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 410
Posts: 11975
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Non credo che Leo abbia usato ARef diversi dall'alimentazione, quindi problemi non ce ne sono, tutt'al più avresti problemi di saturazione dei valori. Io continuo ad avere il dubbio che tu un bilanciamento non lo avrai mai con questo modo. Simuli un ROS con dei potenziometri ma nella realtà dei fatti esso cambia man mano che "accordi", non capisco come tu possa fare a simulare la variazione lasciando i potenziometri in posizione fissa o con che criterio li muovi.
Insisto sul fatto che tu ti debba concentrare sul funzionamento della procedura e non sui suoi risultati. Quando la procedura funzionerà ragionevolmente dovresti passare a test REALI con apperecchi ed antenne, magari roba economicissima e mezza difettosa. A mio parere rischi di perdere un mare di tempo per dover poi ricominciare quando passerai ai test sulle apparecchiature.
Dissi.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: 1 ... 14 15 [16] 17 18 ... 21   Go Up
Jump to: