Mais

Por que o sinal SelectionChanged é acionado toda vez que clico na camada?

Por que o sinal SelectionChanged é acionado toda vez que clico na camada?


estou fazendo alguns experimentos com o SelectionChanged sinal de um QgsVectorLayer.

eu tento este trecho de código:

curLayer.selectionChanged.connect (self.test)

e "teste" imprime uma mensagem de aviso.

O problema que tenho é que o sinal é acionado toda vez que eu clico na camada, mesmo quando não há mudança de seleção ...

Há algo que estou perdendo neste comportamento de SelectionChanged?

Obrigado pela ajuda.


Ok, então, depois de algumas pesquisas:

Você tem que usar as duas listas fornecidas pelo sinal SelectionChanged:

QgsFeatureIds selecionado, QgsFeatureIds desmarcado (conforme mencionado no documento da API ...)

para verificar o que realmente está mudando em sua seleção, é claro que a seleção de vários recursos deve levar em conta ...


Corri para isso com um STM32F105. As funções da Biblioteca Periférica Padrão STM32F1xx são um pouco diferentes das que você está usando, mas a ideia deve ser a mesma.

A emissão da função TIM_TimeBaseInit () fez com que o sinalizador TIM_SR_UIF fosse definido. Ainda não voltei para descobrir o porquê. Uma vez que este bit é definido, a interrupção irá disparar assim que for habilitada.

Para corrigir isso, depois de chamar TIM_TimeBaseInit (), chamei imediatamente TIM_ClearITPendingBit (). Então, eu habilitaria a interrupção com TIM_ITConfig (). Isso resolveu o problema.

Minha rotina de inicialização completa é assim:

Se estiver depurando, lembre-se de que, por padrão, os periféricos não param na parada do núcleo, então os temporizadores continuarão disparando a interrupção enquanto você está parado. Eu também tive uma boa dor de cabeça há muito tempo, até que descobri os bits para congelar periféricos no modo de depuração.

Você pode habilitá-lo no início do main desta forma:

Você tem todas as definições no início de stm32f4xx_hal.h

Como tive um problema semelhante e não encontrei respostas, estou compartilhando minha experiência na esperança de ajudar outras pessoas.

Acredito que no seu caso, configurar o URS (Update Request Source) antes de inicializar o cronômetro também resolve o problema.

No meu caso, estou usando os drivers de camada inferior, então um exemplo de código seria:

O problema é que eu estava usando as funções LL_TIM_SetPrescaler (TIM16, 7999) e LL_TIM_SetAutoReload (TIM16, 2999) para configurar a base de tempo, e descobri que ao usar essas funções, os valores não estavam sendo atualizados, então tive que gerar um evento para atualizar os valores usando LL_TIM_GenerateEvent_UPDATE (TIM16).

Você pode então limpar o sinalizador de evento usando LL_TIM_ClearFlag_UPDATE (TIM16) antes de habilitar a interrupção ou usar LL_TIM_SetUpdateSource (TIM16, LL_TIM_UPDATESOURCE_COUNTER) antes de gerar o evento.


2 respostas 2

Calibrar a altura da primeira camada envolve duas etapas:

A primeira etapa, conforme ilustrado nessa imagem, é ajustar a sonda PINDA para ficar aproximadamente à distância certa acima do bico. O PINDA tem um alcance de detecção de apenas cerca de um milímetro, portanto, se for muito alto, ele não poderá detectar a mesa de impressão se estiver muito baixo, isso irá interferir no objeto impresso.

A segunda etapa, com a qual você está tendo problemas, é calibrar a distância exata entre o PINDA e a ponta do bico. A impressora imprime um padrão de teste enquanto está imprimindo, você gira o dial no painel de controle da impressora para ajustar o valor "live-Z". Os valores típicos para uma impressora montada corretamente estão entre -0,5 e -1,0 (os valores mais negativos estão mais próximos da mesa de impressão). Se o valor Live-Z estiver fora dessa faixa, você precisa ajustar a posição da ponta de prova PINDA.

O procedimento oficial do Prusa é bom para obter uma calibração aproximada. Se você quiser mais precisão, o procedimento "Ajustar a vida Z - do meu jeito" nos fóruns do Prusa é bom. Basicamente, você imprime um grande quadrado de uma camada, ajusta o valor Z ao vivo na metade e vê qual metade tem uma primeira camada melhor. Repita até ficar satisfeito.


2 respostas 2

Eu gosto da sua abordagem PLL, porque ela não tenta "recuperar o sinal original do ruído", mas na verdade vai em frente e detecta o que você realmente está interessado, a presença de uma frequência específica, e usa isso para gerar um " perfeito "tom. Muito mais inteligente do que gastar centenas no melhor filtro de cristal imaginável do mercado! (Sempre fico perplexo quando vou a feiras de negócios e as pessoas se gabam de quanto gastaram nos filtros de seus receptores analógicos. Parabéns, essas pessoas encontraram uma maneira cara de fazer algo que não é o que desejam.)

Quando dizemos "filtro", geralmente nos referimos ao sistema linear invariante no tempo que convolve a resposta ao impulso do filtro com o sinal (seja em analógico ou digital). E para eles, a matemática não é negociável: uma largura de banda estreita (para um filtro passa-baixa) significa literalmente "nada pode mudar rápido". Um "pulso de fim de CW" é uma mudança rápida, o fim, portanto, é arrastado para o comprimento. (Podemos fazer a mesma matemática para um filtro passa-banda, ele não muda). Essa é a transformada de Fourier para você: não pode ser definida com precisão em ambos os domínios, tempo e frequência (assim como você não pode saber a posição no espaço de impulso e localização exatamente, Heisenberg diz olá e quer sua matemática de volta).

Se convolução é um novo termo para você, procure, há muitas animações legais por aí, é muito intuitivo. Você é um físico teórico, então presumo que entenderá quando eu disser que a convolução é apenas o produto interno de um espaço de funções $ mathcal L ^ 2 $. Para sistemas lineares e invariantes no tempo, como filtros clássicos, você obtém um ótimo conjunto de autofunções: $ left <> right >, , omega in mathbb R $, e isso mostra como podemos selecionar frequências com um filtro: para qualquer sistema LTI, a resposta do sistema a um $ omega $ dado é apenas o autovalor.

Portanto, com filtros lineares, toque e largura de banda estreita são o mesmo fenômeno.

Agora, nada diz que um filtro que otimizamos para uma largura de banda estreita é a melhor solução aqui - pelo contrário: embora seja chamado de "CW", não é uma onda contínua (um uso tão ruim de palavras!): É um seqüência de pulsos modulados.

Se você souber a duração dos pulsos potenciais, você pode construir um filtro que seja coincide para a forma de pulso transmitida. Novamente, puxando a carta do físico teórico sobre você: esse é o filtro que maximiza a convolução, ou seja, aquele que maximiza o produto interno. E se a desigualdade de Cauchy-Schwarz nos disse alguma coisa, além disso para funções de valor complexo, isso significa que seu filtro de recepção precisa ter uma resposta de impulso que é o inverso do tempo conjugado da forma de pulso do sinal de transmissão.

Isso significaria essencialmente que a resposta de impulso do filtro que o receptor convolve o sinal recebido com um espelho do sinal de transmissão esperado para um "dit" (ou um "dah", quando você pensa nisso como uma forma de pulso diferente).

Isso é bastante trivial se o seu sinal já for digital - ou seja, em vez de funções complexas contínuas acima de $ mathbb R $, você considera apenas uma sequência de valores complexos em um computador. Então, a integral de convolução colapsa para uma soma, e com o comprimento desses pulsos, é até mesmo uma soma finita.

Implementar dessa forma significa que você obtém um sistema em que obtém um pico claro na saída quando há um "dit" no ar. Não é mais tão longo como um "dit", veja bem, apenas um valor alto quando há um "dit". Bem, vendo esse valor alto, você poderia, é claro, sintetizar um "dit". O mesmo vale para "dah".

Agora, um pequeno problema aqui: há humanos moldando o pulso, e essa é uma ideia terrível (por muitos motivos, mas vamos nos concentrar neste): isso faz com que a forma do "dit" e do "dah" não sejam exatamente conhecidos.

Você poderia resolver isso dando aos seus detectores "dit" (e "dah") mais "margem de manobra" para sinalizar a detecção de um pulso, mesmo quando o pico não é tão claro, ou você poderia ter um banco completo de filtros para diferentes formas de pulso e veja quais são acionados. Todas essas coisas são feitas na prática.


A turbulência é de fato um problema não resolvido tanto na física quanto na matemática. Pode-se argumentar se é o "maior", mas provavelmente por falta de boas métricas por muito tempo.

Por que é um problema não resolvido do ponto de vista matemático, leia Terry Tao (medalha Fields) aqui.

Por que é um problema não resolvido do ponto de vista físico, leia Ruelle e Takens aqui.

A dificuldade está no fato de que se você pegar um sistema de fluido dissipativo e começar a perturbá-lo, por exemplo, injetando energia, seus estados mudarão qualitativamente. Acima de algum valor crítico, o comportamento começará a ser cada vez mais irregular e imprevisível. O que é chamado de turbulência são precisamente aqueles estados em que o fluxo é irregular. No entanto, como essa transição para a turbulência depende dos constituintes e parâmetros do sistema e leva a estados muito diferentes, não existe até uma teoria física geral da turbulência. Ruelle et Takens tentam estabelecer uma teoria geral, mas sua proposta não é aceita por todos.

Então, respondendo exatamente às suas perguntas:

sim, resolver numericamente Navier Stokes leva a soluções irregulares que parecem turbulência

não, não é possível resolver numericamente Navier Stokes por DNS em uma escala grande o suficiente com uma resolução alta o suficiente para ter certeza de que os números computados convergem para uma solução de N-S. Um exemplo bem conhecido dessa incapacidade é a previsão do tempo - a escala é muito grande, a resolução é muito baixa e a precisão da solução computada decai extremamente rápido.

Isso não impede o estabelecimento de fórmulas empíricas válidas para certos fluidos em uma certa faixa de parâmetros em escalas de espaço baixas (por exemplo, metros) - normalmente ar ou água em números de Reynolds muito altos. Essas fórmulas permitem que a f.ex projete sistemas de bombeamento de água, mas estão longe de explicar qualquer coisa sobre Navier Stokes e os regimes caóticos em geral.

Embora se saiba que soluções numéricas de turbulência sempre se tornarão imprecisas além de um certo tempo, não se sabe se os estados futuros de um sistema turbulento obedecem a uma distribuição de probabilidade computável. Este é certamente um mistério.

Turbulência é não um dos grandes problemas não resolvidos da física. A física nos diz exatamente como a turbulência surge como consequência direta da conservação local de massa e momento. Podemos criar modelos de computador de multipartículas, como autômatos de gás de rede que geram turbulência em grandes escalas de comprimento e tempo. Podemos escrever as equações que governam a turbulência. Estas são as equações de Navier-Stokes.

De uma perspectiva fundamental da física, a turbulência é um problema resolvido que entrou no reino da engenharia há muito tempo.

E daí é o problema não resolvido associado à turbulência? Em suma, a turbulência é um problema não resolvido não na física, mas na matemática. O ponto é que os matemáticos lutam para responder à pergunta se a equação de Navier-Stokes sempre permite soluções que em escalas de tempo e comprimento finas o suficiente são bem comportadas. Na verdade, se você conseguir responder a esta pergunta de forma conclusiva ("sim" ou "não"), você ganhará um prêmio de matemática que vem com um belo cheque de $ 1.000.000.

Caso você queira tentar, a pergunta exata é:

Prove ou dê um contra-exemplo da seguinte afirmação: Em três dimensões espaciais e temporais, dado um campo de velocidade inicial, existe um vetor de velocidade e um campo de pressão escalar, que são suaves e definidos globalmente, que resolvem o problema de Navier-Stokes equações.

As dificuldades matemáticas têm a ver com o fato de que a turbulência surge quando o termo derivado mais alto nas equações de Navier-Stokes (o termo da viscosidade) torna-se pequeno em comparação com os outros termos. Você pode pegar quase qualquer equação diferencial parcial não linear e fazer os matemáticos se encolherem simplesmente multiplicando o termo derivado mais alto por um fator $ epsilon $ e perguntar sobre o comportamento limitante da equação quando $ epsilon $ se aproxima de zero.

Os físicos fundamentais dão de ombros e continuam estudando mistérios reais, como a gravidade quântica.

Re: Qual é o mistério da turbulência? Em 1941, RA Bagnold, discutindo as ondas harmônicas simples de crista longa que surgem nos fluxos de vento ou água durante a transição - e que permanecem e aumentam em amplitude em taxas de fluxo turbulentas - filosofou assim: "em vez de encontrar o caos e a desordem, o observador nunca deixa de se surpreender com a simplicidade da forma, a exatidão da repetição e a ordem geométrica. ” DG Thomas (Science 1964), usando uma camada de minúsculas contas de vidro ao longo de um cilindro em fluxos de água, descobriu que as contas formaram ondas harmônicas simples na transição, persistindo em taxas de fluxo turbulentas, relacionando-as com as ondas de areia de Bagnold, sentindo que havia uma causa física semelhante .

Ambos se assemelham ao acúmulo de partículas em um campo sonoro de ondas estacionárias, como no experimento do tubo de Kundt na física do ensino médio. As fotografias de Bagnold mostram partículas de areia ejetadas perpendicularmente ao fluxo, sendo depositadas em ângulos rasos nas cristas, exatamente como se poderia esperar se um campo de som de onda estacionária harmônica simples tivesse se desenvolvido durante a transição e persistido na turbulência.

Um padrão de onda semelhante é visto, delineado por dilatações periódicas e estreitamento das paredes complacentes das artérias durante injeções rápidas de "corantes" de raios-X radiopacos durante injeções rápidas (ondas arteriográficas estacionárias), como se um campo sonoro harmônico simples estacionário fosse criado por as forças de cisalhamento de injeção.

Em 1867, Tyndall descobriu que sons harmônicos simples específicos causariam a erupção de turbulência em jatos laminares, concluindo que as ondas sonoras eram sobrepostas a ondas sonoras semelhantes ("vibrações") criadas por forças de cisalhamento fluidas ao longo das paredes do tubo, amplificando-as, desencadeando turbulência em taxas de fluxo mais baixas. Tyndall acreditava que isso resolvia o mistério da transição para a turbulência. Eu concordo com Tyndall.

A transição para turbulência é semelhante para ar e água. Ondas de cisalhamento harmônicas longas com crista longa (SHLC) se desenvolvem à medida que a água, um líquido incompressível, flui durante a transição ao longo de uma placa plana lisa. Cada lâmina limite contendo oscilação LCSH deve ter oscilações idênticas nas duas lâminas adjacentes a ela. Da mesma forma, cada lâmina de água adjacente, camada sobre camada, deve formar ondas SHLC semelhantes. Qualquer variação na amplitude das lâminas de água adjacentes (aumento ou diminuição) causaria bandas de compressão (impossível com líquidos) ou descompressão (impossível sem cavitação). Portanto, todas as lâminas de água da camada limite devem exibir ondas SHLC sinusoidais em fase idênticas - as ondas de cisalhamento de transição de flutter da camada limite (BLF).

Além disso, a lâmina d'água mais próxima da fronteira que exibe essas ondas não pode convergir para a fronteira sem compressão, nem divergir dela sem cavitação. Portanto, deve haver ondas de água SHLC no limite, sob as cristas das ondas BLF (ondas sub-BLF).

Uma oscilação (vibração) de qualquer massa em um fluido cria uma onda sonora e as oscilações SH em uma massa de fluido, fluindo ao longo de uma placa plana lisa durante a transição, devem criar ondas sonoras SH. Assim, as oscilações SH (vibrações) da água fluindo ao longo de uma placa plana devem estar associadas às ondas sonoras SH e devem ser refletidas da fronteira transversalmente ao fluxo. Esta análise varia consideravelmente do entendimento aceito das ondas de cisalhamento de fluido de transição, com base na análise de 1941 das oscilações de velocidade laminar SHLC encontradas por Schubauer e Skramstad. As oscilações de velocidade não são ondas de cisalhamento, mas são efeitos secundários - representações gráficas das velocidades conforme as oscilações laminares SH passam por sensores de anemômetro de fio quente (Hamilton G, Simple Harmonics, 2015).

Alimentando-se da dinâmica do fluxo, as oscilações do fluido SH (vibrações) - e as ondas sonoras que elas produzem - criam oscilação transversal trans-laminar de alta energia de moléculas que transmitem o som - inicialmente desencadeando pontos de congelamento laminar transversal da camada limite. As áreas focais de congelamento abrupto mudam a resistência do fluxo para o limite, arrancando pedaços das frentes de onda SHLC, como vórtices aleatórios de ponta-cabeça (“pontos turbulentos”). Um aumento adicional na taxa de fluxo resulta em um início repentino de turbulência estabelecida com muitos pontos turbulentos aleatórios e ruído. Em fluxos de cilindro, o início do congelamento transversal das lâminas (intertravamento laminar) altera o perfil de isovelocidade previamente parabólica do fluxo laminar para o perfil de isovelocidade achatado de turbulência, com a resistência ao fluxo - que tem uma relação linear com a velocidade do fluxo laminar - agora relacionando-se com o quadrado da velocidade na turbulência.

Quando uma borda se projeta para a camada limite normal ao fluxo durante a transição, todos os pontos turbulentos nascentes são acionados para emergir em uníssono ao longo de uma frente de onda SHLC, produzindo o som SH dos tons de borda. No fluxo de água em um riacho raso, uma deformidade linear transversal no leito do riacho similarmente alinha todos os pontos turbulentos emergentes, fazendo-os emergir simultaneamente, criando ondas estacionárias SHLC.


O movimento circular produz uma onda senoidal naturalmente: -

É algo muito natural e fundamental de se fazer, e tentar produzir formas de onda diferentes é mais complicado ou leva a efeitos colaterais indesejados.

O movimento para cima e para baixo (na natureza) produz uma onda senoidal contra o tempo: -

Ondas cosseno e seno (na verdade, seus constituintes na forma de exponenciais complexas) são as funções próprias de sistemas lineares invariantes no tempo, tendo uma resposta do sistema dependente do tempo de $ beginf bigl (a (t) + b (t), t_0 bigr) & amp = f bigl (a (t), t_0 bigr) + f bigl (b (t), t_0 bigr) & amp & amp text f bigl (a (t + h), t_0 bigr) & amp = f bigl (a (t), t_0 + h bigr) & amp & amp text

Nenhuma outra forma de onda será geralmente preservada, pois a resposta será diferente para diferentes frequências de entrada, então, se você decompor alguma entrada em seus componentes sinoidais de frequência única, verifique as respostas individuais da rede a eles e remonte os sinais sinoidais resultantes, o resultado geralmente não terá as mesmas relações entre seus componentes sinoidais como originalmente.

Portanto, a análise de Fourier é muito importante: as redes passivas respondem diretamente aos sinais sinoidais, portanto, decompor tudo em sinoides e vice-versa é uma ferramenta importante para analisar circuitos.


Existem alguns critérios diferentes que devemos usar para selecionar um tipo de switch:

  • Precisão / repetibilidade: o switch dispara no mesmo lugar todas as vezes? Quanta propagação existe na posição do gatilho? As mudanças ambientais ou de configuração da máquina afetam a posição do gatilho?
  • Distância de contato: a chave se registra com folga suficiente para sua parada brusca para que o eixo de retorno possa parar antes de colidir com algo?
  • Rejeição de ruído: o interruptor SOMENTE dispara quando deveria?

É importante perguntar, quanta precisão de switch realmente precisamos? Um trem de força de impressora 3D típico usando um motor de passo de microstepping pode apenas posicionar com precisão a carga móvel dentro de +/- um microstep de 1/16 (mesmo se usando microstep mais finos do que esse) devido a efeitos indutores de erro como torque de atrito e erro de ângulo de detenção magnética. Isso é cerca de +/- 0,01 mm para a maioria das impressoras. O interruptor de homing só precisa ser tão preciso quanto o posicionamento do motor! Nada se ganha por ter, digamos, batentes de extremidade de precisão de 0,001 mm.

Esta precisão de +/- 0,01 mm é alcançável para todos os tipos de interruptores de fim de curso, com a seleção e configuração adequadas do interruptor.

Então, existem três tipos de comutação "padrão" em uso em impressoras 3D para consumidores / amadores:

  • Interruptores mecânicos, normalmente interruptores de limite NO / NC duplos, que puxam para cima ou para baixo um pino de sinal conectando um circuito elétrico quando acionados
  • Chaves ópticas, que usam transistores para detectar quando um obstáculo ("bandeira") está bloqueando a janela entre o emissor e o sensor
  • Chaves de efeito Hall, que usam transistores para detectar quando um campo magnético excede um corte de força de campo específico

Chaves Mecânicas

A precisão / repetibilidade depende da qualidade da chave, do comprimento do braço da alavanca conectado (quanto maior aumenta a distância de contato, mas é pior para a precisão) e da velocidade de impacto do carro com a chave. É possível ter um interruptor mecânico bom ou um interruptor mecânico ruim. Normalmente, essa é uma escolha padrão razoável porque é simples e barata.

Um pequeno interruptor mecânico com um braço de alavanca curto (ou o braço de alavanca removido) geralmente alcançará a precisão de comutação de +/- 0,01 mm necessária. Chaves muito baratas, altas velocidades de contato e braços de alavanca longos podem fornecer resolução inadequada para homing Z ou sondagem, mas ainda serão adequados para fins de homing X e Y de baixa precisão.

Onde interruptores mecânicos tendem a causar problemas é na rejeição de ruído. Diferentes placas controladoras usam diferentes maneiras de conectar o switch: algumas usam dois fios e apenas enviam um sinal quando acionadas. Quando não acionado, o fio de sinal é deixado flutuando ou fracamente puxado para cima pelo microcontrolador, enquanto conectado a um fio longo que atua como uma antena para captar o ruído EM. É MUITO comum que a fiação do aquecedor ou passo a passo emita EMR desagradável devido ao controle de corrente PWM. Os cabos de parada de terminação de dois fios devem sempre ser executados longe da fiação do escalonador e do aquecedor. Blindar e torcer os condutores também é uma boa ideia.

Uma abordagem mais robusta é usar interruptores de três fios que ativamente puxam a linha de sinal para cima ou para baixo, dependendo da posição do interruptor. Eles tendem a rejeitar melhor o ruído.

Interruptores mecânicos muito baratos podem falhar durante a vida útil da impressora. No entanto, a maioria das chaves de limite é classificada para milhões de ciclos, o que é improvável de ocorrer durante a vida útil de qualquer impressora.

Os interruptores mecânicos são fáceis de alinhar e disparar manualmente durante a solução de problemas.

Interruptores óticos

Estes contam com um sinalizador bloqueando uma janela entre um emissor de luz e um detector. Isso é sem contato e pode ser bastante confiável, mas apresenta alguns desafios. A posição exata do gatilho (e, portanto, a precisão) pode depender dos níveis de luz ambiente na sala, porque o sensor está monitorando a luz para diminuir abaixo de uma intensidade específica. Portanto, pode ser muito repetível / preciso a curto prazo, mas pode apresentar alguma variação se o sensor entrar e sair do sol durante o dia.

A troca tende a ser mais consistente e confiável se a bandeira entrar na janela pela lateral, em vez de pela parte superior.

Os interruptores ópticos puxarão ativamente a linha de sinal para cima ou para baixo e, portanto, terão boa rejeição de ruído elétrico.

Chaves de efeito Hall

Eles medem a intensidade do campo magnético próximo e disparam quando ele excede um determinado valor em uma determinada polaridade. Isso é altamente preciso / repetível (melhor do que +/- 0,01 mm) e extremamente resistente ao ruído e às condições ambientais. (A menos que sua impressora esteja próxima a algo que emita grandes campos magnéticos, de qualquer maneira.)

Os interruptores de corredor que vi têm um potenciômetro de compensação ajustável para ajustar a distância do gatilho. Esse é um bom recurso ao tentar calibrar manualmente um Delta ou um Z-bed para a altura da primeira camada.

A principal desvantagem dos interruptores Hall é que eles precisam de um ímã para acioná-los. Isso pode ser difícil de acionar manualmente durante a solução de problemas e requer a fixação de um ímã em algum lugar do carro móvel. A cola funciona bem. mas não cole o ímã ao contrário!

Thomas Sanladerer fez exatamente a comparação que você pediu. Confira o vídeo completo.

O resultado é que os sensores indutivos são os mais precisos, mas são altamente dependentes do material de leito escolhido.

Interruptores mecânicos (nus, sem braço metálico) são quase tão precisos e mantêm a mesma precisão com todos os materiais da cama (no entanto, você precisa de um mecanismo para retraí-los, o que pode ou não diminuir a precisão).

Outros sensores são menos precisos.

Em qualquer caso, a maioria deles já é muito melhor do que o necessário, uma vez que qualquer coisa abaixo de 50 mícrons está bem e basicamente todos eles alcançam essa precisão.

Escolha com base em outros fatores, como peso, instalação, preço. Indutivos, após uma calibração com base em sua cama específica, podem ser os mais fáceis, pois não precisam de retração, mas são volumosos. BLtouch é provavelmente a segunda escolha, microinterruptores mecânicos a terceira.

Não acho que haja uma resposta simples.

Na minha opinião, para um sensor doméstico, a precisão não importa. O firmware geralmente permite definir um deslocamento entre a posição indicada e a posição real. O que realmente importa é a repetibilidade. Cada vez que o sensor indica a posição, a posição é a mesma.

Chaves Mecânicas

Eu descobri através de testes de vários interruptores mecânicos que o evento "make" é menos repetível do que o evento "break". Para obter melhores resultados, movo-me em direção à posição que fecha a chave e, em seguida, movo-me na direção oposta até que a chave abra. Se bem me lembro, obtive repetibilidade "make" de cerca de 0,02 "(0,5 mm) e repetibilidade" break "de cerca de 0,005" (0,13 mm).

Interruptores óticos

Para uma impressora delta 3D, uso sensores ópticos. Os sensores óticos têm iluminação e sensor embutidos, geralmente em lados opostos de uma estrutura bifurcada. O lado do sensor possui uma fenda que mascara a luz que está sendo recebida, ajudando a protegê-la da luz ambiente. A ranhura está ao longo de um eixo que está alinhado com o garfo ou normal a ele. O sinalizador que você usa para o interruptor deve cobrir completamente o slot e, para uma boa repetibilidade, a borda do sinalizador deve estar paralela ao slot. Em outras palavras, alguns sensores esperam que a bandeira entre pelo lado enquanto outros esperam que a bandeira entre pelo topo. Ambos funcionarão, mas você precisa escolher o sensor certo para a configuração de sua máquina.

Luz ambiente com interruptores óticos

Talvez a luz ambiente possa ser um problema. Nesse caso, isso pode ser resolvido sombreando o sensor.

Vamos supor que os LEDs no sensor tenham a mesma eficiência das luzes LED ambientais. Para referência, aqui está uma folha de especificações para um interruptor óptico típico usado em sensores ópticos: http://www.isocom.com/images/stories/isocom/isocom_new_pdfs/H21A.pdf O pacote do sensor óptico é projetado para reduzir a suscetibilidade à luz ambiente.

A intensidade da luz diminui conforme a distância ^ 2 e os iluminadores no sensor estão muito próximos. Qual é o efeito da luz ambiente no sensor?

Na minha loja, eu uso lâmpadas de substituição de LED de 2,5 metros para as lâmpadas fluorescentes. Com isso, tenho 72 watts de iluminação LED, que, digamos, iluminam de maneira uniforme a semiesfera abaixo do teto. Uma esfera completa é 12,56 sr (estereofônicos, ou estereo-radianos), então a meia esfera é 6,28 esteradianos, para uma potência de 11,46 W / sr. No sensor, isso deve ser dividido pelo quadrado da distância, digamos 8 pés. Isso nos dá (11,46 W / sr) / (96in ^ 2) = 0,119 W / área.

O LED de iluminação tem uma potência (normalmente) de 1,2 V * 0,05 A ou 0,06 W. O cone de luz de um LED típico tem cerca de 30 graus, que é 1 sr, para uma potência de 0,06 W / sr. Escalado para uma estimativa da distância entre o emissor e o sensor de 4 mm ou 0,157 ", é (0,06 W / sr) / (0,157in ^ 2) = 2,43 W / área.

Parece improvável que a luz ambiente geral seja um problema. Se fosse, a montagem do sensor poderia ser projetada para proteger o sensor da exposição direta à luz ambiente.

É importante com sensores ópticos ter certeza de que o sinalizador de interrupção é realmente opaco para a luz do iluminador. Como descobri, o PLA vermelho não é especialmente opaco à luz infravermelha, então precisei pintar as bandeiras com uma tinta preta pigmentada.

Chaves de efeito Hall

Não tenho experiência com interruptores de limite magnéticos de efeito Hall. Outras respostas aqui os elogiaram porque eles têm um ajuste que pode ser usado para definir o ponto de detecção preciso. Não gosto de ajustes porque eles variam. Os potes estão sujeitos a desgaste, oxidação e variações lentas e rápidas em sua resistência. Eu preferiria ter algo não ajustável e repetível em hardware e usar software para manter a calibração.

Exemplo de escolha híbrida

Em uma máquina CNC de arquitetura delta de 6 eixos que construí, uso uma abordagem híbrida para detectar a posição inicial. Os interruptores mecânicos indicam uma posição próxima ao início e o pulso de índice de um codificador rotativo define a posição inicial precisa. O firmware de homing se move em direção a casa até que a chave mecânica feche, depois se afasta até que se abra e então volta para casa até detectar o pulso de índice. Como existem seis eixos, existem seis conjuntos dessas chaves e codificadores. O uso de um interruptor mecânico para o homing aproximado fez sentido para esta máquina porque o sensor de índice é atingido uma vez por revolução, portanto, não é um indicador exclusivo de casa, e esta máquina cria uma grande quantidade de poeira e fragmentos, que podem bloquear um sensor óptico .

Portanto, sem uma resposta absoluta, minha preferência é por interruptores ópticos para repetibilidade.


O relâmpago é uma coisa desagradável. Poderoso. Corrente muito alta com tempo de subida muito curto. Isso causa um forte EMP (pulso eletromagnético) que será captado por qualquer coisa condutora. Um fio solto de 1 m pode criar um pico de tensão entre suas pontas. Mesmo conexões curtas podem apresentar picos. O desacoplamento nem sempre funciona, pois o EMP pode entrar em um IC diretamente, não precisa passar pelos fios (de alimentação).
Portanto, não é de admirar que alguns produtos experimentem um mau funcionamento temporário durante um raio, e a alta impedância significa mais sensível. Se o distúrbio permanecer dentro da faixa de tensão do dispositivo, ele pode se comportar de maneira incorreta sem sofrer danos. Picos de tensão mais altos podem destruir (partes do) dispositivo.

Eu ouvi a história de uma família holandesa onde um raio caiu no quintal. Cada Fritou-se o produto eletrônico da casa, desde TV e PC até câmeras e telefones celulares. Se non è vero.

E David com sua rede / antena de alarme de fumaça, também. :-)

Só para acrescentar o que as outras pessoas disseram. Os alarmes de incêndio da minha casa estão todos interligados. Quando um dispara, todos disparam. Existem fios dentro das paredes / tetos que os conectam a todos. Esses mesmos fios, por serem longos e sem blindagem, são excelentes antenas e captariam facilmente o EMI de um raio. Além disso, o sinal nesses fios é muito simples e o ruído elétrico gerado poderia facilmente enganar o alarme fazendo-o pensar que algum outro alarme disparou e que deveria disparar.

O que os outros caras disseram também pode ser verdade (exceto a parte sobre o CO2 disparando um detector ionizante, na verdade é uma partícula de fumaça que faz isso), mas se os alarmes estiverem interconectados, então esse seria o elo mais fraco. É muito mais fácil para a EMI entrar em um fio de 50 pés do que em algo com cerca de uma polegada de comprimento.

Acho que a ionização e os glitches do EMP estão perdendo o foco. Acho a ionização em particular muito difícil de acreditar. Como um raio a 100s de metros de distância vai ionizar o ar em meus detectores de fumaça quase na mesma instância que o raio? Não é. Eu também não acredito na teoria EMP. Os pickups são sensíveis e de alta impedância, mas também protegidos de pickup capacitivos externos. If not, ordinary power line hum and nearby static discharges would set them off, but they don't.

What is really going on is that the power got glitched. A lightning strike makes a mess of the power line for a few 10s of milliseconds. Most smoke detectors, including all the ones in my house, sound off for a short time whenever the power goes out. They are fairly sensitive to this, more so than most ordinary appliances. You may notice a small flicker in the lights or a glitch on the TV at the same time (although lightning causes TV and radio glitches by other means too). When we have a pure power glitch not caused by lightning, it is always the smoke detectors that exhibit the symptom first. Most appliances can take a cycle or two of missing power, but the smoke detectors seem to be the most sensitive. I don't know if this is deliberate or just a byproduct of their sensitive detection circuitry.


2 respostas 2

Due to your requirement for this to be reflected in the kernel's neighbors, and your reluctance to install software, try ICMP echo:

Does not really matter what protocol you attempt, so long as it is IP based.

If you are willing to install software, nmap has discovery features. Here is a NDP only scan, output to a XML file (and stdout) which includes the link layer address:

Apparently, this type of nmap scan tickles the kernel to do neighbor discovery, as in testing I see it reappear under ip neigh .


3 respostas 3

Along the lines of my response to your earlier question, surely this would be better dealt with in the stored procedure or insert/update query that is responsible for the change. That would be the logical place to increment a version column, not a trigger.

If a trigger is the only way you can be sure the revision count will be implemented, I'd suggest an INSTEAD OF trigger on any tables you need this. You can deal with the revision increment and auditing in one place then.

I find triggers are a good way to enforce things like creating before audit records and version tracking. Audit queries can get a bit bulky, so doing them in a stored procedure may be appropriate. I would still call it from a trigger.

Contrary to what others have said, what you are implementing appear to be business rules, and triggers are a good mechanism for enforcing them. Using a trigger makes it very easy to enforce the rule.

Field by field audits may be better done in a stored procedure, but I would call the procedure from a trigger. Depending on how often the data is consulted, just capturing a before image may be sufficient. In applications using pooled connections, determining who the user is can be difficult.

Which ever way you go this is a good candidate to be automated. The appropriate code can be generated from the tables metadata.

For audits I use an after trigger prefixed AUD (After Update or Delete) to capture the OLD data. I use a standard transformation of the table name for the audit table, although it is possible to use an audit schema to hold the data with a matching table name. Capturing the record image is simpler in the after trigger and helps maintain cohesion within the trigger.

For versioning data I use BIU (Before Insert or UPDATE triggers. You may want to use an if statement to select the appropriate action, or split the trigger into two pieces. Alternatively, you could split the trigger in two, BI and BU. The updates need to happen in a before trigger.

Using standard naming allows you to find missing triggers and audit tables are in place by scanning the metadata. You could use a stored procedure to generate the required components. Bonus marks if it updates the components when the tables definition changes.


Assista o vídeo: WiFibox+ Brak sygnału z anteny problem z pobraniem listy kanałów NC+